मैं अपनी अपलोड निर्देशिका से सभी हटाए गए चित्रों को कैसे हटाऊं?


20

मैं अपने अपलोड फ़ोल्डर को साफ करने की कोशिश कर रहा हूं क्योंकि वे अब मेरे सर्वर पर बहुत अधिक कमरे लेने लगे हैं।

मैंने इस अंत को प्राप्त करने के लिए प्लगइन्स का उपयोग करने की कोशिश की है जैसे कि DNUI और क्लीनअप इमेजेस लेकिन ये प्लगइन्स या तो बेकार हैं या DNUI के मामले में (जो कि हाल ही में अपडेट किया गया है और काम करता है) वे सटीक परिणाम प्राप्त नहीं करते हैं जो मैं बाद में हूं। ऐसा इसलिए है क्योंकि मेरी साइट Woocommerce और एक विषय का उपयोग करती है, जो दोनों केवल पोस्ट या पेज जैसे हेडर, फ़ूटर और गैलरी के बजाय अन्य स्थानों के भीतर छवियों का उपयोग करते हैं। ऐसा लगता है जैसे कि WC का उपयोग करता है यह खुद बनाया है लाइटबॉक्स प्लगइन में जिसे प्रिटी फोटो कहा जाता है, जहां डीएनयूआई द्वारा "अप्रयुक्त" के रूप में विस्तृत किए गए चित्रों को कहा जाता है।

मुझे पता है कि यह थोड़ा पूछने का है लेकिन मैं सोच रहा हूं कि क्या कोई मुझे सही दिशा में ले जा सकता है? मैं कोई डेवलपर नहीं हूं, इसलिए शायद यहां पर पोस्टिंग भी नहीं होनी चाहिए, लेकिन मैं चीजों को समय और दृढ़ संकल्प के साथ काम कर सकता हूं। मैंने इस साइट पर स्क्रिप्ट देखी है जो DNUI प्लगइन के समान परिणाम प्राप्त करते हैं लेकिन कुछ भी नहीं जो अन्य छवि उपयोगों को ध्यान में रखता है (यदि यह और भी संभव है?)। कोई भी सहायताकाफी प्रशंसनीय होगी।


2
मैं एक ही काम करना चाहता हूं, लेकिन मुझे चिंता नहीं है कि अप्रयुक्त को कैसे परिभाषित किया जाए । उदाहरण के लिए, एक लेखक ने एक ड्राफ्ट पोस्ट पर छवियां अपलोड की हो सकती हैं, और फिर एक अन्य ड्राफ्ट पोस्ट बनाया, सामग्री को चिपकाया, और वह पोस्ट प्रकाशित हो गई। इसका मतलब यह होगा कि छवियों को ड्राफ्ट पोस्ट को सौंपा गया है, न कि प्रकाशित पोस्ट को। हो सकता है कि एक स्क्रिप्ट जो सभी पोस्टों के माध्यम से दिखती है और छवि URL की जांच करती है कि कौन सी छवियों का उपयोग किया गया है और नहीं। उम्मीद है कि हमारे पास एक अच्छा जवाब होगा।
क्रिस्टीन कूपर

दुर्भाग्य से "अप्रयुक्त" की आपकी परिभाषा अधिक विस्तृत है, कम संभावना है कि आप इसके लिए उपयुक्त समाधान पाएंगे। आप (गिनती और आकार में) कितनी छवियों के बारे में बात कर रहे हैं?
रारस्ट

हाय रार्स्ट, जवाब देने के लिए धन्यवाद, साइट अब लगभग 5 वर्षों से सक्रिय है और बहुत छवि पर निर्भर है, जिसमें विषय और प्लगइन्स के कुछ बदलाव हैं। मेरा मानना ​​है कि अप्रयुक्त छवियों के बहुत सारे हैं। और परिवर्तनों की मात्रा के कारण आकार में काफी भिन्नता है। मैंने इस नंबर को आज़माने और कम करने के लिए पहले ही फोर्स रीजेनरेट थम्बनेल का उपयोग किया है और इसने एक हद तक काम किया है, लेकिन यह प्लगइन अक्सर राशि के कारण बाहर हो जाता है। यदि मैं इसे सक्रिय छोड़ता हूं, तो यह मेरे सर्वर पर सीपीयू को एक असमान स्तर तक बढ़ा देता है।
जी-ऑली

