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



お勧め

4.2.3でちょっと変わったショートコード(2018年5月27日 更新)

4.3のリリースまであと少しなわけですが、4.2.3が緊急リリースされました。4.2.2とソースコードを比較すると、ざっくりTinyMCE絡みが多い印象を受けたのですが、ショートコード関連も少し変わっていたので簡単にまとめてみました。

タイトルのみをキーワード検索する(2014年4月3日 更新)

WordPressのキーワード検索は、投稿タイトルと本文のどちらかに指定したキーワードが含まれているかを調べるわけだが、時々タイトルだけとか、逆に本文だけ検索したいケースがある。

プラグインのヘッダー情報を国際化対応しよう(2018年5月27日 更新)

バージョン4.8がリリースされてひと段落。あらためてプラグイン一覧ページを見てみると「Akismet」が「Akismet Anti-Spam (アンチスパム)」と表示されていた。説明文だけじゃなくプラグイン名も国際化対応できたのね。

Gutenbergエディターのフォントを変える(2018年10月16日 更新)

Gutenbergエディターを試していてしっくりこないのが、編集時とそれを投稿した際の見た目の違い。GutenbergエディターとテーマTwenty Seventeenとではまったく異なるタイプのフォントが適用されていることが大きな理由である。

Contact Form 7に確認フェーズを(2012年12月16日 更新)

Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。