Benim dosya sistemi "kullanılmayan" görüntülerini kaldırmak için bir yol gerekir, my sitesinde herhangi bir noktadan erişilen asla yani görüntüleri (ben dış bağlantıları kırmak eğer önemli değildir. Hepten dış olurlar devre dışı bırakabilir) . Bu konuda giderek en iyi yolu nedir? Toplu makale veya resim galerileri kullanılabilir görüntüleri sayıda yükleyebilirsiniz Düzenli kullanıcılar konu / mesaj ve içerik contributers birden ekleri ekleyebilirsiniz.
Sorun görüntüleri aşağıdaki yollardan herhangi biri başvurulan olabilir ki:
- Kullanıcı içeriği (metin / html, muhtemelen Markdown veya BBCode) veritabanında saklanır
- Bir HTML sayfası içine kodlanmış
- Bir PHP dosyası içine kodlanmış
- Bir CSS dosyası içine kodlanmış
- Uygulamanın belli bir klasörde olacağını varsayar çünkü genellikle hiçbir yolu ile sadece dosya kendisi içeren bir veritabanı tablosunda bir "ek" alanına, gibi.
Ve kapalı üst için, görüntünün yolu mutlak ya da göreli HTTP veya PHP yolu olabilir ve ya PHP string birleştirme ile inşa edilebilir olmayabilir.
Yani açıkçası / yerini bulmak veya veritabanı veya dosya sistemi regexing söz konusu değildir. Ama neyse ki senin ve benim için, bu sistemin henüz tam olarak uygulanmadı ve görüntülerin mevcut bir istif ile fırsatlar şey gerekmez. Ben sadece gelecekte bu sağlayacak verimli bir yapı kurmak gerekir.
Ben düşündüm, bazı fikirler:
- PHP ile görüntü için HTTP isteği yakalama ve http_referer takip. Bu sorun hiç kimsenin kontrol sırasında bir linke tıklandığında sırf bu linki yok anlamına gelmez ki.
- Aşırı veritabanı normalleştirme kullanın - yani görüntüler için bir tablo yapmak ve başvuran her şey için yabancı tuşlarını kullanın. Bununla birlikte, bu kullanmak için herhangi bir normal kullanıcı için pratik olmanın yanı sıra çok-çok ilişkileri (ve crosstables) bir metrik craptonne hale neden olur.
- Yedekleme tüm görüntüler ve bunları silmek, ve bir komut dosyası yedekleme klasöründen görüntü bulmak için çalışır ve "gerçek" klasörüne koyar her zaman her 404 isteğini kontrol edin ve çalıştırın. Sorun bu önbellek sık sık her tasfiye edilecek ve önbelleği yeniden ne zaman, sunucu gergin olabilir olurdu olmasıdır.
Fikirler / öneri? Bu görmezden ve görüntülerin bir gülünç miktarda bir site yapıyoruz bile yaşamak zorunda sadece bir şey mi? Sadece ispat-of-concept için çalışma şey (bu kavramsal bu alana gidiyor olabilir sadece çünkü çöp toplama etiketi ekledi) nasıl, değmez bile.