Toon posts:

[php] $_FILES

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik wil size, type etc.. ophalen van een geupload bestandje
Op een aparte pagina staat:
code:
1
<input type="file" name="location">

de afhandeling van de upload gebeurd binnen een classe
Zodra ik binnen de classe bijvoorbeeld de size te weten wil komen:
PHP:
1
<? $size = $_FILES['location']['size']; ?>

of
PHP:
1
<? $size = $HTTP_POST_FILES['location']['size']; ?>

dan krijgt $size geen waarde en zodra ik de size (op bovenstaande wijze) binnen de pagina, waar de input staat, opvraag dan krijgt $size wel netjes een waarde.

Ik neem aan dat 'location' niet herkent wordt binnen de classe. Iemand enig idee hoe je dat wel voor elkaar kunt krijgen?

Verwijderd

PHP:
1
<?class test {        var $myVar;   var $mySecondVar;   // constructor   function test() {     $this->myVar = "Blaat";     $this->mySecondVar = "Schaap";   }   function myFunction() {     echo "een ".$this->mySecondVar." doet ".$this->myVar;   }}$mijnClass = new test();$mijnClass->myFunction();?>

Bedoel je dit soort werkingen?
gewone variabelen kan je niet binnen een class of functie zomaar uitwisselen, alleen binnen een pagina.
Binnen een class kan je ze bereikbaar maken middels die $this->, en anders moet je ze global maken, of meegeven aan de functies.

Verwijderd

Topicstarter
..
Yep daar ben ik van op de hoogte maar 'location' is hier de naam van het input veld via welke de file ge-upload is en dus volgens mij geen variabele.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

$_FILES is pas beschikbaar vanaf php-4.1.0
$HTTP_POST_FILES is niet globaal bekend in php.

Je zou hem kunnen global-en, maar das niet netjes natuurlijk.
Netter is het om bij de initialisatie/constructie van je class dat array mee te geven als parameter.

Verwijderd

Op woensdag 24 juli 2002 01:57 schreef ACM het volgende:
$_FILES is pas beschikbaar vanaf php-4.1.0
$HTTP_POST_FILES is niet globaal bekend in php.

Je zou hem kunnen global-en, maar das niet netjes natuurlijk.
Netter is het om bij de initialisatie/constructie van je class dat array mee te geven als parameter.
en wat nog meer het verschil is tussen het uploaden van files in php 4.1.0 is

het was:
$_POST['filename_name'], $_POST['filename_size'], $_POST['filename_tmp'] (enzo)

tis nu:
$_FILES['filename']['name'] etc :)