2010-12-11 4 views
0

J'ai une question en deux parties ...Vérification pour voir si le fichier existe dans plusieurs endroits

  1. Pour mon chèque de fichier que j'ai besoin de regarder pour voir si le fichier est présent dans $filechk ou $dirchk. Comment puis-je utiliser un caractère générique sur l'extension $filename.* lors d'une vérification de fichier?

  2. Comment puis-je utiliser un caractère générique sur l'extension de fichier $filename.*? J'utilise is_file parce que j'ai lu que c'est deux fois plus rapide en vérifiant si un fichier existe.

Code

$filechk1 = "/temp/files/" . $data[0] . ".doc"; 
$filechk2 = "/temp/files/" . $data[1] . ".doc"; 
$dirchk1 = "/temp/files/" . $IDname . $data[0] . ".doc"; 
$dirchk2 = "/temp/files/" . $IDname . $data[1] . ".doc";    
if(is_file($filechk1) && ($filechk2)){ 
    ... 
} 
else { ... } 
+2

Désolé, vraiment: Je ne vous comprends pas ... – KingCrunch

Répondre

1

vous devriez obtenir une liste de tous les fichiers dans le répertoire, puis vérifier les extensions de fichier - is_file est pour un seul fichier uniquement.

1

Pour vérifier un certain nombre de fichiers, faire juste un is_file() ou file_exists() séparée - la différence de vitesse entre les deux est à peine pertinent que si vous faites cela sur un ou deux fichiers.

Pour une recherche générique, faites glob().

$files = glob("/path/to/directory/*.doc"); 
print_r($files); 
+0

Je peux appliquer le glob() à une vérification d'extension de fichier aussi? si j'aime tout le nom de fichier File001. * aussi lors de la vérification du répertoire est-il une méthode de recherche d'un répertoire sans tenir compte de la sensibilité à la casse? si je voulais voir si $ filechk1 existe dans/temp/files/$ UserName/$ filename comment pourrais-je faire la vérification ne pas tenir compte du cas puisque linux peut avoir les mêmes noms de dossier en majuscules/minuscules – acctman

+0

@acctman pour une insensible à la casse recherche, vous devez faire un glob sur tous les fichiers, minuscules tous les résultats, puis comparer avec le terme de recherche en minuscules. –

+0

Avez-vous un exemple de la façon de le faire avec glob() je ne sais pas par où commencer – acctman

Questions connexes