[PHP-users 31027] Q for rename & T_IF error ???
oJIN
tanimura @ clock.ocn.ne.jp
2006年 12月 17日 (日) 09:40:52 JST
Perl から PHP へ転換中です ( from scratch からの myown BLOG 作成のため)
既存の old_file の内容を改訂して書き直すために、
Perl では、常套手段として、
まず改訂した内容で new_file を作成し、その後 rename(new_file, old_file)
しています。
PHP で同様の処理をしようとしたところ、brawser から入ろうとした時点で、
(実行以前に)
下記のエラーとなります。
Parse error: syntax error, unexpected T_IF in C:\Program Files\Apache
Group\Apache2\htdocs\ojin_4_5_test\lib\commentlib.php on line 191
念のため、コードの概略は以下のとおりですが、
最後の (コメントアウトした) rename は正常に終了し、:結果も rename され
ています。
違いは rename 後の file name が 「リテラル文字列」 か 「変数文字列」
かだけ
のように私には思えます。
原因及び対処方法をお教えくださいますようお願いいたします。
function ($old_file) {
...
$new = "new_file.txt";
$wwwfp = fopen(COMMENT_DATA_DIR.'/'.$new_file, 'w');
if (!$wwwfp) {die('can't open file');};
if (!flock($wwwfp, LOCK_EX)) {die('can't flock');}
...
foreach ( ..., ...) {
...
fwrite($wwwfp, $text);
...
}
fclose($wwwfp); ///
rename (COMMENT_DATA_DIR.'/'.$new_file, COMMENT_DATA_DIR.'/'.$old_file);
/// 下記の T_IF error となります???
//// ??? これならOK ??? rename (COMMENT_DATA_DIR.'/'.$new_file,
COMMENT_DATA_DIR.'/'.'old_file.txt');
}
PHP-users メーリングリストの案内