wp_upload_bits

説明

array wp_upload_bits( string $name, null $deprecated, mixed $bits [ , string $time = null ] )
データをアップロードファイルとして保存する。

パラメータ

  • $name
    ファイル名を指定。
  • $deprecated
    必ずnullを指定。
  • $bits
    保存するデータを指定。
  • $time
    保存先のサブディレクトリ(yyyy/mm)を指定(省略時はnull)。

返り値

アップロード結果を格納した連想配列を返す。正しく保存できた場合はキー'error'の値にfalseが、保存に失敗した場合はその理由のテキストが格納され、キー'file'や'url'の値は存在しない。
キー内容
'file'アップロードファイルのフルパス名
'url'アップロードファイルのURL
'error'エラー内容(保存できた場合はfalse)

注意

この関数はあくまでもデータをアップロード先ディレクトリに保存するだけで、メディア(attachment)として登録されるわけではない。

アップロード先に同名のファイルが存在する場合は、ファイル名の拡張子前に数字を追加して重複しないようになるため、保存されるファイル名はパラメータ$nameと異なる場合がある。例えば、パラメータ$nameに'a.txt'が指定され、保存先のディレクトリに同名のファイルが存在する場合は、'a1.txt'、a2.txt'、a3.txt'の順にファイルが存在するか調べ、存在しなかった名前が最終的なファイル名となる。

アップロードしたファイルのステータスは、アップロード先ディレクトリのステータスに依存する。


使用例

  • データ$dataをファイル名'log20141127_123456.txt'で保存する。
    <?php
    $upload = wp_upload_bits( 'log20141127_123456.txt', null, $data );
    if ( empty( $upload['error'] ) ) {
    	// アップロード成功時の処理
    }
    ?>
  • データ$dataを2014年9月のディレクトリにファイル名'log20141127_123456.txt'で保存する。
    <?php $upload = wp_upload_bits( 'log20141127_123456.txt', null, $data, '2014/09' ); ?>

フィルター

[3.0.0]アップロード先ディレクトリを確認した後に'wp_upload_bits'フィルターを呼び出す。パラメータ$argsは本関数が受け取った$name$bits$timeが格納された連想配列となる。
$upload_bits_error = apply_filters( 'wp_upload_bits', $args );

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/functions.php

最終更新 : 2018年05月27日 10:46



お勧め

5.3の新機能:クエリーログに任意の項目を追加できる新フィルター(2019年10月23日 更新)

5.3 RC2」が公開され、正式リリースまであと20日。公式ディレクトリにプラグインを公開していることもあり、5.3に関する開発者向けの情報「Miscellaneous Developer Focused Changes in 5.3」を読んでいる。

ログインページのタイトルを変更してみる(2018年5月27日 更新)

バージョン4.9では新しいフィルターやフィルターのパラメータの追加が多数行われている。ここではその一例としてログインページ関連で追加された2つのフィルターを紹介する。

プラグインで注意が必要な関数(2013年11月27日 更新)

先日「Login rebuilder」という自作プラグインをアップデートした際、ユーザーさんからエラーになると連絡をいただいた。標準環境では問題なく、どうやら何らかのプラグインが影響しているらしい。

ブロックエディターの色設定を変えてみる(2019年12月11日 更新)

バージョン5.3で機能強化されたブロックエディター。対応を考えて新テーマ「Twenty Twenty」のソースコードを眺めていく。

KUSANAGIでマルチサイト(サブドメイン)を試した(2019年8月6日 更新)

本サイトはサブディレクトリタイプのマルチサイト機能を採用して構築しているが、これまでサブドメインタイプは利用した経験はない。マルチサイト機能のサブドメインタイプは以前から1度は試してみたいと思っており、今回実際にサイトを構築してみた。