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="http://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.

About these ads

About Iin aryani

I don't wanna be a "Copycat" but, something they need to copy.

Posted on 6 March 2012, in Dreamwever, Website and tagged , . Bookmark the permalink. 19 Comments.

  1. move_uploaded_file($nama_tmp,$upload_dir.$nama_file); maksud’y ini apa ya? ko ga bisa2? tolong bantuannya.

    • move_uploaded_file mempunyai 3 parameter. -> 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 -> $_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.
      salam cerdas. :)

  2. sya upload ukuran 4,6 mb , pesan nya terupload tapi di directory upload tidak ada !

  3. untuk audio knapa nggak bisa….harus d tambah script apalagi..udah di coba masukin musik tetap nggak mau …gmna caranya y??
    mohon bantuannya
    thankss..

  4. kalau file yang diupload berbentuk video bisa gak?

  5. Saya sudah buat seperti diatas (di wp tentunya) cuman saya edit dikit. Jadi saya menambahkan ID user di depan nama file agar jika dipanggil hanya menampilkan file user itu saja. Nah, saya mau tanya bagaimana agar yang ditampilkan hanya file user tersebut saja? trus file untuk edit imagenya gimana? Jadi nanti jika user ingin mengganti imagenya, akan merewrite file sebelumnya.

  6. mba saya mau tanya dong, kalo yang di upload file nya berekstensi swf gimana ya ? terimakasih

  7. saya coba kok muncul pesan seperti ini y?
    Warning: move_uploaded_file(upload/Nama.docx) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\xampp\htdocs\MTs_DarulUlum\admin\aksiupload.php on line 8

    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move ‘C:\xampp\tmp\phpF4B0.tmp’ to ‘upload/Nama.docx’ in C:\xampp\htdocs\MTs_DarulUlum\admin\aksiupload.php on line 8
    File berhasil diunggah.

  8. Met sore master, sy mau tanya bagaimana cara upload ke wordpress berformat php, krn sy mau pasang feejit viewer, sy minta link nya ke wordpress. Makasih

    • kalo yang anda maksud wordpress sebagai CMS bisa lewat cpanel file-manager website anda. kalo blog sepertinya tidak bisa.

  9. bagus infonya … tp kalo buat upload file diatas 1 Mb kayaknya gak bisa deh …. apa lagi kalo aksesnya lemot bisa putus d jalan … :)

Komentar untuk penulis

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 142 other followers

%d bloggers like this: