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



お勧め

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

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

子カテゴリのアーカイブページを親カテゴリ用のテンプレートファイルで表示しよう(2011年12月8日 更新)

少し前に投稿した「適切なテンプレートファイルを用意してテンプレート内の振り分け処理を無くす」で説明した通り、特定のカテゴリ専用のテンプレートとしてcategory-○○.phpを用意することで、category.phpやarchive.php内で振り分けを行う必要がなくなる。ただ、すべてのカテゴリ分を用意するのは効率的ではないし、特に子カテゴリについては親カテゴリと共通内容になるケースが多いのではないだろうか。ここでは、子カテゴリの個別テンプレートファイルを作らず、親カテゴリのテンプレートを利用する方法を紹介する。

meta_compare_key使ってみた(2019年3月19日 更新)

ブロックエディターの登場により、標準のカスタムフィールドを使う機会はかなり減った気がする。そんな中、5.1.0で追加されたのが、カスタムフィールド名(メタキー)に含まれる文字列を指定する'meta_compare_key'キーだ。

各種リンクを取得する関数一覧(2014年6月12日 更新)

サイト設計において、ページ間の相互リンクは重要である。WordPressでは各種ページのリンク(パーマリンク)を取得する関数を用意しており、それらを一通り把握しておくべきだろう。

Login rebuilder:プラグイン作ってみました(2019年4月22日 更新)

昨年投稿した「ログインページを変える」をプラグイン化。ログインページを独自の名前のページ変更し、標準のログインページwp-login.phpを使用できないようにするプラグインです。部外者によるwp-login.phpのアクセスにお悩みの方にお勧めします。また2.0.0では「XML-RPCリクエストの管理機能」を追加。2.2.0では管理者のログイン時にメールで通知する機能を追加しました。