kein Bild angezeigt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • kein Bild angezeigt

    Hallo!

    zuerst muss ich mich fuer mein Deutch entschuldigen, weil ich nicht aus einem deutschsprachigen Land komme, aber hoffentlich erklaere ich meine Anfaengerfrage verstaendlich.
    Ich lerne PHP aus einem Internettutorial und dort habe ich auf einen Beispiel gestossen, das nicht funktioniert.
    Das Beispiel sieht so aus:
    PHP-Code:
    <?php
        header
    ("Content-type:image/png");
        
    $height=200;
        
    $width=200;
        
    $obr=imagecreate($width,$height);
        
    $white=imagecolorallocate($obr,255,255,255);
        
    $black=imagecolorallocate($obr,0,0,0);

        
    imagefill($obr,0,0,$black);
        
    imageline($obr,0,0,$width,$height,$white);
        
    imagestring($obr,4,50,150,'Text',$white);

        
    imagepng($obr);
        
    imagedestroy($obr); 
       
    ?>
    als ich dieses Skript starte, sehe ich in meinem Browser nur irgendwelche Zeichen, wie diese:

    ‰PNG  ��� IHDR���Č���Č���—–<Ý���PLTE˙˙˙���UÂÓ~��ĺIDATX…uÔIj1 @Ńşqv�Đ�:šrő ”UĽ0vĄFŹúÚ>„ýÁxY7�EPĹPJDI(e[QEQ(hŮ(hŮ(hŮ(hŮ(hŮ(hAQÚ‚v� ] hÚ‚Eń�ń�ń�ń�ń�ń�NEq�Nq�Nq�Nq�Nq�Nq�.Eń‚.ń‚.ń‚.ń‚.ń‚.ń‚nEq‚nq‚nq‚nq‚nq‚nq‚E™�™� ™�™�™�™�ŠŠ˘LAE¦ "SP‘)¨ČTd Ş"(Š2U�ŞŚAUĆ *cP•1¨AQC (%ˇd”!¨AQC (%ˇd”>¨AQC (%ˇd”.¨AQC (%ˇd”6hAQC (%ˇd”&hAQC (%ˇd”4‰ (Šˇ”�’P2J šEPĹPJDI(ĺ rDPĹPJDI(ĺşĺgm^´´Ű·®�Ľ‹X'żö*:±Ź*±—ĎzNęäýU%÷;ÍDzvbŻµŞwű®;ÚH?†P"JBÉ(g�/‚˘(†P"JBÉ(G� (Šˇ”�’P2ĘD"(Šb(%˘$”Ś˛*(‚˘(†P"JBÉ˙ç§Vµ’v°ä����IEND®B`‚

    koennte mir bitte jemand erklaeren, wo ich Fehler mache?
    Meine Einstellung ist:
    OS: FreeBSD
    PHP 5.2.10
    apache 2.0
    gd 2.3.5 enabled

    Danke sehr.
    mfg
    rasch

  • #2
    Hallo,

    das Skript sieht soweit korrekt aus. Taucht in der Ausgabe auch eine Fehlermeldung ("Fatal Error", "Warning", ...) auf?

    Wie ist PHP in deinen Apache integriert? Als Modul, über CGI oder über FastCGI?

    Welchen Browser verwendest du?

    Was passiert, wenn du im Browser folgendes Skript aufrufst?:

    PHP-Code:
    <?php
        header
    ("Location: http://google.com/");
    ?>
    <html><head><title>Fallback</title></head>
    <body><h1>Fallback</h1><p>Redirect didn't work.</p></body></html>
    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Hallo,

      evtl. auch auch mal auf die HTTP-Header schauen die der Server ausliefert. Für Firefox gibt es da z.B. https://addons.mozilla.org/de/firefox/addon/3829

      EDIT:
      Dein Server verschweigt dir evtl. auch Fehlermeldungen, die dir helfen könnten dein Problem zu ergründen - setze daher mal folgenden Code ganz oben in deinem Script ein:
      PHP-Code:
      error_reporting(E_ALL);
      ini_set('display_errors'1); 
      Ich tippe irgendwie auf BOM
      Zuletzt geändert von Quetschi; 16.02.2010, 11:30.
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar


      • #4
        Hallo,
        danke fuer Deine Antwort.
        in meinem httpd-error.log Datei ist nur ein Warning: 'Cannot modify header information.
        PHP habe ich als Modul integriert. Ich benutze Firefox Browser.
        Als ich Deinen Skript gestartet habe, ist Google Seite erschienen.

        Kommentar


        • #5
          Zitat von rasch Beitrag anzeigen
          Hallo,
          danke fuer Deine Antwort.
          in meinem httpd-error.log Datei ist nur ein Warning: 'Cannot modify header information.
          PHP habe ich als Modul integriert. Ich benutze Firefox Browser.
          Als ich Deinen Skript gestartet habe, ist Google Seite erschienen.
          Irgendetwas erzeugt also schon eine Ausgabe, bevor PHP den image/png-header sendet.

          Wie gesagt, ich tippe auf BOM - Google-Suche

          Und als du den PHP-Code zur Fehlerausgabe eingebunden hast, ist die Google-Seite erschienen?

          EDIT: achso, du meintest Amicas Beispiel.
          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
          Schön - etwas Geschichte kann ja nicht schaden.
          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

          Kommentar


          • #6
            Zitat von rasch Beitrag anzeigen
            in meinem httpd-error.log Datei ist nur ein Warning: 'Cannot modify header information.
            Dann liegt es definitiv am UTF-8-BOM, wie Quetschi schon sagte.

            Zitat von rasch Beitrag anzeigen
            Als ich Deinen Skript gestartet habe, ist Google Seite erschienen.
            Das ist gut, also fügt dein Editor es nicht automatisch ein. Lösch mal in deinem Skript die erste Zeile komplett und tipp dann nochmal "<?php" ein. Benutze dabei wirklich die Tastatur und nicht Copy&Paste!
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Zitat von AmicaNoctis Beitrag anzeigen
              Das ist gut, also fügt dein Editor es nicht automatisch ein. Lösch mal in deinem Skript die erste Zeile komplett und tipp dann nochmal "<?php" ein. Benutze dabei wirklich die Tastatur und nicht Copy&Paste!
              Hilft möglicherweise nicht, wenn der Editor das Script mit UTF8+BOM gespeichert hat und es nun auch wieder als solches im Editor geöffnet ist. Hier hilft nur je nach Editor im "Speichern unter..."-Dialog einen anderen Eintrag (z.B. ANSI - hier aber dann bei bestimmten Sachen manuell mit utf8_encode() arbeiten) oder bei Format -> einen Eintrag wie z.B. UTF8 ohne BOM (so z.B. bei mir in Notepad++) wählen.
              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
              Schön - etwas Geschichte kann ja nicht schaden.
              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

              Kommentar


              • #8
                Ihr hattet Recht, das ganze Problem war wirklich beim BOM. Ich musste mich zuerst umsehen, was BOM eigentlich genau bedeutet. Dann habe ich eure Ratschlaege befolgt. Im FreeBSD benutze ich als editor vi, also habe ich nicht vorausgesetzt, dass ich Probleme mit BOM haben werde.
                Die erste Zeile habe ich neu geschrieben und und ales funktioniert wunderbar.
                Nochmals vielen Dank fuer eure Hilfe.
                rasch

                Kommentar


                • #9
                  Ok - Amicas Methode funktioniert in deinem Fall auch Ich hatte früher mal Probleme damit, darum der Hinweis auf die anderen Möglichkeiten
                  Zuletzt geändert von Quetschi; 16.02.2010, 13:22.
                  Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                  Schön - etwas Geschichte kann ja nicht schaden.
                  Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                  Kommentar


                  • #10
                    OffTopic:

                    Zitat von Quetschi Beitrag anzeigen
                    Ok - dann hat Amicas Methode doch auch Sinn
                    Schön zu wissen, dass ich dich noch überraschen kann

                    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                    Super, danke!
                    [/COLOR]

                    Kommentar


                    • #11
                      OffTopic:
                      Zitat von AmicaNoctis Beitrag anzeigen
                      Schön zu wissen, dass ich dich noch überraschen kann
                      Du überschätzt mich wohl
                      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                      Schön - etwas Geschichte kann ja nicht schaden.
                      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                      Kommentar

                      Lädt...
                      X