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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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;

        } 
    Last edited by aptagsweb.de; 16-07-2006, 01: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

    Comment


    • #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.
      Last edited by heiss; 16-07-2006, 08:25.

      Comment


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

        (regular expression)

        Comment


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

          (regular expression)

          Comment

          Working...
          X