Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 03. Januar 2012 14:43
- jeff1980
- Server-Pate
- Ort: Dortmund
- Registriert: 26. November 2010
- Beiträge: 630
[GELÖST] Umgekehrtes truncate
Hallo,
stehe mal wieder vor einem Problem:
Ich habe im ListIt2-Modul diese Ausgabe für eine hochgeladene Datei:
images/catalog/1-1101-k/1-1101-v.jpg oder
images/catalog/1-1102-k/1-1102-v.jpg aber auch mal
images/catalog/1-1103-v/1-1101-v.jpg usw.
Wie kann ich da jetzt den Dateinamen extrahieren? Da die Ordnerstruktur immer gleich ist (der letzte Unterordner variiert aber), die Zeichenanzahl also ebenfalls, wollte ich es mit truncate machen. Allerdings nimmt das ja nur hinten etwas weg. Ich möchte aber, dass am Ende das hier stehen bleibt:
1-1101-v
Naiv würde ich es so schreiben:
{assign var="dateiname" value=$item->fielddefs.produktbild.value|replace:".jpg":""|reverse_truncate:8}
Wie bekomme ich das
images/catalog/x-xxxx-x/ weg?
Ich habe mich schon an regex_replace versucht, bin jedoch gescheitert, da auch immer der Dateiname bis auf den Buchstaben mit verschwindet.
Ich hoffe, das ist halbwegs verständlich...
Beitrag geändert von jeff1980 (03. Januar 2012 14:44)
Offline
#2 03. Januar 2012 14:59
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] Umgekehrtes truncate
{$item->fielddefs.produktbild.value|basename}
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#3 03. Januar 2012 15:01
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
Re: [GELÖST] Umgekehrtes truncate
hmm. basename kannte ich auch noch nicht. aber da gibts dann vermutlich probleme wenn es mehr als einen punkt im dateinamen gibt.
ich verwende für sowas dann {$mystring|substr:5:0}
dabei würden dann die ersten 5 zeichen abgezogen werden.
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
#4 03. Januar 2012 15:04
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: [GELÖST] Umgekehrtes truncate
Punkte dürften kein Problem sein. Weitere Details siehe:
http://php.net/manual/de/function.basename.php
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#5 03. Januar 2012 15:07
- jeff1980
- Server-Pate
- Ort: Dortmund
- Registriert: 26. November 2010
- Beiträge: 630
Re: [GELÖST] Umgekehrtes truncate
Hi,
das ging schnell - danke .
Beide Wege gehen. Ich habe mich schon wund gesucht - allerdings nur in Verbindung mit Smarty. Dabei bin ich nicht auf die PHP-Seiten gekommen.
Ich denke, basename ist letztendlich eleganter. Die Ordnerstruktur ist und soll zwar gleich bleiben. Falls sich aber die Zeichenzahl doch mal ändert, ziehe ich nun basename vor.
Aber substr bleibt auch abgespeichert...
Edith:
Letztlich sieht es nun so aus:
{assign var="bild_name" value=$item->fielddefs.artikelbild.value|basename|replace:".jpg":""}
So kann ich es einfacher in die if-Abfragen einbauen.
Beitrag geändert von jeff1980 (03. Januar 2012 15:09)
Offline
#6 03. Januar 2012 15:17
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: [GELÖST] Umgekehrtes truncate
Beide Wege gehen. Ich habe mich schon wund gesucht - allerdings nur in Verbindung mit Smarty. Dabei bin ich nicht auf die PHP-Seiten gekommen.
Merke: man kann immer PHP in Smarty einbauen. Jede PHP Funktion lässt sich so auch verwenden. Beachtet muss dabei, dass z.T. die Reihenfolge der Werte bei reinen PHP Funktionen anders ist als in Smarty. Siehe hier z.B. http://www.blattertech.ch/blog/49/70/Sm … andeln.htm
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
Seiten: 1