it-swarm-tr.com

Tüm yetim görüntü dosyalarının listesi nasıl alınır?

Herhangi bir içerik öğesinde artık kullanılmayan görüntülerin listesini oluşturmak istiyorum, böylece diskten temizlenebilirler. Böyle bir liste oluşturmak için en iyi yöntem nedir?

8
miroxlav

Bunu nasıl yapacağınıza dair en iyi yöntem olduğundan emin değilim. Düşünebilmemin tek yolu biraz çaba gerektiriyor. Yani, veritabanındaki içerik tablosundaki tüm görüntülerin bir listesini oluşturmak (ve potansiyel olarak modüllerde, menülerde, afişlerde vb. ve her liste arasında karşılaştırma yapın ve kullanılmayan resimleri kaldırın.

Yani bu şöyle görünecektir:

1) com_content'in veritabanı tablosundaki tüm görüntülerin bir listesini alın. Tüm satırları dök, <img src="images/stories/an-image.jpg" />. Başka bir yol, php'nin strip_tags () yöntemini kullanmak ve yalnızca etikete izin vermektir. Bunu genellikle normal ifade yazmaktan daha kolay buluyorum. Temel olarak bu listeyi bir metin belgesi veya csv olarak oluşturmak için bir php betiği çalıştırın.

2) Sitedeki tüm görüntülerin bir listesini alın. Bunu yapmak için komut satırından grep kullanabilirsiniz inanıyorum. Muhtemelen özyinelemeli php dosya sistemi yöntemiyle de yapabilirsiniz.

3) her ikisini de bir e-tabloya alın ve üçüncü bir sütunda kullanılmayan görüntülerin listesini derleyerek, görüntünün kullanılıp kullanılmadığını görmek için her sütuna bir tür karşılaştırma yapın.

-

Şahsen, boktan bir görüntü yoksa, bunun çabaya değdiğinden emin değilim. Ancak, kullanım durumunuzun beklemede olduğunu belirlemeniz gerekir. Ayrıca bir başkasının önereceği çok daha basit bir çözüm olabilir!

5
Chad Windnagle

Erişim günlükleriniz varsa, son X ay içinde istenen tüm görüntü dosyalarını çıkarabilirsiniz (tüm bu verilerle oynamanız gerekir). Yani bunlar gerçek sitenizde büyük olasılıkla kullanılıyor (ancak% 100 değil). İçeriğinize ve site yapınıza bağlı olarak ve siteniz gerçekten çok büyük değilse (yani 1 milyon makale), geri kalanının muhtemelen kullanılmadığı (yine% 100 değil).

Bu çözümü kolay buluyorum. Silmeden önce görüntüleri yedekleyin. Belirli dosyaları açmaya çalışırken daha sonra 404 hataları izleyebilir ve bunları geri yüklemeye karar verebilirsiniz.

Kirli bir çözüm, ama gerçekten kolay bir yolu yok. En iyi seçenek Chad tavsiyelerini takip etmek ve kendi ayrıştırıcınızı yazmak olacaktır.

3
Ivo

Bunu yapacak mevcut bir uzantının farkında değilim. En iyi seçeneğiniz, her görüntüyü, içeriğin kullanılıp kullanılmadığını görmek için içeriğin depolanabileceği tablolardaki tablolara karşı kontrol eden bir komut dosyası yazmak olacaktır.

3
Michael

Soru sorulduğunda hiçbir uzantı mevcut olmasa da, Ağustos 2018'den itibaren yetim görüntüleri bulan ve silebilecek en az birkaç uzantı var:

VX yetimImages (ücretli uzantı)

"VX orphanImages eklentisi, sitedeki herhangi bir içerikte kullanılmayan öğeleri bulmak için Joomla! Site görüntüleri klasörünüzü tarar. Listedeki artık görüntüleri işaretlemek veya kaldırmak için ana Medya bileşenini kullanır. "

ImageManager (ücretsiz/ücretli sürümler)

"Joomla! İçin ImageManager! Makaleler ve Özel HTML Modüllerindeki görüntü bağlantısını kaybetmeden görüntüleri taşımanıza ve yeniden adlandırmanıza izin verir. Web sitenizi yeniden yapılandırmak ve temizlemek için resimlerinizi sürükleyip bırakın. Kullanılmayan tüm görüntüleri listeleyebilir ve silebilirsiniz. ."

0
Neil Robertson