0

“LoggedIn”确实 = true 并且“CurrentUser”不是“ManselD”,但它仍然没有写入或创建文件 :( 是的,我的 /accounts/logs 文件夹是 CHMOD 702

if(!$user == "ManselD"){
    ini_set('date.timezone', 'Europe/London');
    $ip = $_SERVER['REMOTE_ADDR'];
    $txt = "$user Logged In With The Ip: $ip At ".date("h:i")."\n";
    $url = "/accounts/logs/".trim(date('F')."-".date('d')."-".date('Y').".txt");
    $file = fopen($url, "a");
    fwrite($file, $txt);
    fclose($file);
    echo $file;
    if(is_writable("/accounts/logs")){
        echo "It is writable";
    } else{
        echo "It isn't writable";
    }
}

我真的很困惑,为什么这不起作用:S

固定版本:

if($user != "ManselD"){
ini_set('date.timezone', 'Europe/London');
$ip = $_SERVER['REMOTE_ADDR'];
$txt = "$user Logged In With The Ip: $ip At ".date("h:i")."\n";
$url = getcwd() . '/accounts/logs/'.trim(date('F')."-".date('d')."-".date('Y').".txt");
file_put_contents($url, $txt, FILE_APPEND);
}
4

1 回答 1

2

我认为问题(您要问的问题,因为如果您阅读评论还有更多问题)是您写

$url = "/accounts/logs/".trim(date('F')."-".date('d')."-".date('Y').".txt");

文件路径不是 URL。虽然上面显然不是 URL,但它可能不应该有起始斜杠 (/)。
一个好的方法是始终使用绝对路径,可能使用__FILE__常量。

于 2013-02-25T21:23:04.807 回答