Ads

Sabtu, 02 April 2011

Cara Upload File di PHP

Dulu waktu gw masih bego banget ama yang namanya PHP, gw baca buku dimana di dalam buku itu di beritahu cara upload Gambar. Anehnya di buku itu, di kasih tau bahwa cara upload file hanya menggunakan fungsi copy, yaitu copy dari alamat yang di tulis user, ke htdocs. Parahkan, kalo kaya gini mah, cuma bisa di komputer lokal doank, kalo gitu buat apa di upload...???


He he he



Sekarang, walau masih cemen soal PHP, tapi gw ngerti gimana caranya upload. Yaitu pake form dengan enctype="multipart/form-data" dan sebuah input type=file.
Berikut ini adalah contoh code-nya


<form enctype="multipart/form-data" action="upload.php" method="POST">


<!-- MAX_FILE_SIZE adalah batas file yang bisa di upload -->


<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />



<!-- alamatnya nanti dapat di akses di var $_FILES,
tepatnya di $_FILES['userfile'] dimana userfile adalah nama input -->

Alamat File : <input name="userfile" type="file" /> <input type="submit" value="Upload" /> </form>


Contoh Dengan Fungsi Uploadnya:



<?php
// Untuk PHP versions dibawah 4.1.0, gunakan $HTTP_POST_FILES
// sedangkan 4.1.0 keatas gunakan $_FILES.
// Tempat Upload File
$uploaddir = 'C:\apache\htdocs\blog\\';
//base name di gunakan untuk mengambil nama file saja, tanpa path
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo '<pre>';
/*
Move Upload File di gunakan untuk mengecek bahwa suatu file adalah file upload
Yang uploadnya dilakukan melalui mekanisme Upload PHP HTTP POST
Jika File tidak valid, maka hasilnya adalah false
Jika file valid, maka file tersebut akan di pindahkan
Di bawah ini di contohkan bahwa PHP Mengecek apakah alamat yang di tunjuk
$_FILES['userfile']['tmp_name'] adalah file upload yang valid
Jika valid maka file tersebut akan di pindahkan ke alamat yang ada di uploadfile
cat: $_FILES['userfile']['tmp_name'] alamat file yang baru di upload
diserver sebelum di pindahkan

*/
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File valid, dan telah di upload\n";
} else {
echo "File Upload tidak valid!\n";
}
echo 'Berikut ini adalah data lengkap var $_FILES';
print_r($_FILES);
print "</pre>";
?>

Saat File di upload ke server, untuk informasi file di simpan di variabel Array $_FILES
Berikut ini adalah info tentang field-field var tersebut:



  • $_FILES['userfile']['name']

    Nama File Asli.


  • $_FILES['userfile']['type']

    Tipe Mime File tersebut, contoh Image/gif atau text/xml.


  • $_FILES['userfile']['size']

    Ukuran file yang di upload.


  • $_FILES['userfile']['tmp_name']

    Tempat sementara file tersebut di simpan di server.


  • $_FILES['userfile']['error']

    Kode Error jika ada error


Berikut ini adalah penjelasan dari kode errornya:




  • UPLOAD_ERR_OK
    Value: 0; Tidak Ada Error, File terupload dengan sukses.

  • UPLOAD_ERR_INI_SIZE
    Value: 1; Ukuran File Upload melebihi ketentuan yang ada di php.ini.

  • UPLOAD_ERR_FORM_SIZE
    Value: 2; Ukuran File Upload melebih ukuran MAX_FILE_SIZE yang di buat di HTML Form.

  • UPLOAD_ERR_PARTIAL
    Value: 3; File hanya terupload sebagian.

  • UPLOAD_ERR_NO_FILE
    Value: 4; Tidak ada File yang di upload.

  • UPLOAD_ERR_NO_TMP_DIR
    Value: 6; Tidak ada temporary Folder untuk menampung file Upload

  • UPLOAD_ERR_CANT_WRITE
    Value: 7; Tidak bisa menulis di server.


Nah Kayaknya cuman itu deh yang perlu elu ketahui tentang cara upload file.


Ok sampe sini aja, semoga bermanfaat.


7 Responses to “Cara Upload File di PHP”

bendot says:
May 19, 2008 at 7:31 pm (Edit)

iya sih tutorial diatas memang untuk upload di PHP, tapi agar textfieldnya link tersebut menjadi disable(orang tak bisa menuliskan alamat file,harus menggunakan tombol browsenya) caranya gimana ya?? dari kemarin nyari ngak ketemu2
admin says:
May 19, 2008 at 8:03 pm (Edit)

sampai saat ini gw juga belum tau cara untuk ngunci input file, karena kalo gw pake read only, emang nilainya tidak bisa diinput, tetapi browsenya juga gak bisa.

Nah, gw sih ada solusi sedikit neh bos.

User tetap bisa nulis itu input file, tetapi pas mau di upload kita cek dulu, file itu sebenarnya ada atau enggak. Pake javascript aja bos, jadi user gak perlu nunggu lama-lama buat tau hasilnya.

Nih contoh scriptna bos:

FileUpload Object

File to be uploaded:






Ok gitu aja bos dari http://suryabendot.wordpress.com/, semoga info ini bermanfaat.
admin says:
May 19, 2008 at 8:05 pm (Edit)

Sory fungsi java scriptna ketinggalan, error tadi tampilannya soalnya
ini fungsinya:


Jo Point Of View » Blog Archive » Mengubah Ukuran File yang di Upload dengan PHP says:
November 4, 2008 at 11:03 pm (Edit)

[...] dan mengubah size file image yang di upload. Gw udah pernah nulis tentang cara upload standar di sini, jadi jika hanya mau upload file biasa, cek aja halaman tersebut, sedangkan bagi yang mau tau cara [...]
amis says:
February 25, 2010 at 2:09 pm (Edit)

bos kalo saya mw rename nama file yang di upload, sehingga yang di simpen di server berbeda namanya dgn yg sebelum nya.. gimana cara nya ya? tp extention ny tetap sama
Johan Firdaus says:
February 25, 2010 at 8:57 pm (Edit)

waduh, dah lama gak ngontak ngatik, besok senen deh gan aye kabarin

di tunggu ya
Johan Firdaus says:
February 28, 2010 at 9:57 pm (Edit)

ok bos, coba cek di Mengupload Nama File dan Menentukan Nama Barunya di Server

Tidak ada komentar: