Merhaba, php’de veritabanından resimleri çekerken sıkıntı yaşıyorum. Foreach döngüsüyle beraber aynı formatta cardlar oluşturursam sıkıntı yok ama seyler.eksisozluk.com adresindeki gibi resim boyutları ve kartların boyutları farklı olunca foreach kullanamıyorum. her kart için ayrı kontrol sağlamak gerekiyor gibi bir sürü php dosyası çağırmak demek oluyor bu. Bir yerlerde ta işin temelinde bir hata yaptım galiba ama sürdürülebilir bir çözüm bulmam gerekiyor. Resimler her zaman url ya da serverda olmak zorunda olmadığı için bir kontrol mekanizması yazdım
<?php
$random_img = rand(1,9);
$sabit_resim = "<img src='public/img/duz/img_".$random_img.".jpg' style='width: 100%; height:140px; filter: blur(.1rem);' border:2px solid red;>";
$dosya = "public/upload/$resim1";
$resim_url = $resim1;
$find_letters = array('jpg', 'jpeg', 'png','gif','svg');
//print_r($resim_url_length);
$match = (str_replace($find_letters, '', substr($resim_url,-4)) != substr($resim_url,-4));
//resim_url son 4 karakteri array içeirisndeki 4 karakterle eşleşiyorsa 1 eşleşmiyorsa false dönüyor
if (empty($resim1)) {
echo "";
?>
<script>
$( '#icerik_resim' ).css('display', 'none');
</script>
<?php
}elseif (file_exists($dosya)) {
echo "<img style='width:100%; height:250px' src='".$dosya."'>";
//print_r($dosya);
}elseif (strlen($resim_url)>=3) { //Eğer databaseden gelen verinin uzunluğu 3 karakterden fazlaysa
if (filter_var($resim_url, FILTER_VALIDATE_URL)!==false && $match==true) {
echo "<img style='width:100%; height:250px' src='".$resim_url."'>";
//echo "<img style='width:100%; height:400px' src='".$resim_url."'><span>Resim Bilgisi</span>"; resim altına yazı eklemek için
}else{?>
<script>
$( '#icerik_resim' ).css('display', 'none');
</script>
<?php
}
//print_r($resim_url);
}else{
echo $sabit_resim;
echo '<div style="position:absolute; left:15px; bottom:5px; text-decoration: none;"><span>Merhaba</span></div>';
}
?>
Bu kod ile belirli ölçülerde img tagı getiriyorum ama cardlardaki boyutlar birbirinden farklı olacağı için her farklı card için bu kodun olduğu ayrı php dosyası çağırmam gerekecek onun yerine ne yapabilirim bilmiyorum.
şu anki anasayfa görüntüsü bu: