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 に答える