防止PHP文件一次运行多个时间

时间:2017-05-02 12:37:20

标签: php curl

我每天通过使用PHP点击一个网址来扣除我的用户付款。没有具体时间应该付款。所以我没有使用cron来完成这项工作。所以我从浏览器中调用这个php文件来扣除付款。但问题是在输入我的php文件的url时,浏览器会自动命中它。当我点击网址时有时付款会被扣除两次。我怎么解决这个问题 。 我还使用了以下代码来防止php文件在运行时运行: -

文件开头: -

$fp = fopen(__FILE__, "r");
if (flock($fp, LOCK_EX | LOCK_NB)) {
    echo "Got lock!\n";


} else {
    print "Could not get lock!\n";
}

文件结束: -

 flock($fp, LOCK_UN);

但它没有用。请帮我解决这个问题。非常感谢。

1 个答案:

答案 0 :(得分:0)

您只需将__FILE__替换为/tmp/my-php-script.lock之类的内容,即:

$fp = fopen("/tmp/my-php-script.lock", "r");