Mesela sayfanızda wallpaper tarzında sabit resimler yayınlıyorsunuz yada yine wallpeper tarzında sabit arkaplanınız var. Fakat kullanıcının sıkılmasınıda istemiyorsunuz . İşte vereceğim kod tam olarak burada devreye giriyor. İnternet sitenizde bir klasör oluşturup içine boyutları aynı olan istediğiniz kadar resim aatıyorsunuz . Ve bu kod o klasörde bulunan resimmleri rasgele şekilde kullanıcılarınıza resim yada arkaplan olarak gösteriyor. Kulaanımı çok basit. Yazının devamında kodlama ve kullanımı için bilgileri bulabilirsiniz.
Kodu hostunuzda veya localhost’ta deneyin.
PHP kodu ; (foto.php olarak kaydedin)
< ?php
$dir = 'foto/';
$avatar_types[] = 'gif';
$avatar_types[] = 'jpg; //ekleme yapabilirsin.
// ARTSTIL INTERACTIVE - www.artstil.net
// BURDAN SONRASINI DEGISTIRMEYINIZ.
$avatar = array_key_exists('avatar',$_GET)?$_GET['avatar']:'';
if ($avatar != '') {
$avatar = urldecode($avatar);
}
else {
$avatars = array();
$directory = opendir($dir);
while ($list = readdir($directory)) {
if ($list != '.' && $list != '..') {
$ext_check = explode('.',$list);
foreach ($avatar_types as $variable => $value) {
if (in_array($value,$ext_check) && !in_array($value,$avatars)) {
$avatars[] = $list;
}
}
}
}
closedir($directory);
$random = array_rand($avatars,1);
$avatar = $avatars[$random];
}
$file = fopen($dir.'/'.$avatar,'r');
$content = fread($file,filesize($dir.'/'.$avatar));
fclose($file);
die($content);
?>
Kullanım Şekli ; Üstteki kodu foto.php olarak kaydettikten sonra , kaydettiğiniz dosyanın bulunduğu alana foto/ isminde klasör oluşturun ve içine jpg yada gif formatında reesimlerinizi ekleyin. Kullanım şekli olarak normal src olarak çağırdığınız resimler yerine bu php dosyasını alttaki gibi çağırıcaksınız.
<img src="Foto.php">
4 yorumlar On PHP ile Rasgele Resim Çağırma
Kod çalışıyor teşekkürler yalnız çekilen resim 2 adet basılıyor. Bunu nasıl düzeltebiliriz?
Lütfen girdiğiniz kodu kontrol edermisiniz. Ben aynı kodu denediğimde tek çıkıyor.
çektiği resmi konusuyla birlikte gösterebilirse çok daha güzel olurdu aslında.
kod da sorun varmı ben bi türlü çalıştıramadım
yardımcı olabilir misiniz
teşekkür ederim