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

php input type=hidden als type=file laten behandelen

Pagina: 1
Acties:
  • 973 views

Verwijderd

Topicstarter
Hallo, ik zit een beetje met een probleem. Ik heb gekozen om via javascript een upload form te maken die niet werkt via type=file inputs maar type=hidden inputs. Het idee erachter is dat ik zelf kan bepalen hoet het forumulier er uit ziet en dat er maar 1 browse button is. Uiteindelijk is de situatie dus zo

ik heb verschillende inputs van het type 'hidden', deze heten file1, file2, file3 etc... etc...
Een upload script probeert deze via $_FILES['file1'][tmp_name'] etc te behandelen maar omdat het type hidden is staat hij niet bij files. Is hier een workaround voor? Is het anders mogelijk om dynamisch een file field in te vullen (schijnt van niet) En is het mogelijk om php alsnog vanaf de hidden input te laten uploaden?

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 01:29
Nee, het kan alleen met een echt file veld of met een externe tool zoals een flash of java programma.

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 22:57

orf

Nee, hier is geen work-around voor. Om bestanden te versturen moet je een input type="file" gebruiken. Wel kun je ze verbergen met bijvoorbeeld opacity:

http://www.quirksmode.org/dom/inputfile.html

Edit: je kunt ook file-inputs verbergen en met javascript nieuwe aanmaken:

multiple file upload originele pagina is down, voorbeeldje werkt ook in Google cache

[ Voor 49% gewijzigd door orf op 18-02-2008 22:09 ]


  • GlowMouse
  • Registratie: November 2002
  • Niet online
Omwille van veiligheid kunnen bestanden alleen via een type="file" geupload worden. Het zou wat zijn als via JavaScript een formulier verstuurd kan worden met als type="hidden" een bestand met wat wachtwoorden.
Een applet zou eventueel wel kunnen, maar dit is veel meer werk. Een voorbeeld hiervan is te zien bij veel fotoprintzaken, waar je via zo'n applet je foto's kunt uploaden.

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Nee. Dat zou namelijk nogal heel erg slecht zijn security-wise. Anders zou iedereen met een simpel javascript-auto-submitting-formuliertje allemaal interessante files van je PC kunnen uploaden.

type=file moet en zal per see handmatig ingevuld moeten worden door de user zelf. :)

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 20-11 13:37

Robtimus

me Robtimus no like you

Wat je misschien wel kan doen is ze dmv stylesheets onzichtbaar maken: style="display: none;"

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • Osiris
  • Registratie: Januari 2000
  • Niet online
IceManX schreef op maandag 18 februari 2008 @ 23:14:
Wat je misschien wel kan doen is ze dmv stylesheets onzichtbaar maken: style="display: none;"
Tja, maar dan kun je ze dus nooit invullen en zullen ze dus nooit files uploaden ;)

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 20-11 13:37

Robtimus

me Robtimus no like you

Osiris schreef op maandag 18 februari 2008 @ 23:15:
[...]

Tja, maar dan kun je ze dus nooit invullen en zullen ze dus nooit files uploaden ;)
En hoe verschilt dat met hoe de TS dat nu doet? Die vult nu hidden inputs in met een andere browse button.

Ik ben niet zo bekend met file inputs, maar als je via JavaScript de file zet, wordt die dan niet geupload?

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • orf
  • Registratie: Augustus 2005
  • Laatst online: 22:57

orf

IceManX schreef op dinsdag 19 februari 2008 @ 21:40:
En hoe verschilt dat met hoe de TS dat nu doet? Die vult nu hidden inputs in met een andere browse button.

Ik ben niet zo bekend met file inputs, maar als je via JavaScript de file zet, wordt die dan niet geupload?
Je kúnt input type="file" niet met JavaScript vullen.

  • Patriot
  • Registratie: December 2004
  • Laatst online: 18:46

Patriot

Fulltime #whatpulsert

Nee, het is in Javascript niet mogelijk om de value van een input element waarvan het type-attribuut file is te zetten. Die kun je alleen aflezen.

EDIT: Spuit elf..

[ Voor 8% gewijzigd door Patriot op 19-02-2008 21:42 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Dit is meer client-side (JS) dan server-side (PHP zoals de titel suggesteert).
Vandaar een kickje naar WEB.

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


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

NMe

Quia Ego Sic Dico.

Ik zet dit topic liever op slot. Je vraag is er een uit velen en bovendien is alles wat er te zeggen valt nu wel gezegd. Anders dan het gebruik van "vieze" hacks of Java/Flash(?) heb je geen tot weinig opties. :)

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

Pagina: 1

Dit topic is gesloten.