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 レスポンシブ テンプレート 元にサイトを作ってみる その1
「レスポンシブ テンプレート の メニューやブログの設置」の記事では、メニューやブログの設置例をやっ
-
-
WordPress の PHP をちょっと見てみよう Ⅲ
前記事の続きで、wp-settings.php の91行目あたりから見ていきます。 次は、wp
-
-
WordPress レスポンシブ テンプレート 元にサイトを作ってみる その2
DEMO を見る カスタム投稿タイプ functions.php 今回は3つのリストメニュ
-
-
WordPress タイトルの変更
テンプレートタグ the_title(); get_the_title(); WordPress
-
-
ロリポップでWordPressのPHPバージョン7.1に変更後「サイトに技術的な問題が発生しています。」
WordPress.org の推奨環境 PHP7以上 MySQL5.6以上またはMaria
-
-
WordPress 自作フォーム その1(サンプルと設置)
Wordpress でプラグインを使わずにフォームをやってみます。 簡単に名前、メールアドレス、メ
-
-
WordPress カレンダー カスタマイズ
WordPressでカレンダーの表示部分をいじってみようかと思います。 どうやら、カレンダー関
-
-
WordPress twentyseventeen の function.php を見る – その2
前回の続きです。 次のスターターコンテンツは、今回のシンプルテンプレートには不要ですが、よくわ
-
-
WordPress 自作フォーム その2(注意点とエラー:This is somewhat embarrassing, isn’t it? など)
前回(WordPress 自作フォーム 1)のつづきです。 今回は細かいところや注意点とエラーなど
-
-
WordPress の PHP をちょっと見てみよう Ⅱ
前記事の続きで、wp-settings.php の68行目あたりから見ていきます。 <今回のピ