Próbuję użyć funkcji zmiany nazwy w php.php rename() Odmowa dostępu. (kod: 5)
Na pierwszej próbie, jeśli folder docelowy jest pusty lub nie zawiera żadnych katalogów o takiej samej nazwie jak folder źródłowy funkcja zmiany nazwy działa idealnie. Jeśli jednak istnieje ta sama nazwa katalogu, nie powiedzie się. Potrzebuję tylko go nadpisać i pomyślałem, że wystarczy zmienić nazwę().
Oto mój kod:
/**
* 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;
}
Powyższy kod daje mi błąd mówiąc:
Wiadomość: zmiany nazwy (C: \ XAMPP \ htdocs \ ssmis \ public \ Resources \ temps \ gwałciciel/SJ-VIOL-2015-0002, C:/xampp/htdocs/ssmis/public/resources/zdjęcia/gwałciciel/SJ-VIOL-2015-0002): Odmowa dostępu. (kod: 5)
Używam CodeIgniter jako ramy.
Dziękuję bardzo!
Sprawdź uprawnienia do plików. – panther
Udało mi się pomyślnie użyć zmiany nazwy(), jak już wspomniałem powyżej. Ale kiedy próbuję użyć go do przeniesienia folderu ze źródła do folderu docelowego, w którym występuje ta sama nazwa co zasób, pojawia się błąd. Czy nadal muszę sprawdzać uprawnienia do plików, ponieważ mogłem pisać w katalogu? – iamjc015
Nie możesz mieć folderów o tej samej nazwie w katalogu, musisz sprawdzić dla tej samej nazwy i "scalić" zawartość w razie potrzeby. –