php从usb磁盘更改文件名

时间:2017-07-07 04:49:17

标签: php linux mamp

操作系统是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还是别的什么?

1 个答案:

答案 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,现在可以了。