Slash und PHP?

Arndtinho

Erfahrenes Mitglied
Guten Morgen,

ich habe ein Problem und weis nicht weiter. Es geht um Dateiupload mit normalem <input type=file>. Also, wenn ich folgendes schreibe:

form action="test_2.php" method="post\ enctype="multipart/form-data">

(reines HTML) funktioniert alles wie es soll. Das muss aber in ein Script und sollte ja dann so aussehen:

echo "<form action=\"test_2.php\" method=\"post\" enctype=\"multipart/form-data\">";

Aber nun funktioniert es plötzlich nicht mehr. Ich nehme an, es liegt am Slash in der "enctype"-Angabe. Wie muss es richtig aussehen?

Gruß Arndtinho
 
Guten Morgen...

PHP:
echo "<form action=\"test_2.php\" method=\"post\" enctype=\"multipart/form-data\">";

Daran kann es nicht liegen, wenn du dir nach dem Parsen im Browser den Quelltext anguckst, ist in dieser Zeile zumindest alles ok.

Vieleicht hilft es ja, wenn du nocheinmal die anderen Teile deines Codes postest.
 
Re:

Hi,

jetzt funktioniert gar nichts mehr. :mad:
Hier ist der Code:

HTML:

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form action="test_2.php" method="post" enctype="multipart/form-data" name="form1">
<p>
<input name="filename" type="text" id="file_name">
</p>
<p>
<input type="file" name="file">
</p>
<p>
<input type="submit" name="Submit" value="Submit">
</p>
</form>
</body>
</html>

PHP:

<?php
$path = "c:/test/";

if (!copy($file, $path.$file_name)) {
echo "Hier steht dieser Text, falls etwas nicht geklappt hat.";
}
else {
echo "Die Datei $file_name wurde erfolgreich hochgeladen.";
}
?>

Und als Fehlermeldung erhalte ich dies:

Notice: Undefined variable: file
Notice: Undefined variable: file_name

Gruß Arndtinho
 
Hm,
also ich benutze für meine Formulare folgendes:

Code:
enctype="multipart/form-data"

Weiss jetzt grade nicht so 100% was dabei der Unterschied ist, aber müsstest du ganz schnell finden, wenn du danach auf http://www.g00gl3.de oder in der SelfHTML suchst.
 
Notice: Undefined variable: file
Notice: Undefined variable: file_name
Holy moly. Natürlich nicht. Schonmal was von superglobalen Array gehört ?

$file_name ist $_POST['file_name']

Alle Informationen zur Datei wie tmp_name name size usw sind in $_FILES['file']
Dort steht file, weil dein input vom type file auch file heisst. Ich würde es der Übersichtlichkeit halber lieber userfile oder so nennen.
 
völlig verwirrt

i,

nun bin ich völlig verwirtt.
Ich habe jetzt das <input type="file" name="file"> in <input type="file" name="userfile"> umbenannt. Aber geändert hat sich an den Fehlermeldungen nichts.

Notice: Undefined variable: file
Notice: Undefined variable: file_name


Gruß Arndtinho
 
PHP:
<?php
$path = "c:/test/";

if (!copy($file, $path.$file_name)) {
echo "Hier steht dieser Text, falls etwas nicht geklappt hat.";
}
else {
echo "Die Datei $file_name wurde erfolgreich hochgeladen.";
}
?>
muss heissen
PHP:
<?php
$path = "c:/test/";

if (!copy($_FILES['userfile']['tmp_name'], $path.$_POST['file_name'])) {
echo "Hier steht dieser Text, falls etwas nicht geklappt hat.";
}
else {
echo "Die Datei $file_name wurde erfolgreich hochgeladen.";
}
?>
Bitte beschäftige dich etwas mit den superglobalen Arrays sowie der Eigenart register_globals = off seit PHP 4.2.0.
 
immer noch nicht

Also langsam verzweifel ich an mir und an dem Script.

<form action="test_2.php" method="post" enctype="multipart/form-data" name="form1">
<input name="filename" type="text" id="file_name">
<input type="file" name="userfile">
<input type="submit" name="Submit" value="Submit">
</form>

<?php
$path = "C:/Test/";

if (!copy($_FILES['userfile']['tmp_name'], $path.$_POST['file_name'])) {
echo "Hier steht dieser Text, falls etwas nicht geklappt hat.";
}
else {
echo "Die Datei $file_name wurde erfolgreich hochgeladen.";
}
?>

Fehler: "Notice: Undefined index: file_name"

Gruß Arndtinho
 
Sorry langsam wird mir das zu blöde hier.
Dann überleg doch mal was die Fehlermeldung heissen könnte ?
Ist klar, das mein Code nicht läuft, in dem ich alle Feldnamen von dir übernommen habe, wenn du file_name in filename änderst oder ?
Und jetzt rate mal wo du in der !copy() Zeile was ändern musst ?

Bitte Basics in Bezug auf Formularauswertung und Upload lernen ! :mad:
 
Zurück