Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Dateiupload...Dateiname wir nicht übergeben [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Dateiupload...Dateiname wir nicht übergeben


 
muhi
04-05-2006, 20:24 
 
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 ;)

 
muhi
04-05-2006, 20:43 
 
ok hier ist das script


<?php
if($_REQUEST['Send'])
{
if($_FILES['Datei']['tmp_name'])
{
echo"Ihre Datei (&quot;",
$_FILES['Datei']['name'],
"&quot;) 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...
<? } ?>

 
muhi
04-05-2006, 20:48 
 
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
}
?>

 
Alrik
04-05-2006, 22:10 
 
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.

 
Alrik
04-05-2006, 22:25 
 
$_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 ;)

 
Alrik
04-05-2006, 22:31 
 
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.

 
muhi
04-05-2006, 22:57 
 
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?


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:50 Uhr.