मुझे समस्या की जटिलता का एहसास है और इसलिए मैं इन चित्रों को देखने और हटाने के लिए मीडिया लाइब्रेरी का उपयोग कर रहा हूं। दुर्भाग्य से मैंने पाया है कि यह अक्सर अप्रयुक्त और इसके विपरीत के रूप में भी सूचीबद्ध होता है, जैसे कि यह एक श्रमसाध्य धीमी प्रक्रिया है, लेकिन मैंने अपनी नाक को अब ग्रिंडस्टोन पर ले लिया है।
जी-ऑली

1
अगर मैं अपने दो सेंट लगा सकता हूं, तो कुछ प्रकार की वेबसाइटों के लिए मुझे लगता है कि समस्या को आनुभविक रूप से हल किया जा सकता है। इन साइटों के लिए वेबक्रेलर साइट पर हर पृष्ठ पर जा रहे हैं। आपके सर्वर लॉग से सभी विज़िट किए गए पृष्ठों के यूआरएल की सूची प्राप्त करें। DOMDocument का उपयोग करके इन पृष्ठों को पार्स करें और सभी <img> तत्व और उनके srcs प्राप्त करें। इस दृष्टिकोण के साथ समस्या है अगर जावास्क्रिप्ट गतिशील रूप से hrefs और srcs उत्पन्न करता है।

जवाबों:


4

प्लगइन का उपयोग करके चित्र हटाना:

आप इस प्लगइन का उपयोग कर सकते हैं, यह आपके डेटाबेस को खोजेगा और देखेगा कि क्या छवि किसी भी पोस्ट (सामग्री में, चित्रित छवि के रूप में, किसी भी कस्टम फ़ील्ड में, कहीं भी ...) या पृष्ठभूमि के रूप में डाली गई है ...

अगर छवि का उपयोग कहीं भी नहीं किया गया है तो यह आपको इसे हटाने का विकल्प देगा। आपको अपनी साइट पर उन सभी छवियों की सूची मिल जाएगी जिनका उपयोग अब नहीं किया गया है, इसलिए आप उन्हें सुरक्षित रूप से हटा सकते हैं।

https://wordpress.org/plugins/dnui-delete-not-used-image-wordpress/

और यह, अभी भी काम, यहां तक ​​कि यह पुराना है

https://wordpress.org/plugins/wordpress-uploaded-files-cleaner/


मैन्युअल रूप से चित्र हटाना:

आप अपनी मीडिया लाइब्रेरी के माध्यम से उन छवियों के लिए भी खोज कर सकते हैं जो पोस्ट और पेज के लिए अनअटैच्ड हैं।

मीडिया लाइब्रेरी पर जाएं और "अनासक्त" पर क्लिक करें यह उन सभी छवियों को प्रदर्शित करेगा जो आपकी साइट के अन्य भागों पर प्रदर्शित हो सकती हैं या उपयोग नहीं की जाती हैं।


1
छवियों के साथ समस्या जो किसी भी पोस्ट से जुड़ी नहीं है, उनका उपयोग किसी अन्य स्थान पर किया जा सकता है - उदाहरण के लिए यदि आपके पास कोई कस्टम फ़ील्ड है जो Wordpress के मूल मीडिया अपलोडर के आधार पर एक छवि अपलोडर का उपयोग करता है, तो यह इस बात पर निर्भर करता है कि विषय कैसा था। कोडित, वहां अपलोड की गई छवि किसी भी पोस्ट (आपके डेटाबेस पर) से जुड़ी नहीं है। फिर भी एक वैध विचार।
ब्रूनो मोंटेइरो

मैं यहाँ दूसरा @BrunoMonteiro हूँ। यह संभव है कि ऐसी छवियां हों जो किसी पोस्ट से जुड़ी न हों।
1

3

क्रोन / अनुसूचित कार्य और एक डीबी क्रॉल आपका मित्र है

