PHP upload register_globals = Off
Pit
- php
Hallo:
Ich bekomme mit POST gar nichts übermittelt.
Und mit GET nur $_GET["file_upload"].
phpinfo(), http://selfaktuell.teamone.de/artikel/phpasp/php-uploadcheck/index.htm etc. haben mich leider auch nicht weitergebracht.
Pit
<html>
<head>
<title>
</title>
</head>
<?php
if(isset( $_GET["file_upload"]))
{
print "path: ".$_GET["file_upload"]."<br>";
print "name: ".$_GET["file_upload_name"]."<br>";
print "size: ".$_GET["file_upload_size"]." bytes<br>";
print "type: ".$_GET["file_upload_type"]."<p>";
if($_GET["file_upload_type"] == "image/gif")
{
$file_upload_directory = "upload";
copy ( $_GET["file_upload"], "$file_upload_directory/$file_upload_name");
print "<img src="".$file_upload_directory."/".$file_upload_name."">";
}
}
?>
<body>
<form enctype="multipart/form-data" action="<?php print $_SERVER["PHP_SELF"]; ?>" method="GET">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
<!-- 100000 Bytes entspricht 100KB. -->
<!--
php.ini
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =
; Maximum allowed size for uploaded files.
upload_max_filesize = 2M
-->
<input type="file" name="file_upload"><br>
<input type="submit" value="Datei hochladen">
</form>
</body>
</html>
Tach
<form enctype="multipart/form-data" action="<?php print $_SERVER["PHP_SELF"]; ?>" method="GET">
Ein Upload ist ein klassischer Fall für "POST" ;-)
Ciao,
Harry
Tach
<form enctype="multipart/form-data" action="<?php print $_SERVER["PHP_SELF"]; ?>" method="GET">
Ein Upload ist ein klassischer Fall für "POST" ;-)
Ciao,
Harry
Hab' ich am Anfang auch derinstehen gehabt,
das Script hat auch immer mit register_globals = On prima geklappt.
Aber jetzt hab' ich PHP upgedated und register_globals steht standardmäßig auf Off und nichts klappt.
method="POST" übermittelt nichts an $_POST["file_upload"].
method="GET"> übermittelt an $_GET["file_upload"],
aber in $_GET["file_upload_name"], $_GET["file_upload_size und $_GET["file_upload_type"] steht nichts.
O.K. ich könnte register_globals auf On stellen,
aber das muss doch irgenwie funktionieren,
oder ?
Pit
Moinsen
method="POST" übermittelt nichts an $_POST["file_upload"].
Vielleicht hilft Dir ja das hier weiter:
http://www.php.net/manual/en/features.file-upload.php
Evtl. darfst Du Dich auch über nen extra dicken und extra lustigen, dafür extra lang nicht behobenen PHP-Bug freuen:
http://bugs.php.net/bug.php?id=17958
Ciao,
Harry
Moin!
method="POST" übermittelt nichts an $_POST["file_upload"].
Vielleicht hilft Dir ja das hier weiter:
http://www.php.net/manual/en/features.file-upload.php
Evtl. darfst Du Dich auch über nen extra dicken und extra lustigen, dafür extra lang nicht behobenen PHP-Bug freuen:
http://bugs.php.net/bug.php?id=17958
Oder einfach mal in $_FILES nachgucken - da stehen die hochgeladenen Dateien nämlich alle drin - wie eine kurze Kontrollausgabe der von extern übergebenen Daten per
phpinfo(INFO_VARIABLES)
sofort gezeigt hätte.
Merke: Bei Formular- und Übergabeproblemen immer erst mit phpinfo() nachgucken, was PHP an Daten kriegt, und wie man auf sie zugreift!
- Sven Rautenberg
_FILES["file_upload"] Array
(
[name] => 03_upload.gif
[type] => image/gif
[tmp_name] => C:\WINNT\TEMP\php16.tmp
[error] => 0
[size] => 2123
)
Vielen Dank.
PIT
Moin
Ich hab da einen schönes Testscript dafür, daß ich einfach immer in die Seiten reinkopiere:
-----------------------------------------------------------
$x=Array("_GET", "_POST", "_FILE", "_SESSION", "_COOKIE");
echo "<pre>\n";
for($i=0, $j=count($x); $i<$j; $i++)
{ echo "$".$x[$i].":\n";
print_r($$x[$i]);
echo "\n\n"; }
echo "</pre>";
unset($x);
-----------------------------------------------------------
Ciao,
Harry
Auch Moin!
Ich hab da einen schönes Testscript dafür, daß ich einfach immer in die Seiten reinkopiere:
$x=Array("_GET", "_POST", "_FILE", "_SESSION", "_COOKIE");
echo "<pre>\n";
for($i=0, $j=count($x); $i<$j; $i++)
{ echo "$".$x[$i].":\n";
print_r($$x[$i]);
echo "\n\n"; }
echo "</pre>";
unset($x);
-----------------------------------------------------------
phpinfo(INFO_VARIABLES);
-----------------------------------------------------------
Sieh selbst: Meins ist kürzer und umfassender ($_SERVER und $_ENV werden auch noch ausgegeben ;) ).
- Sven Rautenberg