PHP Upload File sederhana

Hai sobat, kali ini kami mau share tentang salah satu hal yang fundamental di PHP, yaitu bagaimana cara upload file. Jika kamu sedang mencari dan ingin memperdalam tentang bagaimana konsep upload file di php, tutorial berikut semoga menjadi pencerahannya.

Tutorial kali ini akan membahas tentang :

  1. Membuat form khusus untuk upload file
  2. Membuat upload file sederhana
  3. Memberikan fitur jika file yang di upload telah tersedia
  4. Memberikan fitur filter untuk upload jenis file tertentu.

Okay selamat belajar.

Tahap 0 : Membuat folder “files”

Pada direktori, buat nama folder “files”, pada property folder berikan akses untuk menulis.

Tahap 1 : Membuat form khusus upload

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="PHP script upload file" /> 
<meta name="keywords" content="PHP tutorial, PHP" />
<meta name="author" content="kinta mahadji" />
<title>Upload script</title>
</head>

<body>

<form action="upload.php" method="post" enctype="multipart/form-data" name="form1" id="form1">

<h3>Upload file :</h3>

    <label>
    <input type="file" name="fupload" />
    </label>


      <label>
      <input type="submit" name="upload" value="Upload" />
      </label>
  



<a href="files/">Browse files </a>

</form>



Created by : kinta mahadji, <a href="http://kintamahadji.com">http://kintamahadji.com</a> 

</body>
</html>

Salah satu kesalahan pemula adalah, mereka seringkali lupa menambahkan property enctype=”multipart/form-data” pada tag form, so pastikan property ini ada pada tag upload script yang kamu buat.

Tahap 2 : Membuat upload.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="PHP script upload file" /> 
<meta name="keywords" content="PHP tutorial, PHP" />
<meta name="author" content="kinta mahadji" />
<title>Upload script</title>
</head>

<body>


  <?php
	
	
	// Membaca nama file
	$file_name = $_FILES['fupload']['name'];

	// Membaca ukuran file
	$size = $_FILES['fupload']['size'];

	// Membaca jenis file
	$file_type = $_FILES['fupload']['type'];
	
	// Source tempat upload file sementara
	$source = $_FILES['fupload']['tmp_name'];
	
	// Tempat upload file disimpan
	$direktori = "files/$file_name";
	
	// Mengecek apakah file yang di upload sudah ada atau belum
	if( file_exists ($direktori)) {
		echo "file <strong>$file_name</strong> sudah ada, upload dengan nama lain 
 <a href=\"form_upload.html\">kembali</a>";
		exit();
	} elseif ($file_type != "image/gif" && $file_type != "image/jpg" && $file_type != "image/jpeg" && $file_type != "image/png") {
		echo $file_type."
";
		echo "file <strong>$file_name</strong> tidak di support, hanya untuk upload gambar (gif, jpg,jpef,png)";
	} else {

	// Memindahkan upload file dari direktori sementara ke tempat permanen
	move_uploaded_file($source,$direktori);

	//Menampilkan keterangan file
	echo "<strong>Direktori sementara :</strong> ".$source."
";
	echo "<strong>Folder :</strong> ".$direktori."
";
	echo "<strong>Filename :</strong>".$file_name."
";
	echo "<strong>Size : </strong>".$size." bytes 
";
	echo "<strong>File type : </strong>".$file_type."
";
	echo "<strong>Filename :</strong>".$file_name."
";
	}
	
?>





<a href="form_upload.html">Upload lagi</a> | <a href="files/">Browse files </a>



Created by : kinta mahadji, <a href="http://kintamahadji.com">http://kintamahadji.com</a> 

</body>
</html>

Script di atas sebagian besar saya berikan komentar, agar memudahkan pembaca dalam mempelajari codenya. Berbeda dengan input type text, pada files, pengiriman data menggunakan $_FILES, misal ingin mendapatkan nama files, maka $_FILES[‘$name’][‘name’]. Dalam upload files ada beberapa property yang dapat digunakan, berikut daftarnya :

Untuk mendapatkan nama file yang di upload
$_FILES[‘$name’][‘name’]

Untuk mendapatkan jenis file yang di upload
$_FILES[‘$name’][‘type’]

Untuk mendapatkan ukuran file yang di upload
$_FILES[‘$name’][‘size’]

dan beberapa daftar lainnya yang bisa di cek secara detail di php manual.

Di bawah ini adalah tampilan ketika user berhasil upload

php-upload-files

Tahap 3 : Menambahkan fitur file_exists

Ok kita lanjutkan, dalam suatu aplikasi upload seringkali terjadi upload file dengan nama yang sama, padahal isinya berbeda, hal ini tentu saja tidak diinginkan karena file yang lama akan ditiban dengan file yang baru, ada beberapa mekanisme yang bisa dipakai untuk menanganinya :

  1. Mengganti nama upload file, dengan cara menambahkan perpaduan angka dan
    huruf secara random.
  2. Memunculkan peringatan bahwa file yang diupload memiliki nama yang sama.
    Pada tutorial ini kita akan memakai cara yang kedua.

Perhatikan baris berikut
if( file_exists ($direktori)) {

Fungsi file_exists() berfungsi untuk mengecek nama file pada direktori tempat
penyimpanan upload file berada, jika ada maka fungsi if akan dijalankan dan
memunculkan pesan.

Tahap 4 : Menambahkan fitur filter untuk upload jenis file tertentu

Pada beberapa kasus tertentu kita diharuskan untuk membuat sebuah aplikasi upload file yang hanya menangani file tertentu, dalam contoh ini kita akan menambahkan fitur filter untuk medeteksi file yang di upload, jika file yang di upload tidak sesuai yang diinginkan oleh sistem maka upload di tolak, itu secara konsepnya.

Dari segi script, menambahkan filter ini cukup mudah, yaitu dengan menggunakan
function if, fungsi if mendeteksi apakah file yang di upload sesuai yang diinginkan atau
tidak, cukup menambahkan script berikut :

$file_type = $_FILES['$name']['type']
if ($file_type != "image/gif" &amp;&amp; $file_type != "image/jpg" &amp;&amp;
$file_type != "image/jpeg" &amp;&amp; $file_type != "image/png") {
echo $file_type."
";
echo "file <strong>$file_name</strong> tidak di support,
hanya untuk upload gambar (gif, jpg,jpef,png)";
} else {

Download php file upload

php – upload file sederhana

 

Happy coding, semoga bermanfaat.

About Author:

Leave A Comment

Your email address will not be published. Required fields are marked *