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
今回は拡張子判断で対応したので、実際試してはいません。
関連記事
-
WordPress 自作フォーム その2(注意点とエラー:This is somewhat embarrassing, isn’t it? など)
前回(WordPress 自作フォーム 1)のつづきです。 今回は細かいところや注意点とエラーなど
-
「All-in-One WP Migration」プラグインで 簡単に WordPress のサーバー移行する手順メモ
1.移行元サイトでのデータエクスポート 「All-in-One WP Migration(公式リン
-
WordPress で VR させて、360°のパノラマ画像を表示する
WordPress.com内ショートコードで VR させる WordPress.com内で、VR(
-
WordPress の PHP をちょっと見てみよう Ⅱ
前記事の続きで、wp-settings.php の68行目あたりから見ていきます。 <今回のピ
-
WordPress カレンダー カスタマイズ
WordPressでカレンダーの表示部分をいじってみようかと思います。 どうやら、カレンダー関
-
WordPress の PHP をちょっと見てみよう Ⅲ
前記事の続きで、wp-settings.php の91行目あたりから見ていきます。 次は、wp
-
WordPress の PHP をちょっと見てみよう Ⅰ
WordPress には、たくさんのファイルが入っています。 ここではテーマ内ではなく、トップ
-
WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダウンロード
WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダウンロード
-
PHPフレームワークについて
フレームワークとは? 開発する際に頻繁に必要とされる汎用的な機能をまとめて提供している、アプリケー
-
WordPress タイトルの変更
テンプレートタグ the_title(); get_the_title(); WordPress