[PHP] Uploadscript werkt niet meer

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • MarcoC
  • Registratie: September 2003
  • Laatst online: 13:20
PHP:
1
2
3
4
5
6
7
<?
while(list($nr,$bestand) = each($HTTP_POST_FILES["bestand"][tmp_name])) {
if(is_uploaded_file($bestand)) {
$bestand_name = $HTTP_POST_FILES["bestand"][name][$nr];
$bestand_size = $HTTP_POST_FILES["bestand"][size][$nr];
uploadfile("$bestand","$bestand_name");
?>

Dit uploadscript werkte voorheen altijd, maar nu niet meer. Hij geeft de volgende foutmelding:
Warning: Variable passed to each() is not an array or object in *censuur*/upload.php on line 1. Dat "each" is fout kennelijk. Maar ik snap niet wat er fout aan is, het heeft altijd gewoon gewerkt. Iemand een oplossing?

[ Voor 8% gewijzigd door MarcoC op 27-09-2004 17:59 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Misschien heb je een nieuwe versie van PHP:
$HTTP_POST_FILES > $_FILES.

En anders druk je de verwachte array even af, met print_r.

Acties:
  • 0 Henk 'm!

  • MarcoC
  • Registratie: September 2003
  • Laatst online: 13:20
$_FILES werkt ook niet, als ik de array print krijg ik niets terug.

Acties:
  • 0 Henk 'm!

Verwijderd

Komen de rest van je postwaardes wel binnen op die pagina?

Acties:
  • 0 Henk 'm!

Verwijderd

Verstuur je het formulier wel met enctype="multipart/form-data" ;)

Acties:
  • 0 Henk 'm!

  • MarcoC
  • Registratie: September 2003
  • Laatst online: 13:20
Ik heb het opgelost. Ik heb nu dit:
PHP:
1
2
3
4
5
6
7
<?
while(list($nr,$bestand) = each($_FILES['bestand']['tmp_name'])) {
if(is_uploaded_file($bestand)) {
$bestand_name = $_FILES["bestand"][name][$nr];
$bestand_size = $_FILES["bestand"][size][$nr];
uploadfile("$bestand","$bestand_name");
?>
HTTP_POST_FILES dus vervangen door _FILES, en quotes toegevoegd bij tmp_name, en dat werkt.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

MarcoC schreef op 27 september 2004 @ 19:53:
Ik heb het opgelost. Ik heb nu dit:
PHP:
1
2
3
4
5
6
7
<?
while(list($nr,$bestand) = each($_FILES['bestand']['tmp_name'])) {
if(is_uploaded_file($bestand)) {
$bestand_name = $_FILES["bestand"][name][$nr];
$bestand_size = $_FILES["bestand"][size][$nr];
uploadfile("$bestand","$bestand_name");
?>
HTTP_POST_FILES dus vervangen door _FILES, en quotes toegevoegd bij tmp_name, en dat werkt.
Doe eens helemaal netjes en voeg ook quotes toe op voor de naam en grootte van het bestand, en haal de quotes om je variabelenamen op de laatste regel eens weg. Dit is ranzig, en levert nog notices op bij error_reporting(E_ALL) ook. :/

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • MarcoC
  • Registratie: September 2003
  • Laatst online: 13:20
Okay, ik was allang blij dat hij het deed :+.
Pagina: 1