Détection de la présence d'un fichier dans un sous directory

stratos_2014 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je voudrais faire une petite routine qui examinerais de façon constante un sous directory nommé par exemple "input-file".
Si aucun fichier n'est présent la routine tourne sur elle même !
Si un fichier est présent je voudrais que l'on sorte de la routine afin de
1-traiter le fichier,
2-le fichier sera effacé du sous directory "input-file" et ensuite retour vers la routine de détection de fichier..
je ne suis pas un expert en php !
Qui pourrais m'aider ?
Merci d'avance et bien à vous,
A voir également:

6 réponses

Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Hum, j'ai répondu un peu trop vite, en effet si tu ne connais pas le nom du fichier, il faut agir différemment, en utilisant ceci par exemple :
$dirname = 'C:\Users\Martine\Desktop\file_input';
$dir = opendir($dirname); 
while($file = readdir($dir)) {
   if($file != '.' && $file != '..' && !is_dir($dirname.$file)){
      //Ton traitement où $file=nom du fichier (Donc tu peut fopen et autre))
   }
}
1
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Bonjour,
Tu peut gérer ça avec file_exists (https://www.php.net/manual/fr/function.file-exists.php).
Par contre, créer un routine pour ça n'est peut-être pas nécessaire, si tu utilise un formulaire d'upload pour envoyer le fichier que tu doit traiter, il faudrait mieux mettre le traitement sur ce code là (Après, je ne connais pas tes contrainte technique)
0
stratos_2014 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour et merci Nhay,
avec file-exists j'ai fait ceci:
Mais je ne connais pas le nom du fichier qui arrive dans le sd "input_file"
Si je remplace file.txt par le nom qui ce trouve dans le input-file cela fonctionne
comment faut il faire ?

<?php
$filename = 'C:\Users\Martine\Desktop\file_input\file.txt';

if (file_exists($filename)) {
echo "Le fichier $filename existe.";
} else {
echo "Le fichier $filename n'existe pas.";
}
?>
0
stratos_2014 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
je pensais ..bêtement à remplacer file.txt dans
$filename = 'C:\Users\Martine\Desktop\file_input\file.txt';
par
$filename = 'C:\Users\Martine\Desktop\file_input\*.*';
je rêvais ....
0
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Malheureusement, je ne pense pas que les joker fonctionne pour cette fonction, mais celle poster ci-dessous devrait te convenir.
0
stratos_2014 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
je suis absent actuellement , je test cela, je vous remercie pour votre réactivité, je vous informe !!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
stratos_2014
 
Bonjour,
Avec un peu de retard mais cela fonctionne ton exemple,.
Cependant j'ai un autre question, je voudrais détecter la présence de data sur un de mes port USB de mon PC, en Windows ?
Merci d'avance !
0
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Logiquement si tu change $dirname ça devrait fonctionner aussi (Si c'est à la racine, ça sera simple F:\ Ou un truc dans le genre.)
0