PHP Dersleri

PHP ile Dosya Upload ( Yükleme ) Nasıl Yapılır?

PHP ile dosya yükleme işlemini gerçekleştirmek için aşağıdaki adımları takip edebilirsiniz:

Dosya yükleme formunu oluşturun. Örneğin:

<form action="upload.php" method="post" enctype="multipart/form-data">
    Select file to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload File" name="submit">
</form>

Dosya yükleme işlemini yapacağınız PHP dosyasında aşağıdaki kodu kullanarak yüklenen dosyayı server’a kaydedin:

$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}

// Check if file already exists
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}

// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}

// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}

// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}

Bu kod, yüklenen dosyanın geçerli bir resim dosyası olup olmadığını, daha önceden server’da mevcut olup olmadığını, dosya boyutunun izin verilen boyuttan daha büyük olup olmadığını ve izin verilen dosya türlerinden birine uygun olup olmadığını kontrol eder. Eğer dosya geçerli bir resim dosyası ise, dosya server’a uploads/ dizini içine taşınır.

Bu kod parçacığını kullanarak dosya yükleme işlemini gerçekleştirebilirsiniz. Ancak, burada verilen örnek sadece bir başlangıç noktasıdır ve ihtiyaçlarınıza göre bu kodu düzenleyebilir veya tamamen yeniden yazabilirsiniz. Örneğin, yüklenen dosyaların tarih veya kullanıcı adı gibi ek bilgilerle birlikte kaydedilebilir, yüklenen dosyaların türlerini sınırlandırabilir veya yüklenen dosyaların güvenliğini kontrol edebilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir