PHP ile Basit Dosya Yükleme
PHP ile Dosya Yükleme
Eğer ciddi projeler yapmaya başladıysanız kendi yazılımlarınızda birçok yerde dosya yükleme işlemine ihtiyaç duyacaksınız. Örneğin bir e-ticaret sitesinde ürün resmi yükleme, bir personel sisteminde personel fotoğrafı yükleme, İnsan Kaynakları sitesinde pdf şeklinde CV yükleme gibi birçok projede bu yazımızda anlattıklarımızı kullanabilirsiniz.
İlk önce basit bir dosya yükleme (file upload) uygulaması yapıp, daha sonraki yazılarımızda aşama aşama daha gelişmiş örnekler yapacağız. Şimdi örneğimize geçelim.
Aşağıdaki kod satırı ile FILE(dosya) nesnesinin html kodu olarak kullanımını görmektesiniz. Bu kod satırını yerleştirdiğiniz tüm formlarda dosya yükleme butonu ve bir metin kutusu belirecektir.
<input type="FILE" name="dosya">
Şimdi aşağıdaki dosya.php ve dosyayukle.php dosyasını aynı klasöre yerleştiriniz. Örneğin www içinde yeni açacağınız upload klasörü olabilir. Sonra upload klasörü içinde yuklenendosyalar adında bir klasör daha oluşturunuz, yüklenecek dosyaları buraya atacağız.
dosya.php içeriği
Sonuçta yukarıdaki gibi bir ekran görüntüsü ile karşılaşıyoruz. Linux sistemlerde dosya yükleme işlemini yaparken, dosya yükleyeceğiniz klasöre yazma yetkisini vermeyi unutmayınız.
Mutlu kodlamalar,
Aralık 2014
Oğuzhan TAŞ
Eğer ciddi projeler yapmaya başladıysanız kendi yazılımlarınızda birçok yerde dosya yükleme işlemine ihtiyaç duyacaksınız. Örneğin bir e-ticaret sitesinde ürün resmi yükleme, bir personel sisteminde personel fotoğrafı yükleme, İnsan Kaynakları sitesinde pdf şeklinde CV yükleme gibi birçok projede bu yazımızda anlattıklarımızı kullanabilirsiniz.
İlk önce basit bir dosya yükleme (file upload) uygulaması yapıp, daha sonraki yazılarımızda aşama aşama daha gelişmiş örnekler yapacağız. Şimdi örneğimize geçelim.
Aşağıdaki kod satırı ile FILE(dosya) nesnesinin html kodu olarak kullanımını görmektesiniz. Bu kod satırını yerleştirdiğiniz tüm formlarda dosya yükleme butonu ve bir metin kutusu belirecektir.
<input type="FILE" name="dosya">
Şimdi aşağıdaki dosya.php ve dosyayukle.php dosyasını aynı klasöre yerleştiriniz. Örneğin www içinde yeni açacağınız upload klasörü olabilir. Sonra upload klasörü içinde yuklenendosyalar adında bir klasör daha oluşturunuz, yüklenecek dosyaları buraya atacağız.
dosya.php içeriği
<html>
<head> <title>Dosya yükleme</title> <meta charset="utf-8">
</head>
<body>
<form enctype="multipart/form-data" action="dosyayukle.php" method="POST">
<table border="1" cellpadding="4" align="center">
<tr>
<td>Dosya seçiniz:</td>
<td><input type="FILE" name="dosya"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Yukle"></td>
</tr>
</table>
</form>
</body>
</html>
dosyayukle.php içeriği
dosyayukle.php içeriği
<html>
<head>
<title>Dosya yükleme</title><meta charset="utf-8">
</head>
<body> <center>
<?php
$dizin = 'yuklenendosyalar/';
$yuklenecek_dosya = $dizin . basename($_FILES['dosya']['name']);
if (move_uploaded_file($_FILES['dosya']['tmp_name'], $yuklenecek_dosya))
{
echo '<img src="tamam.jpg" width="100"><br>';
echo "Dosya başarıyla yüklendi.<br>";
} else {
echo "Dosya yüklenemedi!\n";
}
?>
</center>
</body>
</html>
Yukarıdaki kod satırlarında yapılan işlemi kısaca açıklayalım. dosya.php'nin action olayında dikkat edecek olursanız "dosyayukle.php" çağrılmaktadır. Diğer önemli nokta ise form tanımı yapılırken enctype="multipart/form-data" şeklinde bir parametrenin gelmiş olması. Dosya yükleme nesnesini kullanacağınız her yerde bu form parametresini kullanmayı unutmuyoruz.
Hatırlayacak olursanız, dosya.php dosyasında, FILE nesnesinin adını dosya olarak vermiştik. <input type="FILE" name="dosya"> şeklinde tanımlamıştık. dosyayukle.php içinden de bu nesneye yüklenen dosya ismini $_FILES['dosya']['name'] şeklinde alıyoruz.
Hatırlayacak olursanız, dosya.php dosyasında, FILE nesnesinin adını dosya olarak vermiştik. <input type="FILE" name="dosya"> şeklinde tanımlamıştık. dosyayukle.php içinden de bu nesneye yüklenen dosya ismini $_FILES['dosya']['name'] şeklinde alıyoruz.
PHP yüklenen dosyaya ilk önce kendisi bir isim vererek geçici (TEMP) bir dizine atıyor. Daha sonra verilen bu ismi biz değiştiriyoruz. Burada move_uploaded_file($_FILES['dosya']['tmp_name'], $yuklenecek_dosya) komut satırı ile geçici dosyanın adını değiştirerek yuklenendosyalar dizinine atıyoruz.
Burada biz basit olsun diye dosya isminde değişiklik yapmadık, profesyonel projelerde her dosyaya farklı bir isim vererek saklamalısınız, yüklenen dosyalar aynı isimlerde olurlarsa, bir diğerinin üzerine yazacağından veri kaybı olacaktır.Sonuçta yukarıdaki gibi bir ekran görüntüsü ile karşılaşıyoruz. Linux sistemlerde dosya yükleme işlemini yaparken, dosya yükleyeceğiniz klasöre yazma yetkisini vermeyi unutmayınız.
Mutlu kodlamalar,
Aralık 2014
Oğuzhan TAŞ
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?