Hi,
weiss jemand was ich noch machen kann?
Also ich hab einen Upload Script. Dieser enthält keine Fehler. Jedoch hab ich trotzdem ein Problem. Unzwar funktioniert es nur manchmal.
D.h. ich lad jetzt ein Bild hoch, es funktioniert. Mach ich es dann nach 5 min, das gleiche Bild, funktioniert es nicht. (Bildname wird automatisch kodiert) Nach einer Weile (1-3 Tage) funktioniert es wieder und dann auf einaml wieder nicht. Ich habe festgestellt dass das script bei den erfolglosen Versuchen kein Variabeln übergibt. Kann mir jemand bitte helfen?
MfG und Dank im voraus
nevermind
04-05-2006, 20:40
Ich denke ohne dein Script kann dir hier nicht viel geholfen werden ;)
ok hier ist das script
<?php
if($_REQUEST['Send'])
{
if($_FILES['Datei']['tmp_name'])
{
echo"Ihre Datei ("",
$_FILES['Datei']['name'],
"") ist ",
$_FILES['Datei']['size'],
" Bytes groß.";
move_uploaded_file($_FILES['Datei']['tmp_name'], "upload/".$_FILES['Datei']['name']);
}
else
{
echo"Bitte geben Sie eine Datei an!";
}
}
else
{
?>
...Formular...
<? } ?>
Man der zeigt das script nicht richtig an. aber da kann man es sehen:
http://www.webmaster-resource.de/tricks/php/dateien-mit-php-hochladen.php
Ist das gleiche.
boris-schneider
04-05-2006, 22:06
Das Script ist an vielen ecken und enden noch arg verbesserungsbedürftig *g*, zb. wäre dies hier eine bessere abfrage: if(isset($_POST['send']))
Auch musst du wissen das move_uploaded_file (http://us2.php.net/move_uploaded_file) eine bereits existierende, und gleiche, Zieldatei ohne murren überschreibt :D
Es ist auch sehr unwarscheinlich das das Script nur manchmal funktioniert, entweder es funktioniert oder es funktioniert nicht :)
Ich habe das Script von dir mal übernommen und getestet und es funzt einwandfrei, auch wenn ich den Code grauenhaft finde :teach:
<?php
if ($_REQUEST['Send']) {
if ($_FILES['Datei']['tmp_name']) {
echo "Ihre Datei ".$_FILES['Datei']['name']." ist ".$_FILES['Datei']['size']." Bytes groß.";
move_uploaded_file($_FILES['Datei']['tmp_name'], "./" . $_FILES['Datei']['name']);
} else {
echo"Bitte geben Sie eine Datei an!";
}
} else {
?>
<html>
<head>
<title>Datei-Upload</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" enctype="multipart/form-data" method="post">
<input name="Datei" type="file"><br>
<input name="Send" type="submit" value="Upload">
</form>
</body>
</html>
<?php
}
?>
Hi,
Warum ist denn $_POST besser als $_REQUEST?
Gruß Thomas
boris-schneider
04-05-2006, 22:18
@Alrik
Besser nicht direkt, aber kompatibel und lauffähig auf jeder Installierten PHP Version.
$_REQUEST und $_POST wurden beide mit PHP 4.1 eingeführt. Die Kompatibiltät ist also gleich. Daraus folgt auch gleichzeitig, dass beide NICHT kompatibel mit JEDER Version sind genauer gesagt sind sie nicht abwärtkompatibel ab 4.1.
boris-schneider
04-05-2006, 22:27
@Alrik
Trotzalledem zeigt meine erfahrung, das man $_POST bei POST übergaben und $_GET bei GET übergaben nutzen sollte, da es mit $_REQUEST einfach zu viele Scherereien gibt ;)
Das einzige Problem was mir einfallen würde, wäre, dass man im get und im post den gleichen Schlüssel belegt.
Wäre mal interessant auszuprobieren.
Nö. hilft alles nicht. trotzdem danke. kann es vllt an meinem netzwerk zu hause liegen. was kann ich denn sonst machen wenn es bei mir nicht geht?