Şu şekilde yaparsanız birkaç hatayı ve açığı düzeltmiş olursunuz.


if(isset($_FILES['dosya'])) {
$baslik = $_POST["baslik"];
$yaziaciklama = $_POST["yaziaciklama"];
$kategori = $_POST["kategori"];

$boyut = $_FILES['dosya']['size'];

if($boyut > (1024 * 3)) {
echo 'Dosya 3MB den büyük olamaz.';
} else {

function in_arrayi($needle, $haystack): bool
{
return in_array(strtolower($needle), array_map('strtolower', $haystack));
}

$isim = $_FILES['dosya']['name'];
$uzanti = pathinfo($isim, PATHINFO_EXTENSION);
$fileTypes = ['jpg', 'jpeg', 'png'];

if(!in_arrayi($uzanti, $fileTypes)) {
echo 'Dosya Formatı Uygun Değil.';
} else {
if (move_uploaded_file($_FILES['dosya']['tmp_name'], '../../../images/eklenenyaziresimleri/' . $_FILES['dosya']['name'])) {
$insert = $db->prepare("INSERT INTO yaziekle (yaziekle_resim, yaziekle_baslik, yaziekle_konu,
yaziekle_kategori) VALUES (?,?,?,?)");
$insert->execute([
$isim, $baslik, $yaziaciklama, $kategori
]);
if ($insert->rowCount()) {
echo '

Kayıt Başarıyla Gerçekleştirildi
';
header("refresh:1; url=yaziekle.php");
} else {
echo "Kayıt Başarısız.";
}
} else {
echo 'Dosya yükleme hatası!';
}
}
}
}