File Pada Php

File

Digunakan sebagai alternatif jika tidak menggunakan database.

Atribut yang bisa dipakai pada perintah fopen() adalah sbb :

  • r : untuk membaca file, pointer diletakkan di awal file.
  • r+ : untuk membaca dan menulisi file, pointer diletakkan di awal file.
  • w : untuk menulisi file, pointer diletakkan di awal file. Tapi isi file yang lama terhapus semua. Kalau file nggak ada, otomatis membuat file baru.
  • w+: untuk membaca dan menulisi file. Sama seperti di atas, isi file lama akan terhapus, dan jika file tidak ada, otomatis membuat baru.
  • a : untuk menulisi file, pointer diletakkan di akhir file. Jika file tidak ada, otomatis membuat baru.
  • a+ : untuk membaca dan menulisi file, pointer diletakkan di akhir file. Jika file tidak ada, file baru akan dibuat.

Latihan membuat buku tamu dengan perintah file<html>
<head>
<title>Buku Tamu Dengan File</title>
</head>
<body>
<?php

function isi()
{
print” Mengisi Buku Tamu….!”;
print”<pre>”;
print “<form method=POST action=$PHP_SELF?action=add>”;
print “Nama : <INPUT name=\”nama\” type=\”text\” size=\”30\”><br>”;
print “Email : <INPUT name=\”email\” type=\”text\” size=\”30\”><br>”;
print “Homepage : <INPUT name=\”homepage\” type=\”text\” size=\”30\”
value=\”http://\”>”;
print “<br>”;
print “Komentar : <br>”;
print “<TEXTAREA name=\”komentar\” ROWS=\”6\” COLS=\”50\”>”;
print “</textarea><br>”;
print “<INPUT type=\”reset\”><INPUT type=\”submit\”></FORM>”;
print”</pre>”; }

function tampil()
{
print”<center><font size=3>Lihat Buku tamu neyy..!!</center><br>”;
print “<br>”;
print “<table width=\”100%\”><tr><td colspan=\”3\” bgcolor=\”ffffcc\”><center>”;
print “<a href=$PHP_SELF?action=sign><font size=\”2\”><b>”;
print “Sign Guestbook</b></font></a></center></td></tr>”;
print “<tr><td colspan=\”3\” bgcolor=\”ffcc99\”> </td></tr>”;
print “<tr><td bgcolor=\”ffcc99\”><font size=\”2\”><b>Nama</b></font></td>”;
print “<td bgcolor=\”ffcc99\”><font size=\”2\”><b>Homepage</b></font></td>”;
print “<td bgcolor=\”ffcc99\”><font size=\”2\”>”;
print “<b>Komentar</b></font></td></tr>”;
$baris = array();
$fr = fopen(“data.txt”,”r”);
while ($fline = fgets($fr, 4096)) //jml byte
{
$baris[count($baris)] = trim($fline);
$ke=count($baris)-1;
list($nama,$email,$homepage,$komentar,$tanggal) = explode(“|”,$baris[$ke]);
if(empty($email))
{
print “<tr><td bgcolor=\”ffcc99\” width=\”100\”><font size=\”2\”>”;
print “<b>$nama</b></font></td>”;
}
else
{
print “<td bgcolor=\”ffcc99\” width=\”100\”><a href=\”mailto:$email\”>”;
print “<font size=\”2\”><b>$nama</b></font></a></td>”;
}

if(empty($homepage) || $homepage==”http://&#8221;)
{
print “<td bgcolor=\”ffcc99\” width=\”50\”><font size=\”1\”>”;
print “<center>belum ada</center></font></td>”;
}
else
{
print “<td bgcolor=\”ffcc99\” width=\”50\”>”;
print “<a href=\”$homepage\” target=\”_blank\”>”;
print “<font size=\”1\”><center>klik ini</center></font></a></td>”;
}

print “<td bgcolor=\”ffcc99\”><font size=\”1\”>$komentar”;
print “<p align=\”right\”>$tanggal</font></td></tr>”;
}

fclose($fr);
print “<tr><td colspan=\”3\” bgcolor=\”ffcc99\”> </td></tr>”;
print “<tr><td colspan=\”3\” bgcolor=\”ffffcc\”> </td></tr>”;
print “</table>”;
}

function tulis($nama, $email, $homepage, $komentar)
{

$barislagi = array();
$fr = fopen(“data.txt”,”r”);
while ($fline = fgets($fr, 4096))
{
$barislagi[count($barislagi)] = $fline;
}
fclose($fr);
$komentar = str_replace(“<“,”<“, $komentar); //digunakan utk tanda baca
$komentar = str_replace(“\r\n”,”<br>”, $komentar);
$komentar = str_replace(“|”,”|”, $komentar);
$komentar = ereg_replace(‘\\\”‘,'”‘, $komentar); //utk kutip atas
$komentar = ereg_replace(“\\\'”,”‘”, $komentar);
$tanggal = date(“D, j M Y, H:i \G\M\T O”);
$hasil = “$nama|$email|$homepage|$komentar|$tanggal\n”;

$ft = fopen(“data.txt”,”w”);
$fw = fwrite($ft, $hasil);
for ($urutan = 0; $urutan <= count($barislagi); $urutan++)
{
$fw = fwrite($ft, $barislagi[$urutan]);
}
fclose($ft);
tampil();
}

if ($action == “sign”)
{
isi();
}

if ($action == “add”)
{
tulis($nama, $email, $homepage, $komentar);
}

if (empty($action))
{
isi();
}

?>
</body>
</html>

Satu Tanggapan

  1. Geri_Hudson

    Turtle Lake, WI Collegeville, Indiana Boaz and Jachin Open G I Kent Olsson Prince Eugen, Duke of Nericia Volkswagen Type 4 Junaid Jamshed East Ham South (UK Parliament constituency) Amalgamated Society of Engineers

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: