• 24.04.2024, 22:29
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

probleme mit php-script + .png-bild [gelöst]

Dienstag, 21. Dezember 2004, 22:14

so, und noch ein problem...

also folgendes:
ich hab aufm server nen kleines php-script laufen, welches das aktuelle winamp-lied als .png-bild ausgibt. das bild wird mittels einer .php-datei gemacht.
das script sieht folgendermaßen aus:

Quellcode

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
    $song     = $_GET[song];
    $filename = 'winamp.txt';
    $chars    = 300;
    // text in Picture
    $text     = "Ich höre...";
      $text2    = "www.Eihwaz-Horizont.de";

        // check if Info Sender is calling the script
        if(isset($_GET[song])) {

            // check if text file is writeable
            if(is_writable($filename)) {

                // check if we can open the text file
                if(!$handle = fopen($filename, 'w')) {
                     print "Cannot open file ($filename)";
                     exit;
                }
                
                // check if we can wite to the text file
                if(!fwrite($handle, stripslashes($song))) {
                    print "Cannot write to file ($filename)";
                    exit;
                }

            // close the door behind you
            fclose($handle);

            }

        } else {

            // grab song title from text file
            $songname = @implode('',@file($filename));

   //new Edit PNG-Output

   // replace german special character
   $songname = ereg_replace("Ä","Ä",$songname);
   $songname = ereg_replace("ä","ä",$songname);
   $songname = ereg_replace("Ö","Ö",$songname);
   $songname = ereg_replace("ö","ö",$songname);
   $songname = ereg_replace("Ü","Ü",$songname);
   $songname = ereg_replace("ü","ü",$songname);
   $songname = ereg_replace("ß","ß",$songname);

     // short the Songtext to 300 Characters 
     
      if(strlen($songname) > $chars) { 
        $songname = substr($songname,0,$chars); 
        $songname .= "..."; 
         }

      //read Create-date of winamp.txt
      if (file_exists($filename))
            {
               $time = date("j.m.Y H:i", filectime($filename));
            }

      //now we build the png with the Songtext

    Header("Content-type: image/png");
    $im = ImageCreateFromPng("button.png");
    $color = ImageColorAllocate($im, 0, 0, 0);
    $color2 = ImageColorAllocate($im, 0, 0, 0);
    ImageString($im,1,5,31,$time,$color);
    ImageString($im,2,5,3,$text,$color);
    ImageString($im,2,10,17,$songname,$color);
    ImageString($im,1,350,31,$text2,$color2);
    ImagePng($im);
    ImageDestroy($im);
        }
    //end new Edit PNG-Output

?>


wie man erkennt, liest das script den lied-titel aus der winamp.txt auf dem server. soweit kein problem, klappt(e) alles super.
heute wird mir gesagt, dass kein bild mehr angezeigt wird. ok, hab ich selber getestet, es stimmt... kein bild  :-/ um auszuschließen, dass fehler im script sind, hab ich das transparente bild gegen ein nicht-transparentes getauscht... siehe da, es klappte wieder. wieder ein transparentes hochgeladen -> klappt nicht...
das komische ist, dass genau dasselbe script mit genau dem gleichen bild bis gestern ohne probleme gelaufen ist...
vielleicht hat ja jemand von euch eine idee, wieso das script von gestern auf heute nicht mehr vernünftig klappt...
wie gesagt, am script wurde nichts geändert, genauso wurde nichts am bild verändert.

die verschiedenen versuche bzw. beispiele, was ich mein:
klappt nicht
klappt
(die einzigen unterschiede in den beiden scripts liegt an der png-datei... button.png bzw. button2.png)
die winamp.txt klappt auch so, wie sie es soll (link)

das script stammt von:
   &#124; Scriptname : Info Sender's PHP Sidekick v3 PNG-Output
   &#124; Taken From : appel@nr78.net
   &#124; Updated By : Sami Khan - sukhan@ucalgary.ca (v2)
   &#124; Updates By : Patrick aka Tutti patrick@pc-mind.de (v3)
   &#124; Website    : http://www.pc-mind.de
   &#124; License    : GPL'd (by Sami ?? ;- ) )


