v Membuat, Menulis dan Membaca Isi File
ü
Membuka dan Membuat File
ü
Menulis ke File
ü
Membaca Isi File
ü
Menutup File
v Membuat dan Menghapus Direktori
v Manipulasi File
ü
Mendapatkan Informasi File
ü
Copy, Rename dan Delete File
v
Upload File
|
Dalam management file dan direktori, PHP
menyediakan lebih dari 70 fungsi. Beberapa fungsi utama yang berhubungan dengan
management file (create, write, append, dan delete), antara lain :
Membuka dan Membuat File
fopen ($namafile, $mode);
|
Keterangan :
$namafile
merupakan nama file yang akan dibuat, sedangkan $mode merupakan
mode akses file. Mode
akses file yang bisa digunakan yaitu :
Program 7.1
Nama File :
file01.php
Deskripsi :
Program mengakses (membuka) file dengan mode r.
<?php
$namafile = "data.txt";
$handle = fopen ($namafile, "r");
if (!$handle) {
echo "<b>File tidak dapat dibuka atau belum
ada</b>";
} else {
echo "<b>File berhasil dibuka</b>";
}
fclose($handle);
?>
|
Program 7.2
Nama File :
file02.php
Deskripsi :
Program mengakses (membuka) file dengan mode w.
<?php
$namafile = "data.txt";
$handle = fopen ($namafile, "w");
if (!$handle) {
echo "<b>File tidak dapat dibuka atau belum
ada</b>";
} else {
echo "<b>File berhasil dibuka</b>";
}
fclose($handle);
?>
|
Menulis ke File
fwrite ($handle, $isi);
fputs ($handle, $isi);
|
Program 7.3
Nama File : file03.php
Deskripsi :
Program menulis ke file.
<?php
$namafile = "data.txt";
$handle = fopen ($namafile, "w");
if (!$handle) {
echo "<b>File tidak dapat dibuka atau belum
ada</b>";
} else {
fwrite ($handle, "Fakultas Teknologi Informasi\n");
fputs ($handle, "Universitas Budi Luhur\n");
//file_put_contents ($namafile, "Jakarta");
echo "<b>File berhasil ditulis</b>";
}
fclose($handle);
?>
|
Penjelasan Program 7.3
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.
Jika program di atas dijalankan, maka isi file data.txt akan berisi seperti
pada gambar 7.3 (buka dengan WordPad).
Membaca Isi File
fread ($handle [,$panjang]);
fgets ($handle [,$panjang]);
|
Program 7.4
Nama File : file04.php
Deskripsi : Program membaca dan menampilkan isi
file.
<?php
$namafile = "data.txt";
$handle = fopen ($namafile, "r");
if (!$handle) {
echo "<b>File tidak dapat dibuka atau belum
ada</b>";
} else {
$isi = fgets ($handle, 2048);
//$isi2 = fread ($handle, 20);
echo "Isi 1 : $isi<br>";
//echo "Isi 2 : $isi2<br>";
}
fclose($handle);
?>
|
Penjelasan Program 7.4
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. Pada program di atas, baris ke-8 akan membaca
file setiap 20 byte atau 20 karakter.
Program 7.5
Nama File : file05.php
Deskripsi : Program membaca isi file baris tiap
baris.
<?php
$namafile = "data.txt";
$handle = fopen ($namafile, "r");
if (!$handle) {
echo "<b>File tidak dapat dibuka atau belum
ada</b>";
} else {
echo "<b>Isi file : </b><br>";
while ($isi = fgets ($handle, 2048)) {
echo "$isi<br>";
}
}
fclose($handle);
?>
|
Penjelasan Program 7.5
Program
7.5 di atas akan menampilkan keseluruhan isi file, dimana isi file akan dibaca
tiap baris. Pembacaan dilakukan dari baris pertama sampai baris terakhir.
Program
7.6
Nama
File : file06.php
Deskripsi
: Program membaca isi file baris tiap baris.
<?php
$namafile = "data.txt";
$handle = @fopen($namafile, "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer."<br>";
}
fclose($handle);
}
?>
|
Penjelasan Program 7.6
Program
7.6 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() pada baris ke-5 berfungsi untuk memeriksa pointer file sudah
berada di akhir file atau belum.
Menutup File
fclose ($handle);
|
Program 7.7
Nama File : file07.php
Deskripsi : Program aplikasi user counter dengan
file.
<?php
$counter_file="counter.txt";
if (!file_exists ($counter_file)) {
fopen ($counter_file, "w");
}
$file = fopen($counter_file,"r");
$counter = fread($file,10);
fclose($file);
$counter++;
echo "<h2>Anda adalah pengunjung ke -
$counter</h2>";
$file = fopen($counter_file, "w");
fwrite($file,$counter);
fclose($file);
?>
|
Membuat dan Menghapus Direktori
Membuat Direktori Baru
Program 7.8
Nama File : file08.php
Deskripsi : Program membuat direktori baru.
<?php
$dir = "images"; //nama direktori
$cek = mkdir ($dir);
if ($cek) {
echo "Direktori <b>$dir</b> berhasil dibuat";
} else {
echo "Direktori <b>$dir</b> gagal dibuat";
}
?>
|
Penjelasan Program 7.8
Program 7.8 di atas akan membuat direktori
bernama “images” di direktori tempat program 7.8 disimpan. 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.
Menghapus Direktori
Program 7.9
Nama File : file09.php
Deskripsi : Program menghapus direktori.
<?php
//buat direktori
$dir = "include"; //nama direktori
$cek = mkdir ($dir);
if ($cek) {
echo "Direktori <b>$dir</b> berhasil dibuat";
} else {
echo "Direktori <b>$dir</b> gagal dibuat";
}
//hapus direktori
$del = rmdir ($dir);
if ($del) {
echo "<br>Direktori <b>$dir</b> berhasil
dihapus";
} else {
echo "<br>Direktori <b>$dir</b> gagal
dihapus";
}
?>
|
Penjelasan Program 7.9
Program 7.9 di atas akan membuat direktori baru
bernama “include” (lihat baris ke-4). Setelah itu, direktori akan dihapus
dengan fungsi rmdir() pada
baris ke-10. Fungsi rmdir() hanya bisa menghapus direktori kosong. Jika
direktori ada isinya maka, gunakan fungsi rekursif untuk menghapus isi
direktori. Lihat contoh di PHP Manual.
Menampilkan Isi Direktori
Program 7.10
Nama File : file10.php
Deskripsi : Program menampilkan file dan direktori
dalam suatu direktori.
<?php
$dir = "images";
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "$file<br>";
}
}
closedir($handle);
}
?>
|
Penjelasan Program 7.10
Program
7.10 di atas akan menampilkan di layar, semua file dan direktori yang berada
dalam direktori “images”. Fungsi opendir() pada baris ke-3 adalah untuk membuka
direktori. Sedangkan fungsi readdir() akan membaca file dalam direktori satu
per satu secara urut. Fungsi closedir() pada baris ke-9 adalah untuk menutup
pembukaan direktori.
Manipulasi File
Mendapatkan Informasi File
Beberapa
Fungsi yang berhubungan dengan informasi dan manipulasi file, terdapat dalam
tabel sebagai berikut :
Program
7.11
Nama
File : file11.php
Deskripsi
: Program memeriksa keberadaan suatu file.
<?php
$filename = "data.txt";
if (file_exists($filename)) {
echo "File $filename ADA";
} else {
echo "File $filename TIDAK ADA";
}
?>
|
Program 7.12
Nama File : file12.php
Deskripsi : Program mendapatkan beberapa informasi
file.
<?php
$file = "data.txt";
if (is_file($file)) {
echo "File <b>$file</b> adalah
FILE<br>";
//
if (is_executable ($file)) {
echo "File <b>$file</b> bisa dijalankan
secara
langsung (executable)<br>";
} else {
echo "File <b>$file</b> TIDAK
executable<br>";
}
//
if (is_writable ($file)) {
echo "File <b>$file</b> bisa ditulis /
diedit<br>";
} else {
echo "File <b>$file</b> TIDAK bisa ditulis /
diedit<br>";
}
//
if (is_readable ($file)) {
echo "File <b>$file</b> bisa
dibaca<br>";
} else {
echo "File <b>$file</b> TIDAK bisa
dibaca<br>";
}
//
echo "Akses terakhir file <b>$file</b> =
". date("d-m-Y
H:i:s.", fileatime($file)). "<br>";
echo "File <b>$file</b> dibuat = ".
date("d-m-Y H:i:s.",
filectime($file)). "<br>";
echo "Modifikasi terakhir file <b>$file</b> =
". date("dm-
Y H:i:s.", filemtime($file)). "<br>";
echo "Ukuran file <b>$file</b> = ".
filesize($file). "
bytes<br>";
echo "Jenis file <b>$file</b> =
".filetype($file). "<br>";
} else if (is_dir($file)){
echo "File <b>$file</b> adalah
DIREKTORI<br>";
} else {
echo "File <b>$file</b> tidak
dikenal<br>";
}
?>
|
Copy, Rename dan Delete File
Program
7.13
Nama
File : file13.php
Deskripsi
: Program meng-copy, rename dan delete file
<?php
$file = "data.txt";
$filebaru = "databaru.txt";
$filebaru2 = "databaru2.txt";
if (copy ($file, $filebaru)) {
echo "File <b>$file</b> berhasil dicopy menjadi
<b>$filebaru</b>. <br>";
}
if (rename ($filebaru, $filebaru2)) {
echo "File <b>$filebaru</b> berhasil direname
menjadi
<b>$filebaru2</b>. <br>";
}
if (unlink ($filebaru2)) {
echo "File <b>$filebaru2</b> berhasil dihapus.
<br>";
}
?>
|
Penjelasan Program 7.13
Program
7.13 di atas terdapat beberapa fungsi untuk meng-copy, rename dan delete file.
Fungsi copy() pada baris
ke-5 akan menduplikasi file $file menjadi file $filebaru. Selanjutnya fungsi rename() akan mengganti nama file $filebaru menjadi
$filebaru2. Fungsi unlink() pada
baris ke-11 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. Pada Form HTML harus ditambahkan atribut :
ENCTYPE="multipart/form-data"
2. Form inputan upload file dapat
menggunakan tag <input> dengan value atribut TYPE=”FILE”.
3. Untuk menangani inputan, PHP menyediakan sebuah variabel array global yaitu
$_FILES. Index dari variabel ini antara lain :
ü
$_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
4. Destination folder file upload
harus bisa writable (bisa diakses), biasanya dengan permission 777 atau 775.
Program 7.14
Nama File : form_upload.php
Deskripsi : Program menampilkan form upload file.
<html>
<head><title>Upload File</title></head>
<body>
<FORM ACTION="upload.php" METHOD="POST"
ENCTYPE="multipart/form-data">
Upload File : <input type="file"
name="file"><br>
<input type="submit" name="Upload"
value="Upload">
</FORM>
</body>
</html>
|
Program
7.15
Nama
File : upload.php
Deskripsi
: Program proses upload file.
<?php
if (isset($_POST['Upload'])) {
$dir_upload = "images/";
$nama_file = $_FILES['file']['name'];
//
if (is_uploaded_file($_FILES['file']['tmp_name'])) {
$cek = move_uploaded_file ($_FILES['file']['tmp_name'],
$dir_upload.$nama_file);
if ($cek) {
die ("File berhasil diupload");
} else {
die ("File gagal diupload");
}
}
}
?>
|
Penjelasan Program 7.15
Program
7.15 di atas merupakan program sederhana penanganan upload file. Fungsi is_uploaded_file() pada baris
ke-6 akan mengupload file yang telah dipilih melalui form pada program 7.14 ke
folder temporary (sementara). Selanjutnya pada baris ke-7, file yang sudah
diupload ke folder temporary akan dipindahkan (move) ke direktori yang
diinginkan menggunakan fungsi move_uploaded_file().
Lihat baris ke-7!
0 comments:
Post a Comment