यह एक प्लगइन होने की आवश्यकता है, आप इसे wp_cron अंतराल भी निर्दिष्ट कर सकते हैं, ऊपर दिए गए एक के विपरीत नहीं, बल्कि किसी भी 'post_content' फ़ील्ड की तरह जाँचने के साथ (आपको इनकी पहचान करने की आवश्यकता होगी, अपने WP वातावरण पर निर्भर छवि के URI / URL के लिए। यह सिस्टम की प्रक्रियाओं पर अत्यधिक समय लेने / कर लगाने की क्षमता रखता है - वास्तविक रूप से इस प्रक्रिया को केवल एक दिन या सप्ताह में एक बार चलाने की आवश्यकता होगी - यह मानते हुए कि अधिक बार चलाने के लिए कोई अन्य कानूनी / व्यावसायिक कारण नहीं हैं।

स्रोत का एक मास्टर-दास डीबी कॉन्फ़िगरेशन इस प्रक्रिया को एक प्रदर्शन अवरोधक की तुलना में काफी कम होने की अनुमति देता है, लेकिन यह इस सवाल के दायरे से परे है जो मुझे विश्वास है।


2

मैंने इमेज क्लीनअप प्लगइन की कोशिश की और यह सबसे अच्छा है, लेकिन फिर भी पहले बैकअप बनाने के लिए अच्छा है।


1

आपको wp-content/uploadsअपलोड की गई फ़ाइलों के लिए अपने फ़ोल्डर को स्कैन करने की आवश्यकता है , और फिर उन फ़ाइलों के संदर्भ के लिए आपका डेटाबेस, और अंत में उन्हें एक साथ मिलाएं। जिसे मिलान नहीं किया जा सकता, उसे निकालने के लिए सुरक्षित होना चाहिए।

डेटाबेस स्कैनिंग मुश्किल हिस्सा है। अधिकांश फ़ाइल संदर्भ मीडिया लाइब्रेरी के अंदर संग्रहीत किए जाते हैं जिन्हें आप मानक वर्डप्रेस फ़ंक्शन / एपीआई का उपयोग करके एक्सेस कर सकते हैं। लेकिन उन फाइलों का क्या होता है जिन्हें मीडिया लाइब्रेरी से हटा दिया जाता है लेकिन फिर भी पोस्ट द्वारा संदर्भित किया जाता है? या अन्य प्लगइन्स की फाइलें अलग-अलग तरीकों से लिंक होती हैं?

मैंने काफी परीक्षण किए और जो मैंने इकट्ठा किया, सभी फ़ाइल संदर्भ या तो सादे-पाठ प्रारूप में संग्रहीत हैं (यानी फ़ाइल पथ या URL के बराबर एक तालिका सेल), HTML प्रारूप (यानी एक पोस्ट की सामग्री), क्रमबद्ध डेटा के रूप में, या अंत में JSON ऑब्जेक्ट्स के रूप में। आपको पूरे डेटाबेस को स्कैन करना होगा और यह अनुमान लगाने की कोशिश करनी होगी कि प्रत्येक सेल के भीतर किस प्रारूप का उपयोग किया गया है। बेशक, अन्य विदेशी तरीके हो सकते हैं जो कुछ प्लगइन्स अपनी फ़ाइलों के संदर्भ रखने के लिए उपयोग कर रहे हैं, लेकिन उन्हें केवल केस-बाय-केस आधार पर ही नियंत्रित किया जा सकता है।

नतीजतन, मैंने एक प्लगइन लिखा जो स्वचालित रूप से वह सब करता है, क्योंकि मुझे अपनी कुछ ग्राहकों की वेबसाइटों के लिए इसकी आवश्यकता थी, और इसका नाम थिया अपलोड क्लीनर रखा । यह मेरे लिए अच्छी तरह से काम किया है, लेकिन निश्चित रूप से आपको कुछ इस तरह की कोशिश करने से पहले हमेशा बैकअप बनाना चाहिए।


अच्छा तरीका ... मुझे आश्चर्य है कि अगर आपको समय के साथ अधिक से अधिक सामग्री / प्लगइन्स / पोस्ट के साथ किसी भी समस्या का सामना करना पड़ा ...
jj_

यहाँ और वहाँ के मुद्दे हैं, हाँ। उदाहरण के लिए, कुछ प्लगइन्स के लिए आपको कुछ तालिकाओं को बाहर करने की आवश्यकता होती है जो अन्यथा चीजों को काफी धीमा कर सकती हैं। हम कुछ कीवर्ड द्वारा स्वचालित रूप से बाहर करने की कोशिश करते हैं, जैसे "लॉग" टेबल, लेकिन यह पाठ्यक्रम के सभी मामलों को नहीं पकड़ता है।
liviucmg
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.