2012-05-07 12 views
-1

PHPプログラミングを行っていて、質問があります。PHPスクリプトを最初に実行したとき、および初めて実行したときにPHP関数を読み込むにはどうすればよいですか?起動時に関数を読み込むPHP

おかげ

答えて

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 ++; 
} 

出力

ファイルロックを使用することができます210
string 'test' (length=4) 
+0

はあなたに馬場をありがとうございます。それはうまくいく。しかし、ブラウザを閉じてから同じページを読み込むと、最初のページ読み込みとして検出されません。ユーザーがページを終了したときにロックを解除する必要がありますか? – user1378688

+0

実際には、http://stackoverflow.com/questions/2195581/remove-information-from-mysql-table-when-user-close-his-browser – hakre

+0

のようなものをカバーする多くの複製が表示されることはありません。それはブラウザを閉じた後にリロードする。私は最小限で私のコードを更新するだろう – Baba

1

あなたがPHPスクリプトを起動するたびに、彼は何度もbeforと呼ばれても、新しいスクリプトとして起動します。

そして、もしあなたuseing PHPでforbidedされる再宣言機能、外部FLESからロード関数の意識:

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

あなたは彼がbeforと呼ばれていた場合には覚えてSCRPTたい場合は、それを使用して行うことが可能です(データベース\ファイル)をログ記録し、負荷beforそれをcheacking何らかの形の...しかし、私は... ...機能負荷の場合には

0

このため、何らかの理由を参照するか、プレーンなブール値を使用していない

$bFirstRun = true; 

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

PHP関数があります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

関連する問題