2010-12-11 4 views
0

У меня есть две части вопроса ...Проверка, если файл существует в нескольких местах

  1. Для моей проверки файла мне нужно посмотреть, чтобы увидеть, если файл присутствует в $filechk или $dirchk.

  2. Как я могу использовать подстановочный знак в расширении файла $filename.* при выполнении проверки файла? Я использую is_file, потому что я читал, что в два раза быстрее, проверяя, существует ли файл.

код

$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

Извините, на самом деле: я вас не понимаю ... – KingCrunch

ответ

1

вы должны получить список всех файлов в каталоге, а затем проверить расширение файлов - is_file это только один файл.

1

Чтобы проверить количество файлов, просто сделать отдельный is_file() или file_exists() - разница в скорости между ними вряд ли актуально, если вы делаете это на одном или два файла.

Для поиска подстановочных знаков делайте glob().

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

Я могу применить glob() к проверке расширения файла тоже правильно? если мне нравится для всех filename File001. * Также при выполнении проверки каталога существует ли метод поиска каталога без учета чувствительности к регистру? если бы я хотел посмотреть, существует ли файл $ filechk1 в/temp/files/$ UserName/$ filename, как я могу сделать проверку, игнорируя это дело, так как linux может иметь одинаковые имена папок в символах верхнего и нижнего регистра – acctman

+0

@acctman для нечувствительного к регистру поиск, вам нужно будет сделать глобус на всех файлах, выполнить строчные все результаты, а затем сравнить с нижним поисковым термином. –

+0

У вас есть пример того, как это сделать с помощью glob(), я не уверен, с чего начать – acctman

Смежные вопросы