執行運算子(Execution Operator)

執行運算子的「執行」指的是「執行系統指令」

簡單來說就是能夠透過PHP來執行CMD或是CLI的指令

而要執行的指令必須要用一對執行運算符號「`」包夾起來

由於不好找,我就不囉唆上圖了

舉例來說,我們如果要使用PHP來獲得某個資料夾的檔案內容

如果是使用CMD的話,在Mac/Linux系統下,ls -la可以列出某個目錄的檔案清單與資訊

(如果今天是Windows可以使用dir /w)

因為我本身是用Mac,所以我執行以下程式碼

<?php
    // 在Linux系統列出資料夾內的檔案內容
    $result =  `ls -al`;
    // 在Windows系統列出資料夾內的檔案內容
    $result =  `dir /w`;

    echo $result;
?>

會將執行的結果回傳,可以存到變數

執行結果是獲得現在執行的這個php檔案所在的資料夾的檔案相關資訊(已排版過)

total 32 
drwxr-xr-x 5 northbei admin 170 Nov 7 01:34 . 
drwxrwxr-x 12 root admin 408 Oct 14 20:35 .. 
-rw-r--r--@ 1 northbei admin 199 Nov 13 00:29 first.php 
-rw-r--r--@ 1 northbei admin 4619 Oct 15 17:00 test.php 
-rw-r--r--@ 1 northbei admin 670 Oct 15 18:14 hello.php

執行運算子必須在php.ini設定的safe_mode關閉的情況下才能使用

另外也能使用shell_exec()函數達到相同的功能

<?php
    // 在Linux系統列出資料夾內的檔案內容
    $result =  shell_exec('ls -al');
    // 在Windows系統列出資料夾內的檔案內容
    $result =  shell_exec('dir /w');

    echo $result;
?>

如果在Linux環境碰到無法使用執行運算子的人,可以參考這一篇文章

results matching ""

    No results matching ""