[php] move_uploaded_file($image) met $image als variabel

Pagina: 1
Acties:

Onderwerpen


  • assass
  • Registratie: November 2002
  • Laatst online: 31-07-2024

assass

Salon GoT'er

Topicstarter
Ik zit al de hele middag met het volgende en kom er maar niet uit. Ik ben heel eigenwijs aan m'n eigen multiple file upload begonnen, maar geheel op eigen wijze, waar ik geen feedback op kan vinden op internet; misschien kan deze manier geen eens werken. Dat zou ik heel graag willen weten.

Ik heb simpelweg een form, met een $a variabel die steeds eentje hoger wordt, zodoende vormt de form zich als volgt:

<input type="file" name="foto_1">
<input type="file" name="foto_2">
<input type="file" name="foto_3">

etc. Net zo lang als de form moet worden (is dus variabel).

Na de submit heb ik opnieuw een loop die tot de maximale $a bereikt is de files een voor een overzet op de host.

Het probleem is alleen als volgt, want opzich werkt alles naar behoren, behalve het cruciale punt zelf:

Na de submit:

$image = "foto_".$a;
move_uploaded_file($image, $filename);

Dit werkt - opzich niet geheel verbazingwekkend - niet:
$image neemt een puur tekstuele waarde over "foto_1" ("foto_2", "foto_3", of wat dan ook op dat moment) en verliest de inhoud van de file die via het form meegegeven is.

Mijn vraag: hoe kan ik in een simpele loop files een voor een laten uploaden met de hierboven genoemde constructie. Hoe kan ik $image in de functie van move_uploaded_file($image, $filename); een variabele waarde meegeven, zodat deze functie eerst als $image de inhoud van $foto_1 tot zich neemt, de eerst volgende loop $foto_2, vervolgens $foto_3, .. etc?

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

doe gewoon dit:
PHP:
1
copy($_FILES['foto_$a']['tmp_name'],$lokatie.$_FILES['foto_$a']);

Going for adventure, lots of sun and a convertible! | GMT-8


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 01:32

alienfruit

the alien you never expected

dat werkt niet in php safe mode.

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

TS zegt nergens dat safe mode opstaat ;)

Going for adventure, lots of sun and a convertible! | GMT-8


  • assass
  • Registratie: November 2002
  • Laatst online: 31-07-2024

assass

Salon GoT'er

Topicstarter
snake903 schreef op donderdag 29 december 2005 @ 17:52:
[...]


TS zegt nergens dat safe mode opstaat ;)
idd.. :)

of ik copy of move_uploaded_file gebruik moet feitelijk niet zo verschil uitmaken, ben me aan het verdiepen in de mogelijkheid

move_uploaded_file($_FILES['foto_$a']['tmp_name'], $filename);

te gebruiken; $filename (de bestemming) is namelijk volledig in het script al volledig tot de extensie aan toe gedefinieerd

maar dit werkt niet; ik heb het gevoel dat $_FILES['foto_$a']['tmp_name'] niet goed opgepikt wordt uit het form met <input type="file" name="foto_1"> <input type="file" name="foto_2"> etc. voor de een of andere rede.. is er een manier om dat na te lopen? checken of er uberhaupt wat in die var staat?

  • GlowMouse
  • Registratie: November 2002
  • Niet online
doe eens print_r($_FILES).

  • assass
  • Registratie: November 2002
  • Laatst online: 31-07-2024

assass

Salon GoT'er

Topicstarter
hmmz..

Array ( [foto_1] => Array ( [name] => cheque.jpg [type] => image/pjpeg [tmp_name] => /tmp/phpJp66XL [error] => 0 [size] => 22701 ) )

uhm . [error] duidt vast op een fout? :)

  • GlowMouse
  • Registratie: November 2002
  • Niet online
uhm . [error] duidt vast op een fout?
Zie de handleiding:
Waarde: 0; Er is geen error opgetreden. Het bestand is met success geupload
Maar ik denk het probleem al te zien, je doet move_uploaded_file('foto_'.$a, $filename), terwijl je move_uploaded_file($_FILES['foto_'.$a]['tmp_name'], $filename) moet doen. Zie ook de handleiding.

Hiervoor had je 'foto_$a' al geprobeerd, maar daar kom je in de knel met het verschil tussen enkele en dubbele apostrof: alles tussen ' wordt letterlijk genomen, alles tussen " niet.

[ Voor 20% gewijzigd door GlowMouse op 29-12-2005 18:28 ]


  • Icey
  • Registratie: November 2001
  • Laatst online: 17-09 16:46
<input type="file" name="afbeeldingen[]"><br>
<input type="file" name="afbeeldingen[]"><br>
<input type="file" name="afbeeldingen[]"><br>

Zo heb ik het, en dat werkt prima :).

  • assass
  • Registratie: November 2002
  • Laatst online: 31-07-2024

assass

Salon GoT'er

Topicstarter
GlowMouse schreef op donderdag 29 december 2005 @ 18:26:
[...]

Zie de handleiding:

[...]


Maar ik denk het probleem al te zien, je doet move_uploaded_file('foto_'.$a, $filename), terwijl je move_uploaded_file($_FILES['foto_'.$a]['tmp_name'], $filename) moet doen. Zie ook de handleiding.

Hiervoor had je 'foto_$a' al geprobeerd, maar daar kom je in de knel met het verschil tussen enkele en dubbele apostrof: alles tussen ' wordt letterlijk genomen, alles tussen " niet.
ow sjeez wat stom! maar thnx! ik had al
move_uploaded_file($_FILES['foto_'$a]['tmp_name'], $filename) geprobeerd, maar zonder dat cruciale puntje tussen die 2 vars doet dat natuurlijk geen reet!

het werkt man super!
Pagina: 1