[PHP] Dateigröße überprüfen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von DOWNandOUT, 7. November 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 7. November 2008
    Dateigröße überprüfen

    Sers, hab jetz nen Uploadscript, was soweit auch funktioniert:
    PHP:
    if(! in_array ( strtolower ( $ftype ),  $types ))
      {
        echo 
    "Es sind nur JPG Dateien erlaubt (BETA)" ;
      }
      else
      {
        if(
    $fsize  $size ){
          echo 
    "Die Datei darf nicht größer wie 1mb sein (BETA)" ;
        }
        else
        {
          if(
    is_uploaded_file ( $_FILES [ 'file' ][ 'tmp_name' ]))
          {
    //MOVE FILE HIER
    }
    Jetzt gehts um folgendes. Er testet zwar die Filesize, aber dafür läd er die File erstmal hoch, was natürlich ziemlich auf den Traffic geht. Kann man evtl. vor dem Uploaden abfragen (per JS oder so) wie groß eine Datei ist, ohne sie vorher upzuloaden?

    Danke
     
  2. 7. November 2008
    AW: Dateigröße überprüfen

    nein geht nicht, zumindest nicht mit php und js.

    mit perl geht das irgendwie, frag mich ned wie.
     
  3. 8. November 2008
    AW: Dateigröße überprüfen

    nein, leider nicht möglich. mit flash ist das soweit ich weiss auch nicht möglich.

    wenn du scharf drauf bist kannst du ein java-applet einbauen, der müsste das können. Bis jetzt bin ich jedenfalls auch ohne Dateigrößeprüfung vor dem upload klargekommen.
     
  4. 8. November 2008
    AW: Dateigröße überprüfen

    also laut dem hier: PHP: Steuerung von Dateiuploads - Manual kann man den browser veranlassen die größe zu kontrollieren
    einfach mit nem versteckten feld:
    HTML:
    <input type="hidden" name="MAX_FILE_SIZE" value="30000">
    wobei dort ebenfalls steht, dass man das sehr leicht umgehen kann
     
  5. 8. November 2008
    AW: Dateigröße überprüfen

    Hab ich getestet.. das funktioniert mal garnicht, leider :-(
     
  6. 8. November 2008
    AW: Dateigröße überprüfen

    Das bringt soweit ich weiß auch erst nach'm Upload was, dann hat man im Error Array oder irgendwo da noch n neuen Error drin, welcher besagt, die übergebene max filesize sei überschritten.
     
  7. 30. Januar 2009
    PUSH

     
  8. 30. Januar 2009
    Nee da bringt der PUSH auch nix, PHP kann es immer noch net

    Ergo: Nein
     
  9. 30. Januar 2009
    vllt kanns ja einer in Perl ;D
     
  10. 30. Januar 2009
    http://www.cgifree.de/Datei-Upload/

    Google ist dein Freund

    peace
     
  11. 30. Januar 2009
    php-resource.de

    Siehe letzten Abschnitt. (Seite 1)
     
  12. 30. Januar 2009
    1. Absatz in Nosferatus Text... hast das schonma probiert ?

    Weiß allerdings nit, ob der das denn auch nach dem Upload checkt oder nit..
     
  13. 30. Januar 2009
    Ja hat er probiert, funktioniert nicht, haettest du sogar lesen koennen.


    *klugscheiss*: es heisst uebrigen groesser als, nicht groesser wie.
     
  14. 31. Januar 2009
    Also ein interessantes Thema wie ich finde, deshalb gebe ich meinen Senf mal dazu ...

    Also ich behaupte mal das sowas mit Flash & mit einem Java Applet funktionieren würde, da ich von den beiden Dingen selbst noch relativ wenig Ahnung habe gehe ich da mal nicht weiter drauf ein.

    Oder doch -> http://digitarald.de/project/fancyupload/#features ???

    Ist irgendwie blöde das es da keine simple Möglichkeit für gibt, wäre ja nicht nur für den Betreiber der Seite interessant sondern auch für den Uploader. Man kennt das ja man schiebt 200 MB auf irgend einem Filehoster und plötzlich wollen sie die Datei nicht haben weil das Dingen auf der Blacklist steht ... Oder weil die Datei zu groß ist ...


    Aber nur mal so nebenbei, stehen in jeder Datei nicht die Informationen in den ersten 16 Bytes oder sowas? Filesize usw? Sollte dem so sein müsste es ja möglich sein die Daten auszulesen und dann zack bum. Verstehst? :]
     
  15. 5. Februar 2009
    oder falls alles nichts hilft, setze die scriptlaufzeit einfach bisschen runter, damit kannst du zwar nicht genau bestimmen bis wieviel kb max die datei sein darf du kannst es aber schon bisschen einschränken, ich weiss natürlich nicht wofür du es brauchst und wie groß dein spielraum in so einem fall wäre, habs aber auch schonmal so gelöst, du musst halt drauf achten das jemand mit isdn auch noch genug zeit hat was hochzuladen. aber im prinzip funktioniert es, es läd niemand mit der laufzeitbegrenzung 5mb datein hoch
     
  16. 6. Februar 2009
    so mal a weng aufräumen

    1. veraltet,
    2. topic gelesen? er will die datei garnicht erst übertragen haben wenn sie zu groß ist...

    da der upload serverseitig verarbeitet werden muss und as auch keinerlei zugriff aufs dateisystem hat fällt flash schonmal weg. (die meißten uploadscripte via flash schicken die sachen auch einfach an ein php/cgi-script weiter).

    java is da schon etwas mächtiger und ich könnte mir vorstellen das man da was reißen könnte, aber applets sind fast genauso eingeschränkt wie as oder javascript - müsste mal ein fachmann was dazu sagen.

    plonk

    stimme ich dir vollkommen zu, wär mal nen RFC wert.

    Magische Zahl (Informatik) – Wikipedia

    falsch, der upload wird immer komplett übertragen... teste es selber.

    PHP:
    <? php set_time_limit ( 10 );  ?>
    <form 
        action="<?php  print  $_SERVER [ 'PHP_SELF' ];  ?>
        method="post" 
        enctype="multipart/form-data">
        <input type="file" name="u" />
        <input type="submit" />
    </form>
    eben ohne probleme lokal ne 700mb avi-datei übertragen in ~ 50 - 60 sec

    man sieht also, dass der upload höhere priorität hat als das script selbst.
    alle gemachten änderungen an der config kennt php bis zum ende der übertragung noch gar nicht, es sei denn man definiert die sachen in der globalen php.ini, was aber auf minimalem webspace schwer werden dürfte.

    zusammenfassung:
    im grunde geht sowas nur auf dem client und außerhalb des browsers.

    ~ ende ~
     
  17. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.