Un code pour temps d'attente ! [Résolu]

15miuteslive 10 Messages postés dimanche 13 mars 2011Date d'inscription 27 décembre 2011 Dernière intervention - 7 avril 2011 à 17:33 - Dernière réponse : 007Julien 279 Messages postés mercredi 22 septembre 2010Date d'inscription 8 janvier 2014 Dernière intervention
- 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
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
007Julien 279 Messages postés mercredi 22 septembre 2010Date d'inscription 8 janvier 2014 Dernière intervention - 7 avril 2011 à 18:59
3
Merci
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');
  

Merci 007Julien 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 75 internautes ce mois-ci

Commenter la réponse de 007Julien
Morphinof 261 Messages postés vendredi 20 avril 2007Date d'inscription 9 août 2013 Dernière intervention - 7 avril 2011 à 18:37
0
Merci
Tu as plus simple, definir des quota sur ton serveur FTP.
Commenter la réponse de Morphinof

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.