ここから本文です

解決済みの質問

知恵コレに追加する

多言語向けにPHPで作られたHPから日本語でデータを取り出したい

hiropoooooonさん

多言語向けに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) になっています。

このページの日本語バージョンを取り込むにはどうしたらいいのでしょうか?

【方法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は読み込みエラーになってしまいました。

違反報告

ベストアンサーに選ばれた回答

nishukangoさん

動きを追いかけるとわかると思いますが、クッキーが使用されています。
#PHPセッション使ってるんですね、これが。
そのため例えば以下のようにしてクッキーを利用すれば取得することができます。
クッキージャーのファイル位置はちょっと考えたほうがいいかもしれません。

<?php
// 新しい cURL リソースを作成します
$ch = curl_init();
//クッキーファイルの設定
curl_setopt($ch, CURLOPT_COOKIEJAR, 'ckj.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 言語の設定
curl_setopt($ch, CURLOPT_URL, "http://www.ffxiah.com/?lang=jp");
curl_exec($ch);
// URLの指定
curl_setopt($ch, CURLOPT_URL, "http://www.ffxiah.com/browse.php?sid=21");
$sRes = curl_exec($ch);
// cURL リソースを閉じ、システムリソースを開放します
curl_close($ch);
echo $sRes;
?>

この質問は投票によってベストアンサーが選ばれました!

この質問・回答は役に立ちましたか?
はい
いいえ

お役立ち度:お役立ち度 3点(5点満点中)5人中 3人が役に立つと評価しています。

回答ありがとうキャンペーン 回答してポイントを当てよう!! 2000名様に500ポイントプレゼント キャンペーンの詳細を見る ※回答することで自動的に応募となります。

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。

お客様自身の責任と判断で、ご利用ください。

話題のキーワード

[カテゴリ:PHP]

ただいまの回答者

01時15分現在

2959
人が回答!!

1時間以内に5,985件の回答が寄せられています。