About Me

Foto Saya
Suparno, M.Pd
Lihat profil lengkapku
Diberdayakan oleh Blogger.

Text Widget

Sample Text

Pengikut

Popular Posts

Blogger templates

Download

Ordered List

Recent Posts

Unordered List

Selasa, 02 April 2013

Tutorial Cara Upload Gambar Dengan AJAX PHP

Sebenarnya hal ini tidak beda jauh dengan cara mengupload foto dengan PHP, hanya saja dengan menggunakan ajax, maka cara kerjanya lebih cepat dan dinamis.

Tutorial Cara Upload Gambar dengan AJAX PHP akan menggunakan cara yang sama dengan yang digunakan di tutorial tersebut, ditambahan sedikit trik dan javascript. Untuk meng-upload gambar dengan AJAX diperlukan bantuan  <iframe>. Di tutorial upload gambar dengan PHP digunakan html form seperti di bawah:

  1. <!--form to upload file-->  
  2. <form name="formupload" method="post" enctype="multipart/form-data" action="script/to/upload/file.php">  
  3.    Picture : <input name="picture" type="file" />  
  4.    <input type="submit" name="upload" value="Upload" />  
  5. </form>  
Perlu sedikit perubahan di html form yang digunakan untuk mengupload file seperti berikut:

  1. <iframe name="upload-frame" id="upload-frame" style="display:none;"></iframe>  
  2. <form name="formupload" method="post" enctype="multipart/form-data" action="upload.php" 
  3. target="upload-frame" onsubmit="startUpload();">  
  4.    Picture : <input name="picture" type="file" />  
  5.    <input type="submit" name="upload" value="Upload" />  
  6. </form>  
  7. <div id="uploaded-picture">  
  8. <!-- div tempat photo yang telah diupload ditampilkan -->  
  9. </div>  
  10. <script type="text/javascript" src="jquery.js"></script>  
  11. <script type="text/javascript">  
  12. function startUpload(){  
  13.   $("#uploaded-picture").html("loading...");  
  14. }  
  15.   
  16. function displayPicture(pictureUrl){  
  17.   var img = new Image();  
  18.   $(img).load(function(){  
  19.     $(this).hide();  
  20.     $("#uploaded-picture").html($(this));  
  21.     $(this).fadeIn();  
  22.   }).attr('src', pictureUrl)  
  23.   .error(function(){  
  24.     alert("gagal menampilkan gambar");  
  25.   });  
  26. }  
  27. </script>  
Di baris 1 ditambahkan html tag <iframe> dengan atribut name="upload-frame", id="upload-frame" dan menggunakan atribut style="display:none;" agar <iframe> tersembunyi. Di bagian tag <form> 

baris 2 ditambahkan atribut target="upload-frame", atribut target ini diisi dengan hal yang sama dengan atribut name"upload-frame" dari tag <iframe>. 

Baris 6 menambahkan tag <div/> tempat menampilkan gambar yang telah diupload. 

Baris 9 menambahkan javascript jquery. Baris selanjutnya membuat dua function javascript, startUpload() untuk menampilkan text loading saat gambar sedang diupload dan displayPicture(pictureUrl) untuk menampilkan gambar setelah selesai diupload.

Langkah selanjutnya yang perlu dilakukan adalah membuat script untuk mengupload file.

  1. <?php  
  2. //file upload.php  
  3.    $fileName = $_FILES['picture']['name'];  
  4.    $fileSize = $_FILES['picture']['size'];  
  5.    $fileError = $_FILES['picture']['error'];  
  6.    $success = false;  
  7.    if($fileSize > 0 || $fileError == 0){  
  8.      $move = move_uploaded_file($_FILES['picture']['tmp_name'], 'photo/'.$fileName); //atau ke directory yang dinginkan  
  9.      if($move){  
  10.     $success = true;  
  11.      }  
  12.    }  
  13.   
  14. echo '<script type="text/javascript">';  
  15.   if($success){  
  16.     echo "parent.displayPicture('photo/$fileName');";  
  17.   }else{  
  18.     echo "alert('Upload gagal $fileError');";  
  19.   }  
  20. echo '</script>';  
  21. ?>  


Jika file gagal diupload maka akan ditampilkan alert dan jika file berhasil diupload maka akan dipanggil function displayPicture().

Selamat Mencoba

0 komentar:

Posting Komentar

Blog Archive