忘れる前に覚書。優しい文章を目指します。
ザ・覚書 ザ・覚書
出来るだけ子供にも、わかりやすいように書いて行きたいと思います。

PCバージョンでサイトを表示しています。
【ザ・覚書 3クリックアンケート実施中】
暑さの一番の原因はなんだと思いますか?
あなたの支持する政党はどの党ですか?

PHP ファイルがあるかないかを判断する関数で悩む

☆PHP ファイルがあるかないかを判断する関数で悩む
今のページの関連ページのリストへ
ザ・覚書のトップページに戻る

PHPでファイルがあるかないか判断する時、

 if (file_exists($filename))
 {
    echo "ファイルがあります。<BR>";
 }
 else
 {
    echo "ファイルがありません。<BR>";
 }

これまで、こういう風に書いていました。

ファイルがあれば TRUE を返し、
なければ FALSE を返します。

ですが、この関数、ファイル単体で判断した場合、
正常に動くんですが、

ディレクトリも同時に検索してた場合、

$filename を $dir."/". $file; とか
にしていた場合、
 if ( file_exists( $dir."/".$file ) )



ここで「あれれ?」となりました。
ファイルがなくても、ディレクトリがあればTRUEを返して来るみたいでした。

ここでちょっと苦戦したので、別の代用関数をメモっておきます。


 if ( is_file( $dir."/".$file) )


is_fileという関数なんですが、
これならファイルがなければ、 FALSE を返してくれました。

ここでまた気が付いた事ですが、
このis_file関数も
URL込みのファイル名を渡した場合、やはりTRUEを返すみたいです。

ちゃんとディレクトリ+ファイル名を渡せば問題ないですが。


記述:2013年7月頃





Twitter Facebook Google+ はてな Pocket LINE




一言掲示板です。なにかありましたら以下に書いて書き込みボタンを押して下さい。
管理人による書き込みの確認後、荒らし書き込みでない場合に表示させていただきます。
悪意ある書き込みや挑発的な書き込みと思われる内容は、表示させません。
その為、ちょっと書き込みから表示までに時間がかかってしまいます。ご了承下さい。

お名前

コメント




文字列関連
PHP テキストファイル内容を読み込んだ時等 改行を削除
PHP fopen関数で半角スペースが間にあるファイルは認識できない?
PHP CSVファイルを扱う為の関数の1つ
PHP array_multisort関数で複数配列を一気にソートする
PHP 気が付きにくいコーディングミスの一例
PHP ファイルがあるかないかを判断する関数で悩む
PHP 配列の初期化(使い回し配列の)
PHP 長い処理が止まってしまう場合 time of 30 seconds
その他
サーバー関連 ページの表示を早くする為に、ブラウザのキャッシュを活用
サーバー関連 Apacheアップデート、CGIからFastCGI「.htaccess」とかの変更例
【ザ・覚書 3クリックアンケート実施中】
暑さの一番の原因はなんだと思いますか?
あなたの支持する政党はどの党ですか?

今のページの関連ページのリストへ
ザ・覚書のトップページに戻る
全ページのリストへ