• ベストアンサー

file_exists('http://192.168.0.9/x.php');

が機能しません file_exists('/var/www/html/x.php'); (FC4を使っている) や include('http://192.168.0.9/x.php'); は 機能します どうしたら file_exists('http://192.168.0.9/x.php'); も機能するようになるでしょうか? file_existsの引数がURLのときにも機能するようにするにはどうすればよいのでしょうか?

  • guuman
  • お礼率86% (1043/1206)
  • PHP
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>どのラッパーが stat() ファミリーをサポートしているか http://jp.php.net/manual/ja/wrappers.http.php によるとHTTP プロトコルで stat( ) は、サポートしていないようです。 ファイルが存在するかどうかだけなら、fopen でオープンできるかどうかで代用できるような気がします。

guuman
質問者

お礼

ありがとうございます その方法に切り替えたいと思います

その他の回答 (1)

  • fire--
  • ベストアンサー率49% (146/293)
回答No.1

phpのwindows版マニュアルで見ると、 >注意: この関数では、 リモートファイルを使用することはできません。 >これは、処理されるファイルがサーバーのファイルシステムにより >アクセスできる必要があるためです。 となっていますが、 http://php.s3.to/man/function.file-exists.htmlで見ると >ティップ: PHP 5.0.0 以降、この関数は、 何らかの URLラッパーと >組合せて使用することができます。どのラッパーが stat() ファミリーを >サポートしているかのリストについては、付録L を参照してください。 という事なので、php4では出来ないのかと思います。 使っているphpのバージョンが4なのではありませんか。

guuman
質問者

補足

ありがとうございます FedoraCore4ですからPHP5です なにか代替策は無いでしょうか?

