|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Feb 2004
Messaggi: 67
|
[PHP 5] Cancellazione file
Ho un problema davvero "strano" (almeno per me).
In un sistema che ho progettato ho un tasto "cancella" che mi permette di cancellare tutto c'ho che riguarda un elemento (es: file, immagini di una news e la news stessa). Quando cancello le immagini nessun problema, quando provo a cancellare i file invece non ottengo nessun avviso dal php o apache ma il file non viene cancellato. Ecco il codice che uso ## Costruisco il path ## In $fileDel['path_file'] c'è il nome del file (es.: file1.rar) ## In PATH_FILE_EV c'è il percorso completo al file (es.: /var/www/sito/file ## DS è il directory separator (lo slash o bacslash a seconda del sistema in cui si trova lo script) $fileDelB = PATH_FILE_EV.DS.$fileDel['path_file']; ## Il file_exists restituisce "false" if(file_exists($fileDelB) && !is_dir($fileDelB)) unlink($fileDelB); Ora, anche se escludo il controllo con l'if l'unlink non mi restituisce errori ma non cancella il file. Non è un problema di permessi della cartella perchè gli stessi permessi sono settati per la cartella delle immagini e con lo stesso metodo le immagini vengono cancellate. Il path è corretto, ho provato anche altre combinazioni (tipo path relativo o togliendo pezzi della radice tipo "/var/") Il "safe_mode" del server è Off Il sistema girava sul server installato sul mio pc, ora gira su un server interno della ditta (posso fare tutte le modifiche che voglio), prima del trasferimento questa cosa funzionava. Io ho finito le risorse, mi rimanete voi.. Aiuto |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2006
Città: Pisa
Messaggi: 2498
|
Prova a mettere a inizio pagina "error_reporting(2047);" qualcosa in più ti dirà...
__________________
![]() |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Feb 2004
Messaggi: 67
|
L'avevo già settato nel server e ora ho anche fatto la prova qui ma non mi da nessun errore.
Sgrunt Ho scoperto che il problema sta nella costruzione del path: PATH_FILE_EV.DS.$fileDel['path_file'] Ma devo usare quella costante. Se il path lo specifico completo "scritto da zero" allora funziona tutto.. capirete però che non è possibile adottare questa tecnica. Grazie a chiunque tenti di darmi una mano ![]() |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Quote:
|
|
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Feb 2004
Messaggi: 67
|
Questo è il codice usato:
echo "PATH_FILE EV: ".PATH_FILE_EV."<br/>DS: ".DS."<br/>fileDel[path_file]: ".$fileDel['path_file']."<br/>".$fileDelB; E questo il risultato: PATH_FILE EV: /home/www/html/sito/8/fileev DS: / fileDel[path_file]: 40_30_adjacencylist.zip /home/www/html/sito/8/fileev/40_30_adjacencylist.zip Quello che non funziona è sempre la cancellazione e il file exists. |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Feb 2004
Messaggi: 67
|
up
|
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Feb 2004
Messaggi: 67
|
Non so dove abbia preso uno qualsiasi dei simboli che toglie in trim ma con questa funzione ho risolto... mah!!!
$fileDelB = trim($fileDelB) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:01.