Così sto cercando di utilizzare la funzione di rinominare in php.php rename() Accesso negato. (Codice: 5)
al primo tentativo, se la cartella di destinazione è vuota o non contiene le directory con lo stesso nome della cartella di origine la funzione di ridenominazione funziona perfettamente. Tuttavia, se c'è lo stesso nome di directory fallisce. Quello che voglio è solo sovrascriverlo e pensavo che rinominare() sarebbe sufficiente.
Ecco il mio codice:
/**
* 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;
}
Il codice di cui sopra mi dà un errore che dice:
Messaggio: rename (C: \ xampp \ htdocs \ ssmis \ risorse pubbliche \ \ temps \ trasgressore/SJ-VIOL-2015-0002, C:/xampp/htdocs/ssmis// risorse/foto/trasgressore/SJ-VIOL-2015-0002 pubblico): Accesso negato. (Codice: 5)
Sto usando CodeIgniter come framework.
Grazie mille!
controllare i permessi dei file. – panther
Sono riuscito a usare rename() con successo come ho detto sopra. Ma quando provo ad usarlo per spostare una cartella dall'origine alla cartella di destinazione in cui c'è lo stesso nome della risorsa, allora si verifica l'errore. Devo ancora controllare le autorizzazioni dei file poiché sono stato in grado di scrivere nella directory? – iamjc015
non si può avere cartelle con lo stesso nome in una directory, è necessario controllare per lo stesso nome e 'merge' il contenuto, se necessario. –