• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/wp handle upload

提供: WordPress Codex 日本語版
移動先: 案内検索

この項目「関数リファレンス/wp handle upload」は、翻訳チェック待ちの項目です。加筆、訂正などを通して、Codex ドキュメンテーションにご協力下さい。

WordPress の内部で PHP のアップロードを処理します。ファイル名を無害化し、MIME タイプと拡張子をチェックし、ファイルを uploads ディレクトリー内の適切なディレクトリーへ移動します。

使い方

<?php wp_handle_upload( $file, $overrides, $time ); ?>

パラメータ

$file
配列) (必須) $_FILES の単一要素への参照。アップロードされたファイルごとに関数を1回呼び出してください。参照渡しであるため、リテラルではなく変数を渡す必要があります。
初期値: なし
$overrides
配列) (オプション) デフォルトの振る舞いをオーバーライドする連想配列です。フォームの処理中に呼び出した場合、'action' はフォームの 'action' パラメータと一致するように設定する必要があり、そうでなければアップロードは拒否されます。フォームの処理中ではない場合、'test_form' => false を使用してこのテストをバイパスし、'action' をデフォルト("wp_handle_upload")ではない値に設定することで、指定したファイルがユーザーのアップロードしたファイルであることを要求するセキュリティチェックを回避してください。
初期値: false
$time
整数) (オプション'yyyy/mm' 形式の時刻。wp_upload_dir() へ渡されます。
初期値: NULL

用例

if ( ! function_exists( 'wp_handle_upload' ) ) {
    require_once( ABSPATH . 'wp-admin/includes/file.php' );
}

$uploadedfile = $_FILES['file'];

$upload_overrides = array( 'test_form' => false );

$movefile = wp_handle_upload( $uploadedfile, $upload_overrides );

if ( $movefile && ! isset( $movefile['error'] ) ) {
    echo "有効なファイルです。アップロードに成功しました。\n";
    var_dump( $movefile );
} else {
    /**
     * _wp_handle_upload() がエラーを生成
     * @see _wp_handle_upload() in wp-admin/includes/file.php
     */
    echo $movefile['error'];
}

戻り値

成功すると、ファイル属性の連想配列を返します。失敗すると array( 'error' => メッセージ ) を返しますが、$overrides で指定された場合は $overrides['upload_error_handler']( &$file, メッセージ ) を返します。

成功時の戻り値:

file
(文字列) アップロードされたファイルのローカルパス
url
(文字列) アップロードされたファイルの公開 URL
type
(文字列) MIME タイプ

typefilewp_insert_attachment() へ渡して使えるでしょう。

参考資料

ソースファイル

wp_handle_upload()wp-admin/includes/file.php にあります。


アップロード関数: media_handle_upload() /en, media_handle_sideload() /en, wp_handle_upload(), wp_import_handle_upload() /en, wp_handle_sideload() /en, media_sideload_image() /en


関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/wp_handle_upload最新版との差分