Visualizzazione dei risultati da 1 a 6 su 6

Discussione: File Upload

  1. #1

    File Upload

    Buongiorno a tutti.
    Chiedo scusa se questo argomento e' stato trattato ancora nel forum, ma per l'urgenza che ho di risolvere il problema ho aperto una nuova discussione.

    Il mio problema e' il seguente.
    Ho dei servizi web implementati in JSP che risiedono su un server Tomcat su una macchina, e un client in PHP che sfrutta tali servizi e che risiede su un server Apache HTTP 2 che puo' essere sulla stessa macchina di Tomcat o anche su un'altra.
    Sulla macchina dei servizi vi e' una cartella che dovra' contenere dei file bmp (necessariamente bmp in quanto lo scopo dell'applicazione completa e' elaborare immagini) che in media hanno una capienza di 20 MB, in quanto sono scansioni di documenti paleografici.
    Dal client devo avere la possibilita' di effettuare l'upload di bmp da un form, in quanto gli utenti contribuiranno fornendo i loro documenti dal client.
    Essendo il fatto che la macchina del client puo' essere remota non posso di certo affidarmi a una semplice copia di file, per cui agisco tramite un scp, che ho verificato funzionare tramite script normale in php col percorso completo del file.

    Il mio problema nasce quando implemento una pagina HTML: facendo una prova con un file testuale l'upload riesce, quando faccio l'upload di un'immagine bmp il risultato e' errato.
    Inserisco sotto il codice della mia pagina html (il minimo indispensabile), e il risultato che mi viene stampato.
    Premetto che, stampando il content type tramite la funzione mime_content_type() di PHP su un'immagine bmp, il risultato viene corretto, cioe' image/x-ms-bmp; la pagina e' stata denominata prova.php, per cui il form prevede un semplice refresh della pagina.

    Codice PHP:
    <html>
        <head>
            <title>Pagina di Prova Upload</title>
        </head>
        <body>
    <?php
        
    if (isset($HTTP_POST_VARS['invia'])) {
            
    print_r($_FILES);        
        }
    ?>
            <form method="post" action="prova.php" enctype="multipart/form-data">
                <input type="file" name="upfile">
                <input type="submit" name="invia" value="Invia">
            </form>    
        </body>
    </html>
    Il risultato e' il seguente:
    Array ( [upfile] => Array ( [name] => 01_1.bmp [type] => [tmp_name] => [error] => 1 [size] => 0 ) )
    Come si puo' notare, il nome del file risulta corretto, ma il resto e' completamente cio' che non dovrebbe essere; facendo, invece, un upload di un file php, per esempio, il risultato e' il seguente:

    Array ( [upfile] => Array ( [name] => index.php [type] => application/x-httpd-php [tmp_name] => /tmp/php2G21ef [error] => 0 [size] => 473 ) )
    Puo' essere un errore dovuto al file (nel senso che pesa troppo), o alla gestione dei mime type di Apache2?
    Premetto che ho modificato il file php.ini permettendo di uploadare file anche di 50 MB, in quanto ho esigenze simili.

    Grazie per la pazienza e mi auguro che qualcosa mi possa dare aiuti.

    -Marco-

    P.s. Se ho fatto qualche errore nello scrivere il messaggio, o qualunque altra operazione errata, consigliatemi senza problemi su come fare le prossime volte, e' la prima volta che scrivo in un forum e non sono pratico.

  2. #2
    Lo script và in timeout, di base... gli script php girano per un massimo di 60 secondi e poi si fermano se non finiscono prima , in 60 secondi, con un'upload di una linea adsl media (512Kb/s) si riescono a caricare circa 5 o 6 MB di file su uno spazio remoto. O li fai caricare via Ftp dagli utenti del sito O aumenti il tempo di esecuzione degli script php ^_^ (inoltre apache può avere delle impostazione sulla dimensione massima di upload dei file).

  3. #3
    Dunque tu dici che devo mettere le mani ancora sul file di apache2 o di php per dargli la possibilita' di caricare file piu' grossi, per cui consentire tempi di caricamento piu' lunghi?
    Se e' questo ti ringrazio per l'aiuto, altrimenti se ho capito male, potresti illuminarmi?

    Grazie ancora.

    -Marco-

  4. #4
    devi controllare nel file di configurazione di apache il max_upload_size ed inoltre devi aumentare il tempo di esecuzione degli script php. Potresti risolvere il problema, devi fare delle prove ovviamente. Magari esistono altre soluzioni, lascio quindi la parola ad altri

  5. #5
    Grazie mille per l'illuminazione
    Effettivamente avevo messo le mani sul file php.ini, ma non nel punto giusto, infatti la taglia massima di un file in upload era di 2 MB mentre avevo modificato l'ammontare di informazioni per un POST.
    Ora ho trovato il punto giusto, faro' delle prove, faro' dei conti per aumentare il tempo degli script in caso di necessita'.
    Grazie mille ancora e buon lavoro a tutti.

    -Marco-

  6. #6
    Posso confermare che aumentando
    1. la taglia massima del file possibile in upload;
    2. i tempi per gli script e per parsare i dati
    tutto funziona correttamente.
    Ho appena effettuato tutte le modifiche e fatto la prova con la pagina postata nel mio primo messaggio.



    -Marco-

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.