1 File dan Direktori PHP Pemrograman Internet2 Objectives Membuat, Menulis dan Membaca Isi File Membuka dan Membuat File Menulis ke File Membaca Isi F...
Objectives • Membuat, Menulis dan Membaca Isi File – – – –
Membuka dan Membuat File Menulis ke File Membaca Isi File Menutup File
• Membuat dan Menghapus Direktori • Manipulasi File – Mendapatkan Informasi File – Copy, Rename dan Delete File
• Upload File
Pola dasar bekerja dengan file • Buka file • Proses • Tutup file
Penanganan File • Dalam management file dan direktori, PHP menyediakan lebih dari 70 fungsi. Beberapa fungsi utama berhubungan dengan management file (create, write, append, dan delete).
Membuka dan membuat file & menutup file • $namafile merupakan nama file yang akan dibuat, sedangkan $mode merupakan mode akses file. Mode akses file yang bisa digunakan yaitu :
Let’s try ... File tidak dapat dibuka atau belum ada"; } else { echo "File berhasil dibuka"; } fclose($handle); // menutup file // Use the fclose function when finished working with a file stream to save space in memory ?> *coba ganti script mode dgn mode-mode yang terdapat pada tabel.
Menulis ke File $handle = fopen ($namafile, “mode");
• Untuk menulis ke file, dapat menggunakan fungsi fwrite() dan fputs(). • Variabel $handle merupakan mode pengaksesan file, dimana mode yang digunakan harus bisa menulis ke file. Contohnya mode w dan a. • Selain itu, kita juga bisa menggunakan fungsi file_puts_contents() dengan parameter berupa nama file dan isi yang akan ditambahkan.
Let’s try ... File tidak dapat dibuka atau belum ada"; } else { fwrite ($handle, “PTIK\n"); fputs ($handle, "Universitas Negeri Manado\n"); //file_put_contents ($namafile, “Tondano"); echo "File berhasil ditulis"; } fclose($handle); ?> *coba buka file “file02.txt”. Apakah sesuai dgn kalimat yang kalian masukkan dgn fungsi fwrite() dan fputs() ?
Membaca Isi File • Untuk membaca isi file, bisa menggunakan fungsi fgets() dan fread(). • Fungsi fgets() akan membaca isi file tiap baris. Sedangkan fungsi fread() akan membaca isi file setiap jumlah byte tertentu.
Let’s try ... File tidak dapat dibuka atau belum ada"; } else { $isi = fgets ($handle, 2048); // membaca 2048 karakter // If the length argument is omitted, PHP defaults to a length of 1024. //$isi2 = fread ($handle, 20); echo "Isi 1 : $isi "; //echo "Isi 2 : $isi2 "; } fclose($handle); ?>
Let’s try ... "; } fclose($handle); } ?>
• Program di atas akan menampilkan keseluruhan isi file, dimana isi file akan dibaca tiap baris. Pembacaan dilakukan selama pointer file belum sampai di end-of-file. Fungsi feof() berfungsi untuk memeriksa pointer file sudah berada di akhir file atau belum.
Membuat dan menghapus direktori • Fungsi untuk membuat direktori baru dalam PHP adalah mkdir(). Jika direktori yang akan dibuat berada di luar tempat program disimpan, maka sertakan path direktori secara lengkap. • Fungsi rmdir() hanya bisa menghapus direktori kosong. Jika direktori ada isinya maka, gunakan fungsi rekursif untuk menghapus isi direktori.
Let’s try... $dir berhasil dibuat"; } else { echo "Direktori $dir gagal dibuat"; } //hapus direktori $del = rmdir ($dir); if ($del) { echo " Direktori $dir berhasil dihapus"; } else { echo " Direktori $dir gagal dihapus"; } ?>
Menampilkan isi direktori • Fungsi opendir() adalah untuk membuka direktori. Sedangkan fungsi readdir() akan membaca file dalam direktori satu per satu secara urut. Fungsi closedir() adalahuntuk menutup pembukaan direktori.
Let’s try... 1. 2. 3.
Buat folder/direktori dengan nama folder. Masukkan beberapa file dalam folder agar bisa melihat isi folder. Buatlah file php di luar direktori “folder”, dengan syntaks sbb : "; } } closedir($handle); } ?>
*Program di atas akan menampilkan di layar, semua file dan direktori yang berada dalam direktori “folder”.
Fungsi-fungsi untuk informasi dan manipulasi file
Copy, delete dan rename file $file berhasil dicopy menjadi $filebaru. "; } if (rename ($filebaru, $filebaru2)) { echo "File $filebaru berhasil direname menjadi $filebaru2. "; } if (unlink ($filebaru2)) { echo "File $filebaru2 berhasil dihapus. "; } ?> Fungsi copy() akan menduplikasi file $filemenjadi file $filebaru. Selanjutnya fungsi rename() akan mengganti nama file $filebaru menjadi $filebaru2. Fungsi unlink() akan menghapus file $filebaru2.
Upload file • PHP, sebagai server-side-scripting, sangat memungkinkan untuk menangani upload file ke server. Ada beberapa hal yang perlu diperhatikan dalam upload file ini, yaitu : 1.
2. 3.
Pada Form HTML harus ditambahkan atribut : ENCTYPE="multipart/form-data“ Form inputan upload file dapat menggunakan tag dengan value atribut TYPE=”FILE”. Untuk menangani inputan, PHP menyediakan sebuah variabel array global yaitu $_FILES. Index dari variabel ini antara lain : • • • •
4.
$_FILES*‘file’+*‘name’+ : Nama asli dari file yang diupload $_FILES*‘file’+*‘tmp_name’+ : Nama temporary file yang diupload $_FILES*‘file’+*‘size’+ : Ukuran file asli (dalam byte) $_FILES*‘file’+*‘type’+ : MIME type file yang diupload
Destination folder file upload harus bisa writable (bisa diakses), biasanya dengan permission 777 atau 775.
Let’s try ... Buat form_upload.php utk menampilkan form utk upload Upload File
Fungsi is_uploaded_file() akan mengupload file yang telah dipilih melalui form pada form_upload.php ke folder temporary (sementara). Selanjutnya file yang sudah diupload ke folder temporary akan dipindahkan (move) ke direktori yang diinginkan menggunakan fungsi move_uploaded_file().