upload bild
pete
- php
Hi, ich möchte gerne ein Bild uploaden.
folgender aufbau: die seite index.php included das formular, welches logischweise an index.php sendet, da es ja dort includet ist.
folgendes script:
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
copy("$tempname", "$name");
echo "Die Datei $name wurde erfolgreich hochgeladen!";
Fehlermeldung kommt keine, allerdings ist das Bild nirgends...
habt ihr irgendwelche vorschläge?
Hi pete,
folgender aufbau: die seite index.php included das formular, welches logischweise an index.php sendet, da es ja dort includet ist.
Diese Schlussfolgerung ist so geschrieben sinnlos, denn die Verarbeitung der Formulardaten kann ja auch in einem ganz anderen Script erfolgen.
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
copy("$tempname", "$name");
echo "Die Datei $name wurde erfolgreich hochgeladen!";Fehlermeldung kommt keine, allerdings ist das Bild nirgends...
habt ihr irgendwelche vorschläge?
Erstens: Hast du error_reporting auch auf E_ALL gesetzt?
Hast du im Form-Tag für enctype auch multipart/form-data angegeben?
Um den hochgeladenen File zu verschieben, empfiehlt sich die Fuktion move_uploaded_file().
Und noch etwas: Ist ist _sehr_ schlechter Stil, "$variable" zu schreiben - da brauchst du doch gar keine Anführungszeichen.
MfG, Dennis.
Diese Schlussfolgerung ist so geschrieben sinnlos, denn die Verarbeitung der Formulardaten kann ja auch in einem ganz anderen Script erfolgen.
naja ich weiss ja nicht was für infos ihr brahct
verarbeitet wird das form von der gleichen seite wie das form selbst
Erstens: Hast du error_reporting auch auf E_ALL gesetzt?
Natürlich
Hast du im Form-Tag für enctype auch multipart/form-data angegeben?
Natürlich
das gesamte form:
echo " <form enctype="multipart/form-data" name="anzeige" action="" . $_SERVER['PHP_SELF'] . "?register=" . $enum->NEW_OFFERT . "&action=" . $enum->INSERT_PICTURE . "" method="post">";
echo " <table cellpadding="0" cellspacing="0">";
echo " <tr>";
echo " <td width="23"> </td>";
echo " <td align="right" class="newstext">Rubrik: </td>";
echo " <td align="left" class="newstext">";
echo " <select name="rubrik" class="gender">";
//Fülle Rubrik-Selectbox ab
$rubrik = mysql_query("SELECT ID, Rubrik FROM tblRubrik;")
or die($enum->ERROR_SELECT);
$anzrubrik = mysql_num_rows($rubrik);
for($x = 0; $x < $anzrubrik; $x++)
{
mysql_data_seek($rubrik, $x);
$temp = mysql_fetch_array($rubrik);
echo "<option value="" . $temp[0] . "">" . $temp[1] . "</option>";
}
echo " </select></td>";
echo " <td align="right" class="newstext"> </td>";
echo " <td align="left" class="newstext"> </td>";
echo " </tr>";
echo " <tr>";
echo " <td width="23"> </td>";
echo " <td align="right" class="newstext">Interesse: </td>";
echo " <td align="left" class="newstext">";
echo " <select name="interesse" class="gender">";
//Fülle Interesse-Selectbox ab
$kategorie = mysql_query("SELECT ID, Kategorie FROM tblKategorie WHERE NewsKategorie = 0;")
or die($enum->ERROR_SELECT);
$anzkat = mysql_num_rows($kategorie);
for($x = 0; $x < $anzkat; $x++)
{
mysql_data_seek($kategorie, $x);
$temp = mysql_fetch_array($kategorie);
echo "<option value="" . $temp[0] . "">" . $temp[1] . "</option>";
}
echo " </select></td>";
echo " <td align="right" class="newstext"> </td>";
echo " <td align="left" class="newstext"> </td>";
echo " </tr>";
echo " <tr>";
echo " <td width="23"> </td>";
echo " <td align="right" class="newstext">Titel: </td>";
echo " <td align="left" class="newstext"><input type="text" class="user" name="titel"></td>";
echo " <td align="right" class="newstext"> </td>";
echo " <td align="left" class="newstext"> </td>";
echo " </tr>";
echo " <tr>";
echo " <td width="23"> </td>";
echo " <td valign="top" align="right" class="newstext">Anzeige: </td>";
echo " <td colspan="3" align="left" class="newstext">";
echo " <textarea name="anzeigetext" rows="10" cols="45" class="editor"></textarea>";
echo " </td>";
echo " </tr>";
echo " <tr>";
echo " <td width="23"> </td>";
echo " <td align="right" class="newstext">Bild: </td>";
echo " <td align="left" class="newstext"><input type="file" class="pic" name="datei"></td>";
echo " <td align="right" class="newstext"> </td>";
echo " <td align="left" class="newstext"> </td>";
echo " </tr>";
echo " <tr>";
echo " <td width="23"> </td>";
echo " <td align="right" class="newstext"> </td>";
echo " <td colspan="3" width="385" align="right" class="newstext"> ";
echo " <table align="right" width="140" cellpadding="0" cellspacing="0">";
echo " <tr>";
echo " <td width="70" align="center" class="on" onclick="anzeige.reset();">reset</td>";
echo " <td width="70" align="center" class="on" onclick="sendAnzeige();">senden</td>";
echo " </tr>";
echo " </table>";
echo " </td>";
echo " </tr>";
echo " </table>";
echo " </td>";
echo " </tr>";
echo " <tr>";
echo " <td class="unten" width="600" height="40" align="center" valign="middle"> </td>";
echo " </tr>";
echo "</table>";
echo "</form>";
Hi pete,
echo "<td width=\"70\" align=\"center\" class=\"on\" onclick=\"sendAnzeige();\">senden</td>";
Hast du bereits sichergestellt, dass diese Funktion sendAnzeige() auch das macht was sie soll?
Ich würde probeweise mal einen <input type="submit"> dort einbauen...
Welche sonstigen Debuggings-Versuche hast sdu schon unternommen?
Hast du schon mal ein
~~~php
echo "<pre>";
print_r($_FILES);
echo "</pre>";
ausprobiert? Gleiches für $\_POST?
MfG, Dennis.
--
Mein SelfCode: [ie:{ fl:( br:> va:) ls:\[ fo:) rl:( n4:# ss:) de:\] js:| ch:{ sh:| mo:} zu:|](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%7B+fl%3A%28+br%3A%3E+va%3A%29+ls%3A%5B+fo%3A%29+rl%3A%28+n4%3A%23+ss%3A%29+de%3A%5D+js%3A%7C+ch%3A%7B+sh%3A%7C+mo%3A%7D+zu%3A%7C)
That's life - Es gibt im Leben[tm] keine Zurück-Taste. ([Fabian Transchel](http://forum.de.selfhtml.org/archiv/2004/11/t94960/#m575374))
Hast du bereits sichergestellt, dass diese Funktion sendAnzeige() auch das macht was sie soll?
die macht nix anderes als anzeige.submit(); und prüft auf eingabe aller felder
~~~php
echo "<pre>";
print_r($_FILES);
echo "</pre>";
Array
(
[datei] => Array
(
[name] => 8297.jpg
[type] => image/pjpeg
[tmp\_name] => c:\DOCUME~1\jnyfeler\LOCALS~1\Temp\php4.tmp
[error] => 0
[size] => 49981
)
)
wird zurückgegeben
Hi!
Array
(
[datei] => Array
(
[name] => 8297.jpg
[type] => image/pjpeg
[tmp_name] => c:\DOCUME~1\jnyfeler\LOCALS~1\Temp\php4.tmp
[error] => 0
[size] => 49981
))
wird zurückgegeben
Also war der Upload deiner Datei auch erfolgreich. Nun kannst du - wie Dennis dir bereits sagte - mit move_uploaded_file() die heraufgeladene Datei in dein gewünschtes Verzeichnis verschieben:
// Kopieren der heraufgeladenen Datei in das aktuelle Verzeichnis (./)
move_uploaded_file($_FILES['datei']['tmp_name'], './'.$_FILES['datei']['name']);
Grüße,
Fabian St.