Un code pour temps d'attente !

Résolu
15miuteslive Messages postés 10 Date d'inscription dimanche 13 mars 2011 Statut Membre Dernière intervention 27 décembre 2011 - 7 avril 2011 à 17:33
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 - 7 avril 2011 à 18:59
Bonjour à tous !
Voila, cela fait maintenant plusieurs heures que je cherche en vain un code PHP.
Vous allez me dire : "Quoi comme code ?"

Voila ce que je cherche à faire :
J'ai créé un champ qui permet à des utilisateurs inscrits d'envoyer des images sur mon FTP pour pouvoir les mettre sur un sorte de mur (comme sur facebook).
Or, je ne veux pas que tes petits malin s'amusent à saturer mon FTP !
C'est pour cela que je cherche un code qui me permettra de définir un temps d'attente entre 2 envois d'image !

Je suis (gros) débutant en PHP donc soyez gentils

Merci à tous et bonne fin de journée !!


Loulou

2 réponses

007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
7 avril 2011 à 18:59
L'enregistrement des adresses IP et des dates et heures d'enregistrement des images dans un fichier texte devrait permettre d'interdire l'accès pendant un délai déterminé.

// Le fichier ipdt.txt doit exister (même vide) !
// Il est constitué comme suit : idUser0,dateUser0,idUser1,dateUser1,idUser2,dateUser2, etc...

// Lecture du fichier
$cnt=file_get_contents('ipdt.txt');
$tab=explode(',',$cnt); // tableau des adresses (rangs pairs) et dates rang suivant

// le timestamp limite : la date et l'heure actuelle moins le délai (ici 24 heures en secondes)
 	$tsd=time()-24*60*60;
$dlm=date('ymdHis',$tsd); // la date limite

// Mise à jour du tableau
$nwt=array();
foreach ($tab as $k=>$v) if ($k%2==0 && isset($tab[$k+1])){// Boucler sur les adresses de rangs pairs
  if ($tab[$k+1]<$dlm) $nwt[$v]=$tab[$k+1];// Pour ne retenir que les Ip récentes
  }

  // Si nouveau $_POST test : adresse encore présente ?
$adu=$_SERVER["REMOTE_ADDR"];
if (isset($nwt[$adu])) { // Trop tôt
      // message approprié
}
else {$nwt[$adu]=date('ymdHis'); // Enregistrer la nouvelle adresse et la date
    // Enregistrement de l'image
}
  // Enregistrer le nouveau fichier
  $cnt='';
foreach ($nwt as $k=>$v) $cnt.=",$k,$v";
$cnt=implode(',',$nwt);
  file_put_contents(substr($cnt,1),'ipdt.txt');
  
3
Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 4
7 avril 2011 à 18:37
Tu as plus simple, definir des quota sur ton serveur FTP.
0
Rejoignez-nous