Jumat, 22 Mei 2009

Upload file menggunakan php

Kemarin berhasil membuat sebuah web dinamis pakai php, kali ini di buatkan fungsi untuk meng upload gambar oleh admin.

Fungsi upload standard, cari aja yang ada di google. Pada prinsipnya, proses upload file adalah mengirimkan file ke folder temporary di server, lalu oleh php akan di copy ke folder tujuan, karena bila tidak di copy, maka file akan terdelete secara otomatis.

File pertama adalah file untuk form mengirim gambar :

form enctype="multipart/form-data" action="process.php" method="post">
input name="MAX_FILE_SIZE" value="15000000" type="hidden"> Upload this file:
input name="userfile" type="file">
input value="Upload" type="submit">
/form>

(tambahkan tanda< pada semua baris)
File kedua adalah file untuk melakukan copy file :


$uploaddir = $_SERVER['DOCUMENT_ROOT'] . $directory_self . '/galery/';
$uploadfile = $uploaddir . $_FILES[' namafile']['name'];
if (move_uploaded_file($_FILES[' namafile']['tmp_name'], $uploadfile)) {
header ("location:sukses.php");

} else {
echo "Proses upload gagal, kode error = " . $_FILES[' namafile']['error'];
}

setelah di coba semua file yang di upload telah berada di tempatnya dengan baik. Namun pasti ada kendala, karena kalau tidak ada kendala tidaklah mungkin saya menulis disini.

Setelah saya klik item gambar tersebut melalui interface php yang saya buat, ternyata ada error yang menyatakan tidak ada hak akses…….

Nah loh… kenapa nih…

Saya masuk kedalam directory hosting saya dengan menggunakan control panel yang di sediakan oleh pihak hosting. Dan ternyata semua file upload mempunyai hak akses untuk write dan read untuk root saja ( 0600). Setelah saya rubah menjadi 0644 maka file baru dapat terlihat di web.

Tadinya saya berfikir bila folder nya saya kasih hak akses 777 maka semua fille di bawahnya akan punya hak kases yang sama, maka mulailah semua file saya acak acak hak aksesnya. Dan ternyata semua makin runyam.
Akhirnya saya hapus semua, dan saya upload ulang webnya. Hehehehheheee, udah terlalu kacau….

Sebelumnya saya tidak menyadari bahwa php mempunyai kemampuan untuk merubah hak akses file. Cari punya cari, dan panic punya panic, mulai pusing kalau ternyata semua file harus di rubah satu persatu hak aksesnya.

Cari info mengenai configurasi php.ini di internet, dan telpon technical support hosting. Ternyata bukan itu semua, yang di butuhkkan hanya sebuah baris syntax yang di butuhkan yaitu:


chmod("$namafile", 0644);


Jangan di ubah menjadi 0777, karena tidak secure, yang di butuhkan hanya hak akses untuk read saja di setiap user.

di selipkan di koding php untuk copy file, dan di uji coba, ternyata : berhasil……
senangnya hatiku, udah deg degan ajah tidak berhasil.


hehehehee dasar pemula….
Semoga bermanfaat….

Tidak ada komentar:

Posting Komentar