0

ファイルを開きたいのですが、ファイルに文字列 deosn が存在しないかどうかを確認して書き込みます。

これを行う:

$fp=fopen('categories.txt','a+');
$content=fread($fp,filesize('categories.txt'));

if(!strstr($content,$cat)){
    fwrite($fp,','.$cat);
}
fclose($fp);

しかし、書き込み後、categories.txt に繰り返し値が表示されました。私が期待できる唯一の問題はエンコードの問題ですが、すべてのファイルは utf-8 であり、categories.txtラテン記号と少数の記号しかありません。

問題はどこにありますか?

4

2 に答える 2

2

このようにしてみてください。

$pos = strpos($content, $cat);
if($pos === false){
fwrite($fp,','.$cat);
}
于 2012-02-16T09:50:11.547 に答える
0

わかりました、問題だと思いますfopen。これに変更すると、コードが機能し始めます。

$content=file_get_contents('categories.dat');
$type=(string) $type;
$content=(string)$content;

if(!strstr($content,$type)){
    file_put_contents('categories.dat',$content.','.$type);
}

助けてくれてありがとう。

于 2012-02-16T11:53:13.097 に答える