über hilfe wäre ich sehr dankbar ;D

Re: probleme mit php-script + .png-bild

Mittwoch, 22. Dezember 2004, 17:41

ich glaube der 2. comment unten auf der seite könnte dich weiterbringen: http://de3.php.net/imagecreatefrompng

Re: probleme mit php-script + .png-bild

Mittwoch, 22. Dezember 2004, 19:27

Ich muss im Voraus sagen, dass ich eigentlich keine Ahnung davon habe, aber vielleicht hilft dir das hier weiter!
http://www.winfuture.de/news,18188.html

Re: probleme mit php-script + .png-bild

Mittwoch, 22. Dezember 2004, 19:42

ne... die php-seite hat mir nich wirklich geholfen...
das script klappt ja ohne probleme, wenn es mit einem (hier babyblauen) bild arbeitet... nur bei einem transparenten klappt es nicht.
und das komisch ist ja eben, dass es von einem tag auf den anderen nicht mehr geht... obwohl nichts geändert wurde. weder das script an sich, noch das bild...

ps: was mir noch auffält... der IE ist scheinbar zu blöd, um transparente png-bilder richtig anzuzeigen... doofes teil

Re: probleme mit php-script + .png-bild

Mittwoch, 22. Dezember 2004, 20:25

das mit dem ie ist bekannt. stimmt, ist doof ;)

kann es sein das dein webspace anbieter php oder die gd-library erneuert hat, also da eine neue version drauf ist?

würd dir zwar nicht helfen, aber vielleicht dieses phänomen erklären.
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.

Re: probleme mit php-script + .png-bild

Mittwoch, 22. Dezember 2004, 22:05

also laut der hp von meinem anbieter ist da immer noch php4 drauf... nix geändert also :/

Re: probleme mit php-script + .png-bild

Mittwoch, 22. Dezember 2004, 22:53

dein provider benutzt genaugenommen php 4.3.10 mit der gd-library "bundled (2.0.28 compatible)"
(http://www.hosting-agency.de/info.php)

4.3.10 ist wurde am 15. Dezember released.
6 Tage bevor du den Fehler bemerkt hast.

vielleicht hat sich dadurch was geändert was den fehler verursacht hat.
was sich geändert hat steht hier:
http://www.php.net/release_4_3_10.php
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.

Re: probleme mit php-script + .png-bild

Mittwoch, 22. Dezember 2004, 23:32

also die infos sind nett... aber leider kann ich damit nix anfangen :-X
kenn mich mit php doch nich so wirklich aus...

naja, vielleicht hat sonst noch jemand ne idee, was es sein könnte...

Re: probleme mit php-script + .png-bild

Donnerstag, 23. Dezember 2004, 19:03

Zitat von »Manwe«

ne... die php-seite hat mir nich wirklich geholfen...
das script klappt ja ohne probleme, wenn es mit einem (hier babyblauen) bild arbeitet... nur bei einem transparenten klappt es nicht.
und das komisch ist ja eben, dass es von einem tag auf den anderen nicht mehr geht... obwohl nichts geändert wurde. weder das script an sich, noch das bild...

ps: was mir noch auffält... der IE ist scheinbar zu blöd, um transparente png-bilder richtig anzuzeigen... doofes teil


Sag mal, haste das überhaupt gelesen was ich meinte und haste das mal ausprobiert!?!?

Zitat


If you're trying to load a translucent png-24 image but are finding an absence of transparency (like it's black), you need to enable alpha channel AND save the setting. I'm new to GD and it took me almost two hours to figure this out.

<?php
$imgPng = imageCreateFromPng($strImagePath);
imageAlphaBlending($imgPng, true);
imageSaveAlpha($imgPng, true);

/* Output image to browser */
header("Content-type: image/png");
imagePng($imgPng);
?>



Ansonsten: Haste mal versucht einfach ein neues transparentes Bild zu erstellen und es mit dem zu versuchen?

Re: probleme mit php-script + .png-bild

Donnerstag, 23. Dezember 2004, 20:43

