2017-02-12 15 views
1

URLから画像を保存する機能がありますが、唯一の問題は画像以外は正常に動作しているようです。「見つからない」URLからメディアライブラリに画像を保存

イメージと名前はメディアライブラリにありますが、URLで画像を開いたときに「見つからない」と表示されたときのように画像が壊れています

何か逃したかどうか教えてください。

function set_image_from_url($url) { 


    $tmp = download_url($url); 

    $file_array = array(
     'name' => basename($url), 
     'tmp_name' => $tmp 
    ); 

    /** 
    * Check for download errors 
    * if there are error unlink the temp file name 
    */ 
    if (is_wp_error($tmp)) { 
     @unlink($file_array[ 'tmp_name' ]); 
     return $tmp; 
    } 

    /** 
    * now we can actually use media_handle_sideload 
    * we pass it the file array of the file to handle 
    * and the post id of the post to attach it to 
    * $post_id can be set to '0' to not attach it to any particular post 
    */ 
    $post_id = '0'; 

    $id = media_handle_sideload($file_array, $post_id); 

    /** 
    * We don't want to pass something to $id 
    * if there were upload errors. 
    * So this checks for errors 
    */ 
    if (is_wp_error($id)) { 
     @unlink($file_array['tmp_name']); 
     return $id; 
    } 

    /** 
    * No we can get the url of the sideloaded file 
    * $value now contains the file url in WordPress 
    * $id is the attachment id 
    */ 
    $value = wp_get_attachment_url($id); 

// Now you can do something with $value (or $id) 

    return $id; 

} 
+0

URLを要求するときにイメージへのパスが正しいことが本当に分かっているなら、 '.htaccess'ファイルがありますか?はいの場合は、その内容を質問に投稿してください。 –

+1

use media_sideload_image wordpress function – onlinewebsite

+0

@onlinewebsiteこれと私が使ったmedia_handle_sideload関数の違いは何ですか? – Kyon147

答えて

0

シェア&ようなので、これは本当に愚かな答えはあるけど...

私はデフォルトを変更しましたローカルのURLは、ライブサイトの画像を表示したいと思っていました。ローカルのアップロードフォルダの場所に戻すように設定すると、画像が正しく表示され始めました。

誰かが同じ問題を思いついて答えを発表しました。設定>メディア>ファイルへの完全なURLパスを確認してください。

ありがとうございます!

0

グーグルから検索し、ダウンロードプラグイン..

このプラグインは、あなたにリモート URLから画像をダウンロードできるようにするために、組み込みの「インポートURLから」メディア アップロード]タブを置き換えますWordPressのメディアギャラリー。 リモートイメージのサムネイルはローカルに作成され、アップロード後にはカスタムメディア属性(キャプション、タイトルなど)を追加でき、 の画像をブログの投稿に挿入できます( )。 プラグインの検索方法: 投稿を編集するときは、[メディアの追加]をクリックします。 [& URLからのインポート]を選択します。ウィンドウが の場合は、左側のサイドバーに表示されます。あなたのウィンドウが 小さい場合、「Insert Media」があらかじめ選択されているドロップダウンメニューを選択する必要があります。 機能のリスト: をローカルにコンピュータに保存することなく、ブログの投稿に直接リモート画像を含めてください。 より良いインターネット市民になるために: で画像のホットリンクを避けてください!メディアライブラリとダウンロード 完全統合後 名前の変更の画像 - サムネイル画像の作成など。..

関連する問題