php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.09.2009, 14:15  
Neuer Benutzer
 
Registriert seit: 29.09.2009
Beiträge: 2
PHP-Kenntnisse:
Fortgeschritten
Flokle befindet sich auf einem aufstrebenden Ast
Standard Datei Upload mit Statusanzeige

Hallo ihr Lieben,
kennt ihr folgendes Problem: Ihr erstellt einen Upload Bereich auf eurer Website, um Usern die Möglichkeit zu geben Fotos, etc. hochzuladen und dann wählen diese eine 10 Mb Datei aus und klicken auf "Hochladen", um den Vorgang nach spätestens 30 Sek. mittels der Abbruch Funktion ihres Browsers zu stoppen?
Darauf folgt dann meist: "Du sag mal wieso geht das nicht?" oder "Ist ja total besch...eiden die Seite."
Die hochladbaren Dateien auf eine bestimmte Größe zu beschränken, ist in meinem Fall jedoch auch keine Lösung, da es nicht nur um Bilder geht...

Also habe ich mir folgendes überlegt:

1. Klickt man auf "Hochladen" startet ein Javascript.
2. Dieses Script ändert die Sichtbarkeit eines Layers, das sich über die gesamte Seite legt. Es wird ein Balken angezeigt, der den Fortschritt des Uploads anzeigt.
3. Der Upload ist abgeschlossen, die Seite wird neu geladen, Datei aus dem Temporären Verzeichnis des Servers in ein eigenes kopiert, Layer weg, fertig.

"Oh nein, der Junge spinnt, wie soll das Funktionieren?"
Theoretisch so:
In der Website befindet sich ein Frame, der von dem unter Punkt 1. gestarteten Javascript alle - sagen wir mal - 10 Sek. neu geladen wird.
Quelle des Frames: Ein PHP - Script.
Dieses Script:
Guckt nach, wie Groß die Datei im Temporären Ordner des Servers ist.
Schreibt dies in z.b. ein unsichtbares Inputfeld.

-> Javascript kann den Wert des Input Feldes auslesen.
War die Datei beim letzten Reload des Frames z.B. 10Mb und ist jetzt 12Mb groß, wurden in den letzten 10 Sek. 2Mb hochgeladen.
Sprich 204,8 Kb/sek.

Wie genau sich die Anzeige des Forschritts gestaltet ist nun erstmal unwichtig und nach langer Rede(war denke ich wichtig, um zu verstehen worum es eigentlich geht) komme ich nun auch endgültig zu meinen Fragen:

1. Wie kann ich die Gesamtgröße der Datei vor dem Upload messen (ist vielleicht eher Javascript)?
2. Wie komme ich aus einem zweiten Script (das im Frame geladen wird) an diese eine bestimmte Temporäre Datei. Hier ist zu beachten, dass mehrere User gleichzeitig etwas hochladen können -> mehrere Temp - Files.

Es gibt sicherlich andere Lösungen für einen Upload Status, aber diese erscheint mir auch für Anfänger leicht verständlich, die nur die Grundfunktionen von PHP kennen (Und natürlich Javascript).
...
Sofern sie umsetzbar ist...

Danke, Grüße aus Oldenburg,
Florian Klein
Flokle ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 29.09.2009, 14:48  
Erfahrener Benutzer
 
Registriert seit: 05.02.2009
Beiträge: 1.401
PHP-Kenntnisse:
Fortgeschritten
Destruction ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Und was willst du uns nun damit sagen? lol...
__________________
"Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]
Destruction ist offline  
Alt 29.09.2009, 15:01  
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

Siehe pecl upload progress paket. Geht aber erst ab 5.2. Sollte deine Fragen beantworten
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline  
Alt 29.09.2009, 15:48  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Für PHP gibt es das von rudygotya genannte PECL-Paket upload_progress und der ByteCodeCache APC bietet auch Möglichkeiten zum Upload-Status-Tracking

