[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Bildcache manuell erzeugen - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Tobias Krais
Beiträge: 500
Registriert: 2. Okt 2006, 23:16
Wohnort: Lörrach
Kontaktdaten: Website

Bildcache manuell erzeugen

30. Okt 2016, 13:36

Hi zusammen,

wenn ich im Media Manager einen Mediatypen anlege und dann das Bild im Web aufrufe wird im Cache ein Bild angelegt. Meine Frage: kann ich den Vorgang des "Cachens" auch manuell anstoßen?

Code: Alles auswählen

$media = new rex_managed_media(rex_path::media($pic));
$media_manager = new rex_media_manager($media);
if($media_manager->isCached() == FALSE) {
    // TODO generate pic in cache            
}
Hintergrund ist der: ich muss für eine Übertragung von Gebrauchten Maschinen Bilder in ein ZIP packen und dann auf ein Portal übertragen. Die Orginalen Bilder sind meist zu groß. Deshalb möchte ich die Bilder aus dem Cache nehmen, kann das aber nur, wenn das Bild dort auch existiert.

Hat jemand eine Idee?

Liebe Grüße,

Tobi

Benutzeravatar
ds
Admin
Beiträge: 247
Registriert: 10. Okt 2006, 22:58
Wohnort: Berlin
Kontaktdaten: Website

Re: Bildcache manuell erzeugen

30. Okt 2016, 17:59

Das Addon Cache-Warmup macht sowas: https://github.com/FriendsOfREDAXO/cache_warmup
Vielleicht hilft es dir, die Funktionalität abzuschauen:

Verwendete Bilder in Seiten, Metaangaben und YForms selektieren:
https://github.com/FriendsOfREDAXO/cach ... or.php#L24

Cachefiles erstellten:
https://github.com/FriendsOfREDAXO/cach ... images.php

Tobias Krais
Beiträge: 500
Registriert: 2. Okt 2006, 23:16
Wohnort: Lörrach
Kontaktdaten: Website

Re: Bildcache manuell erzeugen

30. Okt 2016, 18:14

Hi ds,

ja, genau so einen komplizierten Weg wollte ich vermeiden. Ich glaube ich werde im Fall dass das Bild noch nicht erstellt wurde die URL einfach mit

Code: Alles auswählen

getimagesize(rex::getServer()."index.php?rex_media_type=". $media_manager_type ."&rex_media_file=". $filename)
ansprechen und damit generieren.

Danke für den Hinweis.

Liebe Grüße,

Tobias

Tobias Krais
Beiträge: 500
Registriert: 2. Okt 2006, 23:16
Wohnort: Lörrach
Kontaktdaten: Website

Re: Bildcache manuell erzeugen

30. Okt 2016, 22:23

Hi zusammen,

hab einen pull request gemacht: https://github.com/redaxo/redaxo/pull/880

Dann könnte folgender Code das Problem lösen:

Code: Alles auswählen

$pic = "meinBildName.jpg";
$media_type = "mein_media_manager_typ";
$media = new rex_managed_media(rex_path::media($pic));
$media_manager = new rex_media_manager($media);
$media_manager->setType($media_type);
if($media_manager->isCached() == FALSE) {
    ob_start();
    $media_manager->setCachePath(rex_path::addonCache("media_manager"));
    $media->sendMedia($media_manager->getCacheFilename(), $media_manager->getHeaderCacheFilename(), TRUE);
    ob_end_clean();
} 
Ohne den Pull request ist es nicht mal möglich den Cache Dateinamen auszulesen. Hoffentlich wird er mit aufgenommen.

Liebe Grüße,

Tobi

Zurück zu „Allgemeines [R5]“