Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 13. Juli 2015 10:47
- faglork
- arbeitet mit CMS/ms
- Ort: Fränkische Schweiz
- Registriert: 15. Dezember 2010
- Beiträge: 1.152
- Webseite
Plugin gr_image : erkennt bereits generierte images nicht
Moinsen!
Ich nutze das Plugin qr_image v. 1.4 von Goran Illic. Funzt prima, aaaaber:
Es sollte *eigentlich* überprüfen, ob das image schon generiert wurde. Das tut es leider nicht, bzw, das funktioniert nicht. Die Folge: tausende von Dateien im qr-Verzeichnis :-((
Kann das jemand bestätigen oder ist das nur bei mir so?
Da der Besitzer der Server ist, kann man das auch nicht einfach per FTP löschen ... wenn man im Filemanager tausende Dateien löschen will, gibts ne leere Seite - das Löschen hat zwar funktioniert, aber die Fehlfunktion ist natürlich beunruhigend ...
Servus,
Alex
Beitrag geändert von faglork (13. Juli 2015 11:41)
Offline
#2 13. Juli 2015 12:10
- faglork
- arbeitet mit CMS/ms
- Ort: Fränkische Schweiz
- Registriert: 15. Dezember 2010
- Beiträge: 1.152
- Webseite
Re: Plugin gr_image : erkennt bereits generierte images nicht
Der Aufruf sieht so aus:
[== smarty ==]
{tbtools::selfUrl(qr)}
<div id="qrcode">{qr_image url=$qr path='qr' width='120' height='120' alt='' title='' data_uri='1'}</div>
... das Problem schein hier zu liegen:
[== php ==]
$image_path_qr = $gCms -> config['image_uploads_path'] . '/' . $path . '/';
$image_filename_qr = md5(serialize($params)) . '.png';
if(!file_exists($image_path_qr . $image_filename_qr) || $image_filename_qr == md5(serialize($params))) {
...
(dann wird ein image gespeichert)
Wenn ich mir die erzeugten Dateien ansehe, dann wird da JEDESMAL ein anderer Dateiname erzeugt?
Die $params sind aber bis auf die URL ja immer diesselben, also sollte das auf die Anzahl der Seiten begrenzt sein.
md5 erzeugt AFAIK immer denselben Hash, oder nicht?
Was läuft denn da schief?
IMO wird
$image_filename_qr == md5(serialize($params))
niemals TRUE weil es vorher auf
$image_filename_qr = md5(serialize($params)) . '.png';
gesetzt wird ...
--> damit bleibt als Bedingung
!file_exists($image_path_qr . $image_filename_qr)
und das ist aber
$image_filename_qr = md5(serialize($params)) . '.png';
also bleibt
md5(serialize($params))
als Problem, bzw. md5 oder serialize.
WTF??
Ich versteh es nicht. Oder ich seh den Wald vor lauter Bäumen nicht.
Servus,
Alex
Beitrag geändert von faglork (13. Juli 2015 12:32)
Offline
#3 13. Juli 2015 13:17
- Klenkes
- Server-Pate
- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: Plugin gr_image : erkennt bereits generierte images nicht
Seltsam.
Hilft dir nicht weiter, doch ich kann nur so viel sagen, als dass ich das Plugin auch in der Version 1.4 einsetze, und es dort funktioniert:
{qr_image url=$cgsimple->self_url() width='180' height='180'}
Noch eine alte Installation mit CGSimpleSmarty und Ausgabe des IMG Tags in einem Modal.
Siehe hier: http://bit.ly/1RtL0Yg
Es muss an etwas Anderem liegen.
Offline
#4 13. Juli 2015 16:07
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.435
Re: Plugin gr_image : erkennt bereits generierte images nicht
Lass Dir die Parameter im Plugin doch mal ausgeben.
Ebenso den Pfad zum Bild und den Rückgabewert von serialize und md5.
Also vor die if-Bedingung:
exit(
print_r($params, true) . "<br/>\n" .
serialize($params) . "<br/>\n" .
md5(serialize($params)) . "<br/>\n" .
$image_path_qr . $image_filename_qr
);
usw.
Also alle potentiellen Störfaktoren mal durchgehen.
Und dann vergleiche mal bei jedem Aufruf.
Im Prinzip hast Du den Code schon richtig verstanden.
Ich sehe da auch keinen Fehler.
Bis auf dieses:
$image_filename_qr == md5(serialize($params))
Das ergibt für mich an dieser Stelle auch keinen Sinn.
PS: Schau noch mal nach, ob Du auf dem Server wirklich die Version 1.4 hast.
Ein sich ständig änderner Dateiname spricht eigentlich für eine ältere Version.
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
#5 15. Juli 2015 23:28
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.017
- Webseite
Re: Plugin gr_image : erkennt bereits generierte images nicht
... das Problem schein hier zu liegen:
[== php ==] $image_path_qr = $gCms -> config['image_uploads_path'] . '/' . $path . '/';
Dürfte wohl eher nicht die Lösung sein, aber dies sollte korrekter Weise so aussehen
[== php ==]
$image_path_qr = cmsms()->GetConfig['image_uploads_path'] . '/' . $path . '/';
Offline
#6 15. Juli 2015 12:48
- faglork
- arbeitet mit CMS/ms
- Ort: Fränkische Schweiz
- Registriert: 15. Dezember 2010
- Beiträge: 1.152
- Webseite
Re: Plugin gr_image : erkennt bereits generierte images nicht
Ich glaub ich habs fast ...
Zu Einen: Es sind die News und ein Kalender. Die müssen ausgeschlossen werden, weil da sich die URLs ändern.
Dennoch. Es sind max. so 500 Termine und so 200 News. Das ist kein Grund für 5000 images ...
Kmmm ... Könnte es sein das der TOP-Link am Ende der Seite da jeweils ein neues image kreiert?
Muss ich mal testen.
Servus,
Alex
Offline
Seiten: 1