Friday, October 24, 2014

Cara Menggunakan Input Type File Pada PHP

Pada tulisan ini kita akan belajar cara menggunakan input type file dan cara menanganinya. Seperti telah ditulis pada artikel sebelumnya tentang membuka dan menutup file serta mengambil data text dari file, kita menentukan file dengan cara menuliskan nama file pada script PHP. Kemudian lokasi file tersebut juga berada diserver yang sama dengan script PHP tadi.

Lalu bagaimana caranya jika kita akan membuka file dari lokasi lain, misal dari flashdisk atau harddisk di komputer client?

Untuk dapat membuka file dari lokasi selain server, kita bisa menggunakan input type file dan mengikuti prosedur upload file yang ditentukan oleh PHP untuk menanganinya. Prinsipnya adalah file dari komputer client dipindah dulu ke lokasi sementara pada server (temporary) baru kemudian dibaca isinya.

Cara menggunakan Input type file dan script php untuk menanganinya

1. Buat form yang berisi input type file dan input submit dengan script berikut ini:

 <form enctype="multipart/form-data" action="" method="POST">  
   Pilih file yang akan dibuka:</br>   
   <input name="userfile" type="file" />  
   <input type="submit" name="enter" value="Buka" />  
 </form>
Catatan Penting:
Pastikan pada form terdapat attribut enctype="multipart/form-data" agar fungsi upload dapat bekerja dengan baik.

2. Berikut tampilan form pada browser:

Pilih file yang akan dibuka:   

 

3. Buat script PHP untuk menangani input type file pada form diatas:

 <?php  
 if(isset($_POST["enter"]))  
 {  
      echo "Isi dari file ".$_FILES["userfile"]["name"].":<br />";  
      $temp_filename= $_FILES["userfile"]["tmp_name"];   
      $file = fopen($temp_filename,"r");    
      while(! feof($file))    
      {    
           echo fgets($file). "<br />";    
      }    
      fclose($file);   
 }   
 ?>   

4. Penjelasan script diatas: 

Setelah tombol buka ditekan maka nama file akan ditampilkan dengan variabel super global $FILES["userfile"]["name"]. Kemudian nama temporary file diambil dengan variabel super global $_FILES["userfile"]["tmp_name"] dan dibuka dengan fungsi fopen() dilanjutkan dengan menampilkan baris per baris isi file sampai akhir file (end of file). Proses diakhiri dengan menutup file menggunakan fungsi fclose().

5. Berikut gabungan script lengkapnya

 <html>     
 <body>   
 <form enctype="multipart/form-data" action="" method="POST">  
   Pilih file yang akan dibuka:<br />   
   <input name="userfile" type="file" /><br />   
   <input type="submit" name="enter" value="Buka" />  
 </form>   
 <?php  
 if(isset($_POST["enter"]))  
 {  
      echo "Isi dari file ".$_FILES["userfile"]["name"].":<br />";  
      $temp_filename= $_FILES["userfile"]["tmp_name"];   
      $file = fopen($temp_filename,"r");    
      while(! feof($file))    
      {    
           echo fgets($file). "<br />";    
      }    
      fclose($file);   
 }   
 ?>    
 </body>     
 </html>   

6. Dan berikut screenshot saat script dipakai untuk membuka file text

pada contoh, nama file yang dibuka adalah website.txt

buka file dari komputer client dengan input type file

Referensi :

0 komentar

Post a Comment