いろいろありすぎ!それでいてその多くが似て非なるものだからすごい気を使う。いままでWeb上のプログラミング言語としてPerlを使ってきたけれども、Perlを使う前はCに慣れ親しんでいたため、いろいろ戸惑った記憶がある。と、こんどPHPを使う機会があってこれもPerlに似て非なるもので、ホントプログラミング言語って百花繚乱なんだよね。それぞれの環境や条件に適したプログラミング言語がそれぞれの立場で成長?してきたから仕方がないんだけど。んでPHPでファイル読み書きするのにどーしてもうまくいかなくて、いろいろ試してみたんだが、
$fp = fopen("ファイル名","モード" );
ってファイルポインタに「$fp」っていう文字を使っているのがいけなかったみたい。「$fh」に変えたらうまく読み書きできた。ええっ、$fpという変数名は使えないの。おかしいなぁ。超短いプログラムだから全体を見ても他で$fpなんて変数名使ってないし、どっかでマクロが展開されてその中で$fpが使われているのかしら?それともライブラリの中でグローバル変数として使われているのかしら?よーわからん。PHPもCと同じようにそれぞれの関数内では変数はローカルな扱いだと思うがなぁ。どっかでグローバル宣言がされているのか。こんな一般的な変数名をグローバル変数にするかぁ?それともオレのなんかの勘違いかなぁ。なんかもう少し実験してみよう。
↑
その後実験してるうちに、$fpのままでも何ら問題なく動くことが判明。最初のソースに何らかの見えないゴミが紛れこんでいたと思われる。