Membuat Form Upload File dengan PHP

Di Tulis Oleh : Ivan Silalahi 14 comments


-->
Pasti kalian pernah meng-upload foto di Facebook atau situs lainya. Kali ini kita juga akan membuat form untuk meng-upload poto atau data lainya. Seperti yang telah saya jelaskan pada tutorial HTML 4, kita perlu menggunakan file field untuk memilih data yang akan kita upload nantinya.
Pada file field terdapat seperti text field yang akan menunjukan path file kita, dan button untuk memilih file yang akan kita pilih. Lalu pada properties form, ditambahkan enctype="multipart/form-data"  agar pada proses upload berlangsung lancar.
Langsung saja kita mulai langkah-langkahnya.

1. Membuat Halaman Form Upload

Buat halaman HTML dengan nama upload.html dengan kode berikut.

<html>
<body>
<form action ="upload_file.php" metode="post" enctype="multipart/form-data">
<label for="file"> Filename: </label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>



          Penjelasan file upload.html

  • Atribut enctype dari tag <form> yang menentukan jenis konten yang akan digunakan saat mengirimkan formulir. "Multipart / form-data" digunakan ketika membentuk memerlukan data biner, seperti isi file, untuk diupload
  • Jenis = "file" attribute dari tag <input> menentukan bahwa input harus diproses sebagai file. Sebagai contoh, bila dilihat dalam browser, akan ada sebuah browse-tombol di samping kolom input.


2. Membuat Skrip Upload File

Buatsebuah file dengan nama upload_file.php .  file ini  berisi kode untuk meng-upload file kedalam direktori yang kita tuju. Copy dan simpan skrip di bawah dengan nama upload_file.php.

<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Error:".$_FILES["file"]["error"] ."<br />";
}
else
{
echo "Upload:".$_FILES["file"]["name"]."<br />";
echo "Type: ".$_FILES["file"]["type"]. "<br />";
echo "Size: ".($_FILES["file"]["size"]/ 1024) ." Kb<br />";
echo "Stored in: ".$_FILES["file"]["tmp_name"];
}
?>

Dengan menggunakan global PHP $_FILES array Anda dapat meng-upload file dari komputer klien untuk server yang jauh (internet).

        Penjelasan Code diatas

  • $_FILES["file"]["name"] - nama file upload
  • $_FILES["file"]["type"] - jenis file upload
  • $_FILES["file"]["size"] - ukuran dalam byte dari file upload
  • $_FILES["file"]["tmp_name"] - nama salinan sementara dari file yang tersimpan di server
  • $_FILES["file"]["error"] - kode kesalahan yang dihasilkan dari file upload

Ini adalah cara yang sangat sederhana untuk meng-upload file. Untuk alasan keamanan, Anda harus menambahkan pembatasan pada apa pengguna diperbolehkan untuk meng-upload. Untuk itu kita perlu membuat skrip pembatas.


3. Membuat Skrip Pembatasan Upload File

Dalam script ini kita menambahkan beberapa pembatasan untuk upload file. Pengguna hanya dapat meng-upload gif atau file jpeg dan ukuran file harus berada di bawah 20 kb:

<?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 "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
}
else
{ echo "Invalid file";
}
?>

Catatan :
 Untuk IE untuk mengenali jenis file gambar jpg menggunakan pjpeg, untuk FireFox menggunakan jpeg.



4. Menyimpan File yang terupload

Contoh di atas adalah, membuat salinan sementara dari file yang diupload ke PHP temporary folder pada server localhost. File disimpan sementara saat proses skrip telah berakhir. Untuk menyimpan upload file kita perlu penyalinan path ke lokasi yang berbeda :

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 "Return Code:".$_FILES["file"]["error"]."<br />";
}
else
{
echo "Upload:".$_FILES["file"]["name"]."<br />";
echo "Type: ".$_FILES["file"]["type"]."<br />";
echo "Size: ".($_FILES["file"]["size"] / 1024)." Kb<br />";
echo "Temp file: ".$_FILES["file"]["tmp_name"]."<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"]."already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]);
>
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>

