我尝试将文件从目录'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
,但效果是一样的。
答案 0 :(得分:2)
由于您使用的是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
目录的文件权限正确。
答案 1 :(得分:1)
您可以改为使用copy()和unklink():
copy('storage/cvs/'.$getOldCV, 'storage/r_cvs/' . $createCatalogCV . '/' . $getOldCV);
unlink('storage/cvs/'.$getOldCV);
答案 2 :(得分:1)
我将rename()
更改为move_uploaded_file()
,现在脚本工作正确