php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.12.2010, 07:06  
Neuer Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
tobobant befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Upload: Dateigröße VOR Start des Uploads ermitteln

Hi,

ich möchte gerne in meinem Upload-Script clientseitig die Größe des Uploads ermitteln.

Der Server rennt mit dem APC plugin und ich könnte auch uploadprogress installieren, nur hab ich zur Entwicklung unter anderem eine XAMPP 1.7.3 Installation und dafür finde ich kein uploadprogress plugin. Auf http://downloads.php.net/pierre/ ebenfalls nicht fündig geworden (brauch php 5.3.1 + vc6 support).

Ich könnte über APC die Gesamtgröße auslesen und anschließend den Upload abbrechen. Finde ich aber unschön, da ja zum Zeitpunkt wenn ich über APC die Gesamtgröße auslesen kann schon ein paar Daten übertragen wurden.
Zudem hab ich leider keine Antwort gefunden wie ich einen Upload abbreche ohne den User auf eine andere seite weiterzuladen. Ich möchte den User auf der gleichen Seite lassen, nur das submit abbrechen.

Javascript kann nicht so weit auf Dateien zugreifen als dass es die Größe ermitteln könnte.

Was bleibt mir clientseitig als Lösung? Kann Flash Dateigrößen auslesen (ich glaube nicht, bin mir aber nicht sicher)!? Oder muss ich die resourcenfressende Java VM dafür anschmeißen? Find ich auch unschön.


Kurz gefragt:
1. Clientseitiges ermitteln der Upload-Dateigröße nur mit Java VM möglich?
2. Wie brech ich einen gestarten Upload ab bevor die Datei hochgeladen wurde ohne umzuleiten?

Gruß,
tobobant
tobobant ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.12.2010, 10:05  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

3) du könntest natürlich eine maxuploadsize angeben (genaue Schreibweise bitte google / selfhtml befragen) und zusätzlich absichern, dass die Quelle für den Upload-Versuch dein Script ist ....

Wenn eine Datei größer als diese Grenze hochgeladen werden soll, "macht der Browser dicht" und es erfolgt gar kein submit
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 06.12.2010, 14:20  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.167
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

Aber besonders sicher ist es nicht - Es reicht ja schon, in Firebug das Attribut zu entfernen
xm22 ist offline   Mit Zitat antworten
Alt 06.12.2010, 14:43  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

ja - hatte ich vergessen zu erwähnen ... Sicher ist Upload auf dem Server prüfen - und das kannst du eigentlich erst tun, wenn er hochgeladen wurde .. was eben bei großen Dateien dir den Server zumüllt und andererseits auch ewig dauert , bei den üblichen asynchronen Leitungen in Deutschland ....(frag mich sowieso , warum das SpitzentechnologieLand Deutschland das nicht hinkriegt und das InternetEntwicklungsland (zumindest nach dem Bürgerkriegsähnlichen Zuständen) Slowenien das locker hinkriegt mit synchronen 10 / 10 oder 30 / 30 und sehr preiswert dazu)
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 06.12.2010, 19:44  
Neuer Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
tobobant befindet sich auf einem aufstrebenden Ast
Standard

Danke für die Antworten, aber das ist keine Lösung für mich.

Das was Du meinst ist wohl sowas:
PHP-Code:
<input type="hidden" name="MAX_FILE_SIZE" value="<max-size-in-byte>"
Das verhindert aber durchaus nicht in jedem Browser den Upload. Die Datei wird trotz dieses Parameters hochgeladen und irgendwo hab ich mal gelesen, dass es keinen Browser gibt der diesen Wert ernst nimmt (oder war das nur in Bezug auf maxlength?).

Ich möchte bevor überhaupt auch nur der kleinste Fitzel des Formulars abgesendet wird dem user sagen: Hör mal zu, Datei ist zu groß!

Warum? Wenn schon Daten gesendet werden ist das für mich aus Programmierersicht unschön und ich hasse nix mehr als unschönen Code, wenn es doch anders geht.

Z.B. Rapidshare.com geht da mit gutem Beispiel vorran und sagt einem User dass die Datei größer ist als 500 MB und das mitm Upload nix wird.

Hat jemand noch eine andere Lösung?

Gruß,
tobobant

Edit: Ich weiss dass es nur sicher ist, wenn aufm Server die Größe und alles drum herum übeprüft wird. Ich will nur dem User ersparen, dass er nach 2 GB upload dann nur vom Server die Meldung bekommt: Datei ist zu Groß, pech gehabt! (Benutzerfreundlich ist was anderes )
tobobant ist offline   Mit Zitat antworten
Alt 06.12.2010, 19:45  
Neuer Benutzer
 
