如何解决命令mv移动文件不唤醒:-mv:无法移动:没有这样的文件或目录
foll片段简要解释了代码:-
define('UPLOAD_DONE_PATH','');//This comes from config
$uploaddir = '/home/upload';//This comes as functn parameter
$uploaddir_done = $uploaddir.UPLOAD_DONE_PATH;
$uploaddir_done = str_replace("//","/",$uploaddir_done);
$file_array=array();
if (is_dir($uploaddir)) {
if ($dh = opendir($uploaddir)) {
while (($allfile = readdir($dh)) !== false) {
if ($allfile == '.' or $allfile == '..') continue;
{
if (strpos($allfile,'abc') !== false ) {
$file_array[]=$allfile;
}
}
}
closedir($dh);
}
}
...//some code
foreach ($file_array as $key => $csvfile) {
//Process the file.
//Move the processed file
// Method 1 : Not Working
// copy file from upload to processed folder
if (copy($uploaddir.$csvfile,$uploaddir_done.$csvfile)) {
unlink($uploaddir.$csvfile);
$this->log->info("CSV file is copy into destination folder.".PHP_EOL);
}else{
$this->log->info("CSV file is not copy into destination folder.".PHP_EOL);
}
//Method 2 : Also not working(Move with shell_exec)
$from = $uploaddir.$csvfile;
$fromSpace = $from;
$to = $uploaddir_done.$csvfile;
$toSpace = $to;
$fromSpace = preg_replace('/\s/i','\\ ',$fromSpace);
$toSpace = preg_replace('/\s/i',$toSpace);
$ch_permissions = 'sudo chmod +755 -R '.$fromSpace;
$mv_cmd = 'mv '.$fromSpace.' '.$toSpace;
$ch_permission_result = shell_exec($ch_permissions);
$file_move_result = shell_exec($mv_cmd);
}
}
在两种情况下,移动文件都会导致错误“ mv:无法将'/ home / upload / abc 09.25.2020.csv'移至'/ home / upload / processed / abc 09.25.2020.csv':否这样文件或目录 ” 看来这是由于文件名中的空格所致。如何解决此问题?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。