Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    110

    Dimensioni Massime Consentite Upload File

    Ciao a tutti, sto facendo uno script di upload di file in php. Nel file php.ini ho settato come dimensione massima di upload 8mb. Vorrei nello script inserire un controllo che non permetta di uppare file + grandi di 8mb e stampin un messaggio di avviso, così ho inserito:

    Codice PHP:
    if ($FILES['file']['size'] > 8388608) {
                    echo 
    "<center>Errore: il file non pu&ograve; essere di dimensioni superiori ad 8MB."
                        
    ."

    <a href=\"javascript:history.go(-1)\">Indietro</a></center>\n"
    ;
                    
    $lettere_corrette 0;
            }
    elseif (!
    is_uploaded_file($_FILES['file']['tmp_name'])) {
        echo 
    "<center>Non hai inserito il file."
            
    ."

    <a href=\"javascript:history.go(-1)\">Indietro</a></center>\n"
    ;
        
    $file_uppato 0;
    }
    elseif (
    is_uploaded_file($_FILES['file']['tmp_name'])) {

    ... 
    Purtroppo questo script non funziona, mi crea la maledetta pagina bianca di errore. Se però abbasso la soglia massima ad esempio a 3 mb nell'if ed inserisco un file di dimensioni maggiori a 3 mb ma minori agli 8mb fissati in php.ini, allora lo script funge e mi lancia l'echo di "errore dimensioni superiori".
    Come mai? Qualche suggerimento?

  2. #2
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    se sei amministratore del server, posterei nella sezione apposita.
    ¿Hasta la pasta?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    110
    Sono l'amministratore del relativo spazio ftp su cui risiedono i file, comprato su aruba. Che vorresti dire?

  4. #4
    scusa ma hai uno spazio hosting o housing?! No perchè se sei in hosting è chiaro che non puoi cambiare la configurazione del php.ini....
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  5. #5
    ai ai ai...aruba.
    ci sono un sacco di limitazioni.
    io avevo creato un servizio di imagehosting solo che dovetti mettere il limite massimo per file a 300kb in quanto immagini di dimensioni superiori nel momenti in cui venivano ridimensionate andavano a prendere una memoria di esecuzione maggiore ai limiti consentiti da aruba facendo così uscire una pagina d'errore del server.
    -.-
    aruba dice "tutto illimitato, tutto illimitato" ma poi ti fotte su altre cose che potrebbero sembrare sottigliezze ma non lo sono affatto.
    un altro esempio? hosting windows...hanno bloccato la possibilità di settare chmod che vuoi tu alle cartelle. c'è solo una cartella, che si chiama "public", dove i permessi sono meno restrittitivi. Ma comunque sia non c'è nessuna cartella con CHMOD 777 preimpostato nè la puoi creare. E sai che ti dicono quando li chiami? questo: "siamo spiacenti ma per motivi di sicurezza su windows non si può settare il chmod a 777. però se vuole possiamo integrare un hosting linux al suo preesistente dove può settare il chmod come vuole." E così, visto che avevo già fatto tutto, fui costretto a comprare un servizio hosting linux aggiuntivo da affiancare a quell windows.... -.-
    Visita www.MuroDigitale.Com

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    110
    scusa ma hai uno spazio hosting o housing?! No perchè se sei in hosting è chiaro che non puoi cambiare la configurazione del php.ini....
    Indifferentemente dallo spazio, per ora sto provando il locale, e il file php.ini l'ho già cambiato e impostato ad 8 mb come soglia massima di upload.

    Comunque sono in hosting. Non posso modificare il file php.ini?

    Il fatto che non possa settare il chmod di una cartella a 777 significa che non posso uppare file o sbaglio?

  7. #7
    Esatto. senza 777 gli utenti non possono uppare file.
    Però c'era un trucco per fregare queste limitazioni di aruba.
    Io ad esempio avevo questo problema sul mio sito in quanto ho un forum e i miei utenti non potevano caricare gli avatar.
    Ho risolto mettendo una doppia slash prima dell'indirizzo di up :\

    praticamente configurato lo script in modo da salvare in //public invece che /public e funziona.
    Tant'è vero ke i miei utenti uppano correttamente avatar e gli indirizzi sono del tipo www.dominio.com//public/avatar.gif

    ...assurdo!
    comunque nn ricordo se è suff mettere doppia slash o c'erano altre cose da cambiare. buh
    Visita www.MuroDigitale.Com

  8. #8
    a parte che se sei su hosting windows e fai l'upload in public dovrebbe funzionare lo stesso, ma per fare l'upload penso che i permessi 775 bastino... :master:

    Comunque per il tuo problema della memoria utilizzata nel ridimensionamento delle immagini hai provato ad impostare nel php.ini (temporaneamente, ovviamente) questo valore?
    Codice PHP:
    ini_set('memory_limit''20M'); 
    Dico 20M per fare un esempio (per degli avatar di piccole dimensioni forse sono anche troppi...)
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    110
    Per essere più specifico riguardo il mio problema che ancora non sono riuscito a risolvere, posso aggiungere che nel mio file php.ini ( sto lavorando in locale per ora), ho le seguenti impostazioni:

    max_execution_time = 120 ; Maximum execution time of each script, in seconds
    max_input_time = 180 ; Maximum amount of time each script may spend parsing request data
    memory_limit = 12M ; Maximum amount of memory a script may consume (8MB)

    post_max_size = 12M
    file_uploads = On
    upload_max_filesize = 16M

    So che su Aruba il limite massimo di upload via script è di 12mb, quindi ho cercato di impostare i campi di conseguenza.

    Il codice dello script è il seguente:

    Codice PHP:
    if ($FILES['file']['size'] > 12582912) {
                    echo 
    "<center>Errore: il file non pu&ograve; essere di dimensioni superiori ad 12MB."
                        
    ."

    <a href=\"java-script:history.go(-1)\">Indietro</a></center>\n"
    ;
                    
    $dim_max_superate 1;
            }
    elseif (!
    is_uploaded_file($_FILES['file']['tmp_name'])) {
        echo 
    "<center>Non hai inserito il file."
            
    ."

    <a href=\"java-script:history.go(-1)\">Indietro</a></center>\n"
    ;
        
    $file_uppato 0;
    }
    elseif (
    is_uploaded_file($_FILES['file']['tmp_name'])) {

    ... 

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 © 2025 vBulletin Solutions, Inc. All rights reserved.