Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]12464[/thread]

Ein bisschen AJAX mit Perl (Seite 2)

Leser: 3


<< |< 1 2 3 >| >> 24 Einträge, 3 Seiten
moritz
 2008-09-09 23:44
#114452 #114452
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
cbxk1xg+2008-09-09 21:29:17--
Danke GwenDragon. Das Modul scheidet leider aus. Ist ein normaler Webspace.


Ein Webspace, bei dem keine Core-Module zur Verfügung stehen? Wo gibts denn sowas?
jan
 2008-09-09 23:50
#114453 #114453
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
moritz+2008-09-09 21:44:35--
cbxk1xg+2008-09-09 21:29:17--
Danke GwenDragon. Das Modul scheidet leider aus. Ist ein normaler Webspace.


Ein Webspace, bei dem keine Core-Module zur Verfügung stehen? Wo gibts denn sowas?


ich vermute, da ging's eher um das von Gwen im anderen Thread vorgeschlagene:

GwenDragon+2008-09-08 18:25:55--
WIe z. B. CPAN:Apache2-UploadProgress
cbxk1xg
 2008-09-09 23:53
#114454 #114454
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Richtig. Apache2-UploadProgress gibts leider nicht.
pq
 2008-09-09 23:59
#114455 #114455
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
cbxk1xg+2008-09-09 21:29:17--
Das Beispiel mit...
Code (perl): (dl )
1
2
3
4
5
6
7
8
$q = CGI->new();
 $q->upload_hook(\&hook,$data);

 sub hook
 {
        my ($filename, $buffer, $bytes_read, $data) = @_;
        print  "Read $bytes_read bytes of $filename\n";         
 }


...verstehe ich ehrlich gesagt nicht. Was genau ist der Unterschied zu meiner Lösung (die ja nicht funktioniert) und wie könnte man das in meinen Code einbauen?

das problem mit diesem code ist, dass zuerst das CGI-objekt erstellt wird, und da muss der upload
gemacht werden. erst danach upload_hook zu machen, ist ziemlich sinnlos.
was gefällt dir an meinem tip nicht?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
cbxk1xg
 2008-09-10 00:17
#114456 #114456
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Mir gefällt der Code. Der Sinn ist mir auch klar. Ich verstehe nur zwei Dinge nicht.

1. Wo muss der eigentliche Upload-Code rein und...
2. Wie bekomme ich während des Uploads den Wert von $bytes_read

Oder noch mal anders ausgedrückt: Wie verheirate ich meinen Code-Schnipsel mit Deinem?
pq
 2008-09-10 00:41
#114458 #114458
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
cbxk1xg+2008-09-09 22:17:12--
Mir gefällt der Code. Der Sinn ist mir auch klar. Ich verstehe nur zwei Dinge nicht.

1. Wo muss der eigentliche Upload-Code rein und...
2. Wie bekomme ich während des Uploads den Wert von $bytes_read

Oder noch mal anders ausgedrückt: Wie verheirate ich meinen Code-Schnipsel mit Deinem?

du lässt deinen code, wie er ist, du fügst nur beim CGI->new die subreferenz \&hook ein.
und in der subroutine hook kannst du dann gucken, wieviel schon eingelesen wurde.
was du dann mit dieser info machst, musst du dir überlegen. ich schreibe sie in eine
temporäre datei, die ich dann im browser anzeigen kann.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
cbxk1xg
 2008-09-10 16:56
#114493 #114493
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Ich bin leider eine absolute Null wenn es um OOP geht. Daher verstehe ich das überhaupt nicht. :-( Ich musste bisher kein neues Objekt erzeugen um den Upload zu realisieren. Ich habe den Code von pq eingebaut und probiert. Leider ziemlich erfolglos. Das Hochladen selbst funktioniert, aber ich kann nichts in die Status-Datei schreiben und verstehe auch nicht wie ich diese während des Uploads auslesen kann

Ich bekomme den Zusammenhang irgendwie nicht gebacken. Ich habe das gesamte Projekt mal hoch geladen. Vielleicht kann mir jemand helfen. Link: http://w2m.de/vl/vl.zip

Es ist nicht besonders groß und es ist auch eigentlich nichts besonderes. Nur ein ganz normales, nett aussehendes Upload-Script.

Ich bin für jede Hilfe echt dankbar!
Struppi
 2008-09-10 17:48
#114507 #114507
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
Das hat nichts mit OOP zu tun. Das Skript kann während der Upload läuft ermitteln wieviel Byte übertragen wurden. Das kannst du, wie pq schon sagte, in eine temporäre Datei schreiben und dies mit einem anderen Skript auslesen. Dazu musst du aber eine eindeutige Kennung übermitteln, damit du paralelle Uploads auseinanderhalten kannst und dann diese temporäre Datei entsprechend benennen.
cbxk1xg
 2008-09-10 19:40
#114511 #114511
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Struppi+2008-09-10 15:48:35--
Das hat nichts mit OOP zu tun.

Jetzt bin ich verwirrt. Wenn ich ein Objekt erzeuge, dann ist das doch Objekt-Orientierte-Programmierung. Oder etwa nicht?

Ich würde mich echt freuen, wenn sich mal jemand den Code ansehen könnte. Ich scheitere nur noch an dieser einen kleinen Stelle und komme mit dem gesamten Projekt deswegen nicht weiter.

Ich habe den Vorschlag von pq ja auch schon eingebaut, ich bekomme es aber einfach nicht hin. Das Prinzip ist mir klar. Die Temporäre Datei versuche ich auch zu erzeugen, schlägt aber irgendwie fehl. Und die hochgeladene Datei hat jetzt nur noch 0 Byte?!?

Bitte seht es euch einmal an.

Vielen Dank!
xtomcatx
 2008-09-10 20:33
#114512 #114512
User since
2006-08-27
31 Artikel
BenutzerIn
[default_avatar]
Zeige doch einfach, was du zusammengesetzt hast. Mit "schlägt irgendwie fehl" können die wenigsten was anfangen. Gibt´s eine Fehlermeldung (siehe error.log oder CGI::Carp qw(fatalsToBrowser))? Hat der Apache ausreichend Rechte, um die temporäre Datei zu schreiben?
<< |< 1 2 3 >| >> 24 Einträge, 3 Seiten



View all threads created 2008-09-09 20:27.