ホームページ  >  記事  >  バックエンド開発  >  XML のロード中に PHP エラーが発生しましたか?

XML のロード中に PHP エラーが発生しましたか?

WBOY
WBOYオリジナル
2016-06-13 13:14:28817ブラウズ

リモート XML のロード中に PHP エラーが発生しましたか? ? ?
$yinyue=$_GET['yinyue'].'$$';
if ($_GET['geshou']=="") {
$a= "";}
else{
$a="$$$$";}
$geshou=$_GET['geshou'].$a;
$music='http:/ / /box.zhangmen.baidu.com/x?op=12&count=1&title='.$yinyue.$geshou;

?>
//の名前を設定XML ファイル
$file ="$music";
//ファイル
$xml = simplexml_load_file($file) または die ("XML ファイルをロードできません!"); i =0 ; $iurl) ; $i++)
{
$a = $xml->url[$i]->encode;
= $xml->url[$i]->decode;
$c = substr($a,0,strrpos($a,'/')+1);
$result = trim( $ c).trim($b);
echo $result.'
';
}
?>
リモート XML で必要なものをローカルで取得できます。しかし、サーバースペースにアップロードするとエラーが発生しますか? ? ?なぜ

警告: simplexml_load_file() [function.simplexml-load-file]: http://box.zhangmen.baidu.com/x?op=12&count=1&title=%E9%85%B7% E7 %88%B1%24%24:1: パーサー エラー: エンコーディングの切り替え: /home/xintutuc/public_html/y/music.php の 22 行目でエンコーダー エラー



-- - ---解決策--------------------一部の文字が文字化けする可能性があるため、正しいエンコードが必要です。

------解決策----------------------ローカルとサーバーのエンコーディングが異なります。
gb2312 と utf-8 を変換してみてください。

------解決策----------------------$s = str_replace('encoding="gb2312 " ', 'encoding="utf-8"', file_get_contents($file));
$xml = simplexml_load_string($s) or die ("XML ファイルをロードできません!");

サーバーの PHP バージョンが低いです
ローカルでデバッグする場合、不要なトラブルを避けるために、サーバーと同じ PHP バージョンと設定を使用することが最善です。

------解決策---------

話し合う
$s = str_replace('encoding="gb2312"', 'encoding="utf-8"', file_get_contents($file));
$xml = simplexml_load_string($s) または die ( " XML ファイルをロードできません!");

サーバー上の PHP バージョンが低いです
ローカルでデバッグする場合は、サーバー上の PHP バージョンと設定を一致させることが最善です...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。