WordPress フォルダー・ファイル系の関数 is_dir や opendir や exif_imagetype で Warning エラー

WordPress の管理画面でフォルダーの中身を読み込む関数 opendir でエラー
WordPress の管理画面で、opendir を使って、images フォルダー中の画像ファイルを読み込もうと思いました。
プラグイン制作中だったので、以下のようにしたのですが、
$dir = plugins_url( 'images/', __FILE__ );
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
}
closedir($dh);
}
}
Warning エラーが出ました。
is_dir の時点でもうエラーになっています。
$dir を確認しようと、echo してみました。
echo $dir;
http://ドメイン名/wp/wp-content/plugins/プラグインフォルダー/images/
フルパスで合ってるはず・・・
そういえば、管理画面のパスを見てみると、
http://ドメイン名/wp/wp-admin/
となっています。
wp-admin の中にいるわけなので、結局以下のように、相対パスにしたらOKでした。
$dir = '../wp-content/plugins/プラグインフォルダー/images/';
WordPress の管理画面で画像かどうかの関数 exif_imagetype でエラー
次に画像かどうかの判断で exif_imagetype を使用しようと思ったら、
また Warning エラーになりました。
if (is_dir($dir)) {
while (($file = readdir($dh)) !== false) {
if(exif_imagetype($file))echo $file;
}
closedir($dh);
}
結局以下のように、拡張子で判別しました。
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
$file_arr = explode('.', $file);
if($file_arr[1] && ($file_arr[1]=='jpg'||$file_arr[1]=='gif'
||$file_arr[1]=='png'||$file_arr[1]=='jpeg'))echo $file;
}
closedir($dh);
}
}
exif_imagetype 関数を使えるようにする
php.ini の設定を変更出来る場合は、以下の部分を変更すると、exif_imagetype 関数を使えるようになるらしいです。
;extension=php_mbstring.dll
;extension=php_exif.dll
↓
extension=php_mbstring.dll
extension=php_exif.dll
今回は拡張子判断で対応したので、実際試してはいません。
関連記事
-
-
「All-in-One WP Migration」プラグインで 簡単に WordPress のサーバー移行する手順メモ
1.移行元サイトでのデータエクスポート 「All-in-One WP Migration(公式リン
-
-
WordPress カレンダー カスタマイズ
WordPressでカレンダーの表示部分をいじってみようかと思います。 どうやら、カレンダー関
-
-
WordPress レスポンシブ テンプレート の メニューやブログの設置
前回の 「WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダ
-
-
WordPressでカテゴリー名も検索にひっかけるプラグイン「Search Everything」
WordPressでカテゴリーも検索にひっかけるプラグイン「Search Everything 8.
-
-
WordPress レスポンシブ テンプレート 元にサイトを作ってみる その2
DEMO を見る カスタム投稿タイプ functions.php 今回は3つのリストメニュ
-
-
WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダウンロード
WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダウンロード
-
-
WordPress 自作フォーム その3(チェックボックスなど)
以前、WordPress 自作フォーム その1の記事で Wordpress で自作フォームを作ってみ
-
-
WordPress リビジョンを削除し、テーブルを最適化してDBの容量を削減
WordPress リビジョン機能 リビジョンは過去の記事を保存してくれる WordPress の
-
-
wordpress カスタム投稿で 2ページ目以降が404になってしまう
wordpress のカスタム投稿で、ニュースのページを作っていました。 ニュース一覧で、ペー
-
-
WordPress カレンダー カスタマイズ(add_filter版)
前回、「WordPress の PHP をちょっと見てみよう Ⅲ」でフックをやったので、カレンダーで