Anda di halaman 1dari 14

Fungsi Built-In PHP

4.9.1 Manipulasi String


a.

addslashes digunakan

untuk menambahkan backslash ketika sebuah


string query database terdapat tanda petik tunggal atau ganda dan null
value.
Contoh :
<?

$str = sebelum hari sabtu adalah hari jumat;


addslashes($str); //hasilnya : sebelum hari sabtu adalah
hari jum\at;
?>

b.

explode digunakan

untuk memisahkan kata dari suatu tanda baca


tertentu. Hasil dari pemisahan ditampung dalam tipe array.
Contoh :
Memisahkan kata dibawah ini berdasarkan tanda baca spasi
<?
$str = data1 data2 data3 data4 data5;
$pisah = explode( ,$str);
// hasilnya : $pisah[0] = data1 . $pisah[4] =
data5;
?>

c.

implode kebalikan

dari explode.
Contoh :
Menggabungkan $pisah pada contoh explode di atas dengan tanda baca
#
<?

$new_str = implode(#,$pisah);
// hasilnya : data1#data2#data3#data4#data5
?>

d.

htmlspecialchars

mengkonversi karakter khusus yang dikenali

sebagai tag HTML


Contoh :
<?php
$new = htmlspecialchars("<a href='test'>Test</a>",
ENT_QUOTES);
// hasilnya : &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>

e.

md5 mengenkripsi

teks menjadi 32 karakter acak.

Contoh:
<?php

91

$str = md5(deni); // hasilnya :


43f41d127a81c54d4c8f5f93daeb7118
?>

f.

number_format melakukan

format penulisan angka.

Contoh :
<?

$angka = 123456.32;
$format_inggris = number_format($angka);
$format_indonesia = number_format($angka, 2, ',', '.');
?>

g.

strlen mendapatkan

panjang karakter

Contoh :
<?

$str = (teknik informatika umg); // hasilnya : 22


?>

h.

substr mendapatkan sejumlah karakter terntentu dari sebuah


kalimat.
Contoh:
<?

?>

i.

$str = substr(teknik informatika umg, 0,5);


// hasilnya : tekni
$str = substr(teknik informatika umg, -5);
// hasilnya : a umg

strtolower menjadikan

teks huruf kecil

Contoh:
<?
$str = strtolower(Belajar PHP);
//hasilnya : belajar php
?>

j.

strtoupper menjadikan

teks huruf kapital

Contoh :
<?

$str = strtoupper(Belajar PHP);


//hasilnya : BELAJAR PHP
?>

Dan masih banyak lagi fungsi manipulasi string yang disediakan oleh php.
Untuk mencobanya, silahkan buka website http://php.net atau download php
manualnya

92

4.9.2 Manipulasi File


a.

basename mendapatkan

nama file (tanpa path file nya)

Contoh:

<?
$path = "/htdocs/p.web/file/index.php";
$file = basename ($path); // hasilnya: index.php
$file = basename ($path,".php"); // hasilnya: index
?>

b.

chmod merubah

Contoh:

hak askes tehadap suatu file

<?php
// baca dan tulis untuk owner saja
chmod ("file.txt", 0600);
//baca dan tulis untuk owner dan user lainnya
chmod ("file.txt", 0644);
// akses penuh untuk owner, baca dan eksekusi untuk user
lainnya
chmod ("file.txt", 0755);
// akses penuh untuk owner, baca dan eksekusi untuk group
dari owner
chmod ("file.txt", 0750);
?>

c.

copy mengcopy

file. Nilai kembaliannya adalah true untuk sukses dan


false untuk gagal copy.
Contoh:
<?
$file = file.txt;
if (!copy($file, $file.'.bak')) {
echo "tidak bisa mencopy file : $file ";
}
else {
echo Copy file berhasil;
}
?>

d.

dirname mendapatkan

direktori dari suatu file

Contoh :

<?php
$path = "/htdocs/p.web/file/file.txt";
$file = dirname ($path); // hasilnya: /htdocs/p.web/file
?>

e.

fopen membuka

file. Dalam membuka file, bisa sekaligus membuat


dan menyimpan file (handle file). Terdapat beberapa nilai untuk fopen
yang berakitan dengan status file yang akan dibuat. Berikut tabelnya :
Mode
Keterangan
93

r
r+
w

w+

a
a+
x

x+

Membuka file dengan otoritas baca, pointer berada di awal file


Membuka file dengan otoritas baca dan tulis, pointer berada di
awal file
Membuka file dengan otoritas tulis, pointer berada di awal file
dan akan mereplace data yang ada (jika nama file sudah ada)
membuat file baru (jika file belum ada)
Membuka file dengan otoritas baca dan tulis, pointer berada di
awal file akan mereplace data yang ada (jika nama file sudah
ada) membuat file baru (jika file belum ada)
Membuka file dengan otoritas tulis, pointer berada di akhir file
dan akan membuat file baru jika belum ada
Membuka file dengan otoritas baca dan tulis, pointer berada di
akhir file dan akan membuat file baru jika file belum ada
Membuat dan membuka file dengan otoritas tulis, pointer
berada di akhir file. Jika file ada maka tidak bisa
menggunakan fungsi fopen()
Membuat dan membuka file dengan otoritas baca dan tulis,
pointer berada di akhir file. Jika file ada maka tidak bisa
menggunakan fungsi fopen()

Contoh:
<?
// pada
$handle
$handle
$handle
$handle
"w");

