Alex: Dateiupload funktioniert nicht richtig

Hallo!

Ich habe folgendes Problem: Ich möchte einen Dateiupload mit PHP machen. Nachfolgend seht ihr das Skript. Wenn ich die Seite auf dem Server aufrufe und eine Datei hochladen möchte, gibt es keine Probleme. Wenn ich aber von einem Client-Rechner aus dies machen möchte, taucht immer der Fehler auf, dass die Datei nicht gefunden werden konnte. Dies liegt daran, dass die Datei nicht auf dem Client-Rechner, sondern im Verzeichnisbaum des Servers gesucht wird - dort findet er sie natürlich nicht.

Hier der Code:

if($anhang)
  {
   $dateiname=basename($anhang);
   copy($anhang,$dir_att."/".$user_name."/".$dateiname);
  }

Die Variable $anhang enthält den Dateipfad, der aus einer File-Input-Box ausgelesen wird.

Wisst ihr, woran das liegen könnte, dass er auf dem Server und nicht auf dem Client-Rechner sucht?

Danke und Gruß!

Alex

  1. hi alex,

    kann es sein das auf dem server ftp-upload deaktiviert ist?!

    tschau

    1. Hi backbone,

      kann es sein das auf dem server ftp-upload deaktiviert ist?!

      File-Uploads sind in der php.ini aktiviert.

      1. Hallo!

        kann es sein das auf dem server ftp-upload deaktiviert ist?!

        Das ganze hat nicht mit FTP zu tun, es handelt sich um HTTP.

        Dies liegt daran, dass die Datei nicht auf dem Client-Rechner, sondern im Verzeichnisbaum des Servers gesucht wird - dort findet er sie natürlich nicht.

        Das ist logisch. Du kannst nicht mit copy Dateien eines Client-Rechners direkt kopieren.

        if($anhang)
          {
           $dateiname=basename($anhang);
           copy($anhang,$dir_att."/".$user_name."/".$dateiname);
          }

        Die Variable $anhang enthält den Dateipfad, der aus einer File-Input-Box ausgelesen wird.

        Was bringt Dir der Pfad? Du mußt mit dem HTML-Formular dei Datei hochladen, diese wird dann vom Apachen temporär gespeichert und PHP steht der Pfad zur Temporären Datei zur Verfügung. Von dort kannst Du nach Prüfung der Datei diese woanders hinkopieren und umbenennen.

        Wisst ihr, woran das liegen könnte, dass er auf dem Server und nicht auf dem Client-Rechner sucht?

        Du gesht das ganez falsch an. Lies Dir am besten mal die folgenden Seiten durch, und versuche es nach diesem Schema:

        http://php3.de/manual/de/features.file-upload.php
        http://php-faq.de/q/q-formular-upload-php4.html

        Viele Grüße
        Andreas