hab ich probiert... seitdem wird das bild nicht mehr transparent angezeigt...

edit: sowohl

Quellcode

1
imageAlphaBlending($im, false);
noch

Quellcode

1
imageAlphaBlending($im, true);
verändert was... in beiden fällen wird das bild pink (ja, ich hab das pink auf transparent gestellt :P) und nicht transparent angezeigt...

Re: probleme mit php-script + .png-bild

Donnerstag, 23. Dezember 2004, 20:58

was hast du gemacht? den alphakanal aktiviert oder ein neues png erstellt? mit welchem proggie erstellst du denn das bild, vielleicht läuft ja da was falsch ???

Re: probleme mit php-script + .png-bild

Donnerstag, 23. Dezember 2004, 23:27

ich hab das bild mit hypersnap erstellt... is einfach zu bedienen, ich hab es aufm pc und es hat damit auch schon vorher geklappt *g*

was ich gemacht hab? die zeilen code, die du gesagt hast, in das script eingefügt... hat allerdings beides nichts gebracht

Re: probleme mit php-script + .png-bild

Donnerstag, 23. Dezember 2004, 23:46

hm... komisch. ich habe hier selbst ein transparentes png erstellt und das funzt mit deinem code wie es sollte. aber wenn ich die datei "button.png" von deiner seite runter lade (http://www.eihwaz-horizont.de/button.png müsste doch die originale datei sein, oder?), war sie schwarz, eben habe ich sie nochmal runtergeladen und sie war rosa  :o

ich hab mal deinen code auf meinen webspace geladen, mit meiner datei und da funzt es -> http://www.codecrusher.com/png/pngtest.php komischerweise zeigt mein ie6 das bild leicht blaulich an, wenn ich es einfach so anzeigen lassen -> http://www.codecrusher.com/image/button_trans.png

kannst es ja mal mit meiner datei versuchen.... ansonsten bin ich mit meinem latein am ende... sehr verwirrend das ganze  :-/


edit:

btw, kann es sein, dass dieser code für die füsse ist?

Quellcode

1
2
3
4
5
6
7
8
// replace german special character 
   $songname = ereg_replace("Ä","Ä",$songname); 
   $songname = ereg_replace("ä","ä",$songname); 
   $songname = ereg_replace("Ö","Ö",$songname); 
   $songname = ereg_replace("ö","ö",$songname); 
   $songname = ereg_replace("Ü","Ü",$songname); 
   $songname = ereg_replace("ü","ü",$songname); 
   $songname = ereg_replace("ß","ß",$songname);


nach meinem verständnis ersetzt du da ein "Ä" mit einem "Ä", ein "ä" mit einem "ä" und so weiter. sollte das nicht eher so aussehen?

Quellcode

1
2
3
4
5
6
7
8
// replace german special character 
   $songname = ereg_replace("Ä","Ae",$songname); 
   $songname = ereg_replace("ä","ae",$songname); 
   $songname = ereg_replace("Ö","Oe",$songname); 
   $songname = ereg_replace("ö","oe",$songname); 
   $songname = ereg_replace("Ü","Ue",$songname); 
   $songname = ereg_replace("ü","ue",$songname); 
   $songname = ereg_replace("ß","ss",$songname);


grüße

biddschedabber

Re: probleme mit php-script + .png-bild

Freitag, 24. Dezember 2004, 01:34

ok... also das verwirrt mich nu auch ô_Ô
hab nun dein png hochgeladen, schon klappt es wieder...
das das bild von mir pink war, ist im IE normal... der hat wohl so seine probleme mit den png-bildern *g*

wegen den ä, ö, ü-teil... da hat das forum den code wohl schon interpretiert ;D

Quellcode

1
2
3
4
5
6
7
8
// replace german special character
   $songname = ereg_replace("& Auml;","Ä",$songname);
   $songname = ereg_replace("& auml;","ä",$songname);
   $songname = ereg_replace("& Ouml;","Ö",$songname);
   $songname = ereg_replace("& ouml;","ö",$songname);
   $songname = ereg_replace("& Uuml;","Ü",$songname);
   $songname = ereg_replace("& uuml;","ü",$songname);
   $songname = ereg_replace("& szlig;","ß",$songname);

so sieht das eigentlich aus... (ohne leerzeichen) und klappt auch ganz gut so *g*

Re: probleme mit php-script + .png-bild [gelöst]

Sonntag, 26. Dezember 2004, 21:39

Egal, hauptsache es funzt ;) ;D

