以下の2つがあって、どちらも同じことをやりたくて書いたプログラムだけどなぜか最初のやつは動かない。
<?php $fp = fopen("C:\\www\\num.txt","r"); $yomi = fread($fp,filesize($fp)); print($yomi); fclose($fp);
次のは動く。
<?php $name = "C:\\www\\num.txt"; $fp = fopen($name,"r"); $yomi = fread($fp,filesize($name)); print($yomi); fclose($fp);
一緒じゃないの?って思うんだけど違うみたい。
pythonなら最初のような書き方でいけたはず。
あと
fread($fp,filesize($name));
を
fread($fp);
として2番目の引数を省略した場合も動かない。
これはなんとなくわかる気がするけど。
追記。
と思ったらfilesize()でファイルサイズを取得した返値をfread()に渡さなきゃ読み込まないわけだから。
fopen()の返値はbool値でそもそもサイズを図ってるわけじゃないからそのまま渡してもだめってことね。
サイズがわかんないから読み込まないってことになるのか。