Archive for April 2008
Memproses Direktori Dan Subdirektori 29.04.08
Masalah : Paparkan fail – fail dalam suatu direktori dan subdirektori.
<pre>
<?php
// function untuk proses direktori dan subdirektori
// dan paparkan senarai secara hierarki
function printTree($dir, $depth=0) {
// periksa sama ada direktori sah
if (!is_dir($dir)) { die("Bukan suatu direktori!"); }
// buka direktori
$dh = opendir($dir) or die ("Direktori tidak dapat dibuka!");
// ulang antara fail dalam direktori
while (($file = readdir($dh)) !== false) {
// tapis "." dan ".."
if ($file != "." && $file != "..") {
if (is_dir("$dir/$file")) {
// jika ini suatu subdirektori
// paparkan dan buka subdirektori
echo str_repeat(" ", $depth) . " [$file]\n";
printTree("$dir/$file", ($depth+1));
} else {
// jika ini suatu fail
// paparkan
echo str_repeat(" ", $depth) . " $file\n";
}
}
}
}
// proses dan papar direktori
printTree('./direktori/');
?>
</pre>
Memproses Direktori 24.04.08
Masalah : Mendapatkan maklumat fail – fail dalam suatu direktori.
PHP function yang digunakan : scandir()
<?php
// tetapkan direktori
$dir = './direktori';
// dapatkan kandungan direktori sebagai tatasusunan
$fileList = scandir($dir) or die ("Bukan suatu direktori!");
// paparkan nama fail dan saiz
foreach ($fileList as $file) {
if (is_file("$dir/$file") && $file != '.' && $file != '..') {
echo "$file : " . filesize("$dir/$file") . " bait<br />";
}
}
?>
Singkirkan Baris Dari Fail 20.04.08
Masalah : Menyingkirkan baris dari fail sekiranya nombor baris diberikan.
PHP function yang digunakan : file() dan file_put_contents()
<?php
// tetapkan nama fail
$file = "fail.txt";
// baca fail sebagai tatasusunan
$data = file($file) or die("Fail tidak dapat dibaca!");
// singkirkan baris ketiga
unset ($data[2]);
// indeks kembali tatasusunan
$data = array_values($data);
// tulis data ke dalam fail
file_put_contents($file, implode($data)) or die("Fail tidak dapat dibaca!");
echo "Fail berjaya ditulis!";
?>
Menulis String Ke Dalam Fail 14.04.08
Masalah : Menulis string ke dalam suatu fail.
PHP function yang digunakan : file_put_contents()
<?php
// tetapkan string untuk ditulis
$data = "All the world's a stage\r\nAnd all the men and women merely players";
// tulis string ke dalam fail
file_put_contents('fail.txt', $data) or die("Fail tidak dapat ditulis!");
echo "Fail berjaya ditulis!";
?>
Mengira Jumlah Baris, Perkataan dan Aksara 13.04.08
Masalah : Mengira jumlah baris, perkataan dan aksara dalam suatu fail.
PHP function yang digunakan : file_get_contents(), strlen() dan str_word_count()
<?php
// tetapkan nama fail
$file = "fail.txt";
// baca kandungan fail secara string
$str = file_get_contents($file) or die ("Fail tidak dapat dibaca!");
// baca kandungan fail secara tatasusunan
$arr = file ($file) or die ("Fail tidak dapat dibaca!");
// kira jumlah baris
echo sizeof($arr) . " baris telah dikira.<br />";
// kira jumlah aksara termasuk ruang kosong
$numCharsSpaces = strlen($str);
echo "$numCharsSpaces aksara termasuk ruang kosong telah dikira.<br />";
// kira jumlah aksara tidak termasuk ruang kosong
$newStr = ereg_replace('[[:space:]]+', '', $str);
$numChars = strlen($newStr);
echo "$numChars aksara tidak termasuk ruang kosong telah dikira.<br />";
// kira jumlah perkataan
$numWords = str_word_count($str);
echo "$numWords perkataan telah dikira.<br />";
?>