|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2007
Città: Milano
Messaggi: 688
|
[PHP] - problema upload files
Ciao ragazzi,
ho un form che fa un semplice upload di un file. Ha sempre funzionato bene, ma su alcuni file di tipo PDF si blocca. Non è un problema di dimensioni eccessive, perchè può farlo anche con file di piccole dimensioni. Semplicemente alcuni file pdf funzionano e altri no, come se ci fosse qualche blocco a livello del server. La pagina rimane ferma senza nemmeno arrivare a fare i controlli (e rispettivi echo). Avete consigli? Grazie a tutti ps: il tutto non restituisce alcun errore, semplicemente si blocca la pagina fino ad ottenere un timeout. Secondo me non arriva nemmeno a costruire il $_FILES (altrimenti arriverebbe a fare echo di debug che ho messo), sembra proprio che alcuni file PDF vengano semplicemente bloccati a monte (da Apache ad esempio? ma perchè?) senza criterio (ovvero NON perchè sono troppo grossi).
__________________
trattative a buon fine con: abejon turbolence dario-vnc peppe8600gt Lukather kripto Roxas93 Quaglia 17 Ripperz hinoky Cirillo84 Sethi1978 :::::IMPOSSIBLE is NOTHING::::: Ultima modifica di anto_demeter : 22-03-2010 alle 11:59. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2007
Città: Milano
Messaggi: 688
|
nessuno?! ...UP!
__________________
trattative a buon fine con: abejon turbolence dario-vnc peppe8600gt Lukather kripto Roxas93 Quaglia 17 Ripperz hinoky Cirillo84 Sethi1978 :::::IMPOSSIBLE is NOTHING::::: |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Oct 2006
Città: Bari
Messaggi: 238
|
Puoi provare a controllare le impostazioni del webserver. Nell'installazione standard xAMP non si possono caricare file superiori a 2MB ed è posto un limite di esecuzione agli script (ora non ricordo quanto di preciso).
Ad ogni modo, se i tuoi file non superano i 2MB, puoi utilizzare la funzione set_time_limit() di PHP per aumentare la durata di esecuzione dello script. Spero ti sia utile. |
![]() |
![]() |
![]() |
#4 |
Messaggi: n/a
|
Uhm, che ci siano un blocco a livello di server web mi pare strano ma non conosco tutte le impostazioni di Apache.
Domanda: non è che i file sono corrotti? Riesci a leggerli con AcrobatReader? |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Dec 2006
Città: Monza (MI)
Messaggi: 536
|
php safe_mode, abilitata?
Magari banalmente non controlli il nome del file per i caratteri non validi "" '' && // etc.. e quando vai a fare la move_uploaded_file() non trova il file di origine..? Lo fa solo con i file PDF? Prova magari caricare lo stesso file ma con estensione diversa... Ultima modifica di lorystorm90 : 23-03-2010 alle 14:33. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Nov 2007
Città: Milano
Messaggi: 688
|
Ragazzi grazie a tutti per i consigli ma niente:
@RagingBull: Non c'è limite di upload perchè altri fiel di dimensioni superiori ai 2 mega li carica tranquillamente senza andare in timeout. @Sgurbat: ovviamente ho provato ad aprirli e tutti funzionano correttamente e non sono corrotti. @lorystorm90: provato a cambiare estensione allo stesso file ma non va lo stesso. E comunque non su tutti i file ho questo problema ma lo fa solo su alcuni, è quella la cosa strana. ps: e la safe_mode è disabilitata. Altri consigli?
__________________
trattative a buon fine con: abejon turbolence dario-vnc peppe8600gt Lukather kripto Roxas93 Quaglia 17 Ripperz hinoky Cirillo84 Sethi1978 :::::IMPOSSIBLE is NOTHING::::: |
![]() |
![]() |
![]() |
#7 | |
Member
Iscritto dal: Oct 2006
Città: Bari
Messaggi: 238
|
Quote:
Se il file fosse troppo grande non riceveresti un avviso di timeout bensi un messaggio circa l'aver "sforato" con le dimensioni del file. Il problema del timeout è invece di altra natura. Uno script rimane in esecuzione dalla prima all'ultima istruzione. E il server conta quanto ci mette per eseguire il tutto. L'operazione di upload di un file non ferma questo conteggio. Se il conteggio supera il limite imposto dal server, quest'ultimo blocca tutto autonomamente e riporta l'errore di timeout. Prova ad inserire, ad inizio script, la funzione che ti ho indicato nel post precedente in questo modo: Codice PHP:
|
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Nov 2007
Città: Milano
Messaggi: 688
|
Quote:
Intanto grazie! EDIT: @RagingBull grazie mille per l'aiuto! Sembra funzionare ovunque lo metta! E nonostance c'avessi pensato non avevo mai provato! ....GRAZIE ANCORA!
__________________
trattative a buon fine con: abejon turbolence dario-vnc peppe8600gt Lukather kripto Roxas93 Quaglia 17 Ripperz hinoky Cirillo84 Sethi1978 :::::IMPOSSIBLE is NOTHING::::: Ultima modifica di anto_demeter : 26-03-2010 alle 21:36. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:48.