2016-04-04 5 views
0

Resimlerim ürün kimliğiyle düzenlenmiştir. XX-1.jpg XX-2.jpg XX-3.jpgPhp ile 50.000'den fazla resim dizinini hızlı bir şekilde tarama yolu

1 ürününün görüntüleri bulmak için, aşağıdaki yöntemi kullanın.

$all_images[$resolution]=glob("/home/imgimportsinc/public_html/sharing/images_by_product_id/{$resolution}/*.jpg"); 

Ardından dizideki ürün kimliğine bakıyorum. Yukarıdaki ve önbellek, her ürün için görüntü URL'lerini depolayan bir cron işim var, böylece görüntüleri her seferinde taramak zorunda kalmam.

Bunu doğru mu yapıyorum yoksa bunu yapmanın daha hızlı/doğru/uygun bir yolu var mı?

+3

Ürün kimliğini kullanarak depolanırlarsa, yalnızca yolu oluşturma sorunu olmamalıdır? Neden onları araman gerekiyor? Orada değiller mi? –

+1

^^ ve ürün resmi dosya adı \ konumunu veritabanında –

+0

ürünüyle birlikte depolamam gerekiyor çünkü daha sonra yeni bir resim yüklüyorsam veya bir resmi silersem ne olur? Ben bir görüntü var mı, yoksa ben gerçekten –

cevap

0

Eğer Bütünlüğü için bu

$dirname = "/home/imgimportsinc/public_html/sharing/"; 
$images = glob($dirname."*{$resolution}-*.{$extention}"); 
foreach($images as $image) { 
    echo '<img src="'.$image.'" /><br />'; 
} 
0

için glob kullanabilirsiniz, yorum zaten az arama, daha az hesaplama sürede sonuçlanacağını size ipuçları veriyor. Silme/ekleme işlemini yalnızca takip ederseniz, sadece ids ile sinek yollarını oluşturabilirsiniz. sıraladığınız elemanları gerekmiyorsa bir bayrak olarak GLOB_NOSORT kullanılarak

Başka küçük ipucu, önemli ölçüde, hesaplama süresini azaltabilir.