Laravel 5 intervention-image / intervention-cache: flexible URL / Routing

10

Herumspielen mit Intervention 2.0 in Laravel 5. Ich möchte Bilder (Größe und Zuschneiden) manipulieren und verwenden Interventionen Image Caching zum Zwischenspeichern der Bilder. Was ich im Grunde versuche zu erreichen, ist die Funktionalität von gut alt (und unsicher) timthumb.php .

Ich habe das als Beispiel benutzt:

%Vor%

Wenn ich ein Bild wie folgt lade:

%Vor%

Es funktioniert gut.

Aber ... In meiner Situation können Bilder in verschiedenen (Unter-) Verzeichnissen liegen, manchmal mehrere Ebenen tief. Sie werden in meinem CMS von ihren Webmastern verwaltet.

Beispiele:

  • Dateien / Bilder / Bild.jpg
  • files / images / headers / image.jpg
  • Dateien / Bilder / Hintergrund / Farbe / Bild.jpg
  • img / common / logo.png

Diese Bild-URLs werden aus einem MySQL-Tabellendatensatz geladen.

Wenn solche Bilder geladen werden:

%Vor%

Die Route funktioniert nicht mehr. Schließlich sind Dateien , Bilder und images.jpg alle URL-Segmente und die Anzahl könnte sich unterscheiden .

Die Bild-URL (fett) sollte als eine Variable behandelt werden:

Route :: get ('imager / files / images / image.jpg ', Funktion ($ src = false)

Dann sollte ich in der Lage sein, die Sizing- und Cropping-Parameter vom Kurs abzubringen. Da die Länge der URL variieren könnte, nehme ich an, dass ich die Parameter mit einer Abfrage wie? W = 100 & amp; h = 50 & amp; c = true oder etwas?

übergeben könnte

Aktualisieren

Wenn ich einen Abfrageparameter für die Bild-URL verwende:

%Vor%

Das funktioniert.

    
Klaaz 17.03.2015, 12:14
quelle

1 Antwort

3

Es ist einfach. Sie müssen Laravel nur sagen, dass Ihr Bildparameter aus Buchstaben, Schrägstrich, Bindestrich, Unterstrich und Punkt ( '[A-Za-z0-9\/\.\-\_]+' ) besteht, da das Framework standardmäßig alles außer dem Schrägstrich / anpasst.

%Vor%

Sie können mehr über die Parameterbindung in der Dokumentation erfahren.

    
shaddy 31.05.2015 07:04
quelle

Tags und Links