Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[PHP] Uploadform, één form. uploaden naar 2 directories

Pagina: 1
Acties:

Onderwerpen


  • Maarten-NForce
  • Registratie: Oktober 2006
  • Laatst online: 07-03 12:28

Maarten-NForce

Swipe een tweedehands boot!

Topicstarter
Beste dev'ers

Ik ben momenteel bezig met een site, maar zit nu met het volgende probleem:

Ik heb één formulier op één pagina, waarbij ik graag een deel: ( de 'donor' groep) naar /donor te uploaden, en het andere deel ( de 'doelfoto' groep) naar /doel. Maar hier ik loop ik dus vast, want ik krijg het niet voor elkaar (is het wel mogelijk?).

Form
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<form enctype="multipart/form-data" action="bestellen3.php" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="4120000" />
    <p> Kies uw donorfoto's! </p>
    <input name="donor" type="file" size="30" />
    <input name="donor" type="file" size="30" />
    <input name="donor" type="file" size="30" />
    <input name="donor" type="file" size="30" />
    <input name="donor" type="file" size="30" />
    <input name="donor" type="file" size="30" />
    <input name="donor" type="file" size="30" />
    <input name="donor" type="file" size="30" />
    <input name="donor" type="file" size="30" />
    <input name="donor" type="file" size="30" />
    <input name="donor" type="file" size="30" />
    <input name="donor" type="file" size="30" />
    <input name="donor" type="file" size="30" />

<!--Doelfoto's-->

<?
require('bestellen_cfg.php');
echo '<input type="hidden" name="URL" value="' . $_POST['URL'] . '" />';
$i = 1;
$a = $Aantal[$_POST['URL']]['Aantal'];

while($i <= $a)
{
    echo '<input name="doel' . $i . '" type="file" size="25" /> <br />';
    $i++;
}
?>


bestellen_cfg.php; (is maar een klein gedeelte, rest doet er hier niet toe)
code:
1
2
3
4
5
<?
$Aantal['a35g'] = array('Aantal' => '1');
$Aantal['65fv'] = array('Aantal' => '2');
$Aantal['76vg'] = array('Aantal' => '3');
?>


Heeft iemand een idee waar ik het mee zou kunnen doen?

Bedankt!

www.koopeendroom.nl


  • PeterSelie
  • Registratie: December 2002
  • Laatst online: 24-11 13:14
En hoe precies verwacht je meerdere input velden met de name donor op te vangen? Laten we daar eerst maar eens beginnen..

  • sfranken
  • Registratie: Mei 2010
  • Laatst online: 01-10 14:47
Zover ik weet niet eens mogelijk met puur en alleen PHP omdat je met een form action zit. Misschien kun je met jQuery $.POST of jQuery $.AJAX wat doen?

  • Svennetjee
  • Registratie: December 2007
  • Laatst online: 21:43
sfranken schreef op donderdag 17 november 2011 @ 17:12:
Zover ik weet niet eens mogelijk met puur en alleen PHP omdat je met een form action zit. Misschien kun je met jQuery $.POST of jQuery $.AJAX wat doen?
Of natuurlijk gewoon verschillende veldnamen gebruiken! 8)7

  • PeterSelie
  • Registratie: December 2002
  • Laatst online: 24-11 13:14
sfranken schreef op donderdag 17 november 2011 @ 17:12:
Zover ik weet niet eens mogelijk met puur en alleen PHP omdat je met een form action zit. Misschien kun je met jQuery $.POST of jQuery $.AJAX wat doen?
Het gaat niet om de post naar een specifieke locatie te doen, maar om de files die worden geupload naar een specifieke directory te uploaden.

@TS: zou je eerst eens willen proberen het formulier te laten werken (en te laten uploaden) naar een enkele directory? Dat lijkt me al een beter begin.

  • Svennetjee
  • Registratie: December 2007
  • Laatst online: 21:43
Volgensmij is het trouwens ook niet zo'n heel erg lastig probleem, deze functie kan je op weg helpen:

Copy.

  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 09:48

Ventieldopje

I'm not your pal, mate!

Alles wordt standaard geupload naar je server temp directory (/tmp of c:\temp). Met de functie move_uploaded_file kun je het geuploade bestand(en) verplaatsen naar de juiste directories ;)

