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



お勧め

個人データのエクスポートメール向けに追加された新フィルター(2020年4月2日 更新)

先週「WordPress 5.4 RC3」が公開され、正式リリースまであと1週間。ブロックエディターの機能強化が目立つわけですが、地味な変更点もちらほらと。今回はその中の1つ、「個人データのエクスポート」機能に関連するフィルターを紹介する。

決まった値を返すだけの関数群(2018年5月27日 更新)

WordPressのソースコードを眺めているとフィルター関数名で'__return_○○'が指定されている部分を時々見かけます。それらの関数定義を見てみると、すべて決まった値を単純に返すだけでした。これらの関数がちょっと気になったので、まとめてみました。

サイドバーの初期化はwidgets_initアクションで(2011年7月14日 更新)

ウィジェットを使ってみたくなり新テーマ「Twenty Eleven」を覗いてみると、codexに記載されていた内容と少し違っている。これって「Twenty Ten」ですでに変更されていたんだね。

Gutenbergでカスタムフィールドを使う(2018年8月10日 更新)

Gutenbergの新エディターではカスタムフィールドのウィジェットが表示されない。既存のカスタムフィールドのデータはなくなるわけでないので、新エディター上で編集・更新できないか調べてみた。

favicon.icoがWordPressロゴになる!?(2020年2月25日 更新)

先週「WordPress 5.4 Beta2」が公開され、来月末には正式リリース。タイミングよく三連休だったので、1つ前の「ニュース」で紹介されていた変更点から確認してみた。