mark: Probleme mit Fileupload

Hallo,
Ich möchte ein Script schreiben, mit dem ich eine Textdatei uploaden kann, damit mann dieses dann über den Browser lesen kann. Beim upload des Files kommt aber immer eine Fehlermeldung:

Warning: Unable to open 'D:\struktur_intranet\struktur.doc' for reading: Datei oder Verzeichnis nicht gefunden in /var/www/htdocs/andi/scripts/aktionen/admin/aktionen_new_r.php on line 22

Hier zum besseren Verständnis die beiden files mit denen dieser upload durchgeführt werden soll.

aktionen_new.php

<FORM name="frmRegister" action="aktionen_new_r.php" method="post">
<TABLE width="500" cellspacing="1" cellpadding="3" border="0" bgcolor="#336699">

<tr>
<td bgcolor="#336699" align="center" colspan="2">
<font size="3" color="#ffffff"><b>Eintrag hinzufügen</b></font><br>
</td>
</tr>
<tr>
<TD bgcolor="#ffffff"> </TD>
<TD bgcolor="#ffffff"> </TD>
</TR>
<tr>
<TD bgcolor="#ffffff"><b>Beschreibung:</b></TD>
<TD bgcolor="#ffffff"><INPUT name="beschreibung" size="40" maxlength="40"></TD>
</TR>
<tr>
<TD bgcolor="#ffffff"><b>Datei:</b></TD>
<TD bgcolor="#ffffff"><INPUT type="file" name="datei"></TD>
</TR>

<tr>
<td bgcolor="#ffffff" align="center" colspan="2"><INPUT type="button" value="einfügen" ONCLICK="verify_page()"></TD>
</TR>
</TABLE>
</FORM>

aktionen_new_r.php

<?
include("config.php");
mysql_connect($db_host,$db_user,$db_pass) || die("Could not contact mySQL!");
mysql_select_db($db_db) || die("Connected mySQL, but database is unavailable!");

// in DATENBANK einfügen

$sqlInsert  = "INSERT INTO aktionen (beschreibung) VALUES ('$beschreibung')";
   $result = mysql_query($sqlInsert);
    $id=mysql_insert_id();
        if(!empty($datei) and $datei!="none")
        {
        $zieldatei=$id."_".$datei_name;
        copy($datei,"upload/".$zieldatei);
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^line 22

mysql_query("update aktionen set upload='$zieldatei' where id=$id");
        }
if (mysql_error())
{
echo mysql_error();
exit;
}

Das Verzeichnis upload liegt auf der selben Ebene wie die beiden Scripts und hat alle Rechte (rwxrwxrwx).

Ich komme einfach nicht auf den Fehler.
Vielleicht kann mir jemand auf die Sprünge helfen.

Danke
Mark

  1. Hi Mark,

    Warning: Unable to open 'D:\struktur_intranet\struktur.doc'

    das ist ein Windows-Pfadnamem, der offenbar irgendwo fest eingebrannt in einer Deiner Dateien steht.

    Datei oder Verzeichnis nicht gefunden in
    /var/www/htdocs/andi/scripts/aktionen/admin/aktionen_new_r.php

    Das ist ein UNIX-Pfadname auf dem Server.

    Wie soll auf diesem Server ein Zugriff auf Dein Windows-Laufwerk "D:" funktionieren?

    Hier zum besseren Verständnis die beiden files mit
    denen dieser upload durchgeführt werden soll.

    Das scheinen _nicht_ diejenigen Dateien zu sein, in denen der Fehler ist.

    include("config.php");

    Diesen Kandidaten hier dagegen beäuge ich ziemlich mißtrauisch - den hast Du nicht vorgezeigt, aber Du verwendest ihn. Das könnte der böse Bube sein.

    Es schadet übrigens nicht, sich Gedanken über eine Alternative zu <font> zu machen.

    Viele Grüße
          Michael

    P.S.: Gute Problemformulierung, gute Unterlagen, danke.
          Bloß das Topic "Datenbank" paßte nicht wirklich.

    1. Hallo Michael,
      Habe den Fehler gefunden.
      Im Form Tag war nicht definiert das es hier einen Fileupload gibt.

      <FORM name="frmRegister" action="aktionen_new_r.php" method="post"

      enctype="multipart/form-data">
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

      Danke für Deine Hilfe

      mark