Portal > Foren > PHP > PHP-Programmierung > PHP Upload-Status + AJAX?
Antwort
 
Themen-Optionen
Alt 17.09.2005, 12:23 Nach oben    #1
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard PHP Upload-Status + AJAX?

Hallo,
Vorweg - ich hatte diesen Beitrag auch bei php.de gepostet, aber da in diesem Forum (zu Recht) die "Elite" unterwegs ist, möchte ich sie gerne hier stellen.

Ich hatte mir mal Gedanken über eine Fortschrittsanzeige in PHP gemacht.
Klar, man müsste das HTTP-Protokoll regelrecht vergewaltigen um eine solche Funktion zu erreichen. Da die ganzen Bits & Bytes ja erst beim Webserver eintrudeln, und PHP danach das Script ausführt, ist und bleibt es ganz einfach unmöglich an die Dateigröße und an den tempoären Namen der Datei ranzukommen.

Also musste ich mir etwas anderes überlegen..
Handshake wird wohl nicht gehen, weil das HTTP Protokoll einfach ganz anders aufgebaut ist.

Nun hatte ich mir überlegt, dass bei jedem Upload ein spezieller Upload-Temp Ordner angelegt wird. (uniqid(rand(...))), in welcher die hochzuladende Datei dann auch hochgeladen wird.
Ein Versuch wäre es ja mit ini_set('upload_tmp_dir', $uploadDir);

Doch da PHP ja das Script erst NACH dem Upload ausführt, wäre wohl auch diese Möglichkeit ausgefallen, denn diese ini_set Einstellung wird nach Beenden eines PHP-Scriptes wieder restored - sollte ich diese Einstellung also im Upload-Formular verändern, würde es in der PHP-Datei zum Upload wieder rückgängig gemacht worden sein.

Ich werf jetzt einfach mal eine Frage auf: Wäre es nicht eventuell möglich, da AJAX ins Spiel zu bringen?
(Für alle die nicht wissen was AJAX ist http://de.wikipedia.org/wiki/AJAX )
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.09.2005, 12:33 Nach oben    #2
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.180
Standard

was damit theorhetisch möglich sein sollte (zumindest über ein frameset oder so)

anzuzeigen wie viel schon oben ist, theorhetisch, ein script, was die größer der gerade hochladenden datei im verzeichnis über php ausliest, das läuft dnan im anderen frame, aber die probleme die du hast:

1) eindeutige auswertung wer welche datei grad hochlädt, spätestens wenn 2 benutzer synchron was hochladen wirds problematisch
2) man kommt wohl nicht an die Größe der Datei ran, zumindest glaube ich nicht, dass die bekannt ist bevor die Datei oben ist. -> also wenn dann nur eine anzeige der bis jetzt hochgeladenen größe.

ansonsten 2 themen zum thema bei php.de:
http://www.php.de/forum/ftopic15558-0-asc-10.html

http://www.php.de/forum/ftopic34825-0.html
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.09.2005, 13:01 Nach oben    #3
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Also,
ich habe mir beide Threads des öfteren schon durchgelesen. Die Sache mit dem PHP Patch ist zwar ganz interessant, jedoch nicht unbedingt zu gebrauchen - vorallem wenn man denn dann sein UploadScript veröffentlichen möchte.

Die Sache mit dem synchron-hochladen ist mir auch schon in den Kopf geschossen, hatte ich aber wieder verworfen, denn bei meiner Community kann es ja durchaus sein, dass 2 User fast gleichzeitig ihren Upload (bei mir nur Bilderupload) starten.

Zwar wäre es nicht dramatisch, denn ein Bildupload dauert (je nach Verbindungsgeschwindigkeit des Clienten) höchtens 10-15 Sekunden, in der Zeit könnte ich ja das Upload-Formular einfach deaktivieren, mit einer Meldung dass man es in ein paar Sekunden nochmal versuchen sollte.

