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

公開日: : PHP, WordPress

WordPress 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 関数を使えるようになるらしいです。

php.ini ファイル 変更前

;extension=php_mbstring.dll
;extension=php_exif.dll

php.ini ファイル 変更後

extension=php_mbstring.dll
extension=php_exif.dll

今回は拡張子判断で対応したので、実際試してはいません。

関連記事

Wordpress 自作フォーム 2(注意点とエラー:This is somewhat embarrassing, isn’t it? など)

WordPress 自作フォーム その2(注意点とエラー:This is somewhat embarrassing, isn’t it? など)

前回(WordPress 自作フォーム 1)のつづきです。 今回は細かいところや注意点とエラーなど

記事を読む

WordPress プラグイン「 Search Everything 」

WordPressでカテゴリー名も検索にひっかけるプラグイン「Search Everything」

WordPressでカテゴリーも検索にひっかけるプラグイン「Search Everything 8.

記事を読む

Wordpress 自作フォーム (チェックボックスなど)

WordPress 自作フォーム その3(チェックボックスなど)

以前、WordPress 自作フォーム その1の記事で Wordpress で自作フォームを作ってみ

記事を読む

MVCの典型的な相関図

PHPフレームワークについて

フレームワークとは? 開発する際に頻繁に必要とされる汎用的な機能をまとめて提供している、アプリケー

記事を読む

Wordpress 自作フォーム

WordPress 自作フォーム その1(サンプルと設置)

Wordpress でプラグインを使わずにフォームをやってみます。 簡単に名前、メールアドレス、メ

記事を読む

WordPress カレンダー カスタマイズ

WordPress カレンダー カスタマイズ(add_filter版)

前回、「WordPress の PHP をちょっと見てみよう Ⅲ」でフックをやったので、カレンダーで

記事を読む

WordPress レスポンシブ テンプレート

WordPress レスポンシブ テンプレート の メニューやブログの設置

前回の 「WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダ

記事を読む

WordPress レスポンシブ テンプレート 元にサイトを作ってみる その2

DEMO を見る カスタム投稿タイプ functions.php 今回は3つのリストメニュ

記事を読む

WordPress の PHP をちょっと見てみよう Ⅲ

WordPress の PHP をちょっと見てみよう Ⅲ

前記事の続きで、wp-settings.php の91行目あたりから見ていきます。 次は、wp

記事を読む

Wordpress VR Test

WordPress で VR させて、360°のパノラマ画像を表示する

WordPress.com内ショートコードで VR させる WordPress.com内で、VR(

記事を読む

PHP WordPress

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ロリポップでWordPressのPHPバージョンを5から7にする
ロリポップでWordPressのPHPバージョン7.1に変更後「サイトに技術的な問題が発生しています。」

WordPress.org の推奨環境 PHP7以上 MyS

WEBページをアプリっぽくする(サービスワーカーでホーム画面に追加)
WEBページをアプリっぽくする(サービスワーカーでホーム画面に追加)

前回作ったお絵かきページを、簡単にアプリっぽくしようと思います。 具

canvas タグでお絵描き(レスポンシブ)
canvas タグでお絵描き(レスポンシブ)

簡単なメモ張みたいなものが欲しいので作ってみました。 canvas

フルスクリーンを CSS だけで、vw, vh, vmin, vmax を試してみる(スクロールバーも消したい)
フルスクリーンを CSS だけで、vw, vh, vmin, vmax を試してみる(スクロールバーも消したい)

ビューポートの単位 vw, vh, vmin, vmax CSS で

WordPress Twenty Seventeen function.php
WordPress twentyseventeen の function.php を見る – その2

前回の続きです。 次のスターターコンテンツは、今回のシンプルテン

→もっと見る

    • 201908
      Mon Tue Wed Thu Fri Sat Sun
      1234
      567891011
      12131415161718
      19202122232425
      262728293031
    にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ PHPへ にほんブログ村 IT技術ブログ WordPressへ
    にほんブログ村 FC2 Blog Ranking
    PAGE TOP ↑