查找具有特定名称和任何扩展名的文件

Posted

技术标签:

【中文标题】查找具有特定名称和任何扩展名的文件【英文标题】:Finding a file with a specific name with any extension 【发布时间】:2011-03-13 05:54:03 【问题描述】:

请注意,我希望更改车厢号。

<?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。 你希望这个发现做什么?仅搜索 1 个特定文件夹还是搜索从特定文件夹开始的所有文件夹?部分匹配是否符合条件还是应该完整的文件名匹配?无论如何,您可能需要检查 PHP 参考中的 opendir 和 readdir 函数 只有一个具有该名称的文件,所以我不必担心多个匹配项。不应返回部分匹配项。 IE。我想分别返回 1 和 13。 【参考方案1】:

你需要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 .......
  

【讨论】:

谢谢。我需要在代码中多次引用“恢复的”文件。这会是个问题吗? @Andy 不,只要您在 foreach $files as $file 循环内执行此操作即可。 (你也可以在它之外使用变量,但是你必须选择哪一个。)【参考方案2】:

向上看:

glob — 查找与模式匹配的路径名 fnmatch — 将文件名与模式匹配 pathinfo — 返回有关文件路径的信息

【讨论】:

以上是关于查找具有特定名称和任何扩展名的文件的主要内容,如果未能解决你的问题,请参考以下文章

查找特定文件名的扩展名

递归查找具有特定扩展名的文件

在文件夹中查找具有特定扩展名的文件

在 Unix 中查找所有具有特定扩展名的文件?

python 查找具有特定扩展名的目录中的所有文件

如何在Python中的目录中查找具有特定文件扩展名的所有文件