$ipfile="./user.txt";
if (get_magic_quotes_gpc()) {
if (!$fp = fopen($ipfile, "a+")) {
// die("オンライン リスト ファイルの作成に失敗しました。権限があるかどうかを確認してください。");
}
$time=time();
$line = $username."|".$REMOTE_ADDR."|".$time."rn ";
$old=file($ipfile);
$num=count($old);
$fp=fopen($ipfile, "w");
flock($fp,2);
if($num< ;2500 ){
fputs($fp,$line);
for ($i=0;$i<$num;$i++){
fputs($fp,$old[$i]); {
fputs($fp,$line);
for($i=0;$i<2499;$i++){
fputs($fp,$old[$i]);
fclose($fp) );
}
?>
================上記を実行した後、このサーバーでは書き込みに失敗しましたが、
他のサーバースペースでは正常に実行できます
そうかどうかはわかりません サーバーの php.ini のどの項目が開いていませんか? ================= また、次のファイルを実行して、サーバーに書き込み権限があるかどうかをテストします。 次の php ファイルが正しく実行され、データが書き込まれる理由を教えてください。上記実行では書き込みできませんでした。
$filename = "user.txt";
$contents = "私は張斌です";
if(is_writable($filename)){
if(($handle = fopen($filename, "a")) == false) {
echo "ファイル $ FILENAME の書き込みに失敗しました";
exit ();
if (fwrite ($ handle, $ conports) == false) {
echo "が書き込まれますファイル $filename が失敗しました";
";
ディスカッションへの返信 (解決策)
$ipfile="./user.txt";
$filename = "user .txt";
書き込まれていると思われるので、別の場所に移動してください
IIS の場合は、マネージャーで「書き込み」にチェックを入れる必要があります
そうでない場合は、一般ユーザーが書き込み権限を持っているかどうかを確認する必要があります権限
関連するフォルダーも「詳細」「アーカイブを許可」にチェックを入れる必要があります
そうでない場合は、一般ユーザーに書き込み権限があるかどうかを確認する必要があります
該当するフォルダーもオンにする必要があります「詳細設定」の「アーカイブを許可する」にチェックを入れてください
このサーバー上で削除できる場合、すでに読み取りおよび書き込み権限があるということですか?さらに、読み取りおよび書き込み権限がない場合、送信した 2 番目のコードは記述できますが、次の削除コードも正しく実行できます。
if($del. =="1 "){//削除
$old=file("$ipfile")
$fp=fopen("$ipfile","w"); no=$num -1;
}
fclose($fp);