Seperti namanya, file_exists() merupakan fungsi built-in PHP yg berfungsi untuk mengecek keberadaan suatu file atau folder. Jika terdapat file atau folder yg di maksud, maka file_exists() akan mengembalikan nilai true, apabila sebaliknya akan mengembalikan nilai false atau bersifat Boolean. Namun fungsi ini hanya bekerja di sebatas lingkup situs kita saja. Untuk membuatnya bisa menjadi cross domain kita harus membuat fungsi sendiri secara manual.
Kenapa kita harus membuat fungsi file_exists() cross domain? Dalam membuat content grabber kita perlu menghandle atau meminimalisir terjadinya error akibat kegagalan script kita mengeksekusi situs target atau user yg sengaja menjahili situs kita dengan mengubah query-nya. Disini fungsi file_exists() berperan penting supaya situs kita tidak berantakan. Memang, fingsi ini tidak mutlak harus ada karena beda situs yg kita grab beda pula rumus yg digunakan.
<?php
function file_eksis($url) {
$respon= get_headers($url);
if(strpos($respon[0], 200)) {
return true; }
else {
return false; }}
// contoh penggunaan
$url= 'http://anu.com/img/thumb.jpg';
if(file_eksis($url)) {
echo 'terdapat gambar thumb.jpg di situs anu.com'; }
else {
echo 'tidak terdapat gambar thumb.jpg di situs anu.com'; }
?>
Untuk membuat fungsi ini yg kita butuhkan adalah get_headers(), get_headers() berfungsi untuk mengambil informasi HTTP Header pada suatu situs dengan mengembalikan array sebagai output-nya. Array pada index pertama adalah status kode yg dikembalikan oleh situs tersebut. Misal, kode 200 untuk respon OK, 403 untuk Forbidden, 404 untuk respon Error Not Found dll.