URLの存在チェックとallow_url_fopen=off

このQ&Aのポイント
  • allow_url_fopen=offのままでもURLの存在チェックは可能ですか?
  • 環境はhttp://www.hoge.com/とhttp://www.en.hoge.com/です。
  • 日本語版ページに英語版リンクを表示する方法について。
回答を見る
  • ベストアンサー

allow_url_fopen=offのまま、

allow_url_fopen=offのまま、URLの存在チェックは出来ますか? つまり、@fopen()などの代表的なものは使えなくなると思うのですが。 環境: http://www.hoge.com/(日本語版) http://www.en.hoge.com/(英語版) ※フォルダ構成は同じ。 ※ファイル名は、ほぼ同じ(たまにイレギュラーが存在する。) 日本語版ページに、英語版へのリンクを、 常に<a href="hogehoge">English</a>と表示するのではなく、 英語版のURLが存在していたら、表示する様にしたいのです。 存在しない場合には、ふつうに、English とグレーアウトさせます。

  • PHP
  • 回答数2
  • ありがとう数0

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5081/13277)
回答No.1

fsockopen が使えると思います。

oh-sit
質問者

補足

ご回答有難う御座います。 fsockopenについて知らないもので、 使い方を調べてみます。

その他の回答 (1)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.2

日本語版と英語版が別サーバなのでしょうか? そうでなければ(同一サーバなら)、自分のフルパス($_SERVER['SCRIPT_FILENAME'])を英語版のパスに変えて(どう違うかは既知ですよね)チェックすればいいのでは?

oh-sit
質問者

補足

ご回答有難う御座います。 説明が足りなかった様です。 サーバは、別のサーバになります。

