Ankündigung

Einklappen
Keine Ankündigung bisher.

Prüfen ob jpg

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Prüfen ob jpg

    Hallo Leute,

    Ich hab mir grad nen FileUpload gebaut.
    Nun will ich aber nur Bilder hochladen und auch nur in Form von jpg's. Wie kann ich dies realisieren.

    Mein bisheriges Script:

    PHP-Code:
    <?php
        $dir_upload 
    "/www/usersites/a-f/freak/pub/egc/bilder"//Pfad auf dem Server, wo die Datei gespeichert werden soll (PHP muss Schreibrechte besitzen!)
        
    foreach($_FILES as $datei) {
            if (
    $datei["error"] == 0) {
                if (
    move_uploaded_file($datei["tmp_name"], $dir_upload.$datei[$key]["name"])) { //Kopiervorgang
              
    echo "File ".$datei["name"]." erfolgreich hochgeladen.";
                } else {
                    echo 
    "Fehler beim Upload! Info:";
                    echo 
    "<pre>"var_dump($_FILES); echo "</pre>";
                    exit;
                }
            }
        }
    ?>
    <form action="upload.php" method="post" enctype="multipart/form-data">
        

    Datei: <input type="file" name="userfile" /></p>
        

    <input type="submit" value="Abschicken" /></p>
    </form>

    Habt ihr Tipps dazu?
    Ich muss da ja mit dem $datei['type'] arbeiten oder?


    MfG


    Julied

  • #2
    Du siehst doch, was in $_FILES alles drinsteht, damit dürfte das Problem doch gelöst sein, oder? Vor dem Upload kannst du das nicht prüfen.

    Siehe auch http://www.php.net/manual/de/features.file-upload.php

    Gruß
    phpfan

    Kommentar


    • #3
      Einmal das und im Nachhinein gehts auch nochmal mit http://www.php.net/getimagesize
      Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

      Kommentar


      • #4
        Also...

        Nun hab ich die Fehlermeldung:

        PHP-Code:
        <?php
        Notice
        Undefined variablestr in /www/usersites/a-f/freak/pub/egc/sites/upload.php on line 3

        Notice
        Undefined variable_FILE in /www/usersites/a-f/freak/pub/egc/sites/upload.php on line 8

        Notice
        Undefined offset: -1 in /www/usersites/a-f/freak/pub/egc/sites/upload.php on line 10

        Notice
        Undefined offset1 in /www/usersites/a-f/freak/pub/egc/sites/upload.php on line 13

        Warning
        move_uploaded_file(/www/usersites/a-f/freak/pub/egc/bilder/) [function.move-uploaded-file]: failed to open streamIs a directory in /www/usersites/a-f/freak/pub/egc/sites/upload.php on line 13

        Warning
        move_uploaded_file() [function.move-uploaded-file]: Unable to move '/www/usersites/a-f/freak/tmp/phplwXDye' to '/www/usersites/a-f/freak/pub/egc/bilder/' in /www/usersites/a-f/freak/pub/egc/sites/upload.php on line 13
        Fehler beim Upload
        Info:
        array(
        1) {
          [
        "userfile"]=>
          array(
        5) {
            [
        "name"]=>
            
        string(12"Computer.jpg"
            
        ["type"]=>
            
        string(11"image/pjpeg"
            
        ["tmp_name"]=>
            
        string(38"/www/usersites/a-f/freak/tmp/phplwXDye"
            
        ["error"]=>
            
        int(0)
            [
        "size"]=>
            
        int(7556)
          }
        }

        ?>
        Bei diesem Script:
        PHP-Code:
        <?php
        <?php
        $dir_upload 
        "/www/usersites/a-f/freak/pub/egc/bilder/"//Pfad auf dem Server, wo die Datei gespeichert werden soll (PHP muss Schreibrechte besitzen!)
        $num count($str);
        $allowed_size 500/* Wert in KB */
        $allowed_size_byte $allowed_size*1024/* Wert in Byte */
        foreach($_FILES as $datei) {
            
        $str explode(".",$datei['name']);
            if(
        $_FILE['filename']['filesize'] > $allowed_size_byte){
                echo 
        "Sorry, aber die Datei ist mir zu groß!!! Nimm eine kleinere ;)";
            }elseif(
        $str[$num-1]=="jpg"){
                echo 
        "Das ist aber kein jpg....tzzz ;)";
            }elseif(
        $datei["error"] == 0) {
                if (
        move_uploaded_file($datei["tmp_name"], $dir_upload.$datei[$key]["name"])) { //Kopiervorgang
                
        echo "File ".$datei["name"]." erfolgreich hochgeladen.";
                } else {
                    echo 
        "Fehler beim Upload! Info:";
                    echo 
        "<pre>"var_dump($_FILES); echo "</pre>";
                    exit;
                }
            }
        }
        ?>
        <form action="<? $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
            

        Datei: <input type="file" name="userfile" /></p>
            

        <input type="submit" value="Abschicken" /></p>
        </form>

        ?>

        Was mach ich nu falsch?

        Kommentar


        • #5
          Die Fehlermeldungen sind aussagekräftig genug. Lies sie doch mal

          Kommentar


          • #6
            Joa, nun hab ich die Fehlermeldungen schon weg...

            PHP-Code:
            <?php
            Notice
            Undefined offset1 in /www/usersites/a-f/freak/pub/egc/sites/upload.php on line 15

            Warning
            move_uploaded_file(/www/usersites/a-f/freak/pub/egc/bilder/) [function.move-uploaded-file]: failed to open streamIs a directory in /www/usersites/a-f/freak/pub/egc/sites/upload.php on line 15

            ?>

            Aber das bekomm ich trotzdem obwohl der error 0 is was ja eigentlich als "hoichgeladen" steht....

            Kommentar


            • #7
              $dir_upload.$datei[$key]["name"]

              Gruß
              phpfan

              Kommentar


              • #8
                joa
                Ich habs auch grad gesehn *ankopflang*


                Ich glaub ich hab zur Zeit Blindheitsanfälle

                Sorry Leute


                Und thnxle @ all

                Kommentar

                Lädt...
                X