>我尝试将文件从目录'storage/cvs/'
移动到'storage/r_cvs/'
。我有代码:
$getOldCV = $worker->cv;
$createCatalogNameCV = $request->name."_".$request->surname;
$createCatalogCV = iconv('UTF-8', 'ISO-8859-1//TRANSLIT//IGNORE', $createCatalogNameCV);
// Storage::move('storage/cvs/'.$getOldCV, 'storage/r_cvs/' . $createCatalogCV . '/' . $getOldCV);
rename('storage/cvs/'.$getOldCV, 'storage/r_cvs/' . $createCatalogCV . '/' . $getOldCV);
当我移动文件$getOldCV
时,文件被移动,但脚本删除了所有带有文件的目录'storage/cvs/'
。我尝试使用rename()
和Laravel函数Storage::move
,但效果是一样的。
由于您使用的是 Laravel,因此您可以使用 Storage::move()
方法:
Storage::move(storage_path('csv/' . $getOldCV), storage_path('r_cvs/' . $createCatalogCV . '/' . $getOldCV));
或者File::move()
.它与Storage::move()
不同:
File::move(storage_path('csv/' . $getOldCV), storage_path('r_cvs/' . $createCatalogCV . '/' . $getOldCV));
此外,请确保 storage
目录的文件权限正确。
你可以做一个copy((和unklink((来代替:
copy('storage/cvs/'.$getOldCV, 'storage/r_cvs/' . $createCatalogCV . '/' . $getOldCV);
unlink('storage/cvs/'.$getOldCV);
我rename()
更改为move_uploaded_file()
,现在脚本工作正确