Search for a file with a specific name with any extension

Please note that I want to change the compartment number.

<?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." } ?> 

Thanks!

+4
source share
2 answers

You need 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." 

By the way, what you do above is crying for the loop. Don 'repeat your code blocks, but wrap them in one of them:

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

Take a look:

  • glob - Find paths matching the pattern
  • fnmatch - match file name to pattern
  • pathinfo - returns file path information
+2
source

Source: https://habr.com/ru/post/1315046/


All Articles