|
|
|
|
Strumenti |
08-11-2007, 10:13 | #1 |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 501
|
[PHP] Upload file fallito!
Sto sviluppando un sito web che deve consentire l'upload di immagini e la relativa visualizzazione attraverso una galleria.
L'ho implementato in PHP, ma ho vari problemi con l'upload. Mi sono documentato in rete ed ho provato varie tecniche, inizialmente ho gestito l'upload attraverso una connessione in ftp, poi sono passato ad un approccio + semplice, mi sono affidato alla variabile $_FILE[Image][tmp_name], la quale viene poi "spostata" (attraverso la funzione move_uploaded_file) nel percorso che ho deciso io con un nome generato "randomicamente". Il problema è che in entrambi i casi (mi sembra che con l'FTP l'occorrenza dell'errore fosse + probabile) il file a volte non viene caricato. Per quante volte si provi (anche con immagini diverse per nome e dimensioni fisiche), non c'è modo di fargliele "uppare". In più, ultimamente mi sono accorto che alcune immagini vengono spostate da move_uploaded_file, ma hanno dimensione 0 e l'esito dell'esecuzione della funzione è positivo (restituisce true, quindi per lo script è andato tutto bene ). Quello che mi viene in mente è che potrebbe dipendere dal server e non dal mio script (anche perchè non mi sono inventato nulla, è un classico esempio che si trova in ogni documentazione che tratta di upload). Potrebbe essere che il server non riesca a processare la richiesta perchè sovraccarico? (lo script consente il caricamento di max 6 immagini alla volta per ogni utente). Ho interrogato il server ed ho appurato che in realtà è un pò datato (è un P4 3,2GHz). Questo dubbio mi viene anche dal fatto che a volte (troppo spesso secondo me) si blocca anche la pagina di PHPMyAdmin per la gestione del DB MySQL. In quel caso chiudo la pagina ed attendo un paio di minuti, mi "loggo" nuovamente e poi funziona... Qualcuno ha una idea della causa e delle possibili soluzioni? P.S. se serve posto anche il codice, ma come dicevo, tutto ruota intorno a move_uploaded_file... (ieri sera ho provato a sostituire tale funzione con copy($file) a cui faccio seguire unlink($_FILE[Image][tmp_name])) |
08-11-2007, 10:30 | #2 |
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
prova a mettere un "set_time_limit(0)" nel file che riceve i file
|
08-11-2007, 10:35 | #3 | |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 501
|
Quote:
Ok, ci provo! Comunque dalla documentazione risulta che questo comando: "Imposta il limite massimo in secondi di durata dello script. Se si raggiunge questo limite, lo script viene interrotto con un errore fatale... " io non ricevo alcun messaggio di errore fatale... è proprio questo il problema, secondo lo script, è andato tutto bene... |
|
08-11-2007, 16:34 | #4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53963
|
Ma in locale ti funziona ?
|
08-11-2007, 18:41 | #5 |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 501
|
|
08-11-2007, 18:46 | #6 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53963
|
Facci un po' vedere il codice...anche se penso che sia proprio come hai detto te. O un qualche crash del server o un problema temporaneo di permessi sui file
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:38.