Fehler beim Upload
olli
- php
0 Alexander Brock0 olli0 Julian Hofmann0 olli
Hallo,
ich versuch über ein Formular eine Datei hoch zu laden. Bei den meisten funktioniert das auch ganz gut. Bei einigen bekomme ich jedoch ein Fenster mit der Meldung ' Das Dokument enthält keine Daten. ' Hatte jemand schon mal ein gleiches Problem??
Ich werde daraus nicht schlau.
Gruss
Oliver
PS. Ab Donnerstag soll der Regen wärmer werden. :-(
Hallo,
ich versuch über ein Formular eine Datei hoch zu laden. Bei den meisten funktioniert das auch ganz gut. Bei einigen bekomme ich jedoch ein Fenster mit der Meldung ' Das Dokument enthält keine Daten. '
Wär schön, wenn du uns deinen Quelltext zeigen könntest,
sonst müssen wir wohl oder übel raten.
Hatte jemand schon mal ein gleiches Problem??
Ja ich:
<?php
header('Content-Type: application/xhtml+xml');
ob_start('ob_gzhandler');
$ordner=$_POST['ordner'];
$file=$_POST['file'];
if(!empty($ordner)) {
$verboten=array(".","\","/"," ");
for($x=0;$x<3;$x++) {
$ordner=str_replace($verboten[$x],"",$ordner);
}
}
echo '<?xml version="1.0" encoding="UTF-8"?>';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Upload auf Alexanders Server</title>
<link href="./upload.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?php
echo "$ordner<br />";
echo $file_name;
if(!empty($file_name)) {
if(!empty($ordner)) {
if(chdir($ordner) != true) {
if(mkdir($ordner,644)) {
if(copy($file,"$ordner/$file_name")) {
echo '<b>Upload beendet!</b><br />
Noch 'ne Datei?';
}
}
if(chdir($ordner) == true) {
if(copy($file,"$file_name")) {
echo '<b>Upload beendet!</b><br />
Noch 'ne Datei?';
}
}
}
}
else {
if(copy($file,"tmp/$file_name")) {
echo '<b>Upload beendet!</b><br />
Noch 'ne Datei?';
}
}
}
?>
<form name="form1" enctype="multipart/form-data" method="post" action="upload.php">
<input type="file" name="file" />
<br />Die Datei, die Du hochladen willst.
<br />
<input type="text" name="ordner" maxlength="20" />
<br />Der Ordner
<br />
<input type="submit" name="Abschicken" value="Upload beginnen" />
</form>
</body>
</html>
Funktioniert nicht die Bohne und ich hab keine Ahnung, warum.
Gruß
Alexander Brock
Hallo,
Wär schön, wenn du uns deinen Quelltext zeigen könntest,
sonst müssen wir wohl oder übel raten.
du hast ja recht. Ich dachte nur....
Hier isser
// Datei hochladen Anfang
if ($file != '')
{
$Ordner1 = "../Hyperlink";
$Ordner2 = "$Ordner1/$IST";
$Ordner3 = "$Ordner2/$Nr";
$tempname = $_FILES['file']['tmp_name'];
$Dateiname = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
$last= substr($Dateiname,-4); // Die letzten vier Zeichen einer Variable
If ($last == ".exe" or $last == ".bat" or $last == ".cmd" or $last == ".msi" or $last == ".scr" or $last == ".pif")
{
//echo "$last";
$err[] = "Es dürfen keine ausführbaren Dateien hochgeladen werden! Ihre Datei ist eine $last Datei.";
}
if($size > "150000")
{
$err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 15 MB!";
}
if (file_exists($Ordner2)==False)
{
mkdir($Ordner2);
}
if (file_exists($Ordner3)==False)
{
mkdir($Ordner3);
}
if(empty($err))
{
copy("$tempname", "$Ordner3/$Dateiname");
}
else
{
foreach($err as $error)
echo "$error<br>";
}
}
Funzt ja fasst perfekt, aber eben nur fast
Gruss
Olli
Hallo.
Kann es sein, dass Du aus einem alten tutorial Code abgetippt hast, weitgehend aktualisiert hast ($_FILE[]), aber eien Kleinigkeit übersehen hast:
if ($file != '')
Was ist denn $file? Bzw. woher kommt das? Zufällig aus dem Formular?
Grüße aus Würzburg
Julian
Hallo,
if ($file != '')
Was ist denn $file? Bzw. woher kommt das? Zufällig aus dem Formular?
Ja, das kommt aus einem Formular.
Ist ja wahrscheinlich auch nicht schlimm. Aber bei einigen Dateien kommt halt die Meldung.
Gruss
Olli
»