• ベストアンサー

fopen

あるファイルを$fp = fopen("./filename","r+");で開き、ファイルの文頭の18バイトを削除して保存するにはどうしたらよろしいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

概ねこんな感じ、 バイナリファイルなら"b"が必要なことがあるとか、ファイルのロックは必要ないとかそういうのは、細部調整 ---------------------------------------------------------------- <?PHP $fp = fopen("./data.txt","r+"); if (flock($fp, LOCK_EX)) { // 排他的ロックを行う fread($fp, 18); //18バイト読み飛ばす $data=stream_get_contents ($fp);//PHP5 ftruncate ($fp, 0);//中味の削除 rewind($fp); //ポインタのリセット(巻き戻し) fwrite($fp, $data); flock($fp, LOCK_UN); // ロックを解放する } else { echo "Couldn't lock the file !"; } fclose($fp); ?>

wf3255
質問者

お礼

お礼が遅れてしまって申し訳ございません。 無事解決できました。ありがとうございます。

関連するQ&A

専門家に質問してみよう