2013-10-07 55 views
0

我有一個PHP腳本,通過電影數據的例子不勝枚舉,並分析這些數據返回的電影標題和評級幾家企業。我想將數據解析腳本作爲單個文件包含在幾個不同的文件中,因此如果我需要編輯電影數據解析器腳本,它將包含在其中的每個文件都是相同的。如何正確使用「包含」在PHP腳本

這是完美工作的數據解析腳本的代碼。對於文件名,我需要更換一個變量,因此包含在另一個文件的時候,我可以在變量名更改爲正確的電影列表的名稱。最初,我有每個企業自己的PHP數據解析腳本,但它不是很容易維護。

foreach (glob('mov/FILENAME.*mov') as $filename){ 
    $theData = file_get_contents($filename) or die("Unable to retrieve file data"); 
} 

$string = $theData; 
$titles = explode("\n", $string); 

function getInfo($string){ 
    $Ratings = ['G', 'PG', 'PG-13', 'R', 'NR', 'XXX']; 
    $split = preg_split("/\"(.+)\"/", $string, 0, PREG_SPLIT_DELIM_CAPTURE); 
    if(count($split) == 3){ 
     preg_match("/(".implode("|", $Ratings).")\s/", $split[0], $matches); 
     $rating = $matches[0]; 
     return ["title" => $split[1], "rating" => $rating]; 
    } 
    return false; 
} 

最後到問題:

在數據解析腳本。我將如何在「FILENAME」中實現變量,以及何時將此腳本包含在另一個文件中。我將如何將變量分配給正確的文件名並輸出/運行腳本?

+0

如果你定義的變量,然後包括文件,該變量將在包括使用的代碼是可用的。 – 2013-10-07 00:52:17

回答

0

你應該實現在包括文件作爲函數的代碼,並FILENAME應該是函數的參數。然後所有其他腳本都可以包含該文件並使用適當的文件名稱調用該函數。

同樣,$theData應該是函數的返回值,而不是一個全局變量。

+0

Ohhhh ...是的,這是有道理的。然後,我可以只是簡單地echo $ theData? – ValleyDigital

+0

不,你應該把它留給調用腳本決定如何處理它。你應該只是'返回數據;' – Barmar

+0

好,謝謝你指出我在正確的方向。我非常感激。 – ValleyDigital

相關問題