Datei-Upload funktioniert nicht! Hilfe - bin absoluter Newbie

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

  • Datei-Upload funktioniert nicht! Hilfe - bin absoluter Newbie

    Hallo zusammen und willkommen in meinem ersten Problemstrang!

    Ich bin absoluter Neueinsteiger in Sachen PHP und baue grad eine meiner Seiten "zur Probe" um - da man sowas ja am besten an konkreten Projekten lernt.

    Momentan hab ich ein kleines Problem mit dem Upload von Bildern auf den Webserver (aktuell ein XAMPP auf nem Vista-Laptop, an dem ich auch die Seiten mache - um es lokal zu testen).

    Ich hab mir vorgestellt das in einem Formular (bildeinfuegen.php)die Bilddatei (also ein JPG z.B.) erfasst wird, dazu wird aus der MySQL-Datenbank eine Dropdownliste des Formulars mit Kategorien gefüllt, diese sollen dann im weiteren Verlauf dem Bild zugeordnet werden. Dito ein Bildtitel. Das Ganze wird mit GET an ein zweites Formular(bildeinfuegen2.php) übergeben, dieses soll dann das Kopieren übernehmen und die Eintragung der restlichen Daten fortführen. Vorher soll aber noch ein zufälliger Dateiname generiert werden, und geprüft werden ob dieser Name schon existiert. Ganz einfach um dem Problem vorzubeugen dass viele DigiCams ihre Bilder IMG00xxx nennen, und nicht jedes mal die Bilder umbenannt werden müssen.

    So nun mein Problem:

    Mein Aktuelles Script:

    PHP-Code:
    <?php 
    include "../scripts/stylein.php";
     include 
    "../scripts/navi.php";
     include 
    "../scripts/user_view.php"?>
     <h3 align="center"><font face="Arial">Treffen und Events - Bilder hinzufügen</font></h3> 
    <? error_reporting(E_ALL);  

    $beschreibung = $_GET["beschreibung"]; 
    $file = $_GET["file"]; 
    $eventkategorie = $_GET["eventkategorie"]; 
    $zielverzeichnis = "../treffen/"; 
    function bildname($namelaenge) { 
    $zeichen = "abcdefghijklmnopqrstuvwxyz0123456789"; $neuername = ""; mt_srand (microtime() * 1000000); 
    for ($i = 0; $i <  $namelaenge; $i++) { $neuername .= $zeichen{mt_rand (0,strlen($zeichen))}; 
    }
     return $neuername; } $zielverzeichnis .= bildname("15") . '.jpg' ; 

      if(file_exists($zielverzeichnis) or !copy("$file" , "$zielverzeichnis")) { 
    echo "Das Bild konnte nicht kopiert werden!<br />";
     }
     if(file_exists($ziel)) { unlink($zielverzeichnis);
     }
     else 

    echo ("Das Bild <b>" . basename($zielverzeichnis) . " </b>wurde hochgeladen!<br/>");
     $ziel = basename($zielverzeichnis);    } ?>
    Ich weiss, dass sieht ziemlich hingestümpert aus, aber ich lerne ja noch Einiges an Ideen hab ich mir aus Foren etc. zusammen gesucht, und laut ECHO sind die variablen auch richtig mit Pfad (relativer Pfad hier!) und Dateinamen neu und Alt angegeben. trotzdem Krieg ich diese Meldung:

    Warning: copy(jessi.jpg) [function.copy]: failed to open stream: No such file or directory in D:\apachefriends\xampp\htdocs\KREUZRITTER\restricted\bildeinfuegen2.php on line 27
    Das Bild konnte nicht kopiert werden!
    Notice: Undefined variable: ziel in D:\apachefriends\xampp\htdocs\KREUZRITTER\restricted\bildeinfuegen2.php on line 31
    Das Bild hbex2zrq094my1s.jpg wurde hochgeladen!
    Kann mir jemand sagen wo mein (sicherlich unglaublich banaler) Denkfehler liegt?

    Gruß Manu

    P.S. Da es wohl laut meiner Recherche auch ab und an Probleme in diesem Bereich gibt weil die "register-globals" falsch eingestellt ist, hab ich das schon geprüft - steht auf "OFF"

  • #2
    also per GET geht da garnichst. schau dir ggf. mal das tutorial an.

    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Im PHP-Manual nach "Dateiupload" suchen ist aber wirklich ganz schön abwegig
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Kommentar

      Lädt...
      X