Vediamo di arrivarci ragionando.
Quando io faccio l'upload di un file, premo Sfoglia, seleziono il file e il percorso viene memorizzato nel form. Quando invio il form, insieme ai dati del form mando anche il file.
Se la mente non mi inganna, la pagina PHP viene caricata solo quando il server ha finito di ricevere il file che viene messo dentro la cartella temporanea, pronto per essere spostato.
Se fin qui è tutto giusto, non si tratta di un timeout del php ma semplicemente della lentezza nel caricamento.
Se questo è il tuo problema, non puoi far altro che settare la grandezza massima del file che viene mandato.
Se invece ho toppato alla grande, spero qualcuno mi corregga :S
__________________________________________________ ____________________
Se invece si tratta di file del server e lo script php parte tranquillo, puoi fare come in questo esempio che ho testato poco fa
Codice PHP:
set_time_limit(2); //imposto il limite massimo d'esecuzione
function shutDownFunction() { //imposto la funzione che mi farà uscire il messaggio
$error = error_get_last();
print_r($error);
if ($error['type'] == 1) { //type == 1 è il timeout dello script
echo "E' accaduto un errore! Lo script e' andato in timeout";
}
}
register_shutdown_function('shutdownFunction'); //gli dico che alla fine dello script (o quando si blocca per un fatal) deve lanciare quella funzione.
// Ora lancio il mio codice, qualunque esso sia, che se causerà un fatal error, farà lanciare la funzione.
while(true) //in questo caso è un ciclo infinito che andrà in timeout dopo 2 secondi, come settato sopra.
$a = 1;