2012-05-07 62 views

回答

4

您可以使用鎖定文件

$lock = "run.lock" ; 

if(!is_file($lock)) 
{ 
    runOneTimeFuntion(); // 
    touch($lock); 
} 

編輯1

一次性功能

runOneTimeFuntion(); 
runOneTimeFuntion(); 
runOneTimeFuntion(); 
runOneTimeFuntion(); 
runOneTimeFuntion(); 
runOneTimeFuntion(); 
runOneTimeFuntion(); 
runOneTimeFuntion(); 

function runOneTimeFuntion() { 
    if (counter() < 1) { 
     var_dump ("test"); 

    } 

} 

function counter() { 
    static $count = 0; 
    return $count ++; 
} 

輸出

string 'test' (length=4) 
+0

謝謝爸爸。這很好。但是,如果我關閉瀏覽器然後加載相同的頁面,它不檢測它作爲第一頁加載。當用戶完成頁面時,我是否必須解鎖? – user1378688

+0

你不能真的,看到許多重複覆蓋,像http://stackoverflow.com/questions/2195581/remove-information-from-mysql-table-when-user-close-is-browser – hakre

+0

永遠不知道你想要它關閉瀏覽器後重新加載..我會更新我的代碼在最小 – Baba

1

每次啓動php腳本時,無論它被稱爲befor多少次,他都會以新腳本開始。

如果你知道的重新申報的功能,這是在PHP forbided,從外部FLES加載函數期運用:

<?php require_once(my_function_file.php); ?> 

如果你想SCRPT記得,如果他被稱爲befor,有可能用做某些形式的日誌記錄(數據庫\文件)並將其加載後加載...但我沒有看到任何此功能加載的原因...

0

或使用普通布爾值...

$bFirstRun = true; 

if($bFirstRun) { 
    run_me(); 
    $bFirstRun = false; 
} 
0

有一個叫做function_exists的函數

你可以在這個函數中定義你自己的函數,然後你可以看看它是否存在。

if (!function_exists('myfunction')) { 
    function myfunction() { 
    // do something in the function 
    } 
    // call my function or do anything else that you like, from here on the function exists and thus this code will only run once. 
} 

瞭解更多關於function_exists這裏:http://www.php.net/function_exists