程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 用PHP腳本在Linux系統上讀取輸入和對文件進行操作

用PHP腳本在Linux系統上讀取輸入和對文件進行操作

編輯:關於PHP編程

Perl作為Linux系統命令行腳本的首選解釋語言的日子一去不復返了。今天,我們有了更多的選擇,包括Python、Ruby和PHP。假如你已經為網站編寫PHP代碼,並熟谙這種語言,那麼你會發現,在命令行使用PHP的速度之快,效果之好令人驚異。

在腳本中,任何腳本語言的一個最大功用是對文件進行操作並獲取用戶輸入。PHP處理這些絲毫不比其它任何腳本語言遜色。

例如,利用PHP在腳本執行期間處理讀取用戶提供輸入,使用:

#!/usr/bin/php
<?php
function read_input()
{
$fp = fopen("/dev/stdin", "r");
$input = trim(fgets($fp, 255));
fclose($fp);
return $input;
}

printf("Please supply your name: ");
$name = read_input();
printf("nHello, $name.n");
?>
</code>

上面定義的read_input()函數將從STDIN提取輸入,存儲於$input 變量中,整理所有引導的和尾隨的空白空間,然後返回。

同樣的原理還可以應用於讀取和操作標准文件;記住,對於Linux,STDIN只是另一個文件而已(相應地,上述例子中的opening /dev/stdin 也是這樣)。

#!/usr/bin/php
<?php

if (file_exists($argv[1]))
{
$file = $argv[1];
} else {
printf("ERROR: File '$file' does not exist!n");
exit 1;
}
$data = file($file);
$c = 1;
foreach ($data as $line)
{
printf(sprintf("[%s]: %s", $c, $line));
$c ;
}

在上述例子中,PHP腳本將會讀取傳遞到命令行文件中的每一行,並緊隨當前行數將其輸出。假如文件不存在,腳本會打印一個出錯提示,並將返回代碼1並退出(1表示出錯;在正常運行中,腳本會以返回代碼0退出)。file() 函數在這裡使用,它讀取文件的每行,列成數組(在這個例子中,數組為$data),然後用於foreach()語句中,在數組中循環,一次是文件中的一行。

PHP已經不再嚴格拘泥於基於Web的編程。我們可以將它輕松應用於編寫命令行腳本,既靈活又快速。同樣地,幾乎所有你能用Web腳本進行操作的,例如,數據庫操作,都可以輕松地應用PHP的命令行腳本完成。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved