Поиск файла с определенным именем с любым расширением

Обратите внимание, что я хочу, чтобы номер отсека изменился.

<?php $compartment = "1"; /* HERE I NEED SOME SCRIPT TO FIND THE EXTENSION OF THE FILE NAME $compartment AND TO SAVE THAT AS A VARIABLE NAMED 'EXTENSION'.*/ if (file_exists($compartment.$extension)) { echo "$compartment.$extension exists! } else { echo "No file name exists that is called $compartment. Regardless of extension." } ?> <?php $compartment = "2"; /* HERE I NEED SOME SCRIPT TO FIND THE EXTENSION OF THE FILE NAME $compartment AND TO SAVE THAT AS A VARIABLE NAMED 'EXTENSION'.*/ if (file_exists($$compartment.$extension)) { echo "$compartment.$extension exists! } else { echo "No file name exists that is called $compartment. Regardless of extension." } ?> 

Спасибо!

Вам нужен glob() .

 $compartment = "2"; $files = glob("/path/to/files/$compartment.*"); // Will find 2.txt, 2.php, 2.gif // Process through each file in the list // and output its extension if (count($files) > 0) foreach ($files as $file) { $info = pathinfo($file); echo "File found: extension ".$info["extension"]."<br>"; } else echo "No file name exists called $compartment. Regardless of extension." 

кстати, то, что вы делаете выше, плачет за цикл. Не повторяйте свои блоки кода, но оберните их одним из них:

  $compartments = array(1, 3, 6, 9); // or whichever compartments // you wish to run through foreach ($compartments as $compartment) { ..... insert code here ....... } 

Погляди:

  • glob – поиск путей, соответствующих шаблону
  • fnmatch – сопоставить имя файла с шаблоном
  • pathinfo – возвращает информацию о пути к файлу