Upload File foto dengan PHP

Dengan menggunakan PHP sangatlah memungkinkan kita untuk mengupload sebuah file misalnya foto. Sebelum kita membuat proses uploadnya kita harus membuat sebuah form html, dimana form html itu merupakan media untuk memilih file foto yang akan kita upload.

Form Upload Foto

Kita akan menggunakan Form HTML untuk mengupload foto.

<!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=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form action="proupload.php" method="post" enctype="multipart/form-data" name="form1">
<tr>
    <td>Photo</td>
    <td>:</td>
    <td><label for="photo"></label>
      <input type="file" name="foto" id="photo" /></td>
  </tr>
  <input type="submit" value="submit"/>
  </form>
</body>
</html>

Perhatikan pada bagian form action = “proupload.php” proupload.php merupakan nama file proses yang akan kita gunakan untuk menguploadnya ke database nantinya, sedangkan multipart/form-data, berguna untuk ketika suatu form akan memproses data binary, lalu kemudian lihat didalam tag input disitu ada sebuah attribut file, dimana attribut file ini akan memunculkan tombol browse ketika kita menjalankannya nanti di browser. Kita membutuhkan file koneksi untuk menyambungkannya ke database.

Upload File foto dengan PHP

Ketika sudah membuat form, yang harus kita lakukan adalah mebuat proses, dimana nanti proses inilah yang bekerja untuk mengupload file foto tersebut. Berikut adalah contoh script untuk upload file foto :

<?php
$tipenya = $_FILES['foto']['type'];
$lokasi = $_FILES['foto']['tmp_name'];
$ukuran = $_FILES['foto']['size'];
$namanya = $_FILES['foto']['name'];
$tempatfoto = "penyimpanan/$namanya";

		//JIKA DIUPLOAD BUKAN GAMBAR
		if($tipenya != "image/gif" AND
			$tipenya != "image/jpeg" AND
			$tipenya != "image/pjpeg" AND
			$tipenya != "image/png" AND
			$tipenya != "image/jpg" ) {

				echo "Maaf anda salah memasukkan file, <br/>
				Tipe File : $namanya : $tipenya <br/>
				Tipe file yang boleh di upload : gif , jpg, dan png <br/>
				<a href ='uploadfoto.php'>upload ulang</a>";

	}
else
{

	move_uploaded_file($lokasi,"$tempatfoto");
	$simpan="insert into poto values ('$tempatfoto')";

	$query=mysql_query($simpan);
	header("Location: sukses.php");
} 
?>

Perhatikan script berikut :

$tipenya = $_FILES['foto']['type']; // Deklarasi tipe file yang diupload menjadi $tipenya
$lokasi = $_FILES['foto']['tmp_name']; // Deklarasi nama salinan sementara didatabase menjadi $lokasi
$ukuran = $_FILES['foto']['size']; // Deklarasi ukuran file yang diupload menjadi $ukuran
$namanya = $_FILES['foto']['name']; // Deklarasi nama file menjadi $namanya
$tempatfoto = "penyimpanan/$namanya"; // Lokasi penyimpanan file foto (FOLDER PENYIMPANAN)

Lalu perhatikan script berikut, script berikut merukan tahapan penyaringan, dimana jika file yang diupload bukan berekstensi untuk file foto maka akan ada pesan error yang muncul nanti :

if($tipenya != "image/gif" AND //Jika tipenya bukan berekstensi .gif 
$tipenya != "image/jpeg" AND //Jika tipenya bukan berekstensi .jpeg
$tipenya != "image/pjpeg" AND//Jika tipenya bukan berekstensi .jpeg
$tipenya != "image/png" AND //Jika tipenya bukan berekstensi .png
$tipenya != "image/jpg") //Jika tipenya bukan berekstensi .jpeg
{ echo "Maaf anda salah memasukkan file, <br/> Tipe File : $namanya : $tipenya <br/> Tipe file yang boleh di upload : gif , jpg, dan png <br/> <a href ='uploadfoto.php'>upload ulang</a>"; } //Pesan error yang keluar nanti

Dan yang ini merupakan script yang akan menyimpan file foto kedalam folder yang bernama “penyimpanan” dan akan mengesave link menuju foto kedalam database.

{
	move_uploaded_file($lokasi,"$tempatfoto");
	$simpan="insert into poto values ('$tempatfoto')"; //nama table nya database foto

	$query=mysql_query($simpan);
	header("Location: sukses.php"); //file yang akan dibuka jika berhasil
}

jika anda ingin membatasi ukuran file yang diupload silahkan tambahkan ini

$ukuran = $_FILES['photo']['size']

dan seperti ini

if ($ukuran > (1024000)) //Jika ukurannya lebih dari 1 Mb

Bantu share yah

PinIt

About Boby Kurniawan Nugraha

Panggilan akrab Boby, hobi ngutak ngatik bahasa pemrograman walaupun sering banget hasilnya error dan juga mempunyai hobi bermain gitar. Ask.fm account | Facebook account | Twitter Account | Google Plus Account

11 thoughts on “Upload File foto dengan PHP

  1. anik

    if($tipe_file != “image/jpeg” and $tipe_file != “image/pjpeg” and $tipe_file!=””

    ini mau saya ganti png kok gagal trus ya?? mohon bantuannya.

    Reply
  2. anik

    Parse error: syntax error, unexpected T_LOGICAL_OR in C:\xampp\htdocs\foodteco-ol333\f00d@dm1ntec0\modul\sub_kategori\aksi_subkategori.php on line 37

    malah jadi error mas??

    Reply

Bagaimana Menurut Anda ?