Es gibt schon ein paar Perl scripte(á la http://sourceforge.net/projects/megaupload/ ), jedoch sollte das ganze ohne Perl/Java von statten gehen, eben mit einem Workaround in PHP..
__________________
http://www.ChrisDiary.De

Geändert von Chr!s (17.09.2005 um 13:04 Uhr).
Chr!s ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.09.2005, 14:44 Nach oben    #4
Corvin Gröning
 
Benutzerbild von Corvin
 
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 449
Standard

Zitat:
Zitat von Chr!s
in der Zeit könnte ich ja das Upload-Formular einfach deaktivieren, mit einer Meldung dass man es in ein paar Sekunden nochmal versuchen sollte.
Was ich schon öfters gesehen habe und ich recht schöne finde, ist, dass während die Datei hochgeladen wird, ein Pop-Up aufspringt, in dem dann steht "Die Datei wird hochgeladen, einen Moment bitte..." und zusätzlich ist dort dann ein Ladebalken, der sich ständig von einer Seite zur anderen bewegt, damit niemand auf die Idee kommt, der PC sei hängen geblieben oder sowas.
__________________
Corvin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.09.2005, 17:38 Nach oben    #5
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Zitat:
Was ich schon öfters gesehen habe und ich recht schöne finde, ist, dass während die Datei hochgeladen wird, ein Pop-Up aufspringt, in dem dann steht "Die Datei wird hochgeladen, einen Moment bitte..." und zusätzlich ist dort dann ein Ladebalken, der sich ständig von einer Seite zur anderen bewegt, damit niemand auf die Idee kommt, der PC sei hängen geblieben oder sowas.
Sowas hatte ich derzeit als Lösung eingebaut, jedoch wäre ein Uploadstatus sicher noch komfortabler..
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.09.2005, 17:54 Nach oben    #6
Corvin Gröning
 
Benutzerbild von Corvin
 
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 449
Standard

Sicher wäre es das, aber ist das wirklich nötig, wenn sowieso nur kleine Bilder hochgeladen werden?
__________________
Corvin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.09.2005, 19:27 Nach oben    #7
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.180
Standard

ab nem gewissen punkt lässt sich halt komfortabilität nur noch mit anderen mitteln erreichen und da würde ich dann einfach zu java greifen, ich muss sagen da gibts schon geile plugins besonders wenns an multi-uploader geht :=
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.11.2005, 22:14 Nach oben    #8
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Hier mal was ganz feines:
http://nodivisions.com/uploaddemo/
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.11.2005, 09:20 Nach oben    #9
Goldman.de
 
Benutzerbild von J33d3X
 
Registriert seit: 09.10.2005
Ort: Frankfurt am Main
Beiträge: 190
Standard

theoretisch ...

wenn die ajaxengine einen request zu einer *php setzt und die kommunikation dann nur unter den beiden läuft ( desweiteren ... ) die php anwendung im tmp upload die grösse des uploadfiles ausliest und -> mit der org. grösse die von ajax übergeben wurde ....

als gedankenansatz sollte es ja helfen ....


mfg
J33d3X ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.11.2005, 13:07 Nach oben    #10
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.180
Standard

das problem ist doch dass man auch mit ajax alleine doch nicht an die größe der datei rankommt bevor sie hochgeladen ist oder ?
alle lösungen die ich bis jetzt gesehen habe, haben alle anstatt auf php auf perl gesetzt.

mfg
robo47
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.11.2005, 17:38 Nach oben    #11
Goldman.de
 
Benutzerbild von J33d3X
 
Registriert seit: 09.10.2005
Ort: Frankfurt am Main
Beiträge: 190
Standard

@robo ... das ist das prob bei php da es serverseitig ist
ajax ist clientseitig

daher meine überlegung ...
J33d3X ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.11.2005, 15:33 Nach oben    #12
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Vielleicht hilft es ja wem?
http://encodable.com/tech/ajaxupload/
Hab mir das jetzt nicht angeschaut .. bin nur gerade beim Surfen drübergestolpert .
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.11.2005, 15:36 Nach oben    #13
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

==
Zitat:
Zitat von Chr!s
Hier mal was ganz feines:
http://nodivisions.com/uploaddemo/
:-P
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.11.2005, 15:51 Nach oben    #14
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Oh. Joa. Hab ich dann wohl mal nicht aufgepasst.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

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 aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP 5.2 Kompilierung schlägt fehl Byrel Tools, Server, Betriebssysteme 0 03.11.2006 21:09
PHP 5.1.5, PHP 4.4.4 und PHP 5.2.0 RC2 veröffentlicht Ben Nachrichten 2 01.09.2006 16:05
PHP Ajax empfehlung spoensche Gesuche 11 19.04.2006 10:14
PHP 5.1 ist drausen robo47 Nachrichten 5 28.11.2005 20:30
Neue PHP "release candidates": PHP 4.4.2 RC 1 und PHP 5.1 RC 6 Ben Nachrichten 1 21.11.2005 20:48


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:23 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44