[PHP] class ArrayIteratorで配列の再帰処理

カテゴリ:
Perl / PHP
Web
| トラックバック(0)
投稿者:yo yo
$fruits = array(
                "apple" => "yummy",
                "orange" => "ah ya, nice",
                "grape" => "wow, I love it!",
                 "plum" => "nah, not me"
                );

$veg = array("potato" => "chips", "carrot" => "soup");
$grocery = array($fruits, $veg);
$obj = new ArrayObject( $grocery );

$it = new RecursiveIteratorIterator( new RecursiveArrayIterator($grocery));

foreach ($it as $key=>$val)
echo $key.":".$val."\n";
出力
--------
apple:yummy
orange:ah ya, nice
grape:wow, I love it!
plum:nah, not me
potato:chips
carrot:soup
http://jp2.php.net/manual/ja/class.arrayiterator.php

まんまコピペだけどコイツは便利。似たようなのにRecursiveArrayIterator クラスもある。

[Wordpress] update_attached_fileは$fileが既存値と同じだとfalseを返す?

カテゴリ:
Web
Wordpress
| トラックバック(0)
投稿者:yo yo

update_attached_file( $attachment_id, $file )の$fileが既に登録されているファイルパスと同じだとfalseを返す様だ。

Wordpressで画像を投稿していくとデフォルトではuploadsディレクトリに画像ファイルが追加されていく。サムネイルが多いとuploadsディレクトリが画像ファイルだらけでとても面倒くさい。

サーバを移管したい時とか、他のCMSに乗り換えたい時とか、とても苦労する。FTPソフトでディレクトリを開くことすら出来なくなる、面倒くさい。サーバOSがLinuxだとファイル名の大文字と小文字を区別し、同名の別ファイル(例えば、Image.jpgとimage.jpg)が存在することになり、ローカルのWindowsとかに一括ダウンロードする時とか違うファイルなのに同一ファイルとして認識されて上書きされる、面倒くさい。書いてて訳解らなくなってきたけどそういう事だ。

なのでちょっとでもメディアの管理を楽にする為に、既にアップロードしてしまったメディアの保存先を管理画面上から変更できるプラグインを作る事にする。探しても見つからないのは何故だ。

だいたいの設計図

  1. メディアライブラリでチェックボックスをつける。
  2. 一括操作(bulkアクション)でAjaxを呼び出す。
  3. AjaxからPHPを呼び出してアップロードしたメディアのディレクトリを適当な所(※)へ移動させる。
  4. ついでにメディアライブラリに関するDB周りを更新する。
  5. Ajaxでフィードバックを返す。
  6. あとは流れで。

現状で最低限の機能は出来ているので面倒くさくなる前に作りきらなければならない。

こんなん出来たらいいな

  • 移動先ディレクトリをパーマリンク構造のように指定できたらいいな
  • オリジナルファイルだけじゃなくサムネイルも一緒に移動されるといいな
  • uploadsディレクトリ直下のファイルだけ移動できたらいいな
  • nonceを利用してセキュリティを向上させられたらいいな
  • 今回はとくには必要ないけど投稿に追加した画像のURLが自動で変更されるといいな

[Wordpress] 本文空で下書き保存するとカスタムフィールドに入力した値が消える

カテゴリ:
Web
Wordpress
| トラックバック(0)
投稿者:yo yo

Wordpressでカスタムフィールド操作系のプラグインを入れている。本文空で下書き保存するとカスタムフィールドに値だけ入れて下書き保存すると値が消える現象がたまに起こる。困った。

バグなのか何なのか解らないがiOS11でアプリ(メーラーなど)のブラウザでinput type="file"を押すとブラウザが解除されアプリに戻ってしまう問題がある。解決策が解らず困る。

今回問題があったのはiOSアプリでサイボウズkunaiと何かしらのメーラー。お客様からの問い合わせから発覚した。

ページの先頭に戻る