Ich habe das Gefühl, dass ich das überdenke. Was ich tun möchte, ist die neuesten Fotos aus der Instagram-API abzurufen und die resultierenden JSON-Informationen als Cache-Datei zu speichern. Anschließend werde ich jQuery verwenden, um aus dieser Datei zu lesen - das habe ich bereits herausgefunden. Was ich im Moment verwende, ist es, es in einer Cache-Datei zu speichern, aber nicht in einem Format, das ich erkenne. Ich denke, ich mache das zu kompliziert.
Dies ist der Code, mit dem ich basierend auf einem Tutorial gearbeitet habe, das ich gefunden habe:
// Client-ID für die Instagram-API
$instagramClientID = '9110e8c268384cb79901a96e3a16f588';
$api = 'https://api.instagram.com/v1/media/popular?client_id='.$instagramClientID; // API-Anfrage (bearbeiten Sie dies, um Tags widerzuspiegeln)
$cache = 'cache.txt';
if(file_exists($cache) && filemtime($cache) > time() - 60*60){
// Wenn eine Cache-Datei existiert und sie neuer als 1 Stunde ist, verwenden Sie sie
$images = unserialize(file_get_contents($cache));
}
else{
// Führen Sie eine API-Anfrage durch und erstellen Sie die Cache-Datei
// Zum Beispiel erhält die 32 beliebtesten Bilder auf Instagram
$response = file_get_contents($api); // Ändern Sie den Anforderungspfad, um unterschiedliche Fotos abzurufen
$images = array();
// Dekodieren Sie die Antwort und erstellen Sie ein Array
foreach(json_decode($response)->data as $item){ // Dekodiert JSON (Javascript) in ein Array
$title = '';
if($item->caption){
$title = mb_substr($item->caption->text,0,70,"utf8");
}
$src = $item->images->standard_resolution->url; // Caches Standardresolutionsbildpfad in Variable $src
$lat = $item->data->location->latitude; // Caches Breitengrad als $lat
$lon = $item->data->location->longtitude; // Caches Längengrad als $lon
$images[] = array(
"title" => htmlspecialchars($title),
"src" => htmlspecialchars($src),
"lat" => htmlspecialchars($lat),
"lon" => htmlspecialchars($lon) // Konsolidiert Variablen in ein Array
);
}
// Entfernen Sie das letzte Element, damit wir
// 32 Elemente haben, wenn das Cover hinzugefügt wird
//array_pop($images);
// Fügen Sie das Cover am Anfang des Arrays hinzu
//array_unshift($images,array("title"=>"Cover", "src"=>"assets/img/cover.jpg"));
// Aktualisieren Sie die Cache-Datei
file_put_contents($cache,serialize($images));
}