php - 是否有一个有效的单线程序来获取目录中的第一个文件?

标签 php file directory

我想抓取目录中的第一个文件,而不接触/抓取所有其他文件。文件名未知。

一个非常简短的方法可能是这样,使用 glob:

$file = array_slice(glob('/directory/*.jpg'), 0, 1);

但是如果那个目录下的文件很多,就会有一些开销。

其他方法是这个问题的答案——但都涉及一个循环,而且比 glob 示例更长:

PHP: How can I grab a single file from a directory without scanning entire directory?

有没有一种非常简短有效的方法来解决这个问题?

最佳答案

可能不是完全有效,但如果你只想要出现的第一个 jpg,那么

$dh = opendir('directory/');
while($filename = readdir($dh)) {
   if (substr($filename, -4) == '.jpg')) {
       break;
   }
}

关于php - 是否有一个有效的单线程序来获取目录中的第一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19190431/

相关文章:

php - 如何在 Symfony2 的 Form Builder 类中访问用户角色

php - 如何使 php 与 postgresql 一起工作?

Java快速排序,从用户输入文件读取到任何数组(待排序)

python - os.startfile错误: FileNotFoundError: [WinError 2] The system cannot find the file specified:

java - 替换 jar 文件中文件夹内的类文件

java - 创建带有扩展名的文件夹/容器但将其视为文件?

batch-file - 标签循环崩溃似乎没有原因

php - 将 mysql 函数转换为 pdo

php - Laravel - 在登录时销毁现有 session

c - 文件 C 中表中的背包问题数据存储