Ciao a tutti!
Ho provato a fare una ricerca, ma tutte le soluzioni che ho trovato non vanno...
Ho questo pezzo di codice PHP:
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}");
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...".
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!