Dacă de multe ori trebuie să lucrați cu bunuri în Virtuemart 2, probabil că știți că după înlăturarea bunurilor, imaginea însăși nu este ștersă de pe site, ceea ce duce, adesea, la umplerea spațiului pe disc al site-ului cu fișiere inutile. Personal, am nevoie pentru a șterge imaginile inutile apărute după ce de mai multe ori nu am importat cu succes mărfurile, apoi am schimbat setările de import și imaginile înmulțite, pe scurt, nu contează, aici este un script care va elimina aceste imagini:
Vreau doar să avertizez că dacă există multe imagini, scenariul va dura mult timp pentru a finaliza. Deci, aveți grijă de acest lucru prin schimbarea setărilor php, de la aproximativ 30 de secunde la 15 minute 🙂
Plug-in-ul pentru schimbări masive de preț și rămășițele Virtuemart
Bună ziua!
Nu-mi spuneți pentru cei mai înzestrați în detaliu, cum să-l folosiți? unde să inserați și cum să modificați setările PHP de la 30 de secunde la 15 minute?
Am adăugat chiar și manipularea erorilor:
gazdă, $ conf-> utilizator, $ conf-> parola, $ conf-> db);
$ images = array_slice (scandir ($ imgPath), 2);
$ resized = array_slice (scandir ($ resizedPath), 2);
$ query = »SELECT
virtuemart_media_id,
FILE_URL,
file_url_thumb
Din virtuemart_medias
WHERE virtuemart_media_id IN (SELECT DISTINCT virtuemart_media_id FROM virtuemart__medias) ";
dacă (! $ res) mor ("Nu se poate obține resurse de baze de date!");
în timp ce ($ r = $ res-> fetch_array ()) $ activID [] = $ r [0];
$ p = pathinfo ($ r [1]);
$ activImg [] = $ p ['bazename'];
$ p = caleinfo ($ r [2]);
$ activeResizată [] = $ p ['bazename'];
>
dacă (! is_null ($ activeImg)) $ notActiveImg = array_diff ($ images, $ activeImg);
>;
dacă (! is_null ($ activeResized)) $ notActiveResized = array_diff ($ resize, $ activeResized);
>
if (! is_null ($ activeID)) $ DB> interogare ( «DELETE FROM virtuemart_medias UNDE FILE_TYPE = '$ de tip' ȘI NU ÎN virtuemart_media_id (« implozie ( '', $ activeID) ») ..»);
>
$ db-> închide ();
$ plin = 0;
$ thumb = 0;
dacă (! is_null ($ activeImg))
foreach ($ notActiveImg ca $ i) dacă (is_file ($ imgPath. $ i) $ i! = 'index.html') dacă (deconectați ($ imgPath. $ i)) $ full ++; alt ecou "Nu se poate șterge $ imgPath $ i";
> else "Fișierul nu există $ imgPath. $ i";
>
>
dacă (! is_null ($ activeResized))
foreach ($ notActiveResized ca $ i) dacă (is_file ($ resizedPath. $ i) $ i! = 'index.html') dacă (deconectați ($ resizedPath. $ i)) $ thumb ++; alt ecou "Nu se poate șterge $ imgPath $ i";
> else "Fișierul nu există $ imgPath. $ i";
>
>
dacă ($ plin> 0) echo "Ștergeți imagini întregi de dimensiune completă";
dacă ($ thumb> 0) echo "Șterse miniaturile de miniaturi $ $";
dacă ($ full == 0 $ thumb == 0) echo "Nimic de șters";
?>