Sag mal, könntest Du mir noch erklären, für was der Teil check if Info Sender is calling the script und die dazugehörige if-Schleife sein soll? Ich verstehe, dass da das Lese- und Schreibrecht einer Datei geprüft wird, aber wofür das ganze?

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// check if Info Sender is calling the script 
   if(isset($_GET[song])) { 
 
  // check if text file is writeable 
  if(is_writable($filename)) { 
 
      // check if we can open the text file 
      if(!$handle = fopen($filename, 'w')) { 
      print "Cannot open file ($filename)"; 
      exit; 
      } 
       
      // check if we can wite to the text file 
      if(!fwrite($handle, stripslashes($song))) { 
     print "Cannot write to file ($filename)"; 
     exit; 
      } 
 
  // close the door behind you 
  fclose($handle); 
 
  } 
 
   } else {

Re: probleme mit php-script + .png-bild [gelöst]

Dienstag, 28. Dezember 2004, 18:32

vorweg: warum bitte willst du das als bild haben? macht das als text nicht viel mehr sinn? das ist flexibler und schneller.

ja, der IE kann mehrstufig transparente PNGs lächerlicherweise nicht korrekt darstellen. die betroffenen farben erscheinen meiner erfahrung nach immer grau (daher kommt mir das mit dem rosa komisch vor und würde eher auf einen fehler im bild deuten). es gibt hacks über directx(?)-filter, mit denen man auch den IE dazu bringen kann, transparente PNGs mit alpha-kanal darzustellen, aber sowas ist nicht im sinne von "best viewed with any browser" etc.

die erwähnte neue php-version haben vermutlich alle hoster aufgespielt, da sie zahlreiche gravierende lücken beheben soll. mir sind allerdings keine änderungen bekannt, die bisherigen code unbrauchbar machen würden.

in der gdlib, die eigenständig ist und von php eingebunden, sprich über php-funktionen gewrappt wird, gab es einige änderungen. sei es das format oder die farbtiefe, je nach version gehen einige sachen später, andere nur in älteren versionen. daran könnte es also liegen, hab aber die details grad nicht zur hand.

Zitat von »biddschedabber«

Sag mal, könntest Du mir noch erklären, für was der Teil check if Info Sender is calling the script und die dazugehörige if-Schleife sein soll? Ich verstehe, dass da das Lese- und Schreibrecht einer Datei geprüft wird, aber wofür das ganze?

damit wird geprüft, ob dem script mit ?song=blah ein parameter in der URL übergeben wurde.

Re: probleme mit php-script + .png-bild [gelöst]

Dienstag, 28. Dezember 2004, 19:07

wieso ich ein bild haben will? tja... ein bild kann man in vielen foren schön einbinden, eine text-datei nicht. die müsste man immer öffnen :P

das mit dem "if sender blabla" hat y0gi ja erklärt... wobei ich persönlich dir da auch nur das hätte sagen können, was schon in englisch da steht :-X das script is eben nich von mir, sondern nur von mir genutzt *g

Re: probleme mit php-script + .png-bild [gelöst]

Dienstag, 28. Dezember 2004, 19:42

na da freuen sich jetzt aber viele forennutzer, dass du deine musikalische untermalung als bild (respektive überhaupt) der welt offenbarst ;P

Re: probleme mit php-script + .png-bild [gelöst]

Mittwoch, 29. Dezember 2004, 02:48

genau, das tun sie ;D

vorallem, da das script am anfang gar nich für mich war... eigentlich wollte ne freundin das haben... naja, ich habs dann auch bei mir laufen nu :P


so, nu aber schluss, is ja gelöst hier ;D