Bilderupload... keine Fehlermeldung, aber läd nichts hoch!!

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

  • Bilderupload... keine Fehlermeldung, aber läd nichts hoch!!

    Hallo Leute,
    bastel schon seit längerem nun an diesem script rum, aber irgendwie will der Bilderupload nicht funktionieren.

    Es gibt keine Fehlermeldung, dennoch läd er nichts auf den Webserver hoch...
    Diesen Script möchte ich nutzen, damit Online-User ihr eigenes Bild hochladen können...

    Sieht jemand einen Fehler?
    Hat jemand eine bessere Idee dazu?
    Vielleicht Kritik?

    Bin dankbar über jeden Post!

    PHP-Code:
    if ($_POST[upload] == true)
    {
    $imgfile $_FILES["imgfile"];
    $imgfile_name $imgfile[name];
    $imgsize $imgfile[size];
    $imgfile_type $imgfile[type];

        
    $uploaddir ".";


        
    /*== Dateiendung holen und überprüfen ==*/
        
    $pext getFileExtension($imgfile_name);
        
    $pext strtolower($pext);
        if ((
    $pext != "jpg")  && ($pext != "jpeg"))
        {
            print 
    "<h1>ERROR</h1>Dateiendung unbekannt!<br />";
            print 
    "<p>Bitte nur JPEG Bilder mit der Dateiendung .jpg oder .jpeg hochladen<br /><br />";
            print 
    "Das von Ihnen hochgeladene Bild hat die Endung: $pext</p>\n";

            
    /*== hochgeladenes Bild löschen ==*/
            
    unlink($imgfile);
            exit();
        }

        
    $final_filename str_replace(" ""_"$imgfile_name);
        
    $newfile $uploaddir "/$final_filename";


        if (
    is_uploaded_file($imgfile))
        {
           if (!
    copy($imgfile,"$newfile"))
           {
              print 
    "Fehler beim Hochladen.";
              exit();
           }
         }

        print(
    "<img src=\"$final_filename\">");

    }


        echo 
    "
             <form action=\"index.php\" method=\"post\" enctype=\"multipart/form-data\">
            <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"100000\">
            <p><input type=\"file\" name=\"imgfile\">
             <input type=\"hidden\" name=\"upload\" value=\"true\">
            <input type=\"submit\" value=\"Bild hochladen\">
            </form>"
    ;

    ?> 
    ganz vergessen....

    Die Funktion von der ich in diesem Script Gebrauch mache, um an die Dateiendung zu kommen...
    Warum ich das mache? Ich will später noch das Bildformat und die Größe ändern... aber erst sollte das so klappen!

    PHP-Code:
    function getFileExtension($str) {

            
    $i strrpos($str,".");
            if (!
    $i) { return ""; }

            
    $l strlen($str) - $i;
            
    $ext substr($str,$i+1,$l);

            return 
    $ext;

        } 
    Zuletzt geändert von aptagsweb.de; 16.07.2006, 02:19.
    /(bb|[^b]{2})/ - Das ist hier die Frage!

    (regular expression)

  • #2
    Re: Bilderupload... keine Fehlermeldung, aber läd nichts hoch!!

    PHP-Code:
    <?php
    if ($_POST[upload] == true) {
    // sinnloses herumkopieren, dazu noch uneinheitliche Namen
    $imgfile $_FILES["imgfile"];
    $imgfile_name $imgfile[name];
    $imgsize $imgfile[size];
    $imgfile_type $imgfile[type];
    $uploaddir ".";

    $pext getFileExtension($imgfile_name);
    $pext strtolower($pext);
    if ((
    $pext != "jpg")  && ($pext != "jpeg")) {
        print 
    "...";
        
    /*== hochgeladenes Bild löschen ==*/
        
    unlink($imgfile);  // mit unlink ein Array löschen?
        
    exit();
    }

    $final_filename str_replace(" ""_"$imgfile_name);
    $newfile $uploaddir "/$final_filename";

    if (
    is_uploaded_file($imgfile)) {
        if (!
    copy($imgfile,"$newfile")) {  // move_uploaded_file!
            
    print "Fehler beim Hochladen.";
            exit();
        }
    }
    print(
    "<img src=\"$final_filename\">"); // kein alt?
    }

    // man kann auch ?><html><?php ...
    echo 
    "<form ...";
    Die Knackpunkte sind unlink(array) und copy() statt move_uploaded_file(). Ich empfehle http://de3.php.net/manual/de/features.file-upload.php

    Kommentar


    • #3

      <<$imgfile = $_FILES["imgfile"];>>
      <<(!copy($imgfile,"$newfile")) { // move_uploaded_file!>>

      das funktioniert einfach nicht so, sondern (eben) anders.
      Siehe die Dokumentation über file upload im php manual.


      <<Bin dankbar über jeden Post!>>
      Bitte.
      Zuletzt geändert von heiss; 16.07.2006, 09:25.

      Kommentar


      • #4
        danke soweit erstmal...
        /(bb|[^b]{2})/ - Das ist hier die Frage!

        (regular expression)

        Kommentar


        • #5
          close
          /(bb|[^b]{2})/ - Das ist hier die Frage!

          (regular expression)

          Kommentar

          Lädt...
          X