24 Februari 2017

Melewatkan Parameter pada Script PHP-CLI

Script PHP berbasis web dapat melewatkan parameter dengan cara seperti ini:

namascript.php?param1=value1&param2=value2 

sementara untuk mengeksekusi script php, nilai argument /paramater dapat dilewatkan dengan cara yang mirip jika kita bikin program pakai bahasa C, misal sbb:

$ php namascript.php value1 value2

Untuk menangkap nilai paramater pada script php digunakan variabel global yang sudah tersedia, yaitu:

  • $_SERVER['argc'] untuk mengembalikan banyaknya argument /paramater yang dilewatkan termasuk nama script
  • $_SERVER['argv'][0] nama script
  • $_SERVER['argv'][1] value untuk argument /paramater pertama
  • $_SERVER['argv'][2] value untuk argument /paramater kedua
  • .. 
  • $_SERVER['argv'][n] value untuk argument /paramater ke-n

Contoh Script:
Berikut script untuk menampilkan isi suatu file. Nama file dilewatkan sebagai argument /paramater

<?php

echo "Menampilkan isi file\n";

//check apakah ada argument yang dilewatkan
if ($_SERVER['argc'] != 2) {
  echo "Error Usage: php {$_SERVER['argv'][0]} <namafile>\n";
  die;
}

//ambil namafile
$namafile = $_SERVER['argv'][1];


//periksa keberadaan
if (!file_exists($namafile)){
  echo "Error: File {$namafile} tidak ditemukan\n";
  die;
}

//tampilkan isinya
echo "Isi file:\n";
echo readfile($namafile);

?>