Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Controllo dimensione file.....prima dell'upload!

    Salve a tutti.
    Ho cercao un pò nel forum ma non ho trovato nulla che centrasse in pieno l'argomento.

    Devo far uploadare immagini sul mio sito.
    Le immagini consentite, però, hanno delle limitazioni in termini di peso, dimensioni e tipo di file.

    Conosco le funzioni che mi possono restituire queste informazioni ma vorrei averle prima di effettuare l'upload.

    l'utente mette il path (suo locale)dell'immagine e solo se risponde a determinati requisiti verrà fatto l'upload.

    Posso controllare il file da remoto?
    mi spego meglio.....è possibile reperire, ad esempio, la dimensione del file prima di averlo uploadato?

    Grazie a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    non so se funzioni (infatti non l'ho mai usato), comunque prova ad aggiungere al tuo form:

    codice:
    <input type="hidden" name="MAX_FILE_SIZE" value="2000000">
    Sostituisci a 2000000 la dimensione massima in bytes del file.

    Spero che comunque senza fare il submit del form non sia possibile andare a pescare info sui file locali di chicchessia... mi dà un nonsoché di insicurezza.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Ciao, mi serve anche di controllare altri fattori (altezza, larghezza, tipo di file)....vorrei sapere se è possibile utilizzare le funzioni getimagesize() e filesize() di php



  4. #4
    Originariamente inviato da Capitano Kirk
    Ciao, mi serve anche di controllare altri fattori (altezza, larghezza, tipo di file)....vorrei sapere se è possibile utilizzare le funzioni getimagesize() e filesize() di php


    prima che il file sia caricato sul server, no di sicuro...

    Non so se ci siano controlli javascript che possano fare al caso tuo, ma ne dubito.
    Pe ril resto le funzioni che hai citato sono la norma per questo genere di controlli.. ma avvengono sul file temporaneo generato sul server dall'upload... php non può avere accesso al client

  5. #5
    ok grazie...lo immaginavo!

  6. #6
    Bene.....facendo il punto della situazione sembrerebbe che non sia possibile controllare le dimensioni del file da caricare prima di caricarlo.

    Leggendo un'articolo su freephp.html.it ho scoperto che il metodo html per risolvere il problema (<input type="hidden" name="MAX_FILE_SIZE" value="2000000">) può essere facilmente aggirato. Lo stesso articolo dice che esiste un metodo molto più sicuro che è quello di agire sul parametro upload_max_filesize all'interno del php.ini


    ****CASO PRATICO****
    Io compro 100mb di spazio web dalla società pippo. A me non risulta che posso mettere le mani su quel parametro del php.ini (di default settato a 2mb). E se il metodo html non funziona bene è possibile che non esista alcun modo per evitare traffico inutile (che poi viene pagato)?

    non vi è mai capitato?

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    rispondendo al tuo caso pratico: compri un host con spazio illimitato o banda illimitata... oppure compri un host che ti lasci settare il php.ini (più o meno) a tuo piacimento.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    ...mi sembra che il problema venga aggirato e non risolto!
    Non dico necessariamente in php, ma vi è mai capitato di implementare soluzioni di questo tipo (anche in altri linguaggi)?

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Sono quasi convinto che senza accrocchi a cui l'utente dice sì/no non puoi ottenere quel che cerchi.
    Mi spiego: potresti istanziare qualche ActiveX (dal forum su java della sun)
    codice:
    <html>
    <head>
    <script language="JavaScript">
    function A()
    {
    var oas = new ActiveXObject("Scripting.FileSystemObject");
    var d = document.a.b.value;
    var e = oas.getFile(d);
    var f = e.size;
    alert(f + " bytes");
    }
    </script>
    </head>
    <body>
    <form name="a">
    <input type="file" name="b">
    <input type="button" name="c" value="SIZE" onClick="A();">
    </form>
    </body>
    </html>
    Che non funzionerà su nessun browser, al di fuori di qualche versione obsoleta di IE senza un minimo di patching per la sicurezza.
    Altra soluzione, in Java, una signed applet... il cui "certificato" comunque l'utente dovrebbe accettare.
    In altre parole, personalmente sono grato ai programmatori di web browser per le restrizioni all'accesso nel sistema client imposte.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  10. #10
    ok grazie per le informazioni

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.