Registriert seit: 29.07.2009
Beiträge: 17
PHP-Kenntnisse:
Fortgeschritten
raw-venture-ad befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von tobobant Beitrag anzeigen
Hi,
Kurz gefragt:
1. Clientseitiges ermitteln der Upload-Dateigröße nur mit Java VM möglich?
Klar geht das clientseitig ohne Java VM. Mit SWFUpload.
Ist eine Kombination aus Flash und Javascript. Die JS Klasse stellt dir dann auch Infos über die ausgewählte Datei (inkl. Größe) und auch die notwendigen Callback Funktionen bereit.
__________________
Creating Word documents "on the fly" with PHP: PHPWord
raw-venture-ad ist offline   Mit Zitat antworten
Alt 06.12.2010, 20:14  
Neuer Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
tobobant befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von raw-venture-ad Beitrag anzeigen
Klar geht das clientseitig ohne Java VM. Mit SWFUpload.
Danke, werd ich heute abend noch testen. Wenn das wie beschrieben funktioniert, dann ist das die Lösung.
tobobant ist offline   Mit Zitat antworten
Alt 06.12.2010, 21:29  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Mit der HTML5 File API wird das in Zukunft auch per JavaScript möglich sein. (Bzw. in ein paar Browsern schon heute, bspw. FF 3.6)
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 18.12.2010, 16:27  
Neuer Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
tobobant befindet sich auf einem aufstrebenden Ast
Standard

Sooo.... Sorry für die verspätete Rückmeldung.

Zitat:
Zitat von raw-venture-ad Beitrag anzeigen
Klar geht das clientseitig ohne Java VM. Mit SWFUpload.
Ist mir jetzt doch zu umfangreich um nur die Filesize zu überprüfen. Ich will nicht den ganzen Upload auf SWFUpload umbauen.

Realisiert hab ich es jetzt über das Arrays das ich bei einer asynchronen Abfrage des Upload erhalten und welches einen 'total' Wert (die Gesamtgröße des Uploads) angibt. Ist dieser zu groß, wird per JavaScript einfach die window.location auf die Error-Seite gesetzt die den User über die Überschreitung der maximalen Upload-Größe informiert.

Das geht schnell genug als dass der User nicht wirklich etwas davon mitbekommt... nur die zuvor gemachten Eingaben müssen dann halt neu gemacht werden.

Hat der User kein Javascript aktiv und ist der Upload zu groß, dann hat er Pech gehabt und der Vorgang wird Serverseitig nach Abschluss des Uploads nicht weiter bearbeitet. Zum Glück kostet mich bei meinem Hoster eingehender Traffic nichts und auf das bisschen overhead traffic (ausgehend) kann ich bei der Traffickalkulation gut verzichten.

Danke für Eure Antworten. Thema hat sich somit erledigt.
tobobant ist offline   Mit Zitat antworten
Alt 18.12.2010, 20:00  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Was, wenn ich ne ISO reinpacke und 3kb/s upstream habe?
Zitat:
Realisiert hab ich es jetzt über das Arrays das ich bei einer asynchronen Abfrage des Upload erhalten und welches einen 'total' Wert (die Gesamtgröße des Uploads) angibt. Ist dieser zu groß, wird per JavaScript einfach die window.location auf die Error-Seite gesetzt die den User über die Überschreitung der maximalen Upload-Größe informiert.
Sprichst du von $_FILE ?
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
ermitteln der Dateigröße (upload) dauert zu lang spaziergänger PHP Tipps 2010 5 12.11.2010 12:17
Dateigröße bei Upload? buguser PHP Tipps 2010 7 10.06.2010 23:43
Dateigröße ermitteln Smily0412 PHP Tipps 2006 8 30.01.2006 20:30
Dateiname, Dateigröße ermitteln HTML, Usability und Barrierefreiheit 5 29.01.2006 22:16
PHP Upload Dateigröße ermitteln? PHP Tipps 2004 9 22.08.2004 13:48

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
javascript dateigröße ermitteln, php dateigröße vor upload prüfen, javascript upload dateigröße, dateigröße vor upload prüfen, javascript dateigröße, dateigröße vor upload ermitteln, http://www.php.de/javascript-ajax-und-mehr/74740-upload-dateigroessye-vor-start-des-uploads-ermitteln.html, javascript dateigröße vor upload, javascript dateigröße upload, dateigröße vor upload auslesen, php dateigröße vor upload ermitteln, bildergröße for upload prüfen, bildgröße vor upload prüfen, dateigröße vor upload bestimmen, php input max_file_size upload abbricht, ajax dateigröße ermitteln, javascript dateigröße vor upload ermitteln, upload javascript dateigröße, php dateigröße vor upload überprüfen, javascript dateigröße prüfen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:19 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum