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

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

「関数リファレンス/wp handle upload」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(クリーンアップ。関連項目を {{Upload Tags}} へ変更。)
1行目: 1行目:
 +
{{CheckTrans}}
 +
 
<div id="Description">
 
<div id="Description">
 
==説明==
 
==説明==
 
</div>
 
</div>
WordPressでPHPのアップロードを処理し、ファイル名をサニタイズし、MIMEタイプの拡張子をチェックし、ファイルをuploadsディレクトリ内の適切なディレクトリに移動します。
+
 
 +
WordPress の内部で PHP のアップロードを処理します。ファイル名を無害化し、MIME タイプと拡張子をチェックし、ファイルを uploads ディレクトリー内の適切なディレクトリーへ移動します。
  
 
<div id="Usage">
 
<div id="Usage">
==書き方==
+
==使い方==
 
</div>
 
</div>
  
<?php wp_handle_upload( $file, $overrides, $time ); ?>
+
<?php wp_handle_upload( $file, $overrides, $time ); ?>
  
 
<div id="Parameters">
 
<div id="Parameters">
14行目: 17行目:
 
</div>
 
</div>
  
{{Parameter|$file|配列|$_FILESの単一要素への参照。アップロードされたファイルごとに関数を1回呼び出します。参照渡しであるため、'''リテラルではなく変数を渡す必要があります。'''|必須}}
+
{{Parameter|$file|配列|$_FILES の単一要素への参照。アップロードされたファイルごとに関数を1回呼び出してください。参照渡しであるため、'''リテラルではなく変数を渡す必要があります。'''|必須}}
{{Parameter|$overrides|配列|デフォルトの振る舞いをオーバーライドする連想配列です。フォームの処理中に呼び出される <code>action</code> はフォームの <code>action</code> パラメータと一致するように設定する必要があり、そうでなければアップロードは拒否されます。フォームが処理されていない場合、 <pre>'test_form' => false</pre> を使用してこのテストをバイパスし、 <code>action</code> をデフォルト以外の値 <code>wp_handle_upload</code> に設定することで、問題のファイルがユーザーのアップロードしたファイルであることを要求するセキュリティチェックを回避します。|オプション|false}}
+
 
{{Parameter|$time|整数|時刻は「yyyy / mm」で表され、<tt>[[関数リファレンス/wp_upload_dir|wp_upload_dir()]]</tt>/[[:en:Function Reference/wp_upload_dir|en]] に渡されます。|オプション|NULL}}
+
{{Parameter|$overrides|配列|デフォルトの振る舞いをオーバーライドする連想配列です。フォームの処理中に呼び出した場合、<tt>'action'</tt> はフォームの <tt>'action'</tt> パラメータと一致するように設定する必要があり、そうでなければアップロードは拒否されます。フォームの処理中ではない場合、<code><nowiki>'test_form' => false</nowiki></code> を使用してこのテストをバイパスし、<tt>'action'</tt> をデフォルト(<tt>"wp_handle_upload"</tt>)ではない値に設定することで、指定したファイルがユーザーのアップロードしたファイルであることを要求するセキュリティチェックを回避してください。|オプション|false}}
 +
 
 +
{{Parameter|$time|整数|<tt>'yyyy/mm'</tt> 形式の時刻。<tt>[[関数リファレンス/wp_upload_dir|wp_upload_dir()]]</tt> へ渡されます。|オプション|NULL}}
  
 
<div id="Examples">
 
<div id="Examples">
34行目: 39行目:
  
 
if ( $movefile && ! isset( $movefile['error'] ) ) {
 
if ( $movefile && ! isset( $movefile['error'] ) ) {
     echo "File is valid, and was successfully uploaded.\n";
+
     echo "有効なファイルです。アップロードに成功しました。\n";
 
     var_dump( $movefile );
 
     var_dump( $movefile );
 
} else {
 
} else {
 
     /**
 
     /**
     * Error generated by _wp_handle_upload()
+
     * _wp_handle_upload() がエラーを生成
 
     * @see _wp_handle_upload() in wp-admin/includes/file.php
 
     * @see _wp_handle_upload() in wp-admin/includes/file.php
 
     */
 
     */
44行目: 49行目:
 
}
 
}
 
</pre>
 
</pre>
 
  
 
<div id="Return_Values">
 
<div id="Return_Values">
50行目: 54行目:
 
</div>
 
</div>
  
成功すると、ファイル属性の連想配列を返します。失敗すると $overrides['upload_error_handler'](&$file、$message) または配列 ( 'error' => $message)を返します。
+
成功すると、ファイル属性の連想配列を返します。失敗すると <code>array( 'error' => メッセージ )</code> を返しますが、<tt>$overrides</tt> で指定された場合は <code>$overrides['upload_error_handler']( &amp;$file, メッセージ )</code> を返します。
  
成功時の戻り値:
+
成功時の戻り値:
  
;file: (''整数'') アップロードされたファイルへのローカルパス
+
;file: (''文字列'') アップロードされたファイルのローカルパス
;url: (''整数'') アップロードされたファイルのパブリックURL
+
;url: (''文字列'') アップロードされたファイルの公開 URL
;type: (''整数'') MIMEタイプ
+
;type: (''文字列'') MIME タイプ
  
タイプとファイルを一緒に使用することができます [[wp_insert_attachment()]]/[[:en:Function Reference/wp_insert_attachment|en]]
+
<code>type</code> と <code>file</code> は <tt>[[関数リファレンス/wp insert attachment|wp_insert_attachment()]]</tt> へ渡して使えるでしょう。
  
 
<div id="Further Reading">
 
<div id="Further Reading">
73行目: 77行目:
  
 
<tt>wp_handle_upload()</tt> は {{Trac|wp-admin/includes/file.php}} にあります。
 
<tt>wp_handle_upload()</tt> は {{Trac|wp-admin/includes/file.php}} にあります。
 
  
 
<div id="Related">
 
<div id="Related">
 
==関連項目==
 
==関連項目==
 
</div>
 
</div>
アップロード関数: [[media_handle_upload()]]/[[:en:Function Reference/media_handle_upload|en]], [[media_handle_sideload()]]/[[:en:Function Reference/media_handle_sideload|en]], wp_handle_upload, [[wp_import_handle_upload()]]/[[:en:Function Reference/wp_import_handle_upload|en]], [[wp_handle_sideload()]]/[[:en:Function Reference/wp_handle_sideload|en]], [[media_sideload_image()]]/[[:en:Function Reference/media_sideload_image|en]]
+
 
 +
{{Upload Tags}}
  
 
{{Tag Footer}}
 
{{Tag Footer}}
  
{{原文|Function Reference/wp_handle_upload|}}
+
{{原文|Function Reference/wp_handle_upload|}} <!-- 23:26, 3 March 2017 KenLewis 版 -->
 
+
{{DEFAULTSORT:wp handle upload}}
+
  
 +
{{DEFAULTSORT:Wp_handle_upload}}
 
[[Category:関数]]
 
[[Category:関数]]
 +
 +
[[en:Function Reference/wp_handle_upload]]

2017年8月5日 (土) 10:01時点における版

この項目「関数リファレンス/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