einsiedler: Frage zu einem PHP script

Beitrag lesen

Hallo liebe Forumer,

ich habe folgendes Problem mit einem PHP script.

Aber vorab zur Erklärung: Zuallererst wird das script ImagesController.php aufgerufen, das Bilder aus einem Ordner der Reihe nach aufruft. Die Bilder liegen im Ordner mit dem Pfad ./mediaordner/arbeit01/ und sehen so aus: 01-01.jpg , 01-02.jpg , 01-03.jpg --> 01-10.jpg

So, hier nun das script das alle meine Daten an einem Platzhalter in meiner layout.html einfügt. Die Bilder werden wie erwartet angezeigt. NUR eben halt nicht die Daten die aus der datei.json ausgelesen werden, DIE werden NICHT angezeigt. Was ist da falsch?

Anbei nun a) meine index.php , wovon alles ausgeht, b) mein figure.html , das .html das mit index.php in mein layout.html am Platzhalter eingefügt wird und C) einen Auszug aus meiner datei.json und d) ein screen meiner ImagesController.php

Wo liegt da nun mein Fehler?

meine index.php

<?php
const LAYOUT_HTML_FILE_PATH = './layout.html';
const WIDGETS_FOLDER_PATH = './widgets/';
include_once './ImagesController.php';
$ImgCtrl = new ImagesController( './mediaordner/arbeit01/' );
$aImages = $ImgCtrl->ReadImagesData()->KeySort()->Get();
$_LayoutHtml = file_get_contents( LAYOUT_HTML_FILE_PATH );
$_FiguresHml = file_get_contents( WIDGETS_FOLDER_PATH . 'figures.html' );
$jFileContent = file_get_contents( 'datei.JSON' );
$jObject = json_decode( $jFileContent );
$_FiguresRendered = array_map(
		function ( $img ) use ( $_FiguresHml ) {
			return strtr(
					$_FiguresHml
					, [
						'{headline}' => $jObject -> {$img} -> headline,
						'{titel}' => $jObject -> {$img} -> titel,
						'{subtext}' => $jObject -> {$img} -> subtext,
						'{img.path}' => $img['path'],
						'{img.width}' => $img['size']['width'],
						'{img.height}' => $img['size']['height']
					]
				);
		}
		, $aImages
	);
echo str_replace( '{figures}', implode($_FiguresRendered), $_LayoutHtml );
?>

b) figure.html

<figure>
    <h3>{headline}</h3>
    <h4>{title}</h4>
    <img src="{img.path}" width="880px" height="880px" alt="{headline}" style="width:{img.width}vw; height:{img.height}vw;">
        <figcaption>{subtext}</figcaption>
</figure>

c)

{
  "01-01.jpg": {
	"headline" : "Drifters, 2012",
	"title" : "Perfor&shy;mance",
	"subtext" : "<span>Das war eine Performance auf dem Wasser</span><span>Kunsthalle Münster,</span><span>Speicher II, Münster</span>"
  },
  "01-02.jpg": {
	"headline" : "Berge versetzen, 2008",
	"title" : "Raum&shy;installa&shy;tion",
	"subtext" : "<span>Stiftung Künstlerdorf,</span><span>Schöppingen</span>"
  },
  
  [ ... ]

  "01-09.jpg": {
	"headline" : "RTFM, 2015",
	"title" : "Raum&shy;installa&shy;tion",
	"subtext" : "<span>Das ist eine karte von kaspar König zur Ausstellung RTFM</span><span>Kunsthalle Münster,</span><span>Speicher II, Münster</span>"
  },
  "01-10.jpg": {
	"headline" : "Drifters, 2012",
	"title" : "Perfor&shy;mance",
	"subtext" : "<span>Das ist der Einladungsflyer</span><span>Kunsthalle Münster,</span><span>Speicher II, Münster</span>"
  }
} 

d) meine ImagesController.php

ImagesController.php

Vielen Dank für eure HILFE!

LG der (ratlose) einsiedende