sistem operasi linux


= fopen ("/home/rasmus/file.txt", "r");
= fopen ("/home/rasmus/file.gif", "wb");
= fopen ("http://www.example.com/", "r");
= fopen ("ftp://user:password@example.com/somefile.txt",

// pada sistem operasi windows


$handle = fopen ("c:\\data\\info.txt", "r");
?>

f. fread membaca content file


Contoh :
<?
$filename = "file.txt";
$handle = fopen ($filename, "r");
$contents = fread ($handle, filesize ($filename));
echo $contents;
?>

g.
94

fwrite menulis

di file

Contoh :
<?
$filename = 'file.txt';
$teks = "baris ke 6";
if (is_writable($filename)) {
if (!$handle = fopen($filename, 'a')) {
print "File tidak bisa dibuka ($filename)";
exit;
}
if (!fwrite($handle, $teks)) {
print "File tidak bisa ditulis ($filename)";
exit;
}
print "sukses menambahkan ($teks) di dalam file
($filename)";
fclose($handle);
} else {
print "File $filename tidak dapat ditulisi";
}
?>

h. filesize mengetahui kapasitas ukuran file


Contoh :
<?
?>

$file = file.txt; $size = filesize($file);

i. fclose menutup file


Contoh:
<?
$filename = "file.txt";
$handle = fopen ($filename, "r");
fclose($handle);
?>

j. unlink menghapus file


Contoh :
<?
$file = file.txt.bak; unlink($file);
?>

k. include memanggil file lain di dalam dokumen php


Contoh:
<?
include file_lain.php;

95

?>

l.

// akan memanggil file file_lain.php


require sama

dengan include

4.9.3 Manipulasi tanggal


Fungsi ini untuk mendapatkan tanggal berdasarkan format yang diberikan.
Terdapat berbagai macam variasi penulisan tanggal.
a.

date
Format Parameter
a.A
d
D
F
g
G
h
H
i
j
l
m
M
n
s
Y
y
z
Contoh :

Nilai Kembalian
am /pm atau AM PM
Tanggal 1 digit (01 s/d 31)
Nama hari 3 digit (Sun s/d Sat)
Nama bulan string (January s/d December)
Jam 12 jam (1 s/d 12)
Jam 24 jam (1 s/d 24)
Jam 12 Jam (01 s/d 12)
Jam 24 Jam (01 s/d 24)
Menit 2 digit (00 s/d 59)
Tanggal 1 digit (1 s/d 31)
Nama hari (Sunday s/d Saturday)
Nomor bulan 2 digit (01 s/d 12)
Nama bulan 2 digit string (Jan s/d Dec)
Nomor bulan 1 digit (1 /sd 12)
Detik 2 digit (00 s/d 59)
Tahun 4 digit (2011, dst)
Tahun 2 digit (11, dst)
Nomor hari dalam 1 tahun (0 s/d 365)

<?php
// Dimisalkan tgl sekarang : 6 Desember 2010, 12:00:00
$today = date("F j, Y, g:i a"); // December 6, 2010, 12:00 pm
$today = date("m.d.y"); // 12.06.10
$today = date("j, n, Y"); // 06, 12, 2001
$today = date("Ymd"); // 20011206
$today = date('h-i-s, j-m-y, it is w Day z ');
// 12-00-00, 6-12-10, 0831 0816 1 Monam10 339
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');
// It is the 6th day.

96

$today = date("D M j G:i:s T Y"); // Mon Dec 6 12:00:00 MST 2010


$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 12:12:00 m is
month
$today = date("H:i:s"); // 12:00:00
?>

b.

getdate
Kode

secconds
minutes
hours
mday
wday
mon
year
yday
weekday
month

Keterangan
Merupakan nilai angka detik
Merupakan nilai angka menit
Merupakan nilai angka jam
Merupakan nilai angka tanggal 1
digit
Merupakan nilai angka hari dalam
1 minggu
Merupakan nilai angka bulan
Merupakan nila angka tahun 4
digit
Merupakan nilai angka hari dalam
1 tahun
Merupakan nilai string hari dalam
1 minggu
Merupakan nilai string bulan

Nilai Kembalian
00 s/d 59
00 s/d 59
00 s/d 23
1 s/d 31
0 : minggu s/d 6 : sabtu
0 s/d 12
1984, 2011, dst
0 s/d 365
Sunday s/d Saturday
January s/d December

Contoh:
<?php

?>

$today = getdate();
print_r($today);
//hasilnya :
array (
[seconds] => 30
[minutes] => 12
[hours] => 11
[mday] => 6
[wday] => 1
[mon] => 12
[year] => 2010
[yday] => 339
[weekday] => Monday
[month] => December [0] => 1291608750 )

c. mktime
Perhitungan aritmatika (kemarin, besok, bulan depan, tahun depan, dll)
Contoh:
97

akan menghasilkan tanggal Jan-01-1988


<?php
echo date
echo date
echo date
echo date
?>

("M-d-Y",
("M-d-Y",
("M-d-Y",
("M-d-Y",

mktime
mktime
mktime
mktime

(0,0,0,12,32,1997));
(0,0,0,13,1,1997));
(0,0,0,1,1,1998));
(0,0,0,1,1,98));

Tanggal terakhir suatu bulan dapat ditulis dengan tgl 0 pada bulan
berikutnya.
Contoh:
<?php
$lastday = mktime (0,0,0,3,0,2000);
echo strftime ("Last day in Feb 2000 is: %d", $lastday);
$lastday = mktime (0,0,0,4,-31,2000);
echo strftime ("Last day in Feb 2000 is: %d", $lastday);
?>

98

Penjumlahan / pengurangan tanggal


Contoh :
<?php
$tomorrow = mktime (0,0,0,date("m")
,date("d")+1,date("Y"));
$lastmonth = mktime (0,0,0,date("m")-1,date("d"),
date("Y"));
$nextyear = mktime (0,0,0,date("m"), date("d"),
date("Y")+1);
?>

4.9.4 Upload File


Untuk
mengupload
file,
enctype="multipart/form-data".
Berikut contoh lengkap upload file

form

ditambahkan

properti

Form Upload

<html>
<head>
<title>Upload file</title>
</head>
<body>
<h2>Upload File Anda</h2>
<form action="proses.php" method="post"
enctype="multipart/form-data">
File Anda : <input name="fileupload" type="file">
<input name="kirim" type="submit" value="KIRIM">
</form>
</body>
</html>

proses.php
<?
$file_asli = $_FILES['fileupload']['name'];
$file_tmp = $_FILES['fileupload']['tmp_name'];
$uploaddir = "file/"; // direktori file yang diupload
$uploadfile = $uploaddir.$file_asli;
print "<pre>";
if (move_uploaded_file($file_tmp, $uploadfile)) {
print "Picture anda sukses diupload... ";
} else {
print "File tidak bisa diupload, karena:\n";
print_r($_FILES);
}
print "</pre>";
?>

99

4.9.5 Validasi Teks


Biasanya digunakan untuk melakukan validasi alamat email atau inputan
form yang dilakukan oleh user. Berikut tabel pengecekan karakter:
Kode
Pola
Keterangan
^
Harus berada di awal kata
A-Za-z
Huruf
Tidak bersifat case sensitif
0-9
Angka
[A-Za-z0-9]
Huruf atau angka
.
Semua karakter
+ atau {1,}
Berjumlah minimal >= 1
* atau {0,}
Berjumlah minimal >= 0
{3,}
Berjumlah minimal >= 3
{3,10}
Berjumlah antara 3 s/d 10
@
Diikuti dengan @
Selain karakter ^,+,*,.
Tanpa didahului karakter \
\.
Diikuti dengan .
Karakter ^,+,*,. Harus
didahului karakter \
$
Harus berada di akhir kata
Berdasarkan tabel di atas, sebuah validasi email dapat ditentukan mengikuti
pola dari email, yaitu :
a. Sebelum tanda @ harus ada sembarang karakter
b. Setelah tanda @ harus ada sembarang karakter dan diikuti dengan tanda
titik
c. Setelah titik harus ada sembarang karakter
Maka kode yang dapat digunakan sesuai dengan pola di atas adalah:
^.+@.+\..+$
<?

?>

100

$email = deni.sutaji@yahoo.com;
$pola
= ^.+@.+\..+$;
if(eregi($pola,$kata) {
echo Email Valid;
}
else {
echo Email Tidak Valid;
}

Apabila hanya email yang berdomain com, org, net, info saja yang diseleksi
maka kodenya aldah sebagai berikut :
^.+@.+\.((com)|(net)|(org)|(info)|(info))$

Fungsi php yang digunakan untuk mengecek adalah :

eregi($pola,$kata)
<?
$email = deni.sutaji@yahoo.com;
$pola
= ^.+@.+\.((com)|(net)|(org)|(info)|(info))$;
if(eregi($pola,$kata) {
echo Email Valid;
}
else {
echo Email Tidak Valid;
}
?>

101

Latihan
Buatlah tampilan Form sebagai berikut :

Gambar 4.4 Form Inputan Validasi

102

Ketentuan validasi:
1.
2.
3.
4.
5.
6.
7.
8.

Nama dan Alamat yang sudah diproses dikonversi menjadi huruf kapital
Nomor telepon harus angka, tidak bolek ada karakter huruf atau lainnya.
Jika ada maka akan tampil pesan kesalahan memasukkan angka dengan
huruf.
Panjang maksimal nomor telepon adalah 12 digit, jika lebih maka akan
tampil pesan kelebihan karakter nomor telepon.
Username yang sudah diproses dikonversi menjadi huruf kecil
Panjang maksimal username adalah 10 digit, jika lebih maka akan tampil
pesan kelebihan karakter username.
Validasi email hanya menerima domain .com, .net, .info, .web.id, .co.id
Password terenkripsi dengan md5
Foto dapat diupload di folder upload.

Berikut tampilan ketika tombol submit sudah di klik, validasi terhadap form
juga ditampilkan pada tampilan di bawah ini.

103

Gambar 4.5 Hasil Validasi Form

104

Anda mungkin juga menyukai