• 締切済み

phpで作られた多言語向けHPから日本語表示でデータを取り込みたい

下記のHP http://www.ffxiah.com/browse.php?sid=21 では、「言語:EN」をクリックすることで、英語バージョンに、「Language:JP」をクリックすることで日本語バージョンに切り替えられるHPです。 問題は、このHPの日本語バージョンのデータを取り込もうとして <?php $_GET[site] = "http://www.ffxiah.com/browse.php?sid=21" $page = @file($_GET[site]); ・・・ とプログラムを組んだのですが、どうしても英語のページしか取り込めません。 英語バージョンも日本語バージョンも同じURL(http://www.ffxiah.com/browse.php?sid=21)になっています。 このページの日本語バージョンを取り込むにはどうしたらいいのでしょうか?

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

みんなの回答

回答No.1

Cookieでlang=jpとしているようなので、HTTPヘッダにlang=jpの情報を与えてあげればいいんじゃないでしょうか? file関数を使う場合、第3引数にcontextを設定してやれば宜しいかと思います。

moririn2
質問者

補足

mizuno3さん、回答ありがとうございます。 【方法1】 $_GET[site] = "http://www.ffxiah.com/browse.php?sid=21&lang=jp"; $page = @file($_GET[site]); 【方法2】 $_GET[site] = "http://www.ffxiah.com/browse.php?sid=21"; $page = @file($_GET[site], FALSE, "&lang=jp"); 方法1、2共に試してみましたが、方法1は英語版HPのみ、方法2は読み込みエラーになってしまいました。 どこがおかしいのでしょうか?

