操作系统是macOS。本地服务器环境是MAMP,usb路径是/Volumes/USB_DISK
。
现在我想检测usb磁盘中的文件更改并更改它的名称,例如将1.jpeg
更改为a1.jpeg
,代码:
function getFreshImage($dir, $prefix){
$iterator = new FilesystemIterator($dir, FilesystemIterator::CURRENT_AS_PATHNAME);
foreach ($iterator as $fileinfo) {
$fullName = basename($iterator->current());
$name = basename($iterator->current(), '.jpeg');
if (strpos($name, '.') === false && strpos($name, $prefix) === false) {
$newName = $prefix.$fullName;
$bool = rename($dir.$fullName, $dir.$newName); // always return false here
}
}
}
$fname = '/Volumes/USB_DISK';
$prefix = 'a';
getFreshImage($fname, $prefix); // add prefix to fresh image
我检查了目录,权限是777
,任何人都知道如何处理这个,我应该配置php.ini还是别的什么?
答案 0 :(得分:0)
我似乎犯了一个愚蠢的错误,我在公共线php scanFile.php
中尝试了它,它显示了
Warning: rename(/Volumes/USB_DISKa1.jpeg,/Volumes/USB_DISKba1.jpeg): No such file or directory in /Applications/MAMP/htdocs/capture/scanFile.php on line 36
falseba3.jpeg<br><br>
所以我发现我通过了错误的dir
参数,fname
应该是
$fname = '/Volumes/USB_DISK/';
只是一个slash
,现在可以了。