前言
本文是自己在进行项目编写时遇到的情况,需求是提取目录中的pdf文件名,判断是否对应的压缩文件,生成相应的表格,并重命名文件。
实现效果
起始

结果


代码
<?php
/**
* 列出文件表格
*/
function listDir($dir)
{
//打开目录
$mydir = opendir($dir);
echo "<table border=1>";
while (($file = readdir($mydir))) {
if ($file != '.' && $file != '..') {
//获取文件序号
$num = (int)$file;
$arr = explode('.',$file);
//判断是否为pdf文件
if(array_pop($arr) == 'pdf'){
$zip = '';
//判断是否有zip
if(is_file($dir.'/'.implode('.',$arr).'.zip')) $zip = $num.'.zip';
//替换前面的序列和后缀
$name = preg_replace('/^[0-9]{0,}\.?|\.pdf$/','',$file);
echo "<tr><td>$num</td><td>$name</td><td>$num.pdf</td><td>$zip</td></tr>";
}
//获取后缀名
$ext = pathinfo($dir.'/'.$file,PATHINFO_EXTENSION);
//重命名文件
rename($dir.'/'.$file, $dir.'/'.$num.'.'.$ext);
}
}
//关闭目录
closedir($mydir);
echo "</table>";
}
listDir('D:\创业组');