Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #3978 > unrolled thread
| Started by | Gerome Muent <kontakt@bmservices.de> |
|---|---|
| First post | 2016-10-21 17:57 +0200 |
| Last post | 2016-10-24 17:35 +0100 |
| Articles | 14 — 5 participants |
Back to article view | Back to de.comp.lang.php
Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran Gerome Muent <kontakt@bmservices.de> - 2016-10-21 17:57 +0200
Re: Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-10-21 18:49 +0100
Re: Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran Gerome Muent <kontakt@bmservices.de> - 2016-10-24 07:43 +0200
Re: Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-10-24 12:33 +0100
Re: Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran Arno Welzel <usenet@arnowelzel.de> - 2016-11-03 08:43 +0100
Re: Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-10-24 06:33 +0000
Re: Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran Gerome Muent <kontakt@bmservices.de> - 2016-10-24 08:50 +0200
Re: Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-10-24 12:32 +0100
Re: Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-10-24 18:15 +0200
Re: Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-10-24 16:59 +0000
Re: Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-10-24 19:10 +0200
Re: Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-10-24 17:18 +0000
[SOLVED]Re: Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran Gerome Muent <kontakt@bmservices.de> - 2016-10-24 17:55 +0200
[SOLVED] Wie komme ich bei “Content-Type: multipart/form-data” an mehrere gleichbenannte Binärdatei ran (was: [SOLVED]Re: Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran) Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-10-24 17:35 +0100
| From | Gerome Muent <kontakt@bmservices.de> |
|---|---|
| Date | 2016-10-21 17:57 +0200 |
| Subject | Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran |
| Message-ID | <nuddtb$d3t$1@news.albasani.net> |
Hallo zusammen, eine Kundenserver, an dem ich nichts drehen kann, liefert mir bei "Content/Type:multipart/formdata" die Daten in folgender Form (schematisch dargestellt) Content-Disposition: form-data; name="result"; filename="result.json" ... Content-Disposition: form-data; name="imagename"; filename="bild1.jpg" ... Content-Disposition: form-data; name="imagename"; filename="bild2.jpg" ... Content-Disposition: form-data; name="imagename"; filename="bild3.jpg" In $_FILES habe ich dann die Arraykeys "result" und "imagename" result ist völlig ok, in imagename ist nur das letzte Bild, weil der gleiche name "imagename die beiden Vorgänger wohl überschreibt. Mir scheint sowas eh nicht standardkonform mit gleichen name="...", aber ich kann nix dran ändern. hat jemand eine Idee, wie ich $_FILES dazu bringe, daß die 4 Teilinhalte statt nur 2 drin sind? Danke für tips, Gérôme
[toc] | [next] | [standalone]
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Date | 2016-10-21 18:49 +0100 |
| Message-ID | <3935194.LvFx2qVVIh@PointedEars.de> |
| In reply to | #3978 |
Gerome Muent wrote: > eine Kundenserver, an dem ich nichts drehen kann, liefert mir bei > "Content/Type:multipart/formdata" > die Daten in folgender Form (schematisch dargestellt) > > > Content-Disposition: form-data; name="result"; filename="result.json" > ... > Content-Disposition: form-data; name="imagename"; filename="bild1.jpg" > ... > Content-Disposition: form-data; name="imagename"; filename="bild2.jpg" > ... > Content-Disposition: form-data; name="imagename"; filename="bild3.jpg" > > > In $_FILES habe ich dann die Arraykeys "result" und "imagename" > result ist völlig ok, in imagename ist nur das letzte Bild, weil der > gleiche name "imagename die beiden Vorgänger wohl überschreibt. Richtig. > Mir scheint sowas eh nicht standardkonform mit gleichen name="...", […] Doch, das ist es. > hat jemand eine Idee, wie ich $_FILES dazu bringe, daß die 4 Teilinhalte > statt nur 2 drin sind? Ja, das hattest Du zuletzt vor zwei Monaten und 6 Tagen hier gefragt und es wurde auch beantwortet. -- PointedEars Zend Certified PHP Engineer <http://www.zend.com/en/yellow-pages/ZEND024953> | Twitter: @PointedEars2 Please do not cc me. / Bitte keine Kopien per E-Mail.
[toc] | [prev] | [next] | [standalone]
| From | Gerome Muent <kontakt@bmservices.de> |
|---|---|
| Date | 2016-10-24 07:43 +0200 |
| Message-ID | <nuk72g$5ho$1@news.albasani.net> |
| In reply to | #3979 |
Am 21.10.2016 um 19:49 schrieb Thomas 'PointedEars' Lahn: > Gerome Muent wrote: > Ja, das hattest Du zuletzt vor zwei Monaten und 6 Tagen hier gefragt und es > wurde auch beantwortet. Nein, finde da keine Antwort, wie ich per $_FILES an ALLE Dateien rankomme und nicht nur an die letzte, wenn der übermittelte name="varname" für alle gleich ist. Das Problem gab es damals so auch noch garnicht. Aber vielleicht kannst du mir eine Antwort geben? Danke, Gerôme
[toc] | [prev] | [next] | [standalone]
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Date | 2016-10-24 12:33 +0100 |
| Message-ID | <2009121.ElGaqSPkdT@PointedEars.de> |
| In reply to | #3980 |
Gerome Muent wrote: > Am 21.10.2016 um 19:49 schrieb Thomas 'PointedEars' Lahn: >> Ja, das hattest Du zuletzt vor zwei Monaten und 6 Tagen hier gefragt und >> es wurde auch beantwortet. > > Nein, finde da keine Antwort, wie ich per $_FILES an ALLE Dateien > rankomme und nicht nur an die letzte, wenn der übermittelte > name="varname" für alle gleich ist. > Das Problem gab es damals so auch noch garnicht. Du irrst. > Aber vielleicht kannst du mir eine Antwort geben? <http://www.tty1.net/smart-questions_de.html> -- PointedEars Zend Certified PHP Engineer <http://www.zend.com/en/yellow-pages/ZEND024953> | Twitter: @PointedEars2 Please do not cc me. / Bitte keine Kopien per E-Mail.
[toc] | [prev] | [next] | [standalone]
| From | Arno Welzel <usenet@arnowelzel.de> |
|---|---|
| Date | 2016-11-03 08:43 +0100 |
| Message-ID | <b89b621e-4952-911f-992b-1a34c7f7f6e8@arnowelzel.de> |
| In reply to | #3980 |
Gerome Muent schrieb am 2016-10-24 um 07:43: > Am 21.10.2016 um 19:49 schrieb Thomas 'PointedEars' Lahn: >> Gerome Muent wrote: > >> Ja, das hattest Du zuletzt vor zwei Monaten und 6 Tagen hier gefragt und es >> wurde auch beantwortet. > > Nein, finde da keine Antwort, wie ich per $_FILES an ALLE Dateien > rankomme und nicht nur an die letzte, wenn der übermittelte > name="varname" für alle gleich ist. > Das Problem gab es damals so auch noch garnicht. > > Aber vielleicht kannst du mir eine Antwort geben? Hint: is_array(), varname[0], varname[1], varname[2] ... -- Arno Welzel https://arnowelzel.de http://de-rec-fahrrad.de http://fahrradzukunft.de
[toc] | [prev] | [next] | [standalone]
| From | Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) |
|---|---|
| Date | 2016-10-24 06:33 +0000 |
| Message-ID | <5t580daaedi582n3e8%sfroehli@Froehlich.Priv.at> |
| In reply to | #3978 |
On Fri, 21 Oct 2016 17:57:31 Gerome Muent wrote: > Content-Disposition: form-data; name="imagename"; filename="bild1.jpg" > Content-Disposition: form-data; name="imagename"; filename="bild2.jpg" > Content-Disposition: form-data; name="imagename"; filename="bild3.jpg" > hat jemand eine Idee, wie ich $_FILES dazu bringe, daß die 4 Teilinhalte > statt nur 2 drin sind? $_FILES wirst Du schlicht und einfach *nicht* dazu bringen koennen, Dir die einzelnen Files zu servieren. Wenn Du am Input tatsächlich nichts ändern kannst, was sehr bedauerlich wäre, dann wird Dir nichts anderes übrig bleiben, als mit den rohen Eingangsdaten zu arbeiten. Servus, Stefan -- http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich Offizieller Erstbesucher(TM) von mmeike Stefan - die massgeblichste Verkündigung der Gier.</b (Sloganizer)
[toc] | [prev] | [next] | [standalone]
| From | Gerome Muent <kontakt@bmservices.de> |
|---|---|
| Date | 2016-10-24 08:50 +0200 |
| Message-ID | <nukaus$rno$1@news.albasani.net> |
| In reply to | #3981 |
Am 24.10.2016 um 08:33 schrieb Stefan Froehlich: > Wenn Du am Input tatsächlich nichts ändern kannst, was sehr bedauerlich > wäre, dann wird Dir nichts anderes übrig bleiben, als mit den rohen > Eingangsdaten zu arbeiten. Das habe ich befürchtet. Ich verhandle gerade mit dem Kunden bzw. seinen Entwicklern und habe über die Unsinnigkeit eines solchen Formulars argumentiert: <form ... enctype="multipart/form-data"> <input type="file" name="uploadfile" /> <input type="file" name="uploadfile" /> <input type="file" name="uploadfile" /> <input type="file" name="uploadfile" /> ... </form> Da kommt dann ja auch nur der Inhalt des letzten Feldes an. Selbst wenn das formell vom RFC her richtig sein sollte, dann wäre es doch sinnvoller: <form ... enctype="multipart/form-data"> <input type="file" name="uploadfile1" /> <input type="file" name="uploadfile2" /> <input type="file" name="uploadfile3" /> <input type="file" name="uploadfile4" /> ... </form> Erst wenn das nicht fruchtet, gehe ich den Weg über die RAW-Daten. Habe dafür in PHP aber auch keinen fertigen Parser gefunden. Wenn ich das selbst zerhacke, sehe ich die Gefahr, daß ich u.U. Binärdaten kaputt mache. Grüße, Gérôme
[toc] | [prev] | [next] | [standalone]
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Date | 2016-10-24 12:32 +0100 |
| Message-ID | <3939067.LvFx2qVVIh@PointedEars.de> |
| In reply to | #3981 |
Stefan Froehlich wrote: > On Fri, 21 Oct 2016 17:57:31 Gerome Muent wrote: >> Content-Disposition: form-data; name="imagename"; filename="bild1.jpg" >> Content-Disposition: form-data; name="imagename"; filename="bild2.jpg" >> Content-Disposition: form-data; name="imagename"; filename="bild3.jpg" > >> hat jemand eine Idee, wie ich $_FILES dazu bringe, daß die 4 Teilinhalte >> statt nur 2 drin sind? > > $_FILES wirst Du schlicht und einfach *nicht* dazu bringen koennen, > Dir die einzelnen Files zu servieren. > > Wenn Du am Input tatsächlich nichts ändern kannst, was sehr bedauerlich > wäre, dann wird Dir nichts anderes übrig bleiben, als mit den rohen > Eingangsdaten zu arbeiten. PHP 5.6.x ist jedoch anscheinend nicht in der Lage, diese adäquat verarbeitet anzubieten, wenn multiple Namen nicht auf “[]” enden (RTFM): liest man php://input aus, enthält der String auch nur einen Eintrag für jeden solchen Multipart-Namen (und dann immer den letzten Wert), obwohl das beim Request anders ist und der RFC keine eindeutigen Namen fordert. BTDT. Und (RTFM) $HTTP_RAW_POST_DATA wird erstens für multipart/form-data nicht gesetzt und ist ausserdem seit PHP 5.6.0 deprecated. Die Lösung ist daher – von einem Bugreport abgesehen –, es mit php://input und einer neueren PHP-Version als 5.6.x zu versuchen, oder entweder PHP- konforme Multipart-Namen zu verwenden oder nicht primär PHP für die Verarbeitung dieses Formulars zu verwenden. -- PointedEars Zend Certified PHP Engineer <http://www.zend.com/en/yellow-pages/ZEND024953> | Twitter: @PointedEars2 Please do not cc me. / Bitte keine Kopien per E-Mail.
[toc] | [prev] | [next] | [standalone]
| From | "Christoph M. Becker" <cmbecker69@arcor.de> |
|---|---|
| Date | 2016-10-24 18:15 +0200 |
| Message-ID | <nulc26$544$1@solani.org> |
| In reply to | #3983 |
Am 24.10.2016 um 13:32 schrieb Thomas 'PointedEars' Lahn: > Stefan Froehlich wrote: > >> Wenn Du am Input tatsächlich nichts ändern kannst, was sehr bedauerlich >> wäre, dann wird Dir nichts anderes übrig bleiben, als mit den rohen >> Eingangsdaten zu arbeiten. > > PHP 5.6.x ist jedoch anscheinend nicht in der Lage, diese adäquat > verarbeitet anzubieten, wenn multiple Namen nicht auf “[]” enden (RTFM): > liest man php://input aus, enthält der String auch nur einen Eintrag für > jeden solchen Multipart-Namen (und dann immer den letzten Wert), obwohl das > beim Request anders ist und der RFC keine eindeutigen Namen fordert. BTDT. > > Die Lösung ist daher – von einem Bugreport abgesehen –, […] Ein Bug-Report wäre auf jeden Fall begrüßenswert, finde ich. -- Christoph M. Becker
[toc] | [prev] | [next] | [standalone]
| From | Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) |
|---|---|
| Date | 2016-10-24 16:59 +0000 |
| Message-ID | <1t580e3c9di5e87n3e8%sfroehli@Froehlich.Priv.at> |
| In reply to | #3986 |
On Mon, 24 Oct 2016 18:15:10 Christoph M. Becker wrote: > Am 24.10.2016 um 13:32 schrieb Thomas 'PointedEars' Lahn: > > Stefan Froehlich wrote: > >> Wenn Du am Input tatsächlich nichts ändern kannst, was sehr > >> bedauerlich wäre, dann wird Dir nichts anderes übrig bleiben, als mit > >> den rohen Eingangsdaten zu arbeiten. > > PHP 5.6.x ist jedoch anscheinend nicht in der Lage, diese adäquat > > verarbeitet anzubieten, wenn multiple Namen nicht auf “[]” enden [...] > > obwoh [...] der RFC keine eindeutigen Namen fordert. > > Die Lösung ist daher – von einem Bugreport abgesehen –, […] > Ein Bug-Report wäre auf jeden Fall begrüßenswert, finde ich. Die Frage ist: Was wäre denn das wünschenswerte (oder gar: zu erwartende) Ergebnis? Gleiches Verhalten fuer name="foo" wie für name="foo[]"? Ich bin (selten, aber doch) ganz froh, dass ich Eingabeelemente in einem HTML-Dokument durch nachfolgende Elemente mit gleichem Namen sozusagen überschreiben kann. Das wäre dann dahin. Servus, Stefan -- http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich Offizieller Erstbesucher(TM) von mmeike Gewöhnliches für ungewöhnliche Leute - pusten mit Stefan! (Sloganizer)
[toc] | [prev] | [next] | [standalone]
| From | "Christoph M. Becker" <cmbecker69@arcor.de> |
|---|---|
| Date | 2016-10-24 19:10 +0200 |
| Message-ID | <nulf9r$7gl$1@solani.org> |
| In reply to | #3988 |
On 24.10.2016 um 18:59 schrieb Stefan Froehlich: > On Mon, 24 Oct 2016 18:15:10 Christoph M. Becker wrote: > >> Am 24.10.2016 um 13:32 schrieb Thomas 'PointedEars' Lahn: >> >>> Die Lösung ist daher – von einem Bugreport abgesehen –, […] > >> Ein Bug-Report wäre auf jeden Fall begrüßenswert, finde ich. > > Die Frage ist: Was wäre denn das wünschenswerte (oder gar: zu > erwartende) Ergebnis? Gleiches Verhalten fuer name="foo" wie für > name="foo[]"? > > Ich bin (selten, aber doch) ganz froh, dass ich Eingabeelemente in > einem HTML-Dokument durch nachfolgende Elemente mit gleichem Namen > sozusagen überschreiben kann. Das wäre dann dahin. Es geht hier um php://input, das laut Thomas unter PHP 5.6 nicht den vollständigen Payload enthält. Das wäre auf jeden Fall ein Bug. $_FILES (etc.) sollten natürlich weiter so arbeiten wie bisher. -- Christoph M. Becker
[toc] | [prev] | [next] | [standalone]
| From | Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) |
|---|---|
| Date | 2016-10-24 17:18 +0000 |
| Message-ID | <9t580e4239i5e87n3e8%sfroehli@Froehlich.Priv.at> |
| In reply to | #3989 |
On Mon, 24 Oct 2016 19:10:29 Christoph M. Becker wrote: > On 24.10.2016 um 18:59 schrieb Stefan Froehlich: > > On Mon, 24 Oct 2016 18:15:10 Christoph M. Becker wrote: > >> Ein Bug-Report wäre auf jeden Fall begrüßenswert, finde ich. > > Die Frage ist: Was wäre denn das wünschenswerte (oder gar: zu > > erwartende) Ergebnis? Gleiches Verhalten fuer name="foo" wie für > > name="foo[]"? > Es geht hier um php://input, das laut Thomas unter PHP 5.6 nicht den > vollständigen Payload enthält. Ah, ok, dann hatte ich das nur falsch zugeordnet. Klar, das sollte natürlich funktionieren. Servus, Stefan -- http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich Offizieller Erstbesucher(TM) von mmeike Für die schönen Dinge im Leben! Stefan - Glaube das Unglaubliche! (Sloganizer)
[toc] | [prev] | [next] | [standalone]
| From | Gerome Muent <kontakt@bmservices.de> |
|---|---|
| Date | 2016-10-24 17:55 +0200 |
| Subject | [SOLVED]Re: Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran |
| Message-ID | <nulatg$b9b$1@news.albasani.net> |
| In reply to | #3981 |
Am 24.10.2016 um 08:33 schrieb Stefan Froehlich: > $_FILES wirst Du schlicht und einfach *nicht* dazu bringen koennen, > Dir die einzelnen Files zu servieren. > > Wenn Du am Input tatsächlich nichts ändern kannst, was sehr bedauerlich > wäre, dann wird Dir nichts anderes übrig bleiben, als mit den rohen > Eingangsdaten zu arbeiten. Puh, ich konnte den Kunden überreden, eindeutige durchnummerierte name="..." zu verwenden.Jetzt klappt alles ohne Verbiegen mit $_FILES! Grüße, Gérôme
[toc] | [prev] | [next] | [standalone]
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Date | 2016-10-24 17:35 +0100 |
| Subject | [SOLVED] Wie komme ich bei “Content-Type: multipart/form-data” an mehrere gleichbenannte Binärdatei ran (was: [SOLVED]Re: Wie komme ich bei Content/Type:multipart/formdata an mehrere gleichbenannte Binärdatei ran) |
| Message-ID | <1631710.tdWV9SEqCh@PointedEars.de> |
| In reply to | #3985 |
[Subject korrigiert] Gerome Muent wrote: > Am 24.10.2016 um 08:33 schrieb Stefan Froehlich: >> $_FILES wirst Du schlicht und einfach *nicht* dazu bringen koennen, >> Dir die einzelnen Files zu servieren. >> >> Wenn Du am Input tatsächlich nichts ändern kannst, was sehr bedauerlich >> wäre, dann wird Dir nichts anderes übrig bleiben, als mit den rohen >> Eingangsdaten zu arbeiten. > > Puh, ich konnte den Kunden überreden, eindeutige durchnummerierte > name="..." zu verwenden.Jetzt klappt alles ohne Verbiegen mit $_FILES! Mit gleichen Namen, die auf “[]” enden, würde es auch und sogar besser funktionieren. Wer lesen kann, ist hier klar im Vorteil. <http://php.net/manual/en/features.file-upload.php> <http://php.net/manual/en/features.file-upload.multiple.php> -- PointedEars Zend Certified PHP Engineer <http://www.zend.com/en/yellow-pages/ZEND024953> | Twitter: @PointedEars2 Please do not cc me. / Bitte keine Kopien per E-Mail.
[toc] | [prev] | [standalone]
Back to top | Article view | de.comp.lang.php
csiph-web