2017-03-02 88 views
1

我有一個PHP的問題。不能重新聲明函數 - 試圖每X秒調用函數 - php

我有一個從.txt文件讀取數據的php文件。 這工作,使用此代碼:

$filename= "deadlines.txt"; 
$fp = fopen($filename,"r"); 
$content = fread($fp, filesize($filename)); 
$rawArray = setRawArray($content); 
$epochAndTitleArray = toEpoch($rawArray); 

現在,我想使這個東西,每次執行第二,不只是一次在一開始做出來。 所以,我試圖把它放入一個函數,就像這樣:

$filename= "deadlines.txt"; 
$fp = 0; 
$content = 0; 
$rawArray = 0; 
$epochAndTitleArray = 0; 
function readFile(){ 
$GLOBALS['fp'] = fopen($GLOBALS['filename'], "r"); 
$GLOBALS['content'] = fread($GLOBALS['fp'], filesize($GLOBALS['filename'])); 
$GLOBALS['rawArray'] = setRawArray($GLOBALS['content']); 
$GLOBALS['epochAndTitleArray'] = toEpoch($GLOBALS['rawArray']); 
} 

在這種情況下,我與全局工作,之前,我做到了沒有,也留下了函數本身前行。我認爲這是不正確的,所以我添加了全局變量。

現在,這是行不通的。 它給我以下錯誤:

致命錯誤:無法重新聲明readFile()在.....第28行, 這條線28是函數結束時關閉的行}。

你們能幫我完成這個任務嗎? 已經感謝!

回答

3

readfile是在php中定義的函數,你不能重新聲明它或重新聲明使用相同名稱的任何函數。

有關如何在PHP聲明有效functions更多的參考

PHP does not support function overloading, nor is it possible to undefine or redefine previously-declared functions.

+0

這的確是問題,謝謝! –