Fungsi-fungsi tambahan dalam PHP Session dan Cookie
fopen() Digunakan untuk membuka file Parameter pertama dari fungsi ini berisi nama file yang akan dibuka Parameter kedua menentukan modus file Jika fungsi fopen() tidak dapat membuka file yang ditentukan, maka fungsi ini akan mengembalikan 0 (false) <html> <body> <?PHP $file = fopen("welcome.txt", "r") or exit("Unable to open file!"); ?> </body> </html>
Mode File Mode Deskripsi r Read only. Dimulai pada awal file r+ Read/Write. Dimulai pada awal file w Write only. Membuka dan membersihkan isi file; atau membuat file baru jika tidak ada w+ Read/Write. Membuka dan membersihkan isi file; atau membuat file baru jika tidak ada a Append. Membuka dan menulis ke akhir file atau membuat file baru jika tidak ada a+ Read/Append. Mempertahankan isi file dengan menulis ke akhir file x Write only. Membuat file baru. Returns FALSE dan error jika file sudah ada x+ Read/Write. Membuat file baru. Returns FALSE dan error jika file sudah ada
fclose() Digunakan untuk menutup file yang terbuka <?PHP $file = fopen("test.txt", "r"); //some code to be executed fclose($file); ?> Digunakan untuk menutup file yang terbuka
feof() if (feof($file)) echo "End of file"; Memeriksa apakah“end-of-file” (EOF) telah tercapai Berguna untuk perulangan melalui data yang panjangnya tidak diketahui Tidak dapat membaca file yang dibuka dengan modus w, a, dan x
fget() Digunakan untuk membaca file baris per baris <?PHP $file = fopen("welcome.txt", "r") or exit("Unable to open file!"); //Output a line of the file until the end is reached while(!feof($file)) { echo fgets($file). "<br>"; } fclose($file); ?> Digunakan untuk membaca file baris per baris Setiap fungsi dipanggil, pointer akan pindah ke baris berikutnya
fgetch() Digunakan untuk membaca file karakter per karakter Setiap fungsi dipanggil, pointer akan pindah ke karakter berikutnya <?PHP $file = fopen("welcome.txt", "r") or exit("Unable to open file!"); while (!feof($file)) { echo fgetc($file); } fclose($file); ?>
Upload File Form Memungkinkan user untuk meng-upload file <html> <body> <form action="upload_file.php" method="post“ enctype="multipart/form-data"> <label for="file"> Filename:</label> <input type="file" name="file" id="file"> <br> <input type="submit" name="submit" value="Submit"> </form> </body> </html> Memungkinkan user untuk meng-upload file Memberikan manfaat yang besar, tapi beresiko cukup besar Hanya trusted user yang diperbolehkan untuk meng-upload file
$_FILES Digunakan untuk meng-upload file dari komputer klien ke server Parameter pertama berupa nama dari form input file Parameter kedua dapat berupa: name, type, size, tmp_name, dan error <?php if ($_FILES["file"]["error"] > 0) { echo "Error: " .$_FILES["file"]["error"] ."<br>"; } else { echo "Upload: " . $_FILES["file"]["name"] ."<br>"; echo "Type: " . $_FILES["file"]["type"] . "<br>"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . "kB<br>"; echo "Stored in: " . $_FILES["file"]["tmp_name"]; ?>
Parameter $_FILES Parameter Deskripsi $_FILES["file"]["name"] Nama file $_FILES["file"]["type“] Tipe file $_FILES["file"]["size"] Ukuran file (kilobytes) $_FILES["file"]["tmp_name“] nama salinan sementara dari file yang tersimpan di server $_FILES["file"]["error"] Error code yang dihasilkan pada proses upload
file_exists() Memeriksa keberadaan file dalam folder penyimpanan if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } Memeriksa keberadaan file dalam folder penyimpanan
move_uploaded_file() else { move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; } Menyimpan file upload dalam folder penyimpanan
Cookie dan session
Perbedaan Session dan Cookie Data disimpan di server Data disimpan di client (browser) Tidak dapat diberi waktu expired Dapat diberi waktu expired
Apa itu Cookie? Cookie sering digunakan untuk mengidentifikasi pengguna Cookie adalah file kecil yang ditanam server pada komputer pengguna Harus disimpan SEBELUM tag <html> Nilai cookie secara otomatis akan di URL encode saat dikirim, dan didecode saat diterima Untuk mecegah URL encoding gunakan setrawcookie() sebagai gantinya
setcookie() Setcookie (name, value, expire, path, domain);
Contoh membuat Cookie 1 <?php setcookie("user", “Budi Susanto", time()+3600); ?> <html> .....
Contoh membuat Cookie 2 <?php $expire=time()+60*60*24*30; setcookie("user", “Budi Susanto", $expire); ?> <html> .....
$_COOKIE <?php // Print a cookie echo $_COOKIE["user"]; // A way to view all cookies print_r($_COOKIE); ?> Digunakan untuk mengambil nilai cookie
Contoh Mengambil Nilai Cookie <html> <body> <?php if (isset($_COOKIE["user"])) echo "Welcome " . $_COOKIE["user"] . "!<br>"; else echo "Welcome guest!<br>"; ?> </body> </html> Fungsi isset() untuk mengetahui apakah cookie telah dibentuk
Menghapus Cookie <?php // set the expiration date to one hour ago setcookie("user", "", time()-3600); ?>
Variabel Session Menyimpan informasi pengguna pada server untuk berbagai kepentingan seperti: username, item belanja, dll. Session bersifat temporer, akan dihapus saat pengguna meninggalkan situs web Untuk berbagai kepentingan dapat disimpan dalam database agar bersifat permanen Menciptakan ID unik(UID) untuk setiap visitor dan menyimpan variabel berdasarkan UID UID dapat disimpan dalam cookie ataupun disebar dalam URL Diletakkan SEBELUM tag <html>
session_start() <?php session_start(); ?> <html> <body> </body> </html> Memulai PHP-Session
$_SESSION Menyimpan dan mengambil variabel session <?php session_start(); // store session data $_SESSION['views']=1; ?> <html> <body> //retrieve session data echo "Pageviews=". $_SESSION['views']; </body> </html> Menyimpan dan mengambil variabel session
unset() <?php session_start(); if (isset($_SESSION['views'])) unset($_SESSION['views']); ?> Digunakan untuk menghapus sebagian data session
session_destroy() <?php session_destroy(); ?> Mereset semua data dan menghapus semua data session yang tersimpan Biasanya menghapus data session yang terkait dengan user name diterapkan pada proses logout. Dengan proses logout, maka username yang telah tersimpan dalam session akan terhapus.
move_uploaded_file() else { move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; } Menyimpan file upload dalam folder penyimpanan