PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bekomme keine $_FILES Globals



Vagabundo
30-10-2010, 15:27
Hallo,

ich habe PHP-Version: 4.3.2 auf einem Linux Rechner. Fuer den Webseiten-Aufruf nutze ich Firefox 3.6.12

Auf einer Webseite moechte ich Dateien hochladen. Bekomme aber auf xxx.php keine $_FILES zur Verfuegung gestellt.



<form action="https://meinedomain.com/xxx.php" type="post" enctype="multipart/form-data">
<input type="file" name="docum[]"><br>
<input type="file" name="docum[]"><br>
<input type="file" name="docum[]"><br>
</form>


in php.net finde ich dazu:
Die Autoglobale $_FILES existiert seit PHP 4.1.0 und das Array $HTTP_POST_FILES seit PHP 4.0.0.

Aber beide kommen bei dem aufgerufenen Programm nicht an.


count($_FILES); bringt 0
count($_FILES['docum']); bringt 0
count($_FILES['docum'][name]); bringt 0
count($HTTP_POST_FILES); bringt 0

Nur wenn ich


<input type="file" name="docum1"><br>
<input type="file" name="docum2"><br>
<input type="file" name="docum3"><br>

nutze, bekomme ich den Namen der Datei unter der Variable:
$docum1
Aber auch nicht wie auf einigen Seiten beschrieben die Variable:
$docum1_name

Habe das ganze auch mit register_globals ON und OFF probiert. Aber es gibt keinen Unterschied.

Ich weiss nun wirklich nicht weiter. Wer hat Tips fuer mich?

Chris

undefined
30-10-2010, 17:31
Debugge mal richtig ;)
Kann sein das das Board ein Paar Quotes entfernt !


<?php

function doQuery()
{
$ret = null;
// $ret = file_get_contents( "php://input" );
ob_start();
var_dump( $_REQUEST );
$ret = ob_get_contents();
ob_end_clean();

$ret = preg_replace ( '/^array/i', 'Size', $ret );
$ret = preg_replace ( '/[\'\"\$]+/', '', $ret );
$ret = stripslashes ( $ret );
return htmlentities ( $ret, ENT_QUOTES, "UTF-8" );
}

if (!headers_sent())
{
header( "Content-Type: text/xml; charset: utf-8;" );
echo utf8_encode( "<pre>" . doQuery() . "</pre>" );
}

?>

Vagabundo
30-10-2010, 19:41
Hallo und danke fuer Dein Debug Script.

Aber das Ergebnis ist auch nicht anders. Hier der relevante Teilwenn ich es mit dem Array mache:


[docum]=> array(5) {
[0]=> string(20) ReadMe_14.tif
[1]=> string(0)
[2]=> string(0)
[3]=> string(0)
[4]=> string(0) }


Keine $_FILES und damit auch keine Werte fuer name, type....
Vagbundo

Vagabundo
30-10-2010, 19:47
Alle anderen Variablen kommen uebrigends normal an ohne irgendwelche Probleme.

in der php.ini steht auch, dass der Fileupload erlaubt ist.

Noch jemand ne Idee?

Vagabundo