PHP ファイル操作について
PHPのファイル操作についてご教授ください
同じサーバー内に置いている同じ環境の別ドメインに設置した
同じPHPの挙動が異なる為、その原因を教えて頂きたいです。
ファイルへ保存した場合の改行の有無についてです。
以下一部を抜粋しています。
初期状態(abc.txtの中身)
-----ここから-----
すもも<>あんず<>すいか<>
-----ここまで-----
▼以下を実行
[入力内容]
data01:すもも
data02:あんず
data03すいか
$log_file = 'abc.txt';
$lines = "";
$fp = fopen($log_file, "rb+");
set_file_buffer($fp, 0);
flock($fp, LOCK_EX);
$freadsize = @fread($fp,filesize($log_file));
$freadsize = chop($freadsize);
$lines = explode("\n",$freadsize);
$lnum = count($lines);
for($i=0;$i<$lnum;$i++){
$lines[$i] = "$lines[$i]\n";
}
array_unshift ($lines, "$data01<>$data02<>$data03<>$blank");
rewind($fp);
$lnum = count($lines);
for($i=0;$i<$lnum;$i++){
if(preg_match("/^[0-9]{10}<>+/",$lines[$i])){$check = 1;}else{$check = 0;}
if($check == 1){
fputs($fp,$lines[$i]);
}
}
ftruncate($fp, ftell($fp));
flock($fp, LOCK_UN);
fclose ($fp);
▼実行後(abc.txtの中身)
りんご<>ばなな<>ぶどう<>
すもも<>あんず<>すいか<>
別のドメイン下では、改行されません。
りんご<>ばなな<>ぶどう<>すもも<>あんず<>すいか<>
この同じPHPを同じサーバー内の別ドメインで
実行した場合、改行される場合と改行されない場合があるのです。
ドメインが異なる以外は同じ環境のはずなのですが、挙動が異なります。
改行をして保存したいのですが、改行されないドメイン下のPHPは
array_unshift ($lines, "$data01<>$data02<>$data03<>$blank");
↓
array_unshift ($lines, "$data01<>$data02<>$data03<>$blank\n");
としています。
何故挙動が異なるのでしょうか?
文字コード、改行コードは同じです。
補足
すみません、ファイルの種類は httpd.conf named.conf コンフファイルです。 ;,:などいろいろ存在しますが、上記のように explode(~);で一つずつ指定してやらないと いけないのですか?