以下是实现扫描并打印出指定目录下所有jpg文件名的完整攻略:
1. 获取指定目录下的所有文件
使用PHP中的 scandir()
函数可以获取指定目录下的所有文件名,并返回一个包含文件名的数组。示例代码如下:
function getFilesInDirectory($directory) {
$files = array();
if (is_dir($directory) && $handle = opendir($directory)) {
while (false !== ($filename = readdir($handle))) {
if ($filename != "." && $filename != "..") {
$path = $directory . "/" . $filename;
if (is_dir($path)) {
$files = array_merge($files, getFilesInDirectory($path));
} else {
$files[] = $path;
}
}
}
closedir($handle);
}
return $files;
}
通过递归调用 getFilesInDirectory()
函数,可以遍历指定目录下所有文件和子目录中的文件。
2. 筛选jpg文件
遍历获取到的文件数组,如果文件后缀为 ".jpg" 则加入输出结果数组。示例代码如下:
function getJpgFilesInDirectory($directory) {
$files = array();
if (is_dir($directory) && $handle = opendir($directory)) {
while (false !== ($filename = readdir($handle))) {
if ($filename != "." && $filename != "..") {
$path = $directory . "/" . $filename;
if (is_dir($path)) {
$files = array_merge($files, getJpgFilesInDirectory($path));
} else {
if (strtolower(pathinfo($path)['extension']) == 'jpg') {
$files[] = $path;
}
}
}
}
closedir($handle);
}
return $files;
}
使用 pathinfo()
函数获取文件路径中的扩展名,然后与 "jpg" 比较即可判断文件是否为jpg格式。
3. 将结果输出
将获取到的符合条件的文件名数组遍历输出即可。示例代码如下:
$directory = "path/to/your/directory/";
$jpgFiles = getJpgFilesInDirectory($directory);
foreach ($jpgFiles as $jpgFile) {
echo $jpgFile . "<br>";
}
其中 $directory
为指定的目录路径,代码会输出该目录及其子目录中所有jpg文件的名称。
示例1:输出本地目录下所有jpg文件名称
$directory = "/path/to/your/local/directory";
$jpgFiles = getJpgFilesInDirectory($directory);
foreach ($jpgFiles as $jpgFile) {
echo $jpgFile . "<br>";
}
示例2:输出web服务器上目录下所有jpg文件名称
$directory = "/webserver/root/path/to/your/directory";
$jpgFiles = getJpgFilesInDirectory($directory);
foreach ($jpgFiles as $jpgFile) {
echo $jpgFile . "<br>";
}
以上就是实现扫描并打印出指定目录下所有jpg文件名的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php写一个函数,实现扫描并打印出自定目录下(含子目录)所有jpg文件名 - Python技术站