関連するQ&A

  • PHP日本語対策

    PHP5とpostgreSQLで作成しているWEB登録システムを設計し、開発者に開発してもらっています。 英語のページなので、日本語が入力されるとエラーにしたいと思っております。 しかし、開発者がいうには、PHPでいかなる日本語をはじくチェックをかけても、通りぬけてしまうようです。しかも、こちらで用意しているpostgreSQL環境では、日本語を登録するときにエラーになってしまうとのことです。PHPで文字コードをsjisにしていることが原因といわれてしまいました。 質問は、 PHPでは日本語が入力できないようにすることは不可能なのでしょうか。 また、PHPのdefault charsetをsjisに指定するのは、英語のページを作成するのに不適切なのでしょうか。

    • ベストアンサー
    • PHP
  • Any Video Converter 日本語

    Any Video Converter freeの日本語バージョンがダウンロードできません。 http://www.anvsoft.jp/any-video-converter-free.php ↑のサイトからダウンロードしましたが、英語バージョンでした。 途中で出てくる「インストールに使用する言語」は日本語を選んだのですが、使用許諾契約書は英語で表示されていました。 英語バージョンで、言語の変更ができるのかと「Language」 を開いても、選択肢に日本語がありません。 お分かりになられる方、ご回答のほどよろしく願いいたします。 ちなみにWindows7です。

  • ブラウザの言語に合わせて表示ページを振り分けたい

    http://www.abc.ne.jp/ // 日本語サイトルート http://www.abc.ne.jp/en/ // 英語サイトルート という構成のサイトを海外から検索・閲覧する時にhttp://www.abc.ne.jp/en/の方を表示するように修正したいと考えています。 (1)ページランクは下げたくない http://www.abc.ne.jp/に下記のようなソースのindex.phpを置き、http://www.abc.ne.jp/jp/または http://www.abc.ne.jp/index_jp.phpを作成し日本語サイトトップページとする場合、index.phpがコンテンツのないリダイレクトするだけのファイルになってしまうため、SEO上好ましくないのではないかと考えています。 【ソース】 $languages = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); $languages = array_reverse($languages); foreach ($languages as $language) {  if (preg_match('/^ja/i', $language)) {   header("Location: http://www.abc.ne.jp/jp/");  } else {   header("Location: http://www.abc.ne.jp/en/");  } } (2)閲覧者の表示言語の選択肢は残したい 現状通りの構成でhttp://www.abc.ne.jp/index.phpに下記のようなソースを記述し、英語環境からアクセスされたらhttp://www.abc.ne.jp/en/へリダイレクトする場合、日本語のページを見たい場合でも強制的にhttp://www.abc.ne.jp/en/へリダイレクトされてしまいます。 【ソース】 $languages = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); $languages = array_reverse($languages); foreach ($languages as $language) {  if (preg_match('/^en/i', $language)) { // http://www.abc.ne.jp/en/にはpreg_match('/^ja/i', $language)   header("Location: http://www.abc.ne.jp/en/");  } } (1)、(2)の要件を満たしつつ、閲覧環境に合わせて表示するページを制御することは可能でしょうか。 良い方法があればご教示ください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 日本語検索で英語のページを表示

    こんにちは。 Google Siteを使ってHPを作っています。 ページは英語で書いているのですが、日本語で検索した時にも、引っかかるようにしたいのです。 例えば、英語で書かれたページの名前をそれに対応する日本語でグーグル検索しても検索結果に表示されるようにしたいです。 何か良い方法はあるのでしょうか。 あるいは、やはり日本語のページを作らないといけないでしょうか。 知っている方がいらっしゃれば、教えてください。

  • PHPのWeb登録システムの日本語対策

    PHP5とpostgreSQLで作成しているWEB登録システムを設計し、開発者に開発してもらっています。 英語のページなので、日本語が入力されるとエラーにしたいと思っております。 しかし、開発者がいうには、PHPでいかなる日本語をはじくチェックをかけても、通りぬけてしまうようです。しかも、こちらで用意しているpostgreSQL環境では、日本語を登録するときにエラーになってしまうとのことです。PHPで文字コードをsjisにしていることが原因といわれてしまいました。 質問は、 PHPでは日本語が入力できないようにすることは不可能なのでしょうか。 また、PHPのdefault charsetをsjisに指定するのは、英語のページを作成するのに不適切なのでしょうか。

  • windows10 日本語化

    海外でノートパソコンを買う予定ですが、Single Language バージョンのみ、日本語化ができないようです。 いま買おうと思っているのは、Windows 10 Home 64-bit で、デンマーク語、英語、フィンランド語、スウェーデン語から、パソコンの初回起動時に言語が選べるタイプです。 これはSingle Languageではなく、あとから日本語化が可能だと思って良いでしょうか?

  • Opera8.52の日本語版って? 

    みなさんこんばんは。 以前はOpera8.50の日本語版に  8.51英語版 8.52英語版 とアップデートして 使用してました。 その際のFlashは最新の8でした。 このサイトを拝見して    ↓ http://opera.yaske.com/index.php?FrontPage 今日Opera8.52日本語版を 改めて入れなおしました。 前のをアンインストールして 日本語版をインストールしました。 するとFlashが昔の7に戻ってました。 Operaのバージョンは8.52ですが… そしてFlashの最新バージョンを改めて 入れなおしました。 それで何も問題ないでしょうか? 今回のOpera8.52日本語版って 正直未完成?の感じでしょうか? みなさんはどうしてますか?

  • 初心者ですが、多言語表示で悩んでます。

    ホームページ製作初心者ですが、多言語でページを表示させたいのですが、 色々悩んでて・・・教えて頂けませんか・・・。 1、中国語や韓国語での表記にしたい場合、『ページ編集』では文字化けしますが、   『プレビュー』では文字化けしていません。   本場の中国人や韓国人が見た場合、文字化けはしていないって事ですよね?   本場の人が見れてるならプレビューを見ながら気合で作業出来そうですね。   それとももっといい方法があるのでしょうか? 2、多言語表記にする場合、単純に全てのページに他言語で作ったリンクを貼る作業で   済むと考えておりますが、それだと他言語の分だけページデータ容量が嵩みますから、   サーバーへの負荷が掛け算で膨らんでしまいます。   (例)日本語10ページ(5MB)+英語10ページ(5MB)・・・・   多言語にしても共通して使える画像や動画などのデータまで複製して、そっくりそのまま文字だけ   変えたページを作るんで、なんだか非合理的な作業だと考えています。   調べたらphp?だのよくわからない言葉が出てきたんですが、   『日本語』『英語』『中国語』など、言語選択ボタンを押せば、その言語に対応したページ   をよく見かけますが、そういったページは何かプログラムを組んでいるんでしょうか?   やっぱり、単純にページ複製を繰り返すのは馬鹿でしょうか?   (対応させたいhtmlページは1000ページ程で、共通して使える画像がかなり多く、    画像の容量も高いです)   ちなみにphpなどが使用できないプロバイダーだと、やっぱり無理ですよね・・・。 3、多言語ページを作るより、単純に日本語向けのサイト、英語向けのサイト・・・など   複数のサイトをそれぞれ別々に作る方がいいのでしょうか? よくわかっていない初心者で申し訳ないですが、 どうかアドバイスの方、お願いできませんでしょうか・・・。

    • ベストアンサー
    • HTML
  • DB内の日本語データがPHPで取得できない

    利用サーバ:さくらインターネットのレンタルサーバ 利用データベースのバージョン:MySQL 5.1 PHPのバージョン:PHP 5.2.×× PHPMyAdminに記載のMySQL の文字セット: UTF-8 Unicode (utf8) PHPMyAdminに記載のMySQL 接続の照合順序: utf8_general_ci htmlやPHPファイルを、EUC-JPからUTF-8に、全て変えたためなのかは分かりませんが、 データベースに格納されている日本語(というか全角文字?)データを、 PHPで取り出せなくなってしまいました。半角英数字のデータは取得できます。 そのためDBから取得して表示させている文字データのうち、日本語のみが表示されません。 【php.iniファイルの中身】 register_globals = "On" mbstring.language = "Japanese" mbstring.internal_encoding = "UTF-8" mbstring.encoding_translation = "On" default_charset = "UTF-8" output_buffering = "Off" mbstring.http_input = "auto" mbstring.http_output = "pass" mbstring.detect_order = "auto" mbstring.substitute_character = "none" 情報は足りますでしょうか?どなたか、よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • 海外のHPの日本語での表示

    英語圏ではない国の知人が行っている、文化的な活動のHPがあるのですが、私がそのコンテンツを日本語に翻訳して、日本語での表示も可能にしてあげたいと思っています。 よく海外のホテルや施設で英語もフランス語もスペイン語もボタン一つで切り替え可能なものがありますが、技術的にはどのようにしたらできるのでしょうか?教えてください。翻訳した文章をテキストか何かで海外の友人に送ればいいのでしょうか?

専門家に質問してみよう