index.php
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<title>Dosya Yükleme</title>
</head>
<body>
<h2>Dosya Yükle</h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<label>Dosya Seç:</label><br><br>
<input type="file" name="fileToUpload" required>
<br><br>
<input type="submit" name="submit" value="Yükle">
</form>
</body>
</html>
Upload.php
<?php
// Yüklemelerin kaydedileceği klasör
$targetDir = "uploads/";
// Klasör yoksa oluştur
if (!is_dir($targetDir)) {
mkdir($targetDir, 0777, true);
}
// Yüklenen dosyanın bilgileri
$fileName = basename($_FILES["fileToUpload"]["name"]);
$targetFile = $targetDir . uniqid() . "_" . $fileName; // benzersiz isim
$fileType = strtolower(pathinfo($fileName, PATHINFO_EXTENSION));
// İzin verilen dosya türleri
$allowedTypes = ["jpg", "jpeg", "png", "gif", "pdf", "txt"];
// Maksimum dosya boyutu: 5MB
$maxSize = 5 * 1024 * 1024;
if (isset($_POST["submit"])) {
// Dosya seçilmemişse
if ($_FILES["fileToUpload"]["error"] == UPLOAD_ERR_NO_FILE) {
die("Lütfen bir dosya seçin.");
}
// Dosya boyutu kontrolü
if ($_FILES["fileToUpload"]["size"] > $maxSize) {
die("Dosya çok büyük! Maksimum izin verilen boyut: 5MB");
}
// Dosya türü kontrolü
if (!in_array($fileType, $allowedTypes)) {
die("Bu dosya türüne izin verilmiyor!");
}
// Dosyayı hedef klasöre taşı
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFile)) {
echo "Dosya başarıyla yüklendi!<br>";
echo "Yüklenen dosya: " . htmlspecialchars($fileName) . "<br>";
echo "Sunucudaki yol: " . $targetFile;
echo '<img src="' . $targetFile . '" alt="Yüklenen Resim" style="max-width:300px; display:block; margin-top:10px;">';
} else {
echo "Dosya yüklenirken bir hata oluştu.";
}
}
?>