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

Fermé
stratos_2014 Messages postés 4 Date d'inscription samedi 11 janvier 2014 Statut Membre Dernière intervention 11 janvier 2014 - 11 janv. 2014 à 12:26
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 - 23 janv. 2014 à 08:42
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 vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
Modifié par Nhay le 11/01/2014 à 13:52
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 vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
11 janv. 2014 à 13:27
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 samedi 11 janvier 2014 Statut Membre Dernière intervention 11 janvier 2014
11 janv. 2014 à 13:47
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 samedi 11 janvier 2014 Statut Membre Dernière intervention 11 janvier 2014
11 janv. 2014 à 13:56
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 vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
11 janv. 2014 à 14:03
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 samedi 11 janvier 2014 Statut Membre Dernière intervention 11 janvier 2014
11 janv. 2014 à 14:03
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
22 janv. 2014 à 17:12
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 vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
23 janv. 2014 à 08:42
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