Move_uploaded_file merupakan salah satu fungsi atau perintah yang digunakan untuk upload data/file. Dengan menggunakan move_uploaded_file, data akan langsung terupload ke direktori yang dituju tanpa harus tersimpan ke dalam log temp terlebih dahulu, artinya dengan menggunakan fungsi ini, akan menghemat space anda. Untuk menggunakan fungsi ini dalam smarty.... yuk simak baik-baik.
Buat file dengan nama upload_move.php dan simpan dalam folder kerja smarty anda, adapun skripnya sebagai berikut:
<?php
error_reporting(0);
require('libs/Smarty.Class.php');
$smarty = new Smarty;
if ($_POST['upload']=='Upload'){
$filename = $_FILES['image']['tmp_name'];
$name = $_FILES['image']['name'];
$direktori = "images/$name";
move_uploaded_file($filename, $direktori);
$smarty->assign("success", 1);
$smarty->assign("fn", $name);
}
}
$smarty->display("upload_move.tlp");
?>
Penjelasan Kode:
- error_reporting(0);, artinya kita menghidden seluruh error agar tidak ditampilkan pada hamalan web.
- require('libs/Smarty.class.php");, skrip ini untuk memanggil library smarty.class.php.
- $smarty=new Smarty;, membuat new object data dari class Smarty.
- if (S_POST['upload']==['Upload']{, jika file php mendapat parameter kiriman dari form (tpl) yang teridentifikasi sebagai Upload, maka lakukan proses.
- $filename dan $name, membuat variabel tipe upload data dari form. $name adalah nama file.
- $direktori, variabel direktori tujuan. Tentang kemana file yang diupload akan disimpan.
- move_uploaded_file($filename, $direktori);, proses upload terjadi, perpindahan dari lokal menuju ke direktori tujuan.
- $smarty->assign("success", 1);, membuat assign success dengan nilai 1. Ini akan digunakan pada file layout.
- $smarty->display("fn", $name);, membuat assign fn dengan nilai nama file.
- $smarty->display("upload_move.tpl");, tempat skrip dan hasil ditampilkan, yaitu akan ditampilkan pada file upload_move.tpl.
<form method="POST" action="" enctype="multipart/form-data">
<table>
<tr>
<td>Upload File</td>
<td>:</td>
<td><input type="file" name="image"></td>
</tr>
<tr>
<td><input type-"submit" name="upload" value="Upload"></td>
</tr>
</table>
</form>
{if $success == '1'}
<img src="images/{$fn}">
{/if}
Yang menjadi titik utama mungkin adalah skrip yang tercetak tebal diatas.. itu artinya ketika variabel assign success bernilai sama dengan 1, maka akan langsung ditampilkan gambar hasil dari upload tersebut. Nama file didapat dari skrip assign fn yang terjadi pada file php.
Langkah terakhir adalah membuat folder baru dengan nama images didalam folder kerja smarty Anda. Lihat pada gambar berikut:
Jalankan skrip yang telah dibuat melalui web browser dengan mengetikkan url http://localhost/smarty/upload_move.php, maka Anda akan mendapatkan form seperti pada gambar berikut. silahkan lakukan upload file, kemudian akhiri dengan klik tombol Upload.
Semoga bermanfaat....
baca juga Cara Mengatasi "Mysql_query is Deprecated"
Sumber : ASFA Solution