Knud Schröder: Datei-Upload

Hallo Leute !

Hab bei ner Upload-Geschichte in PHP ein Problem.

Es wird beim Copy-Versuch die folgende Message ausgegeben:

Warning: Unable to create 'C:/httpd/HtDocs/Hochzeit/logos/': No such process in c:\httpd\HtDocs/hochzeit/pages/service_center.php3 on line 304
Fehler! Datei C:\httpd\HtDocs\hochzeit\pages\images\testlogo.jpg nicht kopiert!

Das Script sieht so aus (gekuerzt!):

<?
echo "<form name="service_center" enctype="multipart/form-data" action="service_center.php3">";
?>
Dateiname: <input type="file" name="logo" size=40 accept="image/jpeg">

Wenn service_center.php3 wieder aufgerufen wird, dann...

$dest = "C:/httpd/HtDocs/Hochzeit/logos/";
$logo1 = stripslashes($logo);
if (copy($logo1,$dest)) {
   echo "Datei $logo1 kopiert!<br>";
}else{
   echo "Fehler! Datei $logo1 nicht kopiert!<br>";
}

... dann passiert der Fehler!

Liegts vielleicht daran, dass ich das eventuell nicht offline testen kann (so wie zumailen) ?

Hab Omnihttpd als lokalen Webserver auf Win98.

Gruesse,

Knud (der hofft, ab und zu mal keine zu dummen Fragen zu stellen)

  1. Hallo Knud

    Liegts vielleicht daran, dass ich das eventuell nicht offline testen kann (so wie zumailen) ?

    Hab Omnihttpd als lokalen Webserver auf Win98.

    Daran liegt‚s wohl.
    "Unter WIN32 funktioniert das Script nicht, unter UNIX hingegen sehr gut."
    Das ist ein Zitat aus dem PHP-Tutorial aus dem MySQL-Handbuch.
    Leider funktionierts bei mir aber online auch nicht. Da nutz ich diesen
    Thread doch mal, um noch eine Frage dranzuhängen:
    Wenn ich versuche, eine Datei (gif oder jpeg) upzuloaden, erhalte ich
    folgende Fehlermeldung:

    Warning: Unable to create '../bilder/test.gif': Permission denied in  /www/domainname/upload.php3 on line 103

    Weiß jemand, wie man diesen Fehler behebt?

    Anatol

    1. Hi Anatol !

      Warning: Unable to create '../bilder/test.gif': Permission denied in  /www/domainname/upload.php3 on line 103

      Haette hoechstens eine Idee:
      Schon mal getestet, dem Verzeichnis bilder alle Rechte (chmod 777) zu setzen?

      (Befuerchte aber, dass Du das schon probiert hast)

      Gruss, Knud

      1. Hallo nochmal,

        Schon mal getestet, dem Verzeichnis bilder alle Rechte (chmod 777) zu setzen?

        (Befuerchte aber, dass Du das schon probiert hast)

        Hab ich nicht. Das wars! Vielen Dank. :-)

        Anatol

        1. hi anatol,

          ich hatte das prob auch schon mal...
          das einzige was geholfen hat, war den owner auf root:root zu setzen :-((

          leider meine einzige bekannte möglichkeit...
          es liegt nämlich an php, das die datei vorher im /tmp verzeichnis zwischenspeichert, wo nur root zugriffsrechte drauf hat

          cu pete

    2. Hi Knud!
      Hi Anatol!

      zum ersten:

      Ob das Script in Win32 nicht funktioniert, weiss ich nicht. Aber:

      1. probier mal, den Dateinamen an das destination-dir dranzuhaengen copy($logo1,$dest.$logo_name);

      2. lies mit
      $file=fopen($logo1,"r");
      $input=fread($file,$logo1_size);
      fclose($file);

      die Datei ein und speichere sie mit
      $file=fopen($dest.$logo_name,"w");
      fwrite($file,$input,$logo1_size);
      fclose($file);

      wieder ab.

      zum zweiten:

      eine Fehlermeldung wie "access denied" oder "permission denied" weist auf fehlende Schreibrechte des scripts (entspricht unter Unix 'other') hin.

      Hoffe, soweit geholfen zu haben.
      Gruß
      Thomas