関連するQ&A

  • file_existsが動作しない

    お世話になります。 $IMG_URL = "http://hoge.hoge/"; $test = 1; $logo_url = $IMG_URL."logo/".$test."jpg"; if(file_exists($logo_url)){ $var = "あるよ!"; }else{ $var = "ないよ!"; } という形で画像ファイルが存在するかを調べているのですが、PHPに直接記述した場合動作し、functionの中に入れると動作しなくなるのはなぜでしょうか? function pict($test){ $IMG_URL = "http://hoge.hoge/"; $test = 1; $logo_url = $IMG_URL."logo/".$test."jpg"; if(file_exists($logo_url)){ $var = "あるよ!"; }else{ $var = "ないよ!"; } return $var; } 上記のfunction内に入れた場合、returnの値が「ないよ!」になってしまうのです。 どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • file_exists関数について

    file_exists関数を使っていますが、 指定した場所にファイルは存在するにもかかわらず、 Falseが戻ってきてしまいます。 WinXp PHP5 の環境で、ローカルにて行っています。 ファイルはc:commoninit.ini というファイルです。 同パスにinit.iniをおいているのですが。 なにか条件があるのでしょうか。 ご教授願います。

    • 締切済み
    • PHP
  • CekePHPでfile_exists関数を使う

    CakePHP Ver1.3.6で開発をしています。 アクションの中で、画像の存在判定にfile_exists関数を使ったのですが、 2バイトのファイル名のファイルの場合、存在するファイルがfalseになって しまいます。 対象のファイルが存在するときに、 if (file_exists('img/漢字.jpg')) echo 'あります'; else echo 'ありません'; if (file_exists('img/filename.jpg')) echo 'あります'; else echo 'ありません'; このとき、前者は’ありません’、後者は’あります’と表示されます。 app/webrootフォルダにtest.phpを作り、その中で同じ判定をすると、 両方とも’あります’と表示されます。 なぜアクションの中に記述したときのみ、2バイトファイル名を正しく 判定できないのでしょうか?

    • ベストアンサー
    • PHP
  • 【file_exists】ファイルが存在するのに、存在しないとなります

    いつもお世話になっております。 ■環境■ PHP5 Windows ■状況■ フォルダ内にtextファイルが20~45個入っております(個数は状況によって変わります)。 ■目的■ フォルダのtextファイルの中身を参照し、各textファイルに必ず含まれる数字を取り出す。でございます。 ■方法■ (1)フォルダにあるファイル名を取りだす (2)fopenで読み込み(r)で全部を見、数字を別ファイルに書き込む と考えたのですが、(1)で.、..というよくわからないファイルも一緒に出てきてしまったので、file_existsでファイルが存在するか確認してから(2)に移ろうとお思いました。 が、ファイル名は全部ないといわれてしまうのです。 しかしfile_exists($filename)の$filenameを表示させ、ブラウザにこぴぺするとtextデータは出てきます。 以下プログラムの一部です ※$cは(1)で得たフォルダ内にあるファイル名をループでまわしている値です for($b=0;$b<$a;$b++){  $filename="C:/Inetpub/wwwroot/php/kore/1/".$c; if (file_exists($filename)) { print "あるよ<BR>"; } else { print "ないよ<BR>"; } } 結果は(一部です) C:/Inetpub/wwwroot/php/kore/1/.text⇒ないよ C:/Inetpub/wwwroot/php/kore/1/..text⇒ないよ C:/Inetpub/wwwroot/php/kore/1/0155442A5.txt⇒ないよ C:/Inetpub/wwwroot/php/kore/1/01762602A.txt⇒ないよ です。 上記の C:/Inetpub/wwwroot/php/kore/1/01762602A.txt C:/Inetpub/wwwroot/php/kore/1/0155442A5.txt は確実に存在しております。 どこがおかしいのか、ご教授いただければ幸いです よろしくお願いいたします

    • ベストアンサー
    • PHP
  • file_existsでファイル名の部分一致で検索

    PHPの勉強中なのですが、指定フォルダにあるファイルを、部分一致で存在チェックしたいのですが、file_existsでは、正規表現とかは使えないのでしょうか? それとも、readdirでファイル一覧を取得して、そこから検索して存在チェックするのでしょうか?

    • ベストアンサー
    • PHP
  • 「include」と「file_get_contents」の違いがよく

    「include」と「file_get_contents」の違いがよく分かりません。 ネットで調べてみました。 ・「include」… 指定したファイルを読み込んで評価 ・「file_get_contents」… 指定したファイルの内容を全て読み込んで文字列として返す で、実際に試してみたのですが、「file_get_contents」の方がよく分かりません。 具体的には、下記を試すと、結果が、tt string(44) "" となるのですが、ttって何ですか? 評価をしないで文字列として返したということでしょうか? それでなんで tt になるのでしょうか? ▼hoge.php <?php $s = file_get_contents("test1.php"); var_dump($s); ?> ▼test1.php <?php echo ("1どうなるのかな"); ?>

    • ベストアンサー
    • PHP
  • PHP PEARパッケージのincludeができない。

    PHP PEARパッケージのincludeができない。 お世話になっております。 phpのPEARパッケージのincludeができません。 行うと PHP Warning: require_once(File/CSV.php): failed to open stream: そのようなファイルやディ レクトリはありません in /var/www/httpdocs/XXXXXXXX.php on line 10 PHP Fatal error: require_once(): Failed opening required 'File/CSV.php' (include_path='.:/usr/share/pear') in /var/www/httpdocs/XXXXXXXX.php on line 10 となってしまいます。 エラーメッセージ中の/usr/share/pear上に確かに存在します。 何か他に条件などあるのでしょうか? お願いいたします。

    • ベストアンサー
    • PHP
  • phpの記述につきまして

    phpの記述につきまして データベースから <? echo $file_name; ?> で $file_name に ****.php の値が呼び出されるのですが include の記述で <?php include("<? echo $file_name; ?>"); ?> と言う風に 利用表示するとエラーになってしまします。  include("ここにDBからのPHPファイル名を呼び出したい!") とするには どのように記述すれば宜しいでしょうか? ご教授いただければ幸いに存じます。

    • ベストアンサー
    • PHP
  • PHPで exec(fc /T/N....)について

    いつもお世話になります。 PHPでfcコマンドを実行しようとしています。 exec("fc /T /N $file_up $file_rle" , $output, $ret) 問題はこの引数の$file_upと$file_rleファイル名にスペースが入っているのでファイル名として認識してコマンド実行してくれません!どう書けばいいですか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • file_get_contents関数で引数をURLにすれば、HTML

    file_get_contents関数で引数をURLにすれば、HTMLソースを取得できるのはわかるのですが、 例えば、URLが制限 255バイト?を超える場合、GETでなくPOSTタイプでHTMLを取得したいのですが、file_get_contents関数のように手軽にPOSTタイプで取得できる関数はありますか? PHP5を使っています。

    • 締切済み
    • PHP

専門家に質問してみよう