[PROBLEM] Mit Pic-Upload-Script

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Scan-O, 26. Juli 2006 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 26. Juli 2006
    Moin,
    ich hab mit PHP ein Upload-Script geschrieben, welches das hochgeladene Bild in den Ordner "pics" speichern soll.

    Hier ein Ausschnitt aus dem Code:
    Code:
     $titel = $nick . ".jpg";
     
     copy($file, "pics/" . $titel);
    Aber wenn ich das Script ausführe, dann kommt immer der Fehler:

    Code:
    Warning: copy(bild.jpg): failed to open stream: No such file or directory in /var/www/web478/html/member/pic_upload.php on line 187
    Ich hab die Schreibrechte in dem Ordner schon auf 0777 gestellt. Ich weiß aber nicht, woran es noch liegen könnte...
     
  2. 26. Juli 2006
    Ordner / File existiert nicht.

    Was ist denn Line 187 ?
     
  3. 26. Juli 2006
    Alle ordner mit dem richtigen namen erstellt und chmod auf 777 gesetzt ?
    Sieht schwer danach aus das du einfach den ordner nicht erstellt hast...
     
  4. 26. Juli 2006
    Bei falschen Rechten kähme hier ein Permission denied, aber man sieht doch wo der Fehler ist ..
    bild.jpg soll kopiert werden .. woher ? Wenn etwas hochgeladen wird, ist es erst in einem temporären verzechnis des Server und muss dann an die richtige stelle kopiert werden,
    versuch mal von $_FILES['blblaname']['tmp_name'] zu kopieren.

    Außerdem würde ich die funktion move_uploaded_file nehmen, da dort nicht so probleme wie bei aktivem safe_mode entstehen können (http://de3.php.net/features.safe_mode).

    Schau mal hier, dort ist alles mit dem FIle-Upload genaustens beschrieben:
    http://de3.php.net/features.file-upload
     
  5. 26. Juli 2006
    Hi
    Hab dir hier mal ein Script gepostet das ich mal verwendet habe. Bei mir funzt es einwandfrei.
    Ist einfach die komplette Version mit Formular.
    Und wahrscheinlich mit zuviel Schnickschnack. Ist aber auf jeden Fall ne schönere Upload-Variante als nur copy. Vllt funktionierts ja so bei dir. Der Zielordner (bei mir "userpics") muss in dem entsprechenden Verzeichnis erstellt sein, sonst geht da gar nix.

    Code:
    <?php
     // Datei-Upload
     $serverpath = realpath("./userpics"); // Zielverzeichnis auf dem Server
     $maxsize = "500000"; // das sind 500kb
    
     $mode = $_GET['mode'];
     if ($mode == "") { $mode = "form"; }
    
     if ($mode == "form") {
     echo "<form enctype='multipart/form-data' method='post' action='?mode=upload'>\n";
     echo "<input type='file' name='file' size='40' class='eingabe' style='margin-left:30px'>\n";
     echo "<input type='submit' name='Submit' value='Upload' class='button'><br>\n";
     echo "<br>";
     }
    
     // Das Bild wurde hochgeladen und in der Variable $_FILES gespeichert!
     // Dort sind auch alle Infos zum Bild wie Name, Größe und so weiter
     // in einem Array hinterlegt Bsp: $_FILES['file']['name']
    
     if ($mode == "upload") {
     $file = $_FILES['file']['name']; // Name des Bildes
    
     $allowedfiles[] = "jpg";
     $allowedfiles[] = "gif";
     $allowedfiles[] = "JPG";
     $allowedfiles[] = "GIF";
     
     if($_FILES['file']['size'] > $maxsize)
     {
     echo "&nbsp;&nbsp; Die Datei ist zu gross, bitte versuchen Sie es erneut.";
     }
     else {
     $path = "$serverpath/$file";
     foreach($allowedfiles as $allowedfile) {
     if ($done <> "yes")
     {
     if (file_exists($path))
     {
     echo "&nbsp;&nbsp; Eine bestehende Datei wurde
     überberschrieben!<br>";
     }
     }
     
     // Prüfung ob die letzten 3 Buchstaben des Dateinamens den erlaubten
     // Dateitypen entsprechen, wenn ja upload ins Zielverzeichnis
     if (substr($file, -3) == $allowedfile)
     {
     move_uploaded_file($_FILES['file']['tmp_name'], "$path");
     chmod($path, 777);
     $done = "yes";
     echo "&nbsp;&nbsp; Ihr Bild wurde erfolgreich hochgeladen.<br>";
     }
     }
     if ($done <> "yes")
     { echo "<br><b>Error:</b>&nbsp;&nbsp; Das Bild konnte nicht
     hochgeladen werden, da der Dateityp ungültig ist.<br>"; }
     }
     }
    ?>
    
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.