Coder251: GD generiertes Bild in PHP als Bild behandeln

Bitte um Hilfe, ich komm nicht weiter...

ich hab ein hübsches PHP File (plus GET-Optionen) geschrieben, das mir dynamische Bilder erzeugt. Dieses kann ich dann in meinem restlichen Code bei <img src=...> problemlos einbinden:
<img src="div_tools/img_fibCircleTime.php?YEAR=2007&amp;MONTH=January">

(die img_fibCircleTime.php ist 'ne klassische PHP File mit imagecreatepng($im) am schluss...)

...soweit so gut. Das klappt alles. Aber jetzt will ich diese Bilder auch mit PHP weiter behandeln, zum Beispiel will ich sie mit einer PDF Library in ein PDF einbinden. Diese verwendet die klassischen Befehle wie getimagesize(..) etc.

Und genau hier hakt's:
$iFile = "div_tools/img_fibCircleTime.php?YEAR=2007&amp;MONTH=January";
$fp = file($iFile);

...oder
$fp = getimagesize($iFile);

gibt mir immer "failed to open stream: No such file or directory" zurück.

theoretisch kann ich zwar in der Image-PHP am Schluss das Bild mit dem optionalen $filename schreiben, brauche dann aber eine Option, wie ich die File extern "anschmeißen" kann, da include oder require wegen der unterschiedlichen Pfade nicht funktionieren (die Image-PHP liegt in einem Unterordner des Hauptcodes)

Für schnelle Hilfe wäre ich super-dankbar ;-)

  1. Hi!

    Und genau hier hakt's:

      
    
    > $iFile = "div_tools/img_fibCircleTime.php?YEAR=2007&amp;MONTH=January";  
    > $fp = file($iFile);  
    
    

    gibt mir immer "failed to open stream: No such file or directory" zurück.

    Klar, denn das keine Datei, sondern eine HTTP-Resource (bzw. der letztes Teil dessen URIs).
    Die Datei 'img_fibCircleTime.php?YEAR=2007&amp;MONTH=January' im Verzeichnis 'div_tools' existiert schlicht nicht!

    Speichere die dynamisch erzeugte Datei in Deinem Filessystem.

    BTW der Umweg über file() ist falsch - nutze direkt:

      
     get_image_size('yourImage.jpg');  
    
    

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    1. Speichere die dynamisch erzeugte Datei in Deinem Filessystem.

      Ja, aber bei diesem Weg: Wie spreche ich dann die Image-PHP an? Denn include() geht ja wie gesagt nicht, da die Files in unterschiedlichen Verzeichnissen sind (und in der Image-PHP ebenfalls includes etc. sind)

      1. Hi!

        Speichere die dynamisch erzeugte Datei in Deinem Filessystem.

        Ja, aber bei diesem Weg: Wie spreche ich dann die Image-PHP an?

        Wieso Image-PHP?
        Du hast nahc dem Abspeichern eine Datei (u.B: 123.png, oder 456.jpg etc. )
        in deinem Filesystem - auf diese kannst Du dann zugreifen!

        off:PP

        --
        "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
  2. echo $begrüßung;

    $iFile = "div_tools/img_fibCircleTime.php?YEAR=2007&amp;MONTH=January";
    $fp = file($iFile);
    ...oder
    $fp = getimagesize($iFile);
    gibt mir immer "failed to open stream: No such file or directory" zurück.

    Das geht nicht, weil das weder ein gültiger Dateiname ist, was dir ja auch diese Meldung sagt, noch eine URL.

    Wenn du einen HTTP-Zugriff haben möchtest, musst du auch eine komplette URL angeben, die PHP am vorangestellten http:// erkennen kann.

    Außerdem ist file() für zeilenbasierte Textdateien gedacht. Für Dateien, die nicht zeilenweise in Array-Elemente aufgeteilt werden sollen, bietet sich file_get_contents() an.

    Für schnelle Hilfe wäre ich super-dankbar ;-)

    Gibt es unter der Rufnummer 112.

    echo "$verabschiedung $name";