PHP’de Dosya Yükleme
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% [?]