所以我想在php中使用rename函數。php rename()訪問被拒絕。 (代碼:5)
第一次嘗試時,如果目標文件夾爲空或者不包含與源文件夾名稱相同的任何目錄,則重命名功能可以完美工作。但是,如果有相同的目錄名稱,則失敗。我想要的只是覆蓋它,我認爲重命名()就足夠了。
這裏是我的代碼:
/**
* Move temp folders to their permanent places
*
* $module_folder = example (violator, pnp, etc)
* $folders = name of folders within module_folder
**/
public function move_temp_to_permanent($module_folder, $folders){
$bool = false;
$module_folder_path = realpath(APPPATH . '../public/resources/temps/' . $module_folder);
$module_folder_destination_path = $_SERVER['DOCUMENT_ROOT'] . '/ssmis/public/resources/photos/' . $module_folder . '/';
foreach($folders as $folder){
$bool = rename($module_folder_path . '/' . $folder, $module_folder_destination_path . $folder);
}
return $bool;
}
上面的代碼給了我一個錯誤說:
消息: 重命名(C:\ XAMPP \ htdocs中\ SSMIS \ PUBLIC \資源\臨時工\違反者/ SJ-VIOL-2015-0002,C:/ xampp/htdocs/ssmis/public/resources/photos/violator/SJ-VIOL-2015-0002): 訪問被拒絕。 (代碼:5)
我使用CodeIgniter作爲框架。
非常感謝!
檢查文件權限。 – panther
我可以像上面所說的那樣成功地使用rename()。但是,當我嘗試使用它將源文件夾移動到與資源名稱相同的目標文件夾時,就會發生錯誤。我是否仍然需要檢查文件權限,因爲我能夠在目錄上編寫? – iamjc015
你不能在一個目錄中使用同名的文件夾,你需要檢查相同的名字,如果需要,可以合併內容。 –