Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi

Ich habe hier ein recht seltsames Problem:

Ich habe mir einen PHP-Dateiupload geschrieben. Lokal mit meinem Apache läuft es ohne Probleme. Lasse ich nun gleiche Routine auf meinem Webserver von Purtec laufen kommt nach der Auswahl der Datei folgender Fehler:

Warning: Unable to open 'E:\\H-Anhaenger.jpg' for reading: No such file or directory in /homepages/3/d24358834/htdocs/usedDomains/Haengerzentrale.de/editPicture.php on line 20

Hierbei liegt bei mir auf E:\ das Bild H.Anhaenger.jpg

Warum kann er nicht darauf zugreifen ?

Hier der Code der HTML-Seite und der der PHP-Routine:


<form name="Bild_uploaden" method="post" action="editPicture.php">

<div align="center">

  <input type="hidden" name="haengerid" value="1">

  <table width="80%" border="0">

    <tr>

      <td width="31%">Bild auswählen</td>

      <td width="69%">

        <input type="file" name="imgfile">

        </font>

      </td>

    </tr>

  </table>

  <p>

    <input type="submit" name="upload" value="Upload">

  </p>

</div>

</form>

PHP

if (($REQUEST_METHOD == "POST") AND ($upload == "Upload")) {


    // Bild hochladen

    $uploaddir = "images/haenger/";

    if (!file_exists($uploaddir)) {

        mkdir($uploaddir, 0755);

    }

   $newFile = $uploaddir . $haengerid . substr($imgfile, -4);

   if (!copy($imgfile, "$newFile")) {

	echo "Pic not Uploaded";		

   } else echo "Pic uploaded";

    unlink ($imgfile);

} 

Was stimmt hier nicht ?

Geschrieben

Hi

Das Problem liegt wahrscheinlich daran... das du die Datei nicht an den Server schickst sondern du nur den Pfad der Datei angibst... und der Server hat vielleicht keine Berechtigung auf diesen Pfad zuzugreifen....

Cyrill

Geschrieben

Hi

Wie zur Hölle schicke ich die Datei ? ? ?

Ich habe sowas schon mal gebaut und da funzte es - ob es nun genau so war weiss ich allerdings ned

HILFE - meine Seite ist zur Zeit mit diesem Fehler ! ! !

Gruß Erbeere

Geschrieben

Hi Erdbeere,

