Toon posts:

[php] HTTP_POST_FILES meegeven aan functie.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een form:

PHP:
1
2
3
4
  <form method="post" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data">
        Upload deze file: <input name="bestand" type="file">
        <input type="submit" name="submit" value="Upload">
    </form>


En wil de HTTP_POST_FILES waarden meegeven aan een functie in een class die ik aanroep vanuit dit script.

Ik roep hem op deze manier aan:
PHP:
1
$var =  $newafbeeldingen->comprimeerafbeelding($bestand, "henk", "200", "150", "d:\\tom\\imagemagick", $HTTP_POST_FILES, "1.5", "90", "n");



De definitie van de functie in de class is als volgt:
PHP:
1
    function comprimeerafbeelding($bestand, $nieuwe_base_bestandsnaam, $gewenste_hoogte, $gewenste_breedte, $path, $HTTP_POST_FILES, $gamma, $contrast, $origineel_bewaren)


Op de een of andere manier krijgt hij de HTTP_POST_FILES niet goed mee, want als ik:

echo $HTTP_POST_FILES['bestand']['name'];

doe, dan krijg ik de foutmelding:
Notice: Undefined index: bestand in d:\tom\imagemagick\class_afbeeldingen.php on line 33

Op de een of andere manier geeft hij de form data niet mee. Hoe kan ik dit checken en oplossen? Bedankt voor elke tip of suggestie.

Verwijderd

Topicstarter
Als ik het gewoon submit zonder het aanroepen van de functie zie ik de bestandseigenschappen ook niet terug in mijn phpinfo(); Het zit dus ergens in de serverconfiguratie of in het form denk ik.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

doe even een print_r ( $HTTP_POST_FILES ); Dan kun je zien of er uberhaupt wel data binnenkomt op die variabele.

Enne... je hebt toch niet toevallig een PHP versie hoger dan 4.1.2, he? Gebruik dan nl. de $_FILES variabele :)

edit:

bij versies lager dan 4.0.6 (geloof ik) bestaat de $HTTP_POST_FILES array zelfs nog niet. Gebruik dan $veldnaam, $veldnaam_tmp, $veldnaam_size en $veldnaam_type, maar ik neem aan dat dat niet het geval is :D

[ Voor 0% gewijzigd door drm op 09-09-2002 10:02 . Reden: < 4.0.6. erbij ]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Topicstarter
Wanneer ik print_r ( $HTTP_POST_FILES ); doe, krijg ik een array() melding. :?

Ik gebruik php 4.1.2, hoe kan ik dan precies de $_Files variabele gebruiken?

Verwijderd

precies hetzelfde als HTTP_POST_VARS
$HTTP_POST_VARS == $_POST;
alleen bestaat de eerste neit meer in php 4.1.2 en hoger.

is trouwens niet slim om je in je functie $HTTP_POST_VARS te definieeren, alsof het een normale array is, ik weet niet hoe php het oppakt, maar zou kunnen dat ie dan naar de geposte vars gaat zoeken, die er in die pagina niet zijn. doe dus
function blaat($vars); ipv function blaat($HTTP_POST_VARS);