人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

レンタルサーバーのPHP4が使えなくなってしまうので、PHP4からPHP5への移行を行っています。
PHP4で問題なく動いていた、
xml_parse_into_struct($parser,$xml_doc,$vals,$index) or exit(xml_error_string(xml_get_error_code($parser)));
という行で、xml_parse_into_struct()がエラーになっているようです、exit以下の処理で、
>required という文字が返ってきます。
PHPのことがあまりよくわからずに使っていたので、お手上げです。
何を確認すればよいでしょうか?

●質問者: SlowLife
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:EXIT INDEX PHP エラー レンタルサーバー
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pahoo
●35ポイント

読み込む XML は UTF-8 以外でエンコードされていませんか?

PHP5では、XMLパーサを使う場合の文字エンコーディングは UTF-8 にした方が良いようです。

◎質問者からの返答

ありがとうございます

読もうとしているRSSは、niftyのココログ http://www.cocolog-nifty.com/ で、 となっています。


2 ● pahoo
●35ポイント

1)スクリプト全体が UTF-8 になっており、mb_internal_encoding も UTF-8 になっていますか?


2)また、ご質問の行より前にあるはずの

$parser = xml_parser_create()


では、エンコードは指定していませんよね?


3)ココログのRSSは、どういう手順で$xml_docに取り込みましたか?

RSSを解析するなら、xml_parseを使った方が簡単だと思いますが‥‥。

◎質問者からの返答

できました!

色々ありがとうございました。

結局、ファイルを開くときのfopen()のやり方を変えたら直りました

@fread(fopen("$url","r"),100000)

としていたのを、

$fp = fopen($url, 'r');

$data = '';

while (!feof($fp)) {

$data .= fread($fp, 4096);

}

しました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