Dit is gewoon basis php formulier afhandeling, even inlezen op internet!

[ Voor 16% gewijzigd door Ventieldopje op 17-11-2011 17:15 ]

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


  • Maarten-NForce
  • Registratie: Oktober 2006
  • Laatst online: 07-03 12:28

Maarten-NForce

Swipe een tweedehands boot!

Topicstarter
@ Soagmaot: SoaDmaggot :P

Enkele werkt, wordt geupload naar /upload.
Maar hetgeen wat ik dus wil, is alle velden in 'donor' te uploaden naar de map /donor dus.

En daaronder, het tweede veld, dus naar /doel. Is duidelijk toch? Krijg namelijk 't idee dat 't dat nog niet helemaal was :) Een deel van het form in map X, andere in map Y, mogen niet door elkaar staan!

Heb verder echt alleen 'n beeetje basiskennis PHP, wel 't een en ander aan boeken liggen, en daaruit begonnen 'n maandje terug ongeveer denk ik.

En meerdere input velden met de naam donor opvangen, had verwacht dat dat mogelijk zou zijn. Maar niet dus?

[ Voor 39% gewijzigd door Maarten-NForce op 17-11-2011 17:28 ]

www.koopeendroom.nl


  • PeterSelie
  • Registratie: December 2002
  • Laatst online: 24-11 13:14
offtopic:
Volgens mij moet je ook even je toetsenbord controlleren, die schijnt wat moeite te hebben met nicknames :P

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 09:48

Ventieldopje

I'm not your pal, mate!

En meerdere input velden met de naam donor opvangen, had verwacht dat dat mogelijk zou zijn. Maar niet dus?
Mij heb je niet horen zeggen dat het niet mogelijk is, het is wel degelijk mogelijk door array notatie te gebruiken van velden. Voorbeeldje:

HTML:
1
2
3
4
5
6
<input name="donor[0]" type="file" size="30" />
<input name="donor[1]" type="file" size="30" />
<input name="donor[2]" type="file" size="30" />
<input name="donor[3]" type="file" size="30" />

etc.


Dan zul je dus zien dat $_FILES['donor'] een array is. Dit kun je zien met var_dump ;)

Edit: My bad, het is $_FILES ipv. $_POST. Drukke dag gehad 8)7

[ Voor 5% gewijzigd door Ventieldopje op 17-11-2011 19:00 ]

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Ventieldopje schreef op donderdag 17 november 2011 @ 17:36:
[...]

Mij heb je niet horen zeggen dat het niet mogelijk is, het is wel degelijk mogelijk door array notatie te gebruiken van velden. Voorbeeldje:

HTML:
1
2
3
4
5
6
<input name="donor[0]" type="file" size="30" />
<input name="donor[1]" type="file" size="30" />
<input name="donor[2]" type="file" size="30" />
<input name="donor[3]" type="file" size="30" />

etc.
Zonder index werkt dat ook hoor. :P
Dan zul je dus zien dat $_POST['donor'] een array is. Dit kun je zien met var_dump ;)
$_FILES['donor']. :P

Maareh, dit topic is geen rocket science. Om een bestand überhaupt op te slaan in een willekeurige map moet je move_uploaded_file() gebruiken. Dat je dan geuploade bestanden in de donor-velden naar folder 1 wil verplaatsen en de bestanden in doel-velden naar folder 2 is natuurlijk zo gedaan met een call naar die functie.

[ Voor 5% gewijzigd door NMe op 17-11-2011 17:57 ]

'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.


  • Maarten-NForce
  • Registratie: Oktober 2006
  • Laatst online: 07-03 12:28

Maarten-NForce

Swipe een tweedehands boot!

Topicstarter
Hah, eerst werkte ie dus. Uiteindelijk dus wat best wel vraagtekens opwekte bij got'ers hier dus alle namevelden gelijkt gemaakt, met 'n achterliggende gedachte van das veeel handiger bij het uploaden, dan hoef ik ze niet stuk voor stuk op te noemen ( :P ) Maargoed, aldoende leert men zullen we maar zeggen!

Ik heb besloten het lekker basis te houden, dat ik het snap (is het belangrijkste natuurlijk), en gewoon lekker simpel twee aparte pagina's te maken. Bedankt allemaal!

www.koopeendroom.nl

Pagina: 1