Uploadscript - Wo liegt das Problem

  • Hi,


    ich hab mit ein Script gebastelt damit meine Besucher Screenshots hochladen können. Leider funktioniert es irgendwie nicht so richtig. Ich bekomme jedesmal die Fehlermeldung, dass die Datei zu groß ist obwohl sie es gar nicht ist:




    Irgendwelche Ideen?


    Danke
    kojak

  • Ich würd einfach eins ohne MySQL nehmen. Es gibt doch genügend solche Scripts im Web - wenn eins nicht geht, einfach nächstes nehmen.


    Aber falls du unbedingt das obere brauchst: welchen hoster hast du? Nen freespace?

  • Mal eine ganz stumpfe Frage:


    Meldet PHP/Apache denn, dass die Datei zu groß ist, oder meinst du deinen
    eigenen echo Befehl?


    PHP
    1. <?php
    2. echo ("Bitte laden Sie nur jpeg, gif oder .png Dateien hoch die unter 117 KB sind!!!");
    3. ?>


    BTW.: Du musst nicht bei jedem echo, include ... klammern rummachen
    echo "Hello World"; reicht auch schon ;)

    Zwei Dinge sind Unbestreitbar:

    • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.

    • Die Erde ist eine Scheibe!

    Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
    Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

  • die maximale dateigröße kann auch in der php.ini eingestellt werden. hast du da schonmal geschaut?



    http://de.php.net/echo

    Zitat


    echo() ist keine Funktion, sondern ein Sprach-Konstrukt. Deshalb brauchen Sie keine Klammern zu verwenden. Wenn Sie echo mehr als einen Parameter übergeben wollen, dürfen Sie diese nicht mit Klammern umgeben. Es ist nicht möglich, echo() in einem Variablen-Funktionen Kontext zu nutzen.


    :D

  • Zitat

    Meldet PHP/Apache denn, dass die Datei zu groß ist, oder meinst du deinen
    eigenen echo Befehl?


    Er bringt mir meinen echo Befehl.


    Zitat

    Ich würd einfach eins ohne MySQL nehmen.


    Es geht mir ja nicht einfach nur darum, dass die Datei hochgeladen wird, sondern sie wird direkt an der richtigen Stelle in meine Internetseite integriert. Ich wüsste nicht wie ich das ohne MYSQL machen könnte.


    danke
    kojak

  • Du fragst doch gar nicht die Größe abe, sondern wenn überhaupt nur den Filetype..
    Das kann so gar nicht funktionieren

    "Man muss die Welt nicht verstehen, man muss sich nur darin zurechtfinden."
    Einstein

  • Schau mal beim Formular Neuen Screenshot hinzufügen unterhalb des eigentlichen Scripts:


    Code
    1. <input type='hidden' name='MAX_FILE_SIZE' value='120000'>


    mfg
    kojak

  • Du fragst das aber nirgendwo im PHP ab!
    Deine if Abfrage, die nachher den Größenfehler ausgibt ist nur auf Bildertypen bestimmt, nicht aber auf eine Größe!


    Und wie das im Form aussieht, keine ahnung ob das so funktioniert, habe das noch nie gesehen, dass das ganze so eine zu große Datei abfängt..

    "Man muss die Welt nicht verstehen, man muss sich nur darin zurechtfinden."
    Einstein

  • Hi,


    ok ich hab den Fehler etwas eingeschränkt:


    PHP
    1. if ( "image/jpeg" == $uploadedfile_type
    2. or "image/gif" == $uploadedfile_type
    3. or "image/png" == $uploadedfile_type)


    Er scheint nicht zu erkennen, welcher filetype die Datei ist. Mit der Größe hat das letztendlich nichts zu tun. Wie bekomme ich ihn dazu die Variable $uploadedfile_type zu erkennen?
    In dem Buch aus dem ich dieses Script habe, steht, dass er die Variablen selbst erstellt. Muss ich am Anfang z.B.
    $uploadedfile_type = $_SERVER['uploadedfile_type'];
    einfügen?


    mfg
    kojak

  • kojak schrieb:

    Schau mal beim Formular Neuen Screenshot hinzufügen unterhalb des eigentlichen Scripts:

    Code
    1. <input type='hidden' name='MAX_FILE_SIZE' value='120000'>

    Vergiss den Quatsch mit MAX_FILE_SIZE, ist sehr unsicher, hängt einfach davon ab, ob der Browser es auch umsetzt.
    loki hat schon völlig recht, eine sichere Abfrage erreichst Du nur serverseitig, z.B. per PHP.


    Gruß ...
    wys

    Ich sag mal: OMmmmm ....