Skrip di atas memeriksa apakah file sudah ada, jika tidak, file akan di simpan ke folder yang dituju.

Catatan :
Contoh ini akan menyimpan file tersebut ke folder baru yaitu folder "upload"



Cara menyusun skrip atau kode :


- Anda harus membuat file atau halaman form dan skrip upload file (upload_file.php)
- Kode dari file upload_file.php dapat diganti dengan langkah no 2, 3 dan 4

Semoga apa yang telah saya jelaskan dapat dipahami para sobat sekalian. Selamat mencoba dan berkarya.



Tutorial terkait dengan Membuat Form Upload File dengan PHP :

Terimakasih Atas Kunjungan Sahabat Setia Belajar Pintar PHP
Judul Pelajaran PHP : Membuat Form Upload File dengan PHP
Ditulis oleh Ivan Silalahi
Rating postingan ini 5 dari 5
Semoga artikel ini bermanfaat bagi saudara. Jika ingin mengutip, baik itu sebagian atau keseluruhan dari isi artikel ini harap menyertakan link dofollow ke http://planetsphp.blogspot.com/2012/07/membuat-form-upload-file-dengan-php.html. Terima kasih sudah singgah membaca artikel ini. Jangan lupa like dan sharenya serta komentarnya
14 comments:
Anonymous said... Balas

good education bro

Chandra Ardin said... Balas

siip mas broo
nitip blog gue dong ,visite yaa :)
http://ardineducated99.blogspot.com/

Ekiosku.com Jual Beli Online aman menyenangkan said... Balas

Muantap gan ,, visit back ya ..

Ivan Silalahi said... Balas

thanks ,,

akan saya visit back

arek community said... Balas

salam kenal boz, saya tertarik sekali dengan konten anda tentang cara membuat form upload foto php but saya masih bingung cara menerapkannya? bisa bantu saya boz....thanks....

Ivan Silalahi said... Balas

@arek community:
anda mengalami kesulitan dalam menerapkan program yang mana ??

tolong di jelaskan dan saya akan membantu anda

alaska pulsa said... Balas

saya senang sekali gan mantap infonya
sayng sekali ane awam banget kepengen bisa kayak agan

Ivan Silalahi said... Balas

@alaska pulsa:
cara belajar program website yang benar adalah ,,
1. Pelajari dulu apaitu algoritma pemrograman
2. jika sudah sedikit mengerti,pelajari HTML
3.jika sudah,pelajari CSS
4.lalu pelajari JavaSript
5.lalu pelajari PHP MYSQL,
6. Jika sudah Pelajari lagi apa itu PHP OOP atau Framwork PHP ,,
7. Jika sudah mengerti, pelajari Ajax dan Jquery ,,

Jika semua itu sudah anda pelajari, anda akan dicari oleh lowongan pekerjaan,,tapi bukan anda yang mencari ,,

semoga membantu

Rinaldi said... Balas

kalo ingin membuat nama file yg diupload itu berdasarkan angka,,
contoh : upload file gambar.jpg , selanjutnya nama file akan berganti menjadi 1.jpg di database ..

terimakasih.

M.Husni Mubarok said... Balas

untuk blogspot bisa diterapkan ga gan?
www.profitgoonline.com

tilay hacker said... Balas

Gan Kalo Kaya Gitu Perlu Database Ga ?

Ivan Silalahi said... Balas

@tilay hacker: Untuk contoh diatas, gak perlu pake database gan

AutoTrend Astomo said... Balas

Sepertinya mucah, namun saya gagal jika ingin mengupload file video yang kapasitasnya lebih dari 1 gb, saya upload ke localhost saja sih. ada yang bisa kasih contoh?

Desain Ruang Bermain Anak

Pastinya Sehat said... Balas

thanks gan infonya sangat membantu ^_^

Post a Comment

Template by Tutorial Website - Belajar Pintar PHP. Design by Ivan Silalahi | Copyright of Belajar Pintar PHP.