Dalam beberapa kasus, seorang developer web seringkali diminta klien untuk menyimpan data transaksi ke dalam bentuk yang portabel dan mudah dibaca oleh komputer, tanpa harus memasang (install) database terlebih dahulu. Sebagai contoh, untuk membuat log file penjualan barang berdasar waktu tertentu, seorang manajer minimarket menyimpan data penjualan tersebut ke dalam sebuah file .txt berdasar tanggal/hari.
Sekumpulan data tidak harus disimpan ke dalam sebuah database yang besar. Kita bisa memanfaatkan file .txt tersebut untuk menyimpan data-data yang sederhana. File .txt lebih portabel dalam menyimpan data, meskipun tidak “ramah pandangan” apabila isinya terlalu banyak. Selain itu, file .txt juga mudah dikenali oleh banyak bahasa pemrograman, salah satunya yaitu PHP.
Untuk memisahkan item data dalam sebuah file .txt, maka file tersebut harus berisi data dengan pola tertentu. Misalnya item data satu dengan yang lainnya dipisahkan dengan simbol/karakter tertentu. Pada tutorial ini, penulis akan menjelaskan bagaimana cara membaca (parsing) dan menulis (input) data file .txtmenggunakan PHP.
1. Menentukan file .txt yang akan diparsing. Dalam kasus ini, penulis akan menggunakan contoh data pemain sepakbola. Simpan data berikut ke dalamdata.txt.
1
2
3
4
5
6
7
8
9
10
11
|
ID|NAMA|TIM|UMUR|ALAMAT
001|Lampard|Chelsea|36|Manchester,
Inggris
002|Gerrard|Liverpool|38|Liverpool,
Inggris
003|Demba Ba|Chelsea|29|Dakar,
Senegal
004|Podolski|Arsenal|28|Hamburg,
Jerman
005|Rooney|Manchester
United|30|London, Inggris
006|Sterling|Liverpool|23|Kingston,
Jamaica
007|Messi|Barcelona|27|Buenos
Aires, Argentina
008|Ronaldo|Real
Madrid|28|Lisbon, Portugal
009|Robben|Bayern
Muenchen|30|Gottingen, Belanda
010|Lewandowski|Dortmund|29|Stuttgart,
Jerman
|
2. Membuat file index.php yang
berisi kode-kode sebagai berikut. Kode berikut berfungsi untuk memecah
sekaligus menampilkan data.txt ke halaman web.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
<!DOCTYPE HTML>
<html>
<head>
<title>Baca
(Parsing) File .txt dengan PHP</title>
</head>
<body>
<?php
$txt_file
= file_get_contents('data.txt');
$rows
= explode("\n", $txt_file);
array_shift($rows);
echo '<h3>Data
PemainSepakbola</h3>';
echo '<a
href="form.php">Tambah Data</a></br></br>';
$i=1;
foreach($rows as $row
=> $data)
{
//
Memisahkan Item Data dariPemisah |, array pada PHP dimulaipada index ke-0
$row_data
= explode('|', $data);
$info[$row]['id']
= $row_data[0];
$info[$row]['nama']
= $row_data[1];
$info[$row]['tim']
= $row_data[2];
$info[$row]['umur']
= $row_data[3];
$info[$row]['alamat']
= $row_data[4];
//
Menampilkan Data
echo 'Bariske-
' . $i++ . '<br />';
echo '
ID: <b>' . $info[$row]['id'] . '</b><br />';
echo '
NAMA: <b>' . $info[$row]['nama'] . '</b><br />';
echo '
TIM: <b>' . $info[$row]['tim'] . '</b><br />';
echo '
UMUR: <b>' . $info[$row]['umur'] . ' tahun</b><br />';
echo '
ALAMAT: <b>' . $info[$row]['alamat'] . '</b><br />';
echo "<hr>";
}
?>
</body>
</html>
|
3. Jika file index.php tersebut
dipanggil melalui browser, maka tampilannya seperti ditunjukkan seperti
gambar di bawah ini. Tampak bahwa isi data.txtsudah dapat ditampilkan
dengan baik.
Isi Data
4. Membuat file form.php yang
berisi kode-kode sebagai berikut. Kode berikut adalah kode form HTML untuk
melakukan input data. Hasil pengisian data tersebut selanjutnya akan dimasukkan
ke dalam data.txt melalui scriptproses.php.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
<!DOCTYPE HTML>
<html>
<head>
<title>Membaca
(Parsing) File .txt dengan PHP</title>
</head>
<body>
<form
name="form1" method="post" action="proses.php">
<table
width="780" border="0" align="center">
<tr>
<td
colspan="2"><h3>Form Isian Data
PemainSepakbola</h3></td>
</tr>
<tr>
<td
width="250">ID</td>
<td
width="530"><input size="40" name="id" type="text"
id="id"></td>
</tr>
<tr>
<td>NAMA</td>
<td><input
size="40" name="nama" type="text" id="nama"
value=""></td>
</tr>
<tr>
<td>TIM</td>
<td><input
size="40" name="tim" type="text" id="tim"></td>
</tr>
<tr>
<td>UMUR</td>
<td><input
size="40" name="umur" type="text" id="umur"></td>
</tr>
<tr>
<td>ALAMAT
(Kota, Negara)</td>
<td><input
size="40" name="alamat" type="text" id="alamat"></td>
</tr>
<tr>
<td></td>
<td><input
name="Submit" type="submit" value="Simpan"></td>
</tr>
<tr>
<td></td>
<td><a
href="index.php">Lihat Data >></a></br></td>
</tr>
</table>
</form>
</body>
</html>
|
5. Nilai variabel yang dimasukkan
melalui form.php, selanjutnya masuk ke dalam script proses.php berikut.
Script ini berisi perintah untuk menuliskan input form sebelumnya ke file data.txt sesuai
formatnya.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<?php
//
Menangkapisivariabeldariform.php
$id = $_POST['id'];
$nama = $_POST['nama'];
$tim =
$_POST['tim'];
$umur =
$_POST['umur'];
$alamat =
$_POST['alamat'];
// Format data yang
akandiparsing
$data = "\n
$id|$nama|$tim|$umur|$alamat";
// Buka file
data.txt, kemudiantuliskanisivariabel di ataskedalam data.txt
$fh =
fopen("data.txt", "a");
fwrite($fh, $data);
// Tutup file
data.txt
fclose($fh);
// Keteranganbila
data berhasildiinput
print "Data
TelahTersimpan.</br><a href='index.php'>Kembalike Index
>></a>";
?>
|
6. Gambar berikut adalah tampilan form.php pada
browser. Cobalah untuk melakukan input data, kemudian cek apakah data yang Anda
inputkan sudah masuk ke data.txt.
Input Data
Penutup
Dalam prakteknya, parsing file .txt dengan
PHP ini seringkali tidak berdiri sendiri dan cenderung kurang aman. Tidak ada
mekanisme otentikasi username danpassword seperti layaknya
menggunakan database, sehingga rawan diretas. Jika kebutuhannya kompleks, maka
harus tetap didukung oleh database, terutama untuk data/informasi yang sifatnya
penting dan rahasia. Penggunaan file .txtbiasanya hanya digunakan untuk
sebatas pelaporan (log/report) atas sebuah aktivitas, juga bermanfaat
untuk melakukan penggalian atau analisis data (data mining).