関連するQ&A

  • ファイル存在チェック

    日本語サイトと、英語サイトの行き来で: 日本語サイト: http://www.hoge.com/sample/sample.html 英語サイト: http://www.en.hoge.com/sample/sample.html 英語サイトのsampleディレクトリに、日本語サイトのsampleディレクトリと同一ファイルが存在した場合のみ、日本語サイトのそのページに<a href="">English</a>のリンクを表示させたく、 下記の様なPHPを書きました。 <?php $url_en = 'http://www.en.hoge.com'; $current_dir = basename(dirname($url)) ; $filename = basename($_SERVER["PHP_SELF"]); if (file_exists($url_en.'/'.$current_dir.'/'.$filename)) { echo ($url_en.'/'.$current_dir.'/'.$filename); } ?> ファイルが存在するので、echo の部分を出力してくれても良さそうな気がするのですが、 表示されません。 また、echo の部分を<a href=""></a>に入れるには、どの様に書いたら宜しいでしょうか?

    • ベストアンサー
    • PHP
  • サイトリニューアルに伴うURL変更について

    SEOを意識して今まで運営してきたサイトがあるのですが、わけあってサイトをリニューアルすることになりました。 その際、ドメインは変わらないのですが、以下のようにSEO対策していたページのURLを変更しなくてはなりません。 旧URLから新URLへSEOのパワーを引継ぐための施策で考えられる方法をできるだけ多く教えていただけませんでしょうか? ※ちなみにディレクトリ名だけ変わる場合と、.htmlに対してSEOをしていたものをディレクトリで終わるURLにしたものと2パターンについて教えてください。 よろしくお願いいたします。 (1)ディレクトリ名のみ変更 旧URL⇒http://hogehoge.com/hoge1/hoge2/ 新URL⇒http://hogehoge.com/hoge1/aa_hoge2/ (2).htmlのページ⇒ディレクトリで終わるURL 旧URL⇒http://hogehoge.com/hoge1/hoge2/hoge3.html 新URL⇒http://hogehoge.com/hoge1/aa_hoge2/hoge3/

    • ベストアンサー
    • SEO
  • PHPで<a>タグ内からURLと文字を抜き出したい

    PHP4.3で $html_tag = '<a href="http://www.hogehoge.com/hogehoge/hoge/sample.html" class="hogehoge" title="hogehoge">りんく先名称</a>'; というような変数から 「http://www.hogehoge.com/hogehoge/hoge/sample.html」 のURLと 「りんく先名称」という<a>で囲まれた文字列を抜き出したいのです。 preg_matchを使っていろいろやってみたのですが、どうもうまくいきません。というか、正規表現がどのように書いていいのかわからないのですが・・・ そもそもpreg_matchを使わずとも簡単な方法があるのでしょうか? 大変恐れ入りますが、ご教授いただけませんでしょうか?

    • ベストアンサー
    • PHP
  • ちょっと複雑なURL分解について

    http://hoge.com/test.php?mode=link&id=3& url=http://hogehoge.com/ (表示上の問題でURLを途中で改行しています) 上記のようなURLを取得($_GET)した場合に、URLを分解して下記の値を得るスクリプトを作成しています。 $mode値:link $id値:3 $url値:http://hogehoge.com/ これだけであれば特に悩む必要はないのですが、問題は$url値に以下のようなデータが与えられた場合です。 http://hoge.com/test.php?mode=link&id=3& url=http://hogehoge.com/index.php?mode=abc&id=123 (表示上の問題でURLを途中で改行しています) このようなURLを取得($_GET)した場合に、以下の値を得るにはどう処理すれば良いのでしょうか。 $mode値:link $id値:3 $url値:http://hogehoge.com/index.php?mode=abc&id=123 どなたか詳しい方がいらっしゃいましたら、ご教授お願い致します。

    • ベストアンサー
    • PHP
  • URLのパラメータを取得しリンクに渡すには?

    Javascriptで、URLのパラメータを取得し、リンクにパラメータを渡したいです。 例えば、現在のURLが、 http://www.hogehoge.com/hoge.php?page=hoge1だとします。 そのページに、様々なリンクがあるとします。 <リンク例> http://www.hogehoge.com/moge/moge.php http://www.hogehoge.com/boge/boge.php http://www.yahoo.co.jp/auctionxx.html このうち、/moge/以下のページへのリンクにのみ、自動で現在のURLのパラメータを渡したリンクにしたいです。 つまり、 http://www.hogehoge.com/moge/moge.php ↓ http://www.hogehoge.com/moge/moge.php?page=hoge1 というリンクにしたいです。 当然現在のURLにパラメータが存在しない場合は、そのままのリンクになります。 また、他のディレクトリや他のドメインのサイトにはパラメータを渡さず、変更せずにそのままのURLのリンクにしたいです。 <リンク例> http://www.hogehoge.com/moge/moge.php ○変更 http://www.hogehoge.com/boge/boge.php ×変更なし http://www.yahoo.co.jp/auctionxx.html ×変更なし よろしくお願いします。

  • fopenが動作しない

    PHPで、別のファイルで取得したファイル名をもとに fopenを使ってファイルを開こうとしているのですが、 どうしてもうまくいきません。 具体的な症状は以下のとおりです。 a.phpの中で、 … $file[2] = "hoge02.xml"; … のように、配列にファイル名を代入します。 これを b.php で require_once('a.php'); とした後 print_r($file); とすると Array([0] => … [2] => "hoge02.xml" [3]…) のように表示されるところまでは確認できました。 しかし、 $file0 = $file[2]; $fp = fopen("$file0", 'r'); とすると Warning: fopen( "hoge02.xml" ) [function.fopen]: failed to open stream: Invalid argument in [b.php の絶対アドレス] とエラーが出てしまい、実行することが出来ません。 そこで、 //$file0 = $file[2]; $file0 = "hoge02.xml"; $fp = fopen("$file0",'r'); とすると実行することが出来ました。 作成しているシステム上、fopenの1つ目の引数には変数または配列を使いたいのですが、 エラーが発生してどうしてもうまくいきません。 自分なりにも似たようなエラーがないか調べたのですが、 それらしいものを見つけることが出来ず、お手上げ状態です。 どなたか解決策をご存じないでしょうか。 ご教授の程、よろしくお願い致します。

    • 締切済み
    • PHP
  • 他サーバーにあるファイルに書き込みを行いたい。allow url fopen関連?

    いつもお世話になっております。 環境:PHP5,SQLite3 サーバA…サーバBへの書き込み処理をするPHPファイルを置く サーバB…書き込みが行われるファイルを置く(ファイルが無ければ作成される) サーバAに置いたPHPスクリプトファイルで、 サーバBに置いてあるファイル(例えばPHPファイル)に書き込み処理をする場合、 PHPやサーバソフト(Apache)の設定を、 どのようにすれば良いでしょうか。 allow url fopenなどをちょこっと調べてみたのですが、 よく分かりませんでした。 サーバA、B両方のphp.iniに対し、 何らかの設定をする必要があるのでしょうか。 それとも、片方だけで良い?! また、ファイルの書き込み権限の設定も関係してくる話だと思います。 書き込み側と、書き込まれる側の権限設定(chmod)についても、 併せて教えて頂けると助かります。 どなたか、よろしくお願いします。

    • ベストアンサー
    • PHP
  • 404エラーのページ作成について

    404エラーのページ作成についてなのですが、もしかするととても簡単なのかもしれませんが検索をして捜しても見つからなかったので質問させてください! 404エラーに関して.htaccessを使用しリダイレクトする方法はたくさん見つかりました。 しかし今回希望しておりますのが、 例えばサイトURLが http://hoge.com/ だったとします。 そして用意したページが error.html とします。 そして http://hoge.com/hogehoge.htmlのように存在しないページにアクセスしたとします。 .httaccessを使用してerror.htmlを使用するとすると自動でリダイレクトされアドレスは http://hoge.com/error.htmlになります。 しかしやりたいのは存在しないページのURL(ここでいいますhttp://hoge.com/hogehoge.html)がアドレスバーに残ったまま表示はerror.htmlの表示をしたいと思います。 実際にTOYOTAのサイトなどがやっています。 上記のやり方を教えていただければと思います。 お手数おかけしますがよろしくお願い致します。

  • <a href>タグ内のURL抽出

    正規表現初心者です。ご教授よろしくお願いします。 <a href=http://hoge.com/hoge>hoge</a> <a href=http://hoge.com/hoge>hoge<br>hoge</a> 以上の<a href>リンクから、それぞれURLだけを抽出したいのですが うまくできません。 ereg("<a href=(.+)>(.+)</a>",$hoge,$a); echo $a[1]; で、1つ目はURL抽出できたのですが 2つ目のように<br>があると『 http://hoge.com>hoge 』と表示されてしまいます。 このような場合、どのようにして抽出すればよいのでしょうか??

    • ベストアンサー
    • PHP
  • RewriteRuleで動的URLを静的URLに見せたい

    ご存知の方がいらっしゃいましたら、 ご指導いただきたいと思っています。 http://example.com/hoge.do?itemNo=123456(以下"A") という動的URLのリンクを http://example.com/hoge/123456(以下"B") という静的URLに見えるようなリンクに変えようと思っています。 そして、 "B"にアクセスした場合"A"の内容をブラウザに表示しつつ、 ブラウザのURL欄を"B"のままにしたいと思っています。 そこで、httpd.confに以下の設定をして、"B"にアクセスしたところ・・・ 1行目 RewriteEngine on 2行目 RewriteRule ^/hoge/(.*)$ /hoge.do?itemNo=$1 「Web ページがみつかりません(HTTP 404 )」 が帰ってきてしまいます。 そこで試しに httpd.confの設定を以下のように変えて、"B"にアクセスしたところ・・・ 2行目 RewriteRule ^/hoge/(.*)$ /hoge.do?itemNo=$1 ↓ 2行目 RewriteRule ^/hoge/(.*)$ /hoge.do?itemNo=$1 [R] "A"の内容をブラウザに表示され、ブラウザのURL欄は"A"のままとなってしまいます。 どのようにしたら、本来の想定どおりの動きができるのか? 何か他の設定がおかしいのか? どなたか心当たりがあればヒントをください。 どうかよろしくお願いします。

専門家に質問してみよう