[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Medienpool: Bilder beim Upload auch als Thumbnail speichern - 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/
Vilas
Beiträge: 8
Registriert: 6. Feb 2012, 12:09

Medienpool: Bilder beim Upload auch als Thumbnail speichern

13. Jan 2014, 10:24

Hallo,

ich habe in Redaxo 4.3.2 einen Artikel mit etwa 300 Thumbnails, eingebunden mit: src="../index.php?rex_resize=75h__pic.jpg&rex_filter[]=sharpen".

Obwohl die Bilder gecached sind, dauert das Laden deutlich länger als wenn sie statisch eingebunden wären. Wenn bei einigen Aktionen (Slice editieren, speichern usw.) alle Bilder neu angefragt werden (Server antwortet mit 304), dauert das eine ganze Minute, im Schnitt werden 5 Anfragen pro Sekunde beantwortet. Bei einem Test mit statischen Bildern konnte der Server dagegen 49 Anfragen pro Sekunde beantworten.

Daher würde ich gerne schon beim Upload in den Medienpool ein Thumb des hochgeladenen Bildes erstellen, das ich dann anstelle von rex_resize in meinen Modulen verwenden kann. Was wäre hier der einfachste Weg?

Danke für Hinweise!

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: Medienpool: Bilder beim Upload auch als Thumbnail speich

13. Jan 2014, 12:26

Hi Vilas,

hast du in der master.inc.php USE_ETAG und USE_LAST_MODIFIED auf true gesetzt?
Dann werden die Bilder zwar beim ersten Mal immer noch langsamer geladen, aber wenigstens gecacht.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Vilas
Beiträge: 8
Registriert: 6. Feb 2012, 12:09

Re: Medienpool: Bilder beim Upload auch als Thumbnail speich

13. Jan 2014, 13:21

Hi Xong,

danke für den Tipp. Die beiden Werte standen bei mir tatsächlich auf false, doch bringt eine Änderung keine Verbesserung. Und schon bisher hatte ich unter include/generated/files die generierten Thumbs, und hatte angenommen, dass dies der Cache ist.

Ich denke, dass mit der Einbindung über rex_resize immer Datenbank-Zugriffe verbunden sind, möglicherweise ist das bei mir das Problem. Mein Webspace erlaubt nur 20 gleichzeitige MySQL-Verbindungen.

Vilas
Beiträge: 8
Registriert: 6. Feb 2012, 12:09

Re: Medienpool: Bilder beim Upload auch als Thumbnail speich

13. Jan 2014, 14:50

Wenn ich den Ansatz "beim Speichern im Medienpool gleichzeitig ein Thumbnail erzeugen" weiterverfolge, gehe ich davon aus, dass beim Upload im Modul "redaxo/include/functions/function_rex_mediapool.inc.php" die Funktion "rex_mediapool_saveMedia()" aufgerufen wird. Hier wird erst der Dateiname der hochgeladenen Datei gecheckt und diese dann in den Medienordner verschoben. Im nachfolgenden Block "if($success)" wäre meiner Meinung nach der richtige Ort, um ein Thumbnail zu erzeugen und z.B. unter dem selben Namen in einem Unterordner "thumbs" des Medienordners abzulegen.

Aber welche Funktion des AddOns "img_resize" erzeugt das Thumbnail? In der "class.thumbnail.inc.php" gibt es zwar eine Funktion "generateImage()", doch wie müssen die Parameter übergeben werden, und was muss ich wo includen? Hier reichen meine PHP-Kenntnisse leider nicht aus.

Vilas
Beiträge: 8
Registriert: 6. Feb 2012, 12:09

Re: Medienpool: Bilder beim Upload auch als Thumbnail speich

13. Jan 2014, 23:26

So schwer war's dann doch nicht.

Code: Alles auswählen

function rex_mediapool_saveMedia($FILE, $rex_file_category, $FILEINFOS, $userlogin = null, $doSubindexing = TRUE)
{
  ...
  if($success)
  {
    $rex_uri = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
    $get_thumb = file_get_contents($rex_uri.'?rex_resize=75h__'.$NFILENAME.'&rex_filter[]=sharpen');
    $store_thumb = fopen($REX['MEDIAFOLDER'].'/thumbs/'.$NFILENAME, 'w');
    fwrite($store_thumb, $get_thumb);
    fclose($store_thumb);
    ...
  }
  ...
}

Zurück zu „Allgemeines [R4]“