web-dev-qa-db-ja.com

ローカルファイルの場合はmedia_handle_upload?

サーバー上にイメージを作成し、それをtmpフォルダーに保存しています。この画像を取得し、デフォルトのメディアディレクトリ構造に保存し、適切なサムネイルを作成しながら投稿に添付するphpファイルを実行したいと思います。 media_handle_uploadを使用するには、アップロードPOST要求が必要と思われます。 POST以外のコンテキストでローカルイメージに対して機能させることは可能ですか?ありがとう。

3
Diego

あなたが欲しい media_handle_sideload()

アップロードファイルがmedia_handle_upload()によって処理されるのと同じ方法で、サイドロードファイルを処理します。

// Array similar to a $_FILES upload array.
$file_array = array(
    'name'     => 'filename.jpg',
    'tmp_name' => 'path/to/filename.jpg',
);

// Post ID to attach upload to, 0 for none.
$post_id = 0; 

$attachment_id = media_handle_sideload( $file_array, $post_id );
2
Jacob Peattie