3

24 時間ごとに実行される PHP コードを作成しようとしています。私が使用している現在の CMS はこれをサポートしており、正しく動作しますが、もう少し複雑にしたいと考えています。

毎日 1 時間、コードを実行して、この 1 時間の間、ユーザーに特別なアクセス許可を付与します。

時間が経過したら、変更を元に戻し、権限を削除したいと思います。ユーザーは、時間が戻った翌日まで待つ必要があります。

例えば:

<?php

if (!defined('UBER') || !UBER)
{
    exit;
}

dbquery("UPDATE catalog_pages SET visible = '1' WHERE id='91'");
$core->Mus('update_catalogue');

?>

このコードは 24 時間ごとに 1 回実行され、正常に動作します。カタログ設定を更新して、ページを誰にでも表示できるようにします。私は、時間が経過した後にそれを消す方法に固執しています。

時間は午前 4 時から午前 5 時であるとしましょう。

PHP コードを使用して午前 5 時以降にページを非表示にするにはどうすればよいですか?

前もって感謝します。

4

2 に答える 2

3
if (date("G") == '4'){
//give
}elseif (date("G") == '5'){
//takeway
}

またはクエリで

.. WHERE HOUR(NOW()) BETWEEN 4 AND 5
于 2012-09-09T05:37:59.623 に答える
1

これは実際には非常に簡単に行うことができます。ユーザーがログオンするか、特定の時間にのみ付与されるアクセス許可を使用しようとする場合、チェックを実行して、時間がその時間内にあるかどうかを確認します。CMS でイベントのインターセプトが許可されている場合は、次のようなものを使用します。

onUserAction(){
    if(isSpecialHour()){
        denyPermission()...
    }
    else{
        grantPermission()...
    }
}

ユーザーが許可を必要とする何かを行おうとすると、システムはそれがその特別な時間の期間内であるかどうかを確認し、許可を与えるか拒否する必要があります。

PHP だけでは、特定の間隔でスクリプトを実行することはできません。PHP スクリプトは、ロード時に実行されます。正確な時間にスクリプトを実行する (または cron などを使用する) 人がいない限り、実行できません。もちろん、同じことを達成するために cron や similar を使用することもできます。ただし、上記の方法はおそらく最善の策です。

于 2012-09-09T05:42:20.770 に答える