Page 1 of 1

PHP-Upload Problem

Posted: 2004-06-01 22:01
by giffi
Hi

nachdem ich von einem alten 1&1 Root L auf einen neuen V2 Root L umgestiegen bin hab ich folgendes Problem:


Mein Bilder-Uploadscript:

Code: Select all

$path_to_file = $ordner;
$up_files = $HTTP_POST_FILES['files']; 
#Dasselbe Problem besteht auch mit $_FILES
print_r($up_files);
foreach ($up_files['name'] as $key=>$name) {
echo "Bildname: ".$name."<br>Tmpname".$up_files['tmp_name'][$key]."<br>";

	if (move_uploaded_file($up_files['tmp_name'][$key], $updir . $name))
	{
	echo "Uploaded<br>";
     		$returnm=$returnm.$name." wurde erfolgreich hochgeladen<br>";

	}
else
	{
	echo "not Uploaded<br>";
    		$errorm=$errorm.$name." Upload nicht erfolgreich<br>";
	}

   }
Hier noch die HTML-Form:

Code: Select all

<form name='upload' action='new_gal.php?eintrag=done' METHOD="POST" enctype="multipart/form-data">
<input type='hidden' name='max_file_size' value='500'>
<input type="text" name="addid" value="" size="30" maxlength="30"></td>
 Bildanzahl:
<select onChange="pic();" name="bild_anz">
      <option selected value='<? echo $bild_anz ?>'><? echo $bild_anz ?></option>
      <option value='1'>1</option>
      <option value='10'>10</option>
      <option value='15'>15</option>
      <option value='20'>20</option>
<?
for ($i=1; $i<= $bild_anz; $i++)
{
echo $i; 
?>
<input name="<? echo "files[".$i."]"; ?>" type="file" size="60" maxlength="100">
<?
}
?>
Wenn ich jetzt ein Bild hochlade habe ich folgendes im Array $up_files

Code: Select all

 Array ( [name] => Array ( [1] => imag0055.jpg ) [type] => Array ( [1] => ) [tmp_name] => Array ( [1] => ) [error] => Array ( [1] => 2 ) [size] => Array ( [1] => 0 ) ) 
Also scheint er den "name" ja schon korrekt zu bekommen, aber warum "tmp_name"
usw. nicht?

Giffi

Re: PHP-Upload Problem

Posted: 2004-06-02 08:11
by arty
Hi,

gib uns mal die Ausgabe von:

Code: Select all

print "<pre";
print_r($_FILES);
print "</pre>"
bye
arty

Re: PHP-Upload Problem

Posted: 2004-06-02 11:55
by giffi
Hi,

Code: Select all



$ _ FILES:Array
(
    [files] => Array
        (
            [name] => Array
                (
                    [1] => imag0008.jpg
                )

            [type] => Array
                (
                    [1] => 
                )

            [tmp_name] => Array
                (
                    [1] => 
                )

            [error] => Array
                (
                    [1] => 2
                )

            [size] => Array
                (
                    [1] => 0
                )

        )

)

Giffi

Re: PHP-Upload Problem

Posted: 2004-06-02 12:50
by arty
error 2 -> http://www.php.net/manual/de/features.f ... errors.php
UPLOAD_ERR_FORM_SIZE

Wert: 2; Die hochgeladene Datei überschreitet die in dem HTML Formular mittels der Anweisung MAX_FILE_SIZE angegebene maximale Dateigröße.
Steht alles in der Doku.

bye
arty

Re: PHP-Upload Problem

Posted: 2004-06-02 13:15
by giffi
Jo THX habs mittlerweile auch selbst gefunden gehabt und werds mal aisprobieren


Giffi

Re: PHP-Upload Problem

Posted: 2004-06-04 11:39
by andreask2
Hi!

Du hast im Formular angegeben, dass Deine Dateien nur 500 Byte groß sein dürfen, das ist meist etwas klein. Bedenke auch, dass dies auf der anderen Seite kein wirksamer Schutz ist, denn wenn ich das Formular nehme, lokal dieses Feld rausnehme, kann ich auch größere Dateien hochladen.

Steht auch im Manual:
Die maximale Dateigröße MAX_FILE_SIZE ist für den Browser nur ein Hinweis und es ist leicht, diese Grenze zu umgehen. Also verlassen Sie sich nicht darauf, dass der Browser Ihrem Wunsch auch nachkommt! Wie auch immer, die PHP-Einstellungen für die maximale Dateigröße können nicht getäuscht werde
http://www.php.net/manual/de/features.file-upload.php

Daher sollte dieser Wert serverseitig geprüft werden, anhand von

Code: Select all

$_FILES['fieldname']['size']
Grüße
Andreas