Ansonsten gibt es auch noch Flash-basierte Datei-uploads die neben der Auswahl von mehr als einer Datei auf einmal auch Statusanzeigen ermöglichen:

http://digitarald.de/project/fancyupload/
JQuery File Upload Plugin Script - JQuery File Upload Script - Uploadify
robo47 ist offline  
Alt 29.09.2009, 16:38  
Neuer Benutzer
 
Registriert seit: 29.09.2009
Beiträge: 2
PHP-Kenntnisse:
Fortgeschritten
Flokle befindet sich auf einem aufstrebenden Ast
Standard

Hm, gehe ich richtig in der Annahme, dass ich dafür die Einstellungen am PHP - Server ändern können muss? Ich hab noch nie mit Extensions gearbeitet, aber soweit ich in den Tutorials durchsteige wird das nicht ganz einfach...
Wie ist das eig. mit den Lizenzen für solche Erweiterungen? Kann ich die auch für kommerzielle Seiten einfach so nutzen?!
Ansonsten schonmal danke für die Tipps
Florian
Flokle ist offline  
Alt 29.09.2009, 17:49  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Die PECL-Erweiterungen stehen meines Wissens nach alle unter freien Lizenzen (PHP-Lizenz, BSD-Like oder GPL), ausserdem willst du ja nicht durch deren Veränderung oder Verkauft Geld verdienen.

Nur um das mal anzumerken, das installieren von Extensions ist nur möglich wenn du einen eigenen Server hast, bei normalem Webspace muss das dein Hoster machen und die installieren sowas eher selten bis nie, falls du also Webspace hast bzw. das System auf normalem Webspace laufen soll wirst du wohl eher nach den Flash-Lösungen schauen müssen.
robo47 ist offline  
 


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
Datei upload Juli092 Scriptbörse 6 22.09.2009 20:58
Upload script datei type falsch erkannt Marti95. PHP Tipps 2009 27 14.09.2009 15:32
Upload geänderter .php Datei und danach werden keine Stylesheets, usw. gefunden... RA75 PHP Tipps 2009 2 17.07.2009 13:54
[Erledigt] Datei Upload im #iframe oder Popup poppaea PHP Tipps 2009 6 25.04.2009 17:22
Upload Problem einer ZIP Datei sven2oo8 PHP-Fortgeschrittene 4 23.07.2008 23:54
bild upload mit txt datei djma PHP Tipps 2006 7 24.05.2006 18:37
Wo bleibt die temporäre Datei beim Upload ggfan PHP Tipps 2006 5 31.03.2006 23:45
PHP Datei Upload Temp-Verzeichnis verlegen php1 PHP-Fortgeschrittene 11 07.02.2006 21:37
Datei Upload Frage imagica PHP Tipps 2006 3 17.01.2006 09:10
Datei Upload sammt Dateisplittung PHP Tipps 2007 4 09.12.2005 12:08
Datei Upload sammt Dateisplittung PHP Tipps 2007 1 09.12.2005 11:36
Problem mit Datei upload PHP Tipps 2005 16 24.03.2005 00:23
Datei beim Upload verschieben? PHP Tipps 2004-2 8 15.12.2004 21:16
Nach datei Upload den namen der datei in DB speichern?? PHP Tipps 2004 14 17.07.2004 15:38
wenn ihr datei upload habt? wo habt ihr webspace? PHP Tipps 2004 6 18.06.2004 20:23

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-einsteiger/59433-datei-upload-mit-statusanzeige.html, php upload mit statusanzeige, php dateien hochladen, php upload statusanzeige, php datei hochladen, datei upload statusanzeige, jquery dateiupload, flash dateiupload, upload script statusanzeige, php statusanzeige, php upload zeit messen, statusanzeige upload, upload status anzeigen, upload statusanzeige, php upload mit status, php upload fortschritt anzeigen, php datei upload mit statusanzeige, upload mit statusanzeige, dateiupload mit statusanzeige, fortschritt datei upload anzeigen php

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:45 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