アプリ版:「スタンプのみでお礼する」機能のリリースについて

環境:Win32/Apache2.4.0/5.3.9RC3(C:\apache\php)

filesizeを使おうとするとエラーが出てしまいます。

<?php
$filename = 'somefile.txt';
//もしsomefile.txtが作成されていなければファイルサイズは0バイト
if(filesize($filename)=0){
echo "somefile.txtは未作成なので、たった今このファイルを作成しました。";
}else{
echo $filename . ': ' . filesize($filename) . ' bytes';
}
?>

Fatal error: Can't use function return value in write context
サーバーかphp側でfilesize関数を使えるよう設定しなければいけないのでしょうか。

A 回答 (2件)

=


は代入演算子だから。
比較演算子は
===とか==とか

filesize($filename) === 3
とかは正しいが
filesize($filename) = 3
は誤り。関数の戻り値に代入できませんって言ってる(単純な変数ならできるんだろうけど)
「filesizeを使うとFatal er」の回答画像1
    • good
    • 0
この回答へのお礼

すみません間違っていました。有難うございます。
直して再度試してみると
Warning: filesize() [function.filesize]: stat failed for somefile.txt
というエラーが出てしまいました。
手動でそのファイルを用意するとエラーは出ませんが、自動で作ってくれないのですね。

ファイルが存在するかどうかを調べるために
if(filesize($filename)==0){
としましたが、この調べ方自体がよろしくないのでしょうか。

お礼日時:2012/02/27 00:56

ファイルの存在チェックなら「file_exists」で。



http://php.net/manual/ja/function.file-exists.php
    • good
    • 0
この回答へのお礼

ちゃんとできました。ありがとうございます。

お礼日時:2012/02/28 20:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!