我有一个函数,它必须创建一个文件并写入它,但它只做第一件事。文件权限为0777
。
我的代码:
function addCookie($id) {
$path = "users/".$id.".txt";
if (file_exists($path)) {
$cookies = file_get_contents($path) + 1;
file_put_contents($path, $cookies);
} else {
$cookies = "1";
file_put_contents($path, $cookies);
}
}
答案 0 :(得分:0)
相对路径可能无法正常工作。始终使用完整路径并确保目录可写。
和
使用PHP error reporting!
以下是这些修正:
/***
Set error log at the top of the page:
***/
error_reporting(E_ALL);
function addCookie($id) {
$path = $_SERVER['DOCUMENT_ROOT']."/users/".$id.".txt";
if(is_file($path) && is_readable($path)) {
$cookies = (int)file_get_contents($path) + 1;
} else {
$cookies = "1";
}
file_put_contents($path, $cookies);
}
我个人认为,如果文件存在,你会非常小心,并且可以高兴地打开文件,如果因任何原因失败,只需采取行动:
function addCookie($id) {
$path = $_SERVER['DOCUMENT_ROOT']."/users/".$id.".txt";
$cookies = file_get_contents($path);
$cookies++; //will equal value + 1 or false + 1. Both work for you.
file_put_contents($path, $cookies);
}