-1

警告:simplexml_load_file()[function.simplexml-load-file]:http://ラッパーは/home/vol6/byethost22.comのallow_url_fopen=0によってサーバー構成で無効にされています

このホスト(無料ホスティング)はこれを無効にしました。だから私は有料のオプションを調べていました(私はそれが教えられたことについて何も見つけることができなかったと思います。とにかく私はそれから教えました、それは後でそれから学び、私のコードを変更するかもしれないのでスクリプト全体が実際に実行を停止しますより良い方法として、java-scriptフォールバックなどを使用してください。

致命的なエラー:の非オブジェクトでメンバー関数xpath()を呼び出す

だからこれは私のコードです:

} elseif ( $provider == 'vimeo' ) {
        $vimeo_hash = unserialize(file_get_contents('http://vimeo.com/api/v2/video/' . $id . '.php'));
        $thumbnail = $vimeo_hash[0]['thumbnail_medium'];
} elseif ( $provider == 'bliptv' ) {
        $blip_xml = simplexml_load_file("http://blip.tv/players/episode/$id?skin=rss");
        $blip_result = $blip_xml->xpath("/rss/channel/item/media:thumbnail/@url");
        $thumbnail = (string) $blip_result[0]['url'];

if ( $thumbnail ) {
    if ( ! list( $width_orig, $height_orig ) = getimagesize( $thumbnail ) ) {
        return "ERROR!";
    }

getimagesize()は、最初に述べたようなエラーを生成します

1.1。

すべてが失敗するため、このxml処理を行うために他の多くのphp方法の1つを使用できないと仮定するのは正しいですか?はいの場合、これは私にさらにいくつかの質問につながります。

2.2。

私はこのようなifステートメントの中に物を入れるようなことをすることができることを知っていますが、画像のID(if)が実際に間違っている/リードされていないか、関数自体が不可能であるかどうかをどのように検出できますか?

if ( $blip_xml = simplexml_load_file("http://blip.tv/players/episode/$id?skin=rss") ){
    [...]
}

3.3。

上記のコードは有効だと思いますが、見た目は嫌いです。ダブル「==」を使用するのを忘れて、1つだけ使用したようです。このようなことをすると、phpは同じことを2回正しく行うことになりますか?いくつかのキャッシュが行われています(ホスト/ソフトウェアを追加する必要はありません)

if ( simplexml_load_file("http://blip.tv/players/episode/$id?skin=rss" ) ){
    $blip_xml = simplexml_load_file("http://blip.tv/players/episode/$id?skin=rss")
}

4.4。

javascriptでも同じことができます。画像をプルして、divの背景として読み込むだけです。phpを気にせず、jsのフォールバックを実行して、そもそもjsで実行する必要がありますか?私はこのsimplexmlforjsスクリプトが4kであり、jsでsimplexmlをエミュレートしているようです。これは始めるのに正しい方法でしょうか?私はjqueryで簡単だと思います、そして私は実際にそれをatmで使用しますが、後でjqueryなしでこれを使用したいかもしれません。または、jsのコードが少なくても、この単純なことを実行できますか?

4

1 に答える 1

0

js は、使用するものと同じオリジン ポリシーによってバインドされているため、リモート ホストでは機能しませんXMLHttpRequest()

おそらく有効になっているcurlのホストを確認してから、それを使用できます。/simplexml_load_string()代わりに使用します。

于 2013-02-12T08:56:02.420 に答える