Disini saya akan
memberikan contoh dasarnya saja untuk pembuatan sistem upload file dengan php, silahkan anda modifikasi sendiri untuk bagian
dekorasi dan sebagainya. Pertama-tama buatlah sebuah form dengan metode Post seperti
dibawah ini:
File index.php
File index.php
<h2>Upload File</h2>
Ukuran File Maximal: 10mb.
<form name="form" enctype="multipart/form-data"action="proses.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
Pilih File: <input name="file" type="file"style="cursor:pointer;" />
<input type="submit" name="submit" value="Upload" />
</form>
Ukuran File Maximal: 10mb.
<form name="form" enctype="multipart/form-data"action="proses.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
Pilih File: <input name="file" type="file"style="cursor:pointer;" />
<input type="submit" name="submit" value="Upload" />
</form>
ScreenShoot:
Yang mana nantinya form diatas akan di proses oleh file proses.php, menggunakan metode Post, silahkan perhatikan script nya dibawah ini, kemudian silahkan anda pelajari bagaimana cara kerjanya:
File proses.php
<?php
if(isset($_POST[submit])){
$direktori = 'files/'; //Folder penyimpanan file
$max_size = 1000000*10; //Ukuran file maximal 10mb
$nama_file = $_FILES['file']['name']; //Nama file yang akan di Upload
$file_size = $_FILES['file']['size']; //Ukuran file yang akan di Upload
$nama_tmp = $_FILES['file']['tmp_name']; //Nama file sementara
$upload = $direktori . $nama_file; //Memposisikan direktori penyimpanan dan file
//Proses akan dimulai apabila File telah dipilih sebelumnya
if($nama_file == ""){echo "File Gagal di Upload karena anda tidak memilih file apapun!";}
else{
//Proses upload file jika ukuran lebih kecil dari yang di tentukan
if($file_size <= $max_size)
{
if(move_uploaded_file($nama_tmp, $upload)){echo "File Berhasil diupload ke Direktori: ".$direktori.$nama_file."";}
else{echo "File ".$nama_file." Gagal diupload, karena berbagai macam alasan!";}
}
else
{
//Jika ukuran file lebih besar dari yang ditentukan
echo "File ".$nama_file." Gagal di Upload, karena terlalu besar, batas yang ditentukan adalah : ".$max_size." bait.";
}}}
else
{
echo "Harus melalui Form Upload sebelum ke halaman ini!";
}
?>
if(isset($_POST[submit])){
$direktori = 'files/'; //Folder penyimpanan file
$max_size = 1000000*10; //Ukuran file maximal 10mb
$nama_file = $_FILES['file']['name']; //Nama file yang akan di Upload
$file_size = $_FILES['file']['size']; //Ukuran file yang akan di Upload
$nama_tmp = $_FILES['file']['tmp_name']; //Nama file sementara
$upload = $direktori . $nama_file; //Memposisikan direktori penyimpanan dan file
//Proses akan dimulai apabila File telah dipilih sebelumnya
if($nama_file == ""){echo "File Gagal di Upload karena anda tidak memilih file apapun!";}
else{
//Proses upload file jika ukuran lebih kecil dari yang di tentukan
if($file_size <= $max_size)
{
if(move_uploaded_file($nama_tmp, $upload)){echo "File Berhasil diupload ke Direktori: ".$direktori.$nama_file."";}
else{echo "File ".$nama_file." Gagal diupload, karena berbagai macam alasan!";}
}
else
{
//Jika ukuran file lebih besar dari yang ditentukan
echo "File ".$nama_file." Gagal di Upload, karena terlalu besar, batas yang ditentukan adalah : ".$max_size." bait.";
}}}
else
{
echo "Harus melalui Form Upload sebelum ke halaman ini!";
}
?>
Dalam bahasa pemrograman php sudah tersedia function
yang dapat dengan mudah diintegrasikan dengan kode php yang sudah kita buat.
Silahkan
simak langkah-langkanya berikut :
Pertama
: Kita harus buat form dari html yang mendukung upload file.
Perlu
diketahui bahwa ada 3 tipe pengkodean data yang dapat dilakukan oleh sebuah
form melalui deklarasi atribut enctype yaitu :
- enctype dengan value application/x-www-form-urlencoded :
semua karakter akan diubah oleh browser menjadi kode ASCII dan semua tanda
spasi diubah menjadi simbol "+" sebelum dikirim ke server.
- enctype dengan value multipart/form-data :
data/karakter dikirim seperti aslinya. Ini digunakan untuk form dengan
fasilitas upload.
- enctype dengan value text/plain :
tanda spasi diubah menjadi simbol "+", tapi karakter lain
dikirimkan seperti aslinya.\
default
untuk form sederhana tanpa deklarasi atribut enctype nilainya otomatis application/x-www-form-urlencoded
Perlu
diingat bahwa enctype hanya berlaku untuk method="POST".
Kembali
ke membuat form, sekarang berarti kita perlu cara dengan enctype nomor 2. Lihat kode html berikut
:
<html>
<head><title>Contoh upload
file</title></head>
<body>
<form action="upload.php"
method="post" enctype="multipart/form-data"
name="FUpload" id="FUpload">
<p>Alamat File : <input
type="file" name="namafile" id="namafile"
size="30" /></p>
<p><input
type="submit" name="btnUpload" id="btnUpload"
value="Upload" /></p>
</form>
</body>
</html>
Lihat
kode dari baris ke 4 untuk form diatas, pada baris tag <form> ditambahkan
atribut enctype="multipart/form-data", method="post" dan
action(tujuan form dikirim) diarahkan ke nama dile upload.php yang nanti kita
buat untuk menerima data dari form. Kemudian lihat pada elemen form kita harus
menggunakan <input> dengan atribut type="file" sehingga jika
dijalankan form akan menampilkan isian untuk menentukan file yang akan dikirim.
Kedua
: Kita membuat kode php untuk menerima form yang dikirim
Silahkan
buat file php disimpan dengan nama upload.php, dan tuliskan kode berikut ini :
<?php
//Pengaturan folder penyimpanan
$nama_folder = "upload/";
//Kode untuk menerima form
if (!empty($_FILES["namafile"]["tmp_name"]))
{
if(is_uploaded_file($_FILES['file']['tmp_name'])) {
move_uploaded_file($_FILES['namafile']['tmp_name'],$uploaddir.$_FILES['namafile']['name']);
echo "File berhasil terkirim";
}
} else {
echo "Anda";
}
?>
Sebuah
file yang dikirim ke server memiliki informasi yang dapat kita gunakan sebagai
bahan proses dalam php, yaitu :
- $_FILES["file"]["name"] -
nama file yang dikirim
- $_FILES["file"]["type"] -
tipe file yang dikirim dalam format misal untuk gambar tipe gif nilainya :
image/gif
- $_FILES["file"]["size"] -
ukuran file yang dikirim
- $_FILES["file"]["tmp_name"] -
nama file sementara pada saat diterima server
- $_FILES["file"]["error"] -
nilai error yang timbul pada saat upload
0 komentar:
Posting Komentar