Blog Archives

Meng-upload file dengan PHP (tanpa melibatkan database)

Secara umum dalam PHP, keyword yang dipakai untuk mengupload file adalah $_FILES[…]; dan move_uploaded_file(..);

Tutorial ini adalah tutorial untuk mengupload file dengan cara paling sederhana belum dengan konfigurasi type file dan size file. Kita hanya akan mengupload file ke folder yang disediakan.Langsung saja.

#1. Buatlah halaman dengan script berikut save dengan nama: index.php:

<form action="upload.php" method="post" enctype="multipart/form-data">
<input name="dokumen" type="file" id="dokumen" />
<input type="submit" name="upload" id="upload" value="Upload" />
</form>

Perhatikan script di atas, pada sintaks form terdapat action=”upload.php” itu berarti pemrosesan file-nya akan ditujukan pada file upload.php. enctype=”multipart/form-data” adalah sebagai pernyataan bahwa data tersebut berupa file (bisa file audio, video, teks, gambar, dll). Sedangkan name=”dokumen” digunakan untuk identitas file field yang nantinya digunakan untuk memilih data yang akan diupload. File field secara sederhana dapat diartikan sebagai kotak untuk memasukan file.

#2. Kemudian buat file upload.php dengan script berikut :

<?php
mkdir("upload");
$file = $_FILES['dokumen'];
$nama_file = $file['name'];
$nama_tmp = $file['tmp_name'];
$upload_dir = "upload/";
move_uploaded_file($nama_tmp,$upload_dir.$nama_file);
echo "File berhasil diunggah."
?>

$_FILES[‘dokumen’] digunakan untuk mengambil file mentahnya yang kemudian dimasukan dalam variabel $file.
Untuk memperoleh nama file digunakan script : $file[‘name’] dapat juga $_FILES[‘dokumen’][‘name’];
Untuk memperoleh type file : $file[‘type’] atau $_FILES[‘dokumen’][‘type’];
Untuk memperoleh besar file : $file[‘size’] atau $_FILES[‘dokumen’][‘size’];
Untuk mendapatkan nama temporer : $file[‘tmp_name’] atau $_FILES[‘dokumen’][‘tmp_name’];
$upload_dir adalah folder tempat diletakkannya file yang akan diupload.
Move_uploaded_file(parameter1,parameter2), mempunyai dua parameter, yang pertama nama temporer file, dan yang kedua adalah alamat file.

Jika file berhasil diupload maka pada folder upload akan ada file tersebut. Jika gagal, mungkin anda perlu mengecek ulang sintaks-sintaksnya mungkin ada kesalahan atau lupa menambahi titik koma.

Selanjutnya, dapat anda tambahkan dengan pembatasan besar file dengan ukuran tertentu, atau type file tertentu.

Semoga bermanfa’at.
Iin

#####################Update####################
Balasan @Nabil Ftd
Oke, saya coba buat aplikasi yang anda maksud,

caranya simple, saya menggunakan fungsi dir() untuk membaca semua file yang ada dalam satu folder yang dimaksud.

Misalkan nama folder anda gambar, lakukan eksekusi dengan $dir=dir(“gambar”);

elemen yang ada pada $dir berupa array, untuk menampilkan data filename nya anda dapat menggunakan fungsi while berikut:

while($file=$dir->read()){…}

Nah di dalam looping pada while tersebut, kita akan coba bandingkan nama file dengan userID tertentu dapat menggunakan if atau swicth. Program selengkapnya :

<form action="" method="post">
Tutorial by : <a href="https://ilmucerdas.wordpress.com">ilmucerdas.wp</a><br><br>
User yang tersedia : 4200, 4211, 4219 <br>
Masukan id user : <input type="text" name="userID"/>
<br /><input type="submit"/>
</form>
<?php
if(isset($_POST['userID'])){
$user=abs($_POST['userID']);
echo "<br>Galeri yang dimiliki ID : $user <br><br>";
$dir= dir("gambar");
while(($file=$dir->read())){
if(substr($file,0,4)==$user){
echo "<img src='gambar/$file' width=100 height=100>";
echo "<br>Nama : $file<br><br>";
}
}
$dir->close;
}
?>

Untuk update/edit gambarnya anda dapat menggunakan alogaritma berikut :

hapus file yang dimaksud -> upload file yg baru dengan nama sama

untuk menghapus file gunakan fungsi unlink(“folder/file.xx”);

Semoga membantu 🙂

———————————————————————————–

menjawab pertanyaan @selvia _>move_uploaded_file($nama_tmp,$upload_dir.$nama_file); maksud’y ini apa ya? ko ga bisa2?

jawab : move_uploaded_file mempunyai 3 parameter. -&gt; move_uploaded_file($tmp_name, $upload_dir, $nama_file)
1. $tmp_name adalah parameter pertama yang berisi nama file yang telah diubah menjadi tmpname, gunanya untuk menempatkan cache pd komputer penerima sebelum di bentuk file yg telah terupload 100%
proses di $tmp_name biasanya dengan mengambil tmpname itu lgsung dr nama file dgn rumus php -&gt; $_FILES[‘tmp_name’]
2. $upload_dir adalah parameter kedua yang berisi path atau lokasi dimana file akan di upload.
3. $nama_file adalah parameter ketiga yg digunakan untuk menamai file yg telah diupload ke server.

semoga dapat dipahami. terimakasih apresiasinya.