Upload File dengan PHP

Upload File dengan PHP

Upload File dengan PHP

Upload File dengan PHP
Upload File dengan PHP

PHP dapat digunakan meng-upload file ke server.

Buat Form Upload-File

Untuk memberikan kesempatan user dapat  meng- upload files dari suatu form dapat sangat bermanfaat

/Perhatikan form HTML berikit  :

<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>

Catatan berikut tentang form HTML di atas:

  • enctype attribute dari  tag <form>  spesifikasi bagaimana  type komponen yang digunakan  bila  mengirimkan form. “multipart/form-data”  digunakan bila form memerlukan data binary, seperti komponen file, yang akan di upload
  • type=”file” attribute dari tag <input>  spesifikasi dimana  input akan diproses sebagai sebuah file. Contoh, bila ditampilkan di browser, akan ada suatu browse-button di sebelah kanan  field input

Note: Memberikan  izin kepada sembarang user untuk meng- upload file mempunyai resiko yang besar. Hanya mengijinkan para pemakai dipercayai untuk melaksanakan file uploads.

Buat Script Upload

file “upload_file.php” berisi code untuk upload  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"];   } ?>

Dengan menggunakan global PHP $_FILES array anda dapat  upload files dari client computer ke remote server.

Parameter pertama dari form masukan nama dan yang kedua index dapat juga “nama”, “type”, “size”, “tmp_name” atau “error”. seperti berikut:

  • $_FILES[“file”][“name”] – nama file yang di upload
  • $_FILES[“file”][“type”] – type file yang di upload
  • $_FILES[“file”][“size”] – ukuran dalam bytes file yang di upload
  • $_FILES[“file”][“tmp_name”] – nama copy file sementara  dari file yang akan disimpan diserver
  • $_FILES[“file”][“error”] – kode error yang dihasikan dari file upload

Ini cara sangat sederhana untuk  meng upload files. Untuk menjamin keamanan , anda harus tambahkan pembatasan  apa dan siap yang diizinkan untuk meng- upload.

Pembatasan pada Upload

Pada script ini kita menambahlan beberapa pembatasan ke file upload. User hanya boleh meng-upload  file .gif atau .jpeg dan ukuran file harus dibawah  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";   }
?>

Note: untuk IE untuk recognize file jpg , type harus  pjpeg, untuk FireFox harus  jpeg.

Menyimpan File Upload

Contoh diatas membuat salinan sebuah file sementara  dari file yang di upload. pada PHP folder temp berada pada server.

copy file sementara  akan dihapus ketika script berakhir. Untuk menyimpan file yang di upload kita harus mengcopynya persis sama ke lokasi yang berbeda:

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

script di atas memeriksa apakan file sudak ada, Jika tidak, akan menyalin file ke folder yang ditentukan.

Sumber : https://usgsprojects.org/

You might be interested in …

Hubungan Antara Menyimak dengan Berbicara

Hubungan Antara Menyimak dengan Berbicara

Pendidikan

Hubungan Antara Menyimak dengan Berbicara   Berbicara dan menyimak adalah Dua kegiatan berbeda namun erat dan tidak terpisahkan. Ibarat mata uang, satu sisi ditempati kegiatan berbicara dan satu sisi lainnya ditempati kegiatan menyimak. Kegaiatan menyimak pasti dilakukan terlebih dahulu daripada kegiatan berbicara. Kegiatan berbicara dan menyimak saling melengkapi dan berpadu menjadi komunikasi lisan, seperti dalam […]

Read More
Ketua Ahli K3 Riau Tutup Pelatihan Ahli K3 Muda

Ketua Ahli K3 Riau Tutup Pelatihan Ahli K3 Muda

Pendidikan

Ketua Ahli K3 Riau Tutup Pelatihan Ahli K3 Muda Bulan Bahasa (BB) Universitas Islam Riau (UIR) sukses digelar. BB tahun ini lebih menggaungkan kiprahnya ke tingkat Asia Tenggara. BB 2018 mengangkat tema ‘Cintai Bahasa dan Sastra Indonesia sebagai Benteng Persatuan Bangsa.’ Hal itu, diungkapkan Muhammad Mukhlis, M.Pd., Ketua Program Studi Pendidikan Bahasa dan Sastra Indonesia […]

Read More
Kurtilas

Ada yang Salah dengan Kurikulum 2013 Kurtilas

Pendidikan

Ada yang Salah dengan Kurikulum 2013 Kurtilas Kurtilas ( Kurikulum 2013) atau bisa juga disingkat K13 yaitu suatu sistem kurikulum bentukan baru dari pemerintah dimana dalam proses kegiatan belajar mengajarnya para siswa diharapkan bisa lebih aktif dalam mencari dan menyampaikan materi tersebut atau mengemukakan materi kepada teman yang lain kemudian ditanggapi oleh teman yang lainnya. […]

Read More