La prima cosa che mi viene da dirti, così guardando al volo questo script, è che non potrà mai funzionarti.
$file_ non esiste!function inserisciFile($file_,$id_prog,$id_cat,$descr) {
if(empty($file_)) return false;
if(empty($file_["name"]) ) return false;
if(empty($file_["size"]) || $file_["tmp_name"]=="none") return false;
if(!isset($_SERVER)) {
$_SERVER = $HTTP_SERVER_VARS;
}
Devi scrivere $_FILES['xxx']: tutto maiuscolo e con l'underscore tra il segno del dollaro e la scritta FILES.
Il controllo per capire se il file sia stato caricato o meno, poi, è più accurato farlo su $_FILES['xxx']['error'], piuttosto che sul valore vuoto del peso in KB del file stesso.
Altra osservazione.
Se ragioni un attimo capisci da solo dove sta l'errore.chmod($new_name, 0755)
Qualche riga prima dici a PHP di spostare il file in una cartella.
Se poi gli imponi di cambiare i permessi sul file che non è più dove te pensi che sia, allora PHP restituirà sempre un errore.
Prova con:
Ti consiglio poi di leggere attentamente la Guida alla Sicurezza in PHP, perché se pensi di rendere sicuro uno script con un semplice ADDSLASHES ti sbagli alla grande!Codice PHP:
chmod($upload_dir.$new_name, 0755);
Mi stupisco comunque che qualche volta questo script ti abbia funzionato!
![]()