PHP’de Dosya Yükleme

17 Mar.

PHP ile sunucuya dosya yükleyebiliriz ancak bu işlem için iki elemana ya da kod grubuna ihtiyacımız olacaktır.

Dosya Yükleme Formu

Bu bir HTML formudur ve basit olarak aÅŸağıdaki gibidir. “form.php” olarak kaydedebiliriz.

<html>
<body>

<form action=”upload_file.php” method=”post”
enctype=”multipart/form-data”>
<label for=”file”>Dosya adı:</label>
<input type=”file” name=”file” id=”file” />
<br />
<input type=”submit” name=”submit” value=”Gönder” />
</form>

</body>
</html>

Formda, (enctype=”multipart/form-data) ifadesi bir dosyaya ait içerikler istenildiÄŸinde kullanılır. Yine girdi tipi olarak kullandığımız (type=”file”) ile bir dosya için iÅŸlem yapılacağını belirtiriz.

Komut Dosyası

“upload_file.php” dosyası.

<?php
if ((($_FILES["file"]["type"] == “image/gif”)
|| ($_FILES["file"]["type"] == “image/jpeg”)
|| ($_FILES["file"]["type"] == “image/pjpeg”))
&& ($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo “Geri gönderme kodu: ” . $_FILES["file"]["error"] . “<br />”;
}
else
{
echo “Dosya adı: ” . $_FILES["file"]["name"] . “<br />”;
echo “Dosya tipi: ” . $_FILES["file"]["type"] . “<br />”;
echo “Dosya boyutu: ” . ($_FILES["file"]["size"] / 1024) . ” Kb<br />”;
echo “Geçici dosya: ” . $_FILES["file"]["tmp_name"] . “<br />”;

if (file_exists(”upload/” . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . ” dosyası zaten var. “;
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
“upload/” . $_FILES["file"]["name"]);
echo “Dosya yeri: ” . “upload/” . $_FILES["file"]["name"];
}
}
}
else
{
echo “Geçersiz dosya”;
}
?>

ÖrneÄŸi çalıştırmadan önce dosyalarla aynı dizinde bir “upload” klasörü oluÅŸturunuz. Örnek çalıştırıldığında dosyamız “upload” klasörüne yüklenecektir ve komut dosyamızda belirtilen “dosya adı, boyutu, yeri” gibi bilgiler ekrana yazılacaktır. Yine komut dosyasının ilk satırlarında bulunan dosya tipi ve boyutu yüklemeyi kısıtlayacaktır. Bu özellikler kullanım yerine göre deÄŸiÅŸtirilebilir.

Konuyla ilgili diğer bir ayrıntı ise bu tür dosya yükleme formlarının yaratacağı güvenlik sorunudur. Alınabilecek en basit önlem dosya yükleme işlemlerini yetki verilen kişilerin yapmasına izin vermektir.

Bu yazının Popülerliği: 27% [?]

Benzer Yazılar

Yorum Yapın

Asagıdaki iki kelimeyi bos olan kutuya yazınız. Bu uygulama zararlı yorumları engellemek için. Anlayısınıza tesekkur ederim.