Ciao a tutti!
Ho provato a fare una ricerca, ma tutte le soluzioni che ho trovato non vanno...
Ho questo pezzo di codice PHP:
se si finisce nell'else, e quindi $error=0, l'header(location: ...) non mi da' nessun errore, funziona alla perfezione, mentre se si finisce nel ramo "if(!upload)" ottengo il classico warning "Cannot modify header information - headers already sent by...".codice:..... // upload del file $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY); // controllo dello stato di upload if(!$upload) { $error = 2; } // se tutto va per il verso giusto (connessione FTP e upload) else { $error = 0; } // chiudere il flusso FTP ftp_quit($conn_id); } header("location:addimage.php?error={$error}");
Ho controllato che nell'unico file che includo e in questo non ci siano ne' echo ne' tags HTML...
Il warning dice "output started at ..." riga 52, che e' questa:
codice:$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
che in pratica e' la condizione dell'if.
Sembra come se, nel caso in cui l'upload vada a buon fine, non venga mandato niente in output, mentre se c'e' qualche errore (per esempio se il file da uploadare gia' esiste), l'errore viene inviato in output, generando il warning quando si richiama la funzione header...
Se e' cosi', come posso evitarlo?![]()
Grazie!

Rispondi quotando