php file upload

15
PHP File Upload www.BambangHerlandi.web.id

Upload: emma-levine

Post on 30-Dec-2015

135 views

Category:

Documents


7 download

DESCRIPTION

PHP File Upload. www.BambangHerlandi.web.id. Create an Upload-File Form. Untuk memungkinkan pengguna meng-upload file, sebuah formulir dapat sangat berguna. Lihatlah bentuk HTML berikut untuk meng-upload file:. Script PHP 1. - PowerPoint PPT Presentation

TRANSCRIPT

PHP File Upload

www.BambangHerlandi.web.id

Create an Upload-File Form

•Untuk memungkinkan pengguna meng-upload file, sebuah formulir dapat sangat berguna.

• Lihatlah bentuk HTML berikut untuk meng-upload file:

Script PHP 1

• <html><body>

<form action="upload_file.php" method="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>

Perhatikan hal berikut tentang bentuk HTML di atas:

• Enctype atribut dari tag <form> menentukan content-type untuk digunakan saat mengirimkan formulir. "multipart / form-data" digunakan ketika membentuk memerlukan data biner, seperti isi dari sebuah file yang diupload

• The type = "file" atribut dari tag <input> menentukan bahwa input harus diproses sebagai file. Sebagai contoh, bila dilihat dalam browser, akan ada tombol “browse” di sebelah field input

CATATAN:

• Mengijinkan pengguna untuk meng-upload file adalah resiko besar bagi keamanan web.

• Hanya mengizinkan pengguna Web untuk melakukan upload file.

Create The Upload Script

• The "upload_file.php" file contains the code for uploading a file:

• <?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"];

  }

?>

Perhatikan hal berikut tentang bentuk HTML di atas:

• Dengan menggunakan global PHP $_FILES array Anda dapat meng-upload file dari komputer client ke server remote.

• Parameter pertama adalah nama input form dan urutan kedua dapat berupa "name", "type", "size", "tmp_name" or "error". Seperti berikut:

• $_FILES["file"]["name"] – nama file yang diupload

• $_FILES["file"]["type"] – type file yang diupload

• $_FILES["file"]["size"] – ukuran dalam byte dari file yang diupload

• $_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.

Restrictions on Upload

• Dalam script berikut ini kita menambahkan beberapa pembatasan untuk file upload. • Pengguna dapat meng-upload gif, jpeg,

png dan file, dan ukuran file harus di bawah 20 kB

Script PHP 3.1

• <?php$allowedExts = array("gif", "jpeg", "jpg", "png");$temp = explode(".", $_FILES["file"]["name"]);$extension = end($temp);if ((($_FILES["file"]["type"] == "image/gif")|| ($_FILES["file"]["type"] == "image/jpeg")|| ($_FILES["file"]["type"] == "image/jpg")|| ($_FILES["file"]["type"] == "image/pjpeg")|| ($_FILES["file"]["type"] == "image/x-png")|| ($_FILES["file"]["type"] == "image/png"))&& ($_FILES["file"]["size"] < 20000)&& in_array($extension, $allowedExts)){

Script PHP 3.2

•   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";  }?>

Saving the Uploaded File

• Contoh di atas membuat salinan sementara dari file yang diupload dalam folder PHP temporary di server. • File yang disalin sementara menghilang

ketika script berakhir. • Untuk menyimpan file upload kita perlu

menyalinnya ke lokasi yang berbeda:

Script PHP 4.1

• <?php$allowedExts = array("gif", "jpeg", "jpg", "png");$temp = explode(".", $_FILES["file"]["name"]);$extension = end($temp);if ((($_FILES["file"]["type"] == "image/gif")|| ($_FILES["file"]["type"] == "image/jpeg")|| ($_FILES["file"]["type"] == "image/jpg")|| ($_FILES["file"]["type"] == "image/pjpeg")|| ($_FILES["file"]["type"] == "image/x-png")|| ($_FILES["file"]["type"] == "image/png"))&& ($_FILES["file"]["size"] < 20000)&& in_array($extension, $allowedExts))  {

Script PHP 4.2

•   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>";

Script PHP 4.3

•     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"];      }    }

Script PHP 4.4

•   }else  {  echo "Invalid file";  }?>

• Script di atas memeriksa apakah file sudah ada, jika tidak, file akan disalin ke folder bernama "upload".

End of ChapterDon't forget to follow me @BambangHerlandi

Thank you