Das stimmt nicht ganz! Dafür muss man die CSV-Datei runterladen und da die Namen der Bilder einzeln eingeben wieder hochladen und dann imageprocessing durchlaufen lassen!! Für jemand der meint ist das aber eine größe Zeitverschwenden, vor allem mit den unübersichtlichen CSV-Datei. Ich habe bei 1und1 einen packet mit unbegrenzten Speicherkapazität, aber für mich bedeutet das nicht, dass ich es mit jeder Menge ungenutzte Bilder voll knalen soll.
Hallo Avenger, bei mir funktioniert es leider nicht... Versuche ich ein nicht vorhandenes Bild aufzurufen zum Beispiel: /images/product_images/popup_images/fehlendes_bild.jpg, dann erhalte ich einen "404-Fehler", es wird weder das fehlende Bild erzeugt, noch das "nopic.jpg" angezeigt. Vermutlich beginnt das Problem hier: PHP: // pt_getimg.php ab Zeile 31: $file=DIR_FS_DOCUMENT_ROOT.str_replace(DIR_WS_CATALOG,'',$_SERVER['REQUEST_URI']); // hier die einzelnen Werte, testweise per "echo" ausgegeben: DIR_FS_DOCUMENT_ROOT //-> /var/www/vhosts/abc.de/httpdocs/ DIR_WS_CATALOG //-> / $_SERVER['REQUEST_URI'] //-> /images/product_images/popup_images/fehlendes_bild.jpg $file //-> /var/www/vhosts/abc.de/httpdocs/imagesproduct_imagespopup_imagesfehlendes_bild.jpg Vielleicht ist etwas in der "configure.php" falsch eingetragen, jedoch läuft der Shop einwandfrei (seit mehreren Jahren)... Was kann ich tun oder probieren? Im Voraus vielen Dank für deine Hilfe!
Da gab es noch ein Problem, wenn DIR_WS_CATALOG ="/" ist, der Shop also direkt in der Server Root liegt..... Ist korrigiert. Gleichzeitig habe ich das weiter optimiert: Die "application_top_get_img" wurde weiter verkleinert. Die vier Einzelmodule zur Bildberechnung wurden zu einem zusammengefasst. Mit dem Ergebnis, dass die Auslieferung eines schon vorhandenen "Thumbnails" nur noch 65 (statt bisher ca. 90) Millisekunden dauert.
Guten Morgen, habs gerade installiert und getestet... Jetzt erscheint die folgende Meldung beim Aufruf eines fehlenden Bildes (/images/product_images/popup_images/fehlendes_bild.jpg): HTML: <br /> <b>Warning</b>: constant() [<a href='function.constant'>function.constant</a>]: Couldn't find constant DIR_FS_CATALOG_THUMBNAIL_IMAGES in <b>/var/www/vhosts/abc.de/httpdocs/admin/includes/product_xxxxx_images.php</b> on line <b>60</b><br /> <br /> <b>Warning</b>: getimagesize(DIR_FS_CATALOG_ORIGINAL_IMAGESnopic.jpg) [<a href='function.getimagesize'>function.getimagesize</a>]: failed to open stream: No such file or directory in <b>/var/www/vhosts/abc.de/httpdocs/admin/includes/classes/image_manipulator_GD2.php</b> on line <b>39</b><br /> <br /> <b>Warning</b>: constant() [<a href='function.constant'>function.constant</a>]: Couldn't find constant DIR_FS_CATALOG_INFO_IMAGES in <b>/var/www/vhosts/abc.de/httpdocs/admin/includes/product_xxxxx_images.php</b> on line <b>60</b><br /> <br /> <b>Warning</b>: getimagesize(DIR_FS_CATALOG_ORIGINAL_IMAGESnopic.jpg) [<a href='function.getimagesize'>function.getimagesize</a>]: failed to open stream: No such file or directory in <b>/var/www/vhosts/abc.de/httpdocs/admin/includes/classes/image_manipulator_GD2.php</b> on line <b>39</b><br /> <br /> <b>Warning</b>: constant() [<a href='function.constant'>function.constant</a>]: Couldn't find constant DIR_FS_CATALOG_POPUP_IMAGES in <b>/var/www/vhosts/abc.de/httpdocs/admin/includes/product_xxxxx_images.php</b> on line <b>60</b><br /> <br /> <b>Warning</b>: getimagesize(DIR_FS_CATALOG_ORIGINAL_IMAGESnopic.jpg) [<a href='function.getimagesize'>function.getimagesize</a>]: failed to open stream: No such file or directory in <b>/var/www/vhosts/abc.de/httpdocs/admin/includes/classes/image_manipulator_GD2.php</b> on line <b>39</b><br /> <br /> <b>Warning</b>: getimagesize(DIR_FS_CATALOG_ORIGINAL_IMAGESnopic.jpg) [<a href='function.getimagesize'>function.getimagesize</a>]: failed to open stream: No such file or directory in <b>/var/www/vhosts/abc.de/httpdocs/admin/includes/classes/image_manipulator_GD2.php</b> on line <b>39</b><br />
Hallo Avenger, vielen Dank für deine Antwort. Hier kommt die includes/configure.php: PHP: <?php /* -------------------------------------------------------------- XT-Commerce - community made shopping http://www.xt-commerce.com (c) 2003 XT-Commerce - community made shopping http://www.xt-commerce.com -------------------------------------------------------------- based on: (c) 2000-2001 The Exchange Project (earlier name of osCommerce) (c) 2002-2003 osCommerce (configure.php,v 1.13 2003/02/10); www.oscommerce.com Released under the GNU General Public License --------------------------------------------------------------*/ // Define the webserver and path parameters // * DIR_FS_* = Filesystem directories (local/physical) // * DIR_WS_* = Webserver directories (virtual/URL) define('HTTP_SERVER', 'http://www.abc.de'); // eg, http://localhost - should not be empty for productive servers define('HTTPS_SERVER', 'https://www.abc.de'); // eg, https://localhost - should not be empty for productive servers define('ENABLE_SSL', true); // secure webserver for checkout procedure? define('DIR_WS_CATALOG', '/'); // absolute path required define('DIR_FS_DOCUMENT_ROOT', '/var/www/vhosts/abc.de/httpdocs/'); define('DIR_FS_CATALOG', '/var/www/vhosts/abc.de/httpdocs/'); define('DIR_WS_IMAGES', 'images/'); define('DIR_WS_ORIGINAL_IMAGES', DIR_WS_IMAGES .'product_images/original_images/'); define('DIR_WS_THUMBNAIL_IMAGES', DIR_WS_IMAGES .'product_images/thumbnail_images/'); define('DIR_WS_INFO_IMAGES', DIR_WS_IMAGES .'product_images/info_images/'); define('DIR_WS_POPUP_IMAGES', DIR_WS_IMAGES .'product_images/popup_images/'); define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/'); define('DIR_WS_INCLUDES',DIR_FS_DOCUMENT_ROOT. 'includes/'); define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/'); define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/'); define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/'); define('DIR_WS_LANGUAGES', DIR_FS_CATALOG . 'lang/'); define('DIR_WS_DOWNLOAD_PUBLIC', DIR_WS_CATALOG . 'pub/'); define('DIR_FS_DOWNLOAD', DIR_FS_CATALOG . 'download/'); define('DIR_FS_DOWNLOAD_PUBLIC', DIR_FS_CATALOG . 'pub/'); define('DIR_FS_INC', DIR_FS_CATALOG . 'inc/'); // define our database connection define('DB_SERVER', 'localhost'); // eg, localhost - should not be empty for productive servers define('DB_SERVER_USERNAME', 'xyz'); define('DB_SERVER_PASSWORD', '123'); define('DB_DATABASE', 'abc_de'); define('USE_PCONNECT', 'false'); // use persistent connections? define('STORE_SESSIONS', ''); // leave empty '' for default handler or set to 'mysql' ?>
Probiere mal die anhängende Version... Da werden fehlende Konstanten jetzt definiert. Wenn es dann immer noch Probleme gibt, kannst Du mir mal FTP-Zugang zu einem Testshop geben, dann schaue ich mir das gerne mal live an....
Hallo Avenger, WOW, jetzt funktionierts - genial! Ich habe meine Datei einmal mit der includes/configure.sample.php aus dem aktuellen Downloadpaket (GX2 v2.0.12.2) vergleichen und siehe da, es fehlen einige Einträge bei mir. Trotz Standardinstallation von GX2 - seltsam... PHP: define('DIR_WS_ADMIN', ''); // absolute path required define('DIR_FS_ADMIN', ''); // absolute pate required define('DIR_WS_CATALOG', ''); // absolute path required define('DIR_FS_DOCUMENT_ROOT', ''); define('DIR_FS_CATALOG', ''); define('DIR_FS_CATALOG_IMAGES', DIR_FS_CATALOG . 'images/'); define('DIR_FS_CATALOG_ORIGINAL_IMAGES', DIR_FS_CATALOG_IMAGES .'product_images/original_images/'); define('DIR_FS_CATALOG_THUMBNAIL_IMAGES', DIR_FS_CATALOG_IMAGES .'product_images/thumbnail_images/'); define('DIR_FS_CATALOG_INFO_IMAGES', DIR_FS_CATALOG_IMAGES .'product_images/info_images/'); define('DIR_FS_CATALOG_POPUP_IMAGES', DIR_FS_CATALOG_IMAGES .'product_images/popup_images/'); define('DIR_WS_CATALOG_IMAGES', DIR_WS_CATALOG . 'images/'); define('DIR_WS_CATALOG_ORIGINAL_IMAGES', DIR_WS_CATALOG_IMAGES .'product_images/original_images/'); define('DIR_WS_CATALOG_THUMBNAIL_IMAGES', DIR_WS_CATALOG_IMAGES .'product_images/thumbnail_images/'); define('DIR_WS_CATALOG_INFO_IMAGES', DIR_WS_CATALOG_IMAGES .'product_images/info_images/'); define('DIR_WS_CATALOG_POPUP_IMAGES', DIR_WS_CATALOG_IMAGES .'product_images/popup_images/'); define('DIR_WS_CATALOG_GALLERY_IMAGES', DIR_WS_CATALOG_IMAGES .'product_images/gallery_images/'); Jetzt fehlt eigentlich nur noch, dass die Sache auch zusätzlich noch in die andere Richtung funktioniert - also nach und nach alte, nicht mehr verwendete und somit überflüssige Artikelbilder Stück für Stück gelöscht werden... (Hatte dir dazu bereits eine PN geschickt) Trotzdem noch einmal VIELEN DANK, auch für deine individuelle Hilfe!
Stimmt! Das Modul habe ich auch schon bereits getestet, doch bei weit über 100.000 Artikeln und mehr als doppelt so vielen Bildern macht es leider "dicke Backen"... Entweder müsste es "häppchenweise" arbeiten, oder man könnte vielleicht Dein Modul um eine solche Funktion erweitern. Dann bräuchte man sich wirklich gar nicht mehr um die Artikelbilder und den entstehenden "Bildermüll" kümmern und alles würde vollautomatisch ablaufen. - nur so als Anregung natürlich... *zwinker*
Nein, das geht nicht... Da ein verwaistes Bild ja nie angefordert wird, kann man auch nicht prüfen, ob es verwaist ist. Das kann man nur durch einen Scan der Bilddateien und Überprüfung, ob ein Bild noch in der Datenbank vorhanden ist, lösen. Musst halt einen eigenen Server nehmen.... Oder das ganze lokal lösen, alle Bilddaten löschen, und nur noch die übrig gebliebenen Originalbilder wieder hochladen... Mein Modul wird die anderen benötigten dann peu à peu ja wieder erstellen..... Oder auch einfach alle Bilder außer den Originalbildern löschen, dann hat man verwaiste Bilder nur noch in den Originalbildern... Vorher sichert man natürlich das "images"-Verzeichnis, just in case.... Aber selbst wenn das Programm von HolgerNils "dicke Backen" macht, sollte man es durch mehrfachen Neustart auch hinbekommen....
Ok, verstanden, funktioniert also nur in eine Richtung (Bilder erzeugen)... Oder könnte man das Script vielleicht so erweitern, dass es, nachdem es das Artikelbild erzeugt/ausgegeben hat, damit beginnt, den Bildordner mit den Artikeln abzugleichen, jedoch nur das erste verwaiste Bild, welches gefunden wird, löscht? Beim nächsten Aufruf dann wieder eines und so weiter... Mit der Zeit würden dann auch alle Waisen automatisch gelöscht werden. Eine weitere Idee wäre noch, das Modul von HolgerNils regelmäßig per Cronjob zu starten. (Ob das so einfach geht?) Dies müsste dann ja auch nur den Ordner original_images "pflegen". Ebenfalls per Cronjob könnte man dann die anderen Ordner: gallery_images, thumbnail_images, info_images und popup_images komplett leeren... So könnte man die Sache dann auch automatisieren - vorausgesetzt das Bilderpflege-Modul lässt sich per Cronjob starten... Das mit dem kompletten Löschen und dann wieder Hochladen (eigener Server ist übrigens vorhanden) haben wir bisher immer so gemacht, dauert aber auch ne Weile bei gut 10 GB an Bildern. (Oft siegt dann leider auch die Bequemlichkeit und es werden nur die neuen Bilder hochgeladen, was dann mit der Zeit zu übervollen Bildordnern führt.) Diese "Probleme" und "Schwierigkeiten" treten aber wohl wirklich nur bei extrem vielen Artikeln und Bildern auf. Wer nicht so viele Artikel hat, muss sich damit gar nicht erst auseinandersetzen... Zum Glück können wir nun Dank deinem Modul darauf verzichten, die Bilder vorher lokal (z.B. per IrfanView) in den verschiedenen Größen zu erstellen und dann hochzuladen! Das spart natürlich schon viel Zeit, Arbeit und reduziert die Anzahl der zu übertragenden Bilder, da ja nur noch die original_images hochgeladen werden müssen.
Bei mir funktioniert das nicht Es gibt weder eine Fehlermeldung, noch werden die Bilder neu erstellt. Da passiert einfach gar nichts. Nachtrag: Wer lesen kann... In meiner configure.php fehlte auch die Hälfte. Fehlende Zeilen aus der configure_org.php übertragen und schon läuft alles Dickes DANKE an Avenger
ist das root verzeichnis das hauptverzecihnis, wo die datei hin soll? und kann ich dann in einer csvdatei die bilder auf einem externen server anzeigen lassen? das heißt, in der csv schreibe ich den pfad der bilder www.jsjfsj.de/hierdasbild.jpg ??
Beeinflusst das eigentlich auch das Backend? Hintergrund meiner Frage: Habe noch einen kleineren PC von dem aus mein Mann mir ab und zu hilft. Neuerdings ist nach der Bearbeitung von 5 Artikeln Schluss. Sämtliche Grafiken (Header, Topmenü, Icons, Produktbilder....) werden nicht mehr richtig geladen, bzw. wird der Ladevorgang endet nicht. Ausloggen ist dadurch auch nicht möglich Da bin ich halt auf Fehlersuche.
Hi Avenger ist der DOwnload im 1. Post aktuell? Da ja zwischen drinnen mal die App-Top. gepostet hast. Könntest das mal checken und dann könnte man das mal als Modul in den Modul Bereich schieben. Danke. ps. kleine nachfrage was ist wenn das Bild vom mobile candy das erste mal benötigt wird? funktiniert das dann auch "on the fly" ?
Ich schau mal nach... Bis auf wenige Ausnahmen (z.B. die "gm_javascript.php") läuft der Shop ja unverändert weiter, nur die Datendarstellung ist eine andere, und wird durch das MobileCandy erledigt. Die Antwort ist also "Ja"
Hi Avenger, mal eine "peinliche" Frage. In welcher ".htaccess" muss ich die Zeilen eintragen Gruß Michael