schau mal hier (http://www.php.net/download-docs.php ) habe ich ein ganz gutes Tutorial (bzw. Hilfe) Kannst Du Dir runterladen ist auch auf Deutsch. Ich habe hier die Hilfe-Datei mir runtergeladen. Wenn DU da ml im Reiter "Suchen" upload einträgst bekommst Du einige gute Infos. Ich denke, das wird Dir sicherlich schon weiterhelfen.

Ich dachte, bevor ich Dir alles hier reinschreib sag ich dir die URL wo du das runterladen kannst.

Gruß Snopsy

Geschrieben

analog zum vorherigen posting.

<form name="Bild_uploaden" method="post" action="editPicture.php">

ÄNDERN ZU

<form name="Bild_uploaden" method="post" action="editPicture.php" enctype="multipart/form-data">

Der Browser legt dadurch eine lokale Kopie der Datei an, sendet diese und löscht sie wieder.

Zu Hause verwendest du das Orginal. Kann es sein das die Datei anschließend verschwunden ist?

$imgfile verdeutlicht den Unterschied.

  • 2 Wochen später...
Geschrieben

Hilfe, ich versuch das auch gerade, aber ich bin wohl zu blöd

Das ist mein Formular:


form name="form1" enctype="multipart/form-data" method=POST action="upload.php">


   Beschreibung: <br>

   <input type="text" name="Desc"><br>


   Version: <br>

   <input type="text" name="Version"><br>


  Datei:<br>

   <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="10000000">


   <input type="file" name="upload"><br>


   <input type="submit" value="Upload"><br>

</form>

Unter PHP versuche ich dann die Dateinamen auszulesen, um anschließend per copy die Datei in das richtige Verzeichnis zu packen:


echo $HTTP_POST_FILES['upload']['name']."<br>";
echo $HTTP_POST_FILES['upload']['type']."<br>";
echo $HTTP_POST_FILES['upload']['size']."<br>";
echo $HTTP_POST_FILES['upload']['tmp_name']."<br>";
[/PHP]

Leider bekomme ich da keine Werte geliefert! Auch $upload_name liefert nüscht. Nur $upload ist mit "c:\\xyxz.erw" belegt.

Wo ist mein Denkfehler, ich dreh hier gleich durch.... :confused::eek::confused:

Ach ja, der ganze Krams leigt auf nem Strato Server :(

Pta

  • 2 Jahre später...
Geschrieben

So mal en Standartscript für alle: upload.php


<html>
<head>
<title>Datei-Upload by Akira</title>
</head>
<body text="#000000" bgcolor="#FFFFFF">

<!-- Formulardaten zur Auswahl der Datei und des sendens an den php-script Teil -->
<!-- upload Teil -->
<form action="upload.php"
method="post" enctype="multipart/form-data">
<p align="center"><input type="hidden" name="MAX_FILE_SIZE" value="9000000000">
<input type="file" name="dateiname"><br><br>
<input type="submit" value="Hochladen"></p>
</form>
<hr color="#800000">
<?php
/* !!!!!!!!!!!!!!!!!!!!!!Upload!!!!!!!!!!!!!!!!!!!!!!!!!! */
/* Deklaration der übergebenen Variablen */

@$dateiname = $_FILES[dateiname][name];
@$tmp_name = $_FILES[dateiname][tmp_name];

/* Abfrage ob die Eingabe leer ist*/

if (@$tmp_name == true) {

/* Abfrage der Variablen auf Größe usw. */

if (!isset($dateiname)) {exit;}
if(!is_uploaded_file($tmp_name)) {
echo 'Fehler!<br><ul>';
switch ($_FILES[dateiname][error]) {
case 1: echo "<li>Die Datei überschreitet die maximale Größe von 2 Megabytes."; break;
case 2: echo "<li>Die Datei überschreitet die maximale Größe von $_POST[MAX_FILE_SIZE] Bytes."; break;
case 3: echo "<li>Die Datei wurde nur teilweise übertragen."; break;
case 4: echo "<li>Sie haben vergessen, die zu überspielende Datei anzugeben."; break;
}
exit;
}

/* Angabe des Root Verzeichnisses auf dem Server */

$uploadname ="./Project/daten/pics/$dateiname";

/* Beginn des Dateiuploades und Ausgabe der Daten nochmal zum vergleich */

move_uploaded_file($tmp_name, $uploadname);
printf("<p align=center>Die Datei <b>%s</b> befindet sich auf dem Webserver im Ordner <b>%s</b>!<br>\n", @$_FILES[dateiname][name], @$uploadname);
printf("Sie ist <b>%s Bytes</b> groß und vom Typ <b>%s</b>.<br>\n", @$_FILES[dateiname][size], @$_FILES[dateiname][type]);

/* Ausgabe der Daten im Verzeichnis nochmal zum vergleich */

$uverz="../pics";
echo "<h2 align=center>Bisher hochgeladene Dateien</h2>";
$i=1;
$verzeichnis=opendir($uverz);

echo "<p align=center >";
while ($file = readdir($verzeichnis))
{
if(is_file($uverz."/".$file))
{
echo "$uverz/$file<br>\n";
$file=urlencode($file);
$i++;
}
}
closedir($verzeichnis);


}

/* Ausgabe der Abfrage wenn keine Datei ausgewählt wurde */

else
{
echo "<b><div align=center>!!! Keine Datei ausgewählt !!!</div></b>";
}



?>

</body>
</html>[/PHP]

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...