Schrift
[thread]436[/thread]

grafischer Zähler



<< >> 6 Einträge, 1 Seite
mättu
 2005-02-18 13:20
#4416 #4416
User since
2004-12-12
30 Artikel
BenutzerIn
[default_avatar]
Hallo Leute

Habe einen grafischen Zähler, der wird im html so aufgerufen:
Code: (dl )
<img src="/cgi-bin/zaehler/zaehler.pl/zaehler.gif">

und im zaehler.pl wird mit Image::Magick das anzahl.gif geschrieben:
Code: (dl )
$img -> Write(filename=>"../../html/anzahl.gif");

Und an den browser geschickt:
Code: (dl )
1
2
3
4
open(FILE,"../../html/anzahl.gif");
print "Content-type: image/gif","\n\n";
while (read(FILE, $buf, 8192)) {print $buf;}
close FILE;

Könnt ihr mir sagen, warum das im "richtigen Internet" funktioniert, nicht aber auf meinem localhost?
Das hab ich festgestellt: Wenn ich das anzahl.gif öffne mit einem Text-Editor, besteht es aus mehreren Linien.
Wenn ich ein .gif herstelle, das zufällig nur aus einer Linie besteht (keine "newline" enthält), funktioniert es auch unter localhost.
Könnte das damit zu tun haben, dass mein Computer ein windows-compi ist? (Man kommt ja auf allerhand Ideen..)
Oder kennt jemand von euch, eine bessere Methode, einen solchen grafischen Zähler zu bauen?

Grüsse
Ishka
 2005-02-18 14:06
#4417 #4417
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Mach mal
Code: (dl )
1
2
open(FILE,"../../html/anzahl.gif");
binmode(FILE);


Ich glaube mich zu erinnern, daß unter Windows einige Zeichen umgewandelt werden beim Lesen (oder wars schreiben), wenn man nach dem öffnen kein binmode anwendet.
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
GwenDragon
 2005-02-18 14:23
#4418 #4418
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
Binärdateien sollte eineR immer mit binmode lesen und schreiben.
ptk
 2005-02-18 14:25
#4419 #4419
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
binmode benoetigt man bei einigen Perl-Versionen (5.8.0, aber nicht mehr spaeter) auch bei Linux und Unix, wenn ein Utf-8-LOCALE eingestellt ist.
mättu
 2005-02-18 16:17
#4420 #4420
User since
2004-12-12
30 Artikel
BenutzerIn
[default_avatar]
hat nix geholfen.
Merci trotzdem.
mättu
 2005-02-18 16:42
#4421 #4421
User since
2004-12-12
30 Artikel
BenutzerIn
[default_avatar]
Hier kommt die Antwort, die für mich geht:

You didn't specify your platform, but if you're on a box where "binmode()" makes a difference, use binmode&copy; and binmode(STDOUT).

von:
http://perlmonks.org/index.pl?node_id=9095

Grüsse
:-)
Ps: wenn jemand noch eine schlauere Antwort weiss, bitte melden.
<< >> 6 Einträge, 1 Seite



View all threads created 2005-02-18 13:20.