Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.php > #3964 > unrolled thread

Upload größe vorher ermitteln

Started byDetlef Paschke <schabau@t-online.de>
First post2016-09-30 22:10 +0200
Last post2016-10-02 18:45 +0000
Articles 10 — 4 participants

Back to article view | Back to de.comp.lang.php


Contents

  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

#3964 — Upload größe vorher ermitteln

FromDetlef Paschke <schabau@t-online.de>
Date2016-09-30 22:10 +0200
SubjectUpload 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]


#3965

FromDetlef Paschke <schabau@t-online.de>
Date2016-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]


#3966

FromStefan+Usenet@Froehlich.Priv.at (Stefan Froehlich)
Date2016-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]


#3967

FromDetlef Paschke <schabau@t-online.de>
Date2016-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]


#3968

From"Christoph M. Becker" <cmbecker69@arcor.de>
Date2016-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]


#3969

FromThomas 'PointedEars' Lahn <PointedEars@web.de>
Date2016-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]


#3970

From"Christoph M. Becker" <cmbecker69@arcor.de>
Date2016-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]


#3971

FromStefan+Usenet@Froehlich.Priv.at (Stefan Froehlich)
Date2016-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]


#3972

From"Christoph M. Becker" <cmbecker69@arcor.de>
Date2016-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]


#3973

FromStefan+Usenet@Froehlich.Priv.at (Stefan Froehlich)
Date2016-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