hocam isterseniz, veri tabanı tablosunu, klasör hiyerarsini gönderin birde öyle bakalım, çünkü ilginç yani basit bir durum. Gözden kaçan bir nokta var sanırım
kodumun tamamı bu şekilde hocam destekleriniz için çok teşekkür ederim

if ($_FILES['ayar_logo']['size']>3145728) {
echo "Bu dosya boyutu çok büyük";
$_SESSION['genelayar']="no";
Header("Location:../genel-ayar.php");
exit;
}
$izinli_uzantilar=array('jpg','gif','','png');
//echo $_FILES['ayar_logo']["name"];
$ext=strtolower(substr($_FILES['ayar_logo']["name"],strpos($_FILES['ayar_logo']["name"],'.')+1));
if (in_array($ext, $izinli_uzantilar) === false) {
echo "Bu uzantı kabul edilmiyor";
$_SESSION['genelayar']="no";
Header("Location:../genel-ayar.php");
exit;
}
$uploads_dir = '../../dimg';
@$tmp_name = $_FILES['ayar_logo']["tmp_name"];
@$name = $_FILES['ayar_logo']["name"];
$benzersizsayi4=rand(20000,32000);
$refimgyol=substr($uploads_dir, 6)."/".$benzersizsayi4.$name;
$bos = "0";
@move_uploaded_file($tmp_name, "$uploads_dir/$benzersizsayi4$name");
if(!$name){
$duzenle=$db->prepare("INSERT ayar SET
ayar_logo=:logo
WHERE ayar_id=0");
$update=$duzenle->execute(array(
'logo' => $bos
));
$_SESSION["genelayar"] = true;
Header("Location:../genel-ayar.php");
}else{
$duzenle=$db->prepare("UPDATE ayar SET
ayar_logo=:logo
WHERE ayar_id=0");
$update=$duzenle->execute(array(
'logo' => $refimgyol
));
if ($update) {
$resimsilunlink = $db->query("SELECT ayar_logo FROM ayar WHERE ayar_id=0")->fetch(PDO::FETCH_ASSOC);
$resimsilunlink=$_POST['ayar_logo'];
unlink("../$resimsilunlink");
$_SESSION["genelayar"] = true;
Header("Location:../genel-ayar.php");
} else {
$_SESSION['genelayar']="no";
Header("Location:../genel-ayar.php");
}
}