Colti Breuer: Problem mit Fileupload

Guten Morgen,

ich habe ein Problem beim Fileupload. Es erscheint nämlich beim Versuch dazu die Fehlermeldung "Warning: Unable to open './phpZmxLG5' for reading: No such file or directory". Und hier das Programm:

<?
if ($thefile=='')
{
  ?>
  <form action="http://www.seemannskneipe.de/upload.php" method="post" enctype="multipart/form-data">
  <input type="file" name="thefile"><input type="submit" name="Submit" value="Hochladen">
  </form>
  <?
}
else
{
  if (($thefile_type == "image/gif" ) || ($thefile_type == "image/pjpeg") || ($thefile_type == "image/jpeg" ))
  {
    if ($thefile_size < (200 * 200))
    {
      $PfadName = dirname ($PATH_TRANSLATED); $NeuerName = $PfadName."/memberpics/".$thefile_name;
      copy ($thefile, $NeuerName );
    }
  }
}
?>

Ich hoffe, ihr könnt mir weiterhelfen.

Ciao!

  1. ich habe ein Problem beim Fileupload. Es erscheint nämlich beim Versuch dazu die Fehlermeldung "Warning: Unable to open './phpZmxLG5' for reading: No such file or directory". Und hier das Programm:

    copy ($thefile, $NeuerName );

    Schonmal geprüft, was in $thefile steht und ob die Datei tatsächlich exakt an dieser Position gelandet ist und nicht vielleicht doch unter /tmp oder ähnlichem?

    Sofern möglich solltest Du auch statt copy() move_uploaded_file() benutzen, dafür ist die Funktion da.

    Gruß,
      soenk.e

    1. Schonmal geprüft, was in $thefile steht und ob die Datei tatsächlich exakt an dieser Position gelandet ist und nicht vielleicht doch unter /tmp oder ähnlichem?

      In $thefile steht dann ./phpZmxLG5 oder ähnliches...

      Sofern möglich solltest Du auch statt copy() move_uploaded_file() benutzen, dafür ist die Funktion da.

      Geht nicht, denn: "Warning: move_uploaded_file() has been disabled for security reasons..."

      1. Schonmal geprüft, was in $thefile steht und ob die Datei tatsächlich exakt an dieser Position gelandet ist und nicht vielleicht doch unter /tmp oder ähnlichem?

        In $thefile steht dann ./phpZmxLG5 oder ähnliches...

        Dann muß also die Datei in dem Verzeichnis sein, in dem Du dein Skript hast, ansonsten funktioniert copy() natürlich nicht. Wurde die Datei dort nicht abgelegt, mußt Du im temporären Verzeichnis nachschauen und $thefile entsprechend anpassen (siehe PHP-Anleitung zu dem Thema).

        Sofern möglich solltest Du auch statt copy() move_uploaded_file() benutzen, dafür ist die Funktion da.

        Geht nicht, denn: "Warning: move_uploaded_file() has been disabled for security reasons..."

        Oha, dann könntest Du Probleme bekommen; wenn diese Funktion gesperrt ist, könnte auch der Zugriff auf das temporäre Verzeichnis bzw. auf alles, was sich außerhalb Deines Web-Verzeichnisbaums befindet, gesperrt sein.

        Gruß,
          soenk.e