2010-09-08 5 views
0

je veux savoir comment vérifier le nom de fichier dans le dossier avec certaines conditions. Par exemple: le nom du dossier est "sortie" ce dossier contenant les images suivantes. 2323a.Png 5235v.Jpeg 2323s.jpg 23523s.JPEG etc ..,vérifier fichier existe ou pas dans le dossier dans php

si je vérifie le nom du fichier est "2323a.png" mais il y a le nom de fichier est 2323a.Png.

comment vérifier le nom de fichier est incasensible.

merci à l'avance

+0

Et quel système vous exécutez votre script sur? Sur les fenêtres 'file_exists' est insensible à la casse, cela sera suffisant. Sur Linux, les noms de fichiers sont sensibles à la casse donc 2323a.png et 2323a.Png sont deux fichiers distincts. Si vous exécutez votre script sur le serveur Linux et que vous souhaitez utiliser uniquement des noms de fichier en minuscules, vous devez d'abord renommer ces fichiers. –

Répondre

0

Utilisez strtolower sur vos noms de fichiers pour vérifier si elles existent.

if(strtolower($filename) === '2323a.png') 
+0

si je vérifie le nom de fichier est 2323a.pNg, alors que vais-je faire? – hussain

+0

Ajoutez un str_replace autour de la fonction strtolower(), str_replace ('.png', '.pNg', strtolower ($ filename)). Mais si vous mettez en minuscule les noms de fichiers cela ne devrait pas être nécessaire car tout sera en minuscules. – Leon

1

Imho vous devez lire le contenu du répertoire

function file_exists_ignore_case($path) { 
    $dirname = dirname($path); 
    $filename = basename($path); 
    $dir = dir($dirname); 
    while (($file = $dir->read()) !== false) { 
     if (strtolower($file) == strtolower($filename)) { 
      $dir->close(); 
      return true; 
     } 
    } 
    $dir->close(); 
    return false; 
} 
Questions connexes