थोड़ी देर के लिए स्टैक ओवरफ़्लो पर एक लर्कर रहा, साइट से प्यार है।
अब मेरी बारी है। नीचे दिए गए कोड से, मैं हर बार पृष्ठ लोड होने पर पृष्ठभूमि छवि को यादृच्छिक बना रहा हूं।
क्या कोई इतना दयालु होगा कि मुझे इसे और अधिक कुशल बनाने में मदद करे ताकि मुझे अपने फ़ाइल नाम मैन्युअल रूप से दर्ज करने की आवश्यकता न हो? मैं किसी प्रकार के वाइल्डकार्ड फ़ंक्शन की तलाश में हूं जो मेरे दिए गए फ़ोल्डर को देख सकता है और पाद लेख *। पीएनजी या यहां तक कि *। पीएनजी लोड कर सकता है क्योंकि इस फ़ोल्डर में केवल पाद लेख पैटर्न होंगे।
var images = ['footer.png', 'footer2.png', 'footer3.png'];
$('#footer').css({'background-image': 'url(images/footers/' + images[Math.floor(Math.random() * images.length)] + ')'});
1 उत्तर
PHP के साथ, आप यह कर सकते हैं:
<?php
$directory = "./images/";
$images = glob($directory . "*.png");
foreach($images as $image)
{
echo $image . "\n";
}
?>
बस $directory
को एक मनमाना तर्क न दें, क्योंकि रूसी हैकर्स आपके वेबएप को जैक कर देंगे।
इसका उपयोग करने के लिए, PHP फ़ाइल के लिए AJAX अनुरोध करें और आउटपुट को पार्स करें, प्रत्येक फ़ाइल को \n
वर्ण से अलग करें।
तो jQuery के साथ,
var images = [];
jQuery.load('images.php', function(data)
{
images = data.split('\n');
});