我想抓取目录中的第一个文件,而不接触/抓取所有其他文件。文件名未知。
一个非常简短的方法可能是这样,使用 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/