Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #3964 > unrolled thread
| Started by | Detlef Paschke <schabau@t-online.de> |
|---|---|
| First post | 2016-09-30 22:10 +0200 |
| Last post | 2016-10-02 18:45 +0000 |
| Articles | 10 — 4 participants |
Back to article view | Back to de.comp.lang.php
Upload größe vorher ermitteln Detlef Paschke <schabau@t-online.de> - 2016-09-30 22:10 +0200
Re: Upload größe vorher ermitteln Detlef Paschke <schabau@t-online.de> - 2016-09-30 22:39 +0200
Re: Upload größe vorher ermitteln Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-09-30 21:12 +0000
Re: Upload größe vorher ermitteln Detlef Paschke <schabau@t-online.de> - 2016-10-01 14:02 +0200
Re: Upload größe vorher ermitteln "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-10-01 15:09 +0200
Re: Upload größe vorher ermitteln Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-10-01 17:18 +0200
Re: Upload größe vorher ermitteln "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-10-01 19:37 +0200
Re: Upload größe vorher ermitteln Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-10-01 18:54 +0000
Re: Upload größe vorher ermitteln "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-10-01 22:47 +0200
Re: Upload größe vorher ermitteln Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-10-02 18:45 +0000
| From | Detlef Paschke <schabau@t-online.de> |
|---|---|
| Date | 2016-09-30 22:10 +0200 |
| Subject | Upload größe vorher ermitteln |
| Message-ID | <nsmgqu$kv8$1@solani.org> |
Hallo an alle, ich habe eine Frage bzw. ein Problem, von der ich selbst annehme, dass es mit php dafür keine Lösung gibt. Ich habe hier ein einfaches Uploadscript mit welchem man per POST einzelne Dateien auf meinen Server laden kann. Vor kurzem hat sich ein Problem gezeigt, als jemand eine Datei hochladen wollte die wenige bit größer war als die max. zulässige Größe die im Script angegeben ist. Die Sache ist die, dass im Script und in der php-Config der selbe Wert für PHP5_MAX_POST_SIZE angegeben war und somit gab es keine Rückmeldung vom Script mehr dass der Download zu groß war da das Script bereits abgebrochen wurde. Ich möchte aber in der php-Config auch nicht einen unendlichen Wert eintragen. Gibt es oder kann es mit php einen Weg geben bereits bereits vor dem Upload einer Datei deren Größe auszuwerten? Ich kann es mir derzeit noch nicht vorstellen aber evtl. hat ja hier jemand eine Idee dazu. Viele Grüße Detlef Paschke -- registered Fli4l-User #00000209 Das "Zitat des Augenblicks" gibt es nur auf http://www.schabau.goip.de
[toc] | [next] | [standalone]
| From | Detlef Paschke <schabau@t-online.de> |
|---|---|
| Date | 2016-09-30 22:39 +0200 |
| Message-ID | <nsmih7$m2q$1@solani.org> |
| In reply to | #3964 |
Am 30.09.2016 um 22:10 schrieb Detlef Paschke: > Gibt es oder kann es mit php einen Weg geben bereits bereits vor dem > Upload einer Datei deren Größe auszuwerten? Ich kann es mir derzeit noch > nicht vorstellen aber evtl. hat ja hier jemand eine Idee dazu. Evtl. bei bzw. nach der Auswahl der Datei die Dateieigenschaften auslesen und bewerten? Viele Grüße Detlef Paschke -- registered Fli4l-User #00000209 Das "Zitat des Augenblicks" gibt es nur auf http://www.schabau.goip.de
[toc] | [prev] | [next] | [standalone]
| From | Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) |
|---|---|
| Date | 2016-09-30 21:12 +0000 |
| Message-ID | <1t57eed4d4i12c3n3e8%sfroehli@Froehlich.Priv.at> |
| In reply to | #3964 |
On Fri, 30 Sep 2016 22:10:06 Detlef Paschke wrote: > Vor kurzem hat sich ein Problem gezeigt, als jemand eine Datei > hochladen wollte die wenige bit größer war als die max. zulässige > Größe die im Script angegeben ist. [...] > Gibt es oder kann es mit php einen Weg geben bereits bereits vor > dem Upload einer Datei deren Größe auszuwerten? Nicht nur in PHP: Du kannst im Formular eine hidden-Variable mit dem Namen MAX_FILE_SIZE setzen und dort die max. zulässige Dateigröße in Bytes hineinschreiben. Auswerten muss das natürlich der Browser, aber die gängigen Exemplare tun das, und für alle anderen gibt es dann immer noch das serverseitige Limit als Fallback. Servus, Stefan -- http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich Offizieller Erstbesucher(TM) von mmeike Der Hit der Saison: Stefan - spüren, so selten wie nötig! (Sloganizer)
[toc] | [prev] | [next] | [standalone]
| From | Detlef Paschke <schabau@t-online.de> |
|---|---|
| Date | 2016-10-01 14:02 +0200 |
| Message-ID | <nso8l8$l2g$1@solani.org> |
| In reply to | #3966 |
Am 30.09.2016 um 23:12 schrieb Stefan Froehlich: Hallo Stefan, > Nicht nur in PHP: Du kannst im Formular eine hidden-Variable mit dem > Namen MAX_FILE_SIZE setzen und dort die max. zulässige Dateigröße in > Bytes hineinschreiben. > > Auswerten muss das natürlich der Browser, aber die gängigen > Exemplare tun das, und für alle anderen gibt es dann immer noch das > serverseitige Limit als Fallback. das ist ja in meinem Script hinterlegt wie ich bereits geschrieben habe. Das Problem dabei ist aber, dass die Dateigröße erst nach dem erfolgtem Upload ausgewertet wird. Ist der Upload nun noch größer als das Limit unter PHP5_MAX_POST_SIZE in der php-Config wird das Script abgebrochen und der Uploader erhält auch keine Meldung mehr, dass der Upload zu groß war. Funktionieren würde es, so wie ich es sehe nur, wenn bereits vor dem Upload die Dateieigenschaften ausgewertet werden. > Servus, > Stefan > Viele Grüße Detlef Paschke -- registered Fli4l-User #00000209 Das "Zitat des Augenblicks" gibt es nur auf http://www.schabau.goip.de
[toc] | [prev] | [next] | [standalone]
| From | "Christoph M. Becker" <cmbecker69@arcor.de> |
|---|---|
| Date | 2016-10-01 15:09 +0200 |
| Message-ID | <nsociq$ngn$1@solani.org> |
| In reply to | #3967 |
Am 01.10.2016 um 14:02 schrieb Detlef Paschke: > Am 30.09.2016 um 23:12 schrieb Stefan Froehlich: > >> Nicht nur in PHP: Du kannst im Formular eine hidden-Variable mit dem >> Namen MAX_FILE_SIZE setzen und dort die max. zulässige Dateigröße in >> Bytes hineinschreiben. >> >> Auswerten muss das natürlich der Browser, aber die gängigen >> Exemplare tun das, und für alle anderen gibt es dann immer noch das >> serverseitige Limit als Fallback. > > das ist ja in meinem Script hinterlegt wie ich bereits geschrieben habe. > Das Problem dabei ist aber, dass die Dateigröße erst nach dem erfolgtem > Upload ausgewertet wird. Ist der Upload nun noch größer als das Limit > unter PHP5_MAX_POST_SIZE in der php-Config wird das Script abgebrochen > und der Uploader erhält auch keine Meldung mehr, dass der Upload zu groß > war. > Funktionieren würde es, so wie ich es sehe nur, wenn bereits vor dem > Upload die Dateieigenschaften ausgewertet werden. Das kann der Server aber nicht machen, weil er die Informationen ja vor dem Upload noch nicht hat. Abhilfe schaffen kann u.U. ein clientseitiges Script. Siehe z.B. <http://www.plupload.com/>; auch wenn Du Plupload nicht verwenden willst, kannst Du Dir die Implementierung ja mal anschauen. -- Christoph M. Becker
[toc] | [prev] | [next] | [standalone]
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Date | 2016-10-01 17:18 +0200 |
| Message-ID | <1624504.tdWV9SEqCh@PointedEars.de> |
| In reply to | #3966 |
Stefan Froehlich wrote: > […] Du kannst im Formular eine hidden-Variable mit dem > Namen MAX_FILE_SIZE setzen und dort die max. zulässige Dateigröße in > Bytes hineinschreiben. > > Auswerten muss das natürlich der Browser, aber die gängigen > Exemplare tun das, […] Kannte ich noch nicht; Referenz? In jedem Fall wäre das keine "hidden- Variable". -- 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-01 19:37 +0200 |
| Message-ID | <nsos8n$2u5$1@solani.org> |
| In reply to | #3969 |
Am 01.10.2016 um 17:18 schrieb Thomas 'PointedEars' Lahn: > Stefan Froehlich wrote: > >> […] Du kannst im Formular eine hidden-Variable mit dem >> Namen MAX_FILE_SIZE setzen und dort die max. zulässige Dateigröße in >> Bytes hineinschreiben. >> >> Auswerten muss das natürlich der Browser, aber die gängigen >> Exemplare tun das, […] > > Kannte ich noch nicht; Referenz? In jedem Fall wäre das keine "hidden- > Variable". Soweit ich weiß, ist die browserseitige Berücksichtigung von MAX_FILE_SIZE frommes Wunschdenken. Die Aussagen in einem entsprechenden StackOverflow-Thread[1] bestätigen das (auch wenn Christian Weisske behauptet, dass es von Opera 11 berücksichtigt wird). Ausgewertet wird es aber auf jeden Fall von PHP[2], aber das eben erst nach dem Upload. [1] <http://stackoverflow.com/questions/1381364/max-file-size-in-php-whats-the-point> [2] <https://github.com/php/php-src/blob/PHP-7.0.11/main/rfc1867.c#L914> -- Christoph M. Becker
[toc] | [prev] | [next] | [standalone]
| From | Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) |
|---|---|
| Date | 2016-10-01 18:54 +0000 |
| Message-ID | <1t57f00579i4713n3e8%sfroehli@Froehlich.Priv.at> |
| In reply to | #3969 |
On Sat, 01 Oct 2016 17:18:35 Thomas 'PointedEars' Lahn wrote: > Stefan Froehlich wrote: > > […] Du kannst im Formular eine hidden-Variable mit dem > > Namen MAX_FILE_SIZE setzen und dort die max. zulässige Dateigröße in > > Bytes hineinschreiben. > > Auswerten muss das natürlich der Browser, aber die gängigen > > Exemplare tun das, […] > Kannte ich noch nicht; Referenz? In jedem Fall wäre das keine "hidden- > Variable". <https://secure.php.net/manual/en/features.file-upload.post-method.php> erwähnt das so im ersten Codesnippet. Als ich das vor Jahren einmal ausprobiert hatte, war mein (IIRC Firefox) in der Lage, die Größenüberschreitung zu erkennen. Ich gebe zu, seitdem habe ich das nicht mehr nachgeprüft - sollte sich die Unterstützung geändert haben, ist das durchaus schade, denn wiewohl das keinerlei *Sicherheit* bietet, ist/war es doch ausgesprochen *praktisch*. Das als "hidden-Variable" zu bezeichnen, scheint mir der Verständlichkeit am nächsten zu kommen, auch wenn es natürlich insofern nicht stimmt, als dass sie - ggf. - am falschen Ende des Kommunikationswegs ausgewertet wird. Servus, Stefan -- -- http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich Offizieller Erstbesucher(TM) von mmeike Stefan - die endgültige Komparation von gross! (Sloganizer)
[toc] | [prev] | [next] | [standalone]
| From | "Christoph M. Becker" <cmbecker69@arcor.de> |
|---|---|
| Date | 2016-10-01 22:47 +0200 |
| Message-ID | <nsp7cd$a85$1@solani.org> |
| In reply to | #3971 |
Am 01.10.2016 um 20:54 schrieb Stefan Froehlich: > On Sat, 01 Oct 2016 17:18:35 Thomas 'PointedEars' Lahn wrote: > >> Stefan Froehlich wrote: >> >>> […] Du kannst im Formular eine hidden-Variable mit dem >>> Namen MAX_FILE_SIZE setzen und dort die max. zulässige Dateigröße in >>> Bytes hineinschreiben. > >>> Auswerten muss das natürlich der Browser, aber die gängigen >>> Exemplare tun das, […] > >> Kannte ich noch nicht; Referenz? In jedem Fall wäre das keine "hidden- >> Variable". > > <https://secure.php.net/manual/en/features.file-upload.post-method.php> > erwähnt das so im ersten Codesnippet. Als ich das vor Jahren einmal > ausprobiert hatte, war mein (IIRC Firefox) in der Lage, die > Größenüberschreitung zu erkennen. Ich gebe zu, seitdem habe ich das nicht > mehr nachgeprüft - sollte sich die Unterstützung geändert haben, ist das > durchaus schade, denn wiewohl das keinerlei *Sicherheit* bietet, ist/war > es doch ausgesprochen *praktisch*. War es wirklich der Browser, der den Upload verhindert hat, oder kann es sein, dass es PHP war, das die Größenbegrenzung berücksichtigt hat? Sprich, wurde der Request wirklich ausgeführt? Interessant ist diesbezüglich nämlich <https://bugs.php.net/48437>, was wohl völlig missverstanden wurde, vielleicht weil der Reporter "expected result" und "actual result" verwechselt hat. Oder ist PHP (zumindest unter manchen SAPIs) in der Lage, den Request frühzeitig zu beenden, so dass nicht alle Daten übertragen werden müssen? -- Christoph M. Becker
[toc] | [prev] | [next] | [standalone]
| From | Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) |
|---|---|
| Date | 2016-10-02 18:45 +0000 |
| Message-ID | <1t57f15480i26f9n3e8%sfroehli@Froehlich.Priv.at> |
| In reply to | #3972 |
On Sat, 01 Oct 2016 22:47:21 Christoph M. Becker wrote: > Am 01.10.2016 um 20:54 schrieb Stefan Froehlich: > >>> [MAX_FILE_SIZE] > > <https://secure.php.net/manual/en/features.file-upload.post-method.php> > > erwähnt das so im ersten Codesnippet. Als ich das vor Jahren einmal > > ausprobiert hatte, war mein (IIRC Firefox) in der Lage, die > > Größenüberschreitung zu erkennen. Ich gebe zu, seitdem habe ich das nicht > > mehr nachgeprüft - sollte sich die Unterstützung geändert haben, ist das > > durchaus schade, denn wiewohl das keinerlei *Sicherheit* bietet, ist/war > > es doch ausgesprochen *praktisch*. > War es wirklich der Browser, der den Upload verhindert hat, oder kann es > sein, dass es PHP war, das die Größenbegrenzung berücksichtigt hat? > Sprich, wurde der Request wirklich ausgeführt? Gute Frage. Ich hätte Stein und Bein geschworen, dass dem so gewesen ist, aber die Variable ist (wenigstens) 15 Jahren konsequent in allen meinen Upload-Formularen, der Versuch fand also wohl irgendwann um die Jahrtausendwende herum statt. Und wenn ich mir <http://stackoverflow.com/questions/1381364/> durchlese, dann kann mich eigentlich nur mein Gedächtnis trügen - was schade ist. Servus, Stefan -- http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich Offizieller Erstbesucher(TM) von mmeike Happy mit Stefan, herzig und topfit! (Sloganizer)
[toc] | [prev] | [standalone]
Back to top | Article view | de.comp.lang.php
csiph-web