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を設置してみよう!

WordPress.com 内に、ブラウザだけで無料でサイトを作成出来きるサービスもありますが、Wo

記事を読む

WordPress Twenty Seventeen function.php

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

前回の続きです。 次のスターターコンテンツは、今回のシンプルテンプレートには不要ですが、よくわ

記事を読む

MVCの典型的な相関図

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

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

記事を読む

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

WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダウンロード

WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダウンロード

記事を読む

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

「レスポンシブ テンプレート の メニューやブログの設置」の記事では、メニューやブログの設置例をやっ

記事を読む

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

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

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

記事を読む

Wordpress 独自テーブル 商品名と料金

WordPress 独自テーブル

Wordpress で独自テーブルを作ってみようと思います。 独自テーブルのデータ 今回のデ

記事を読む

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

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

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

記事を読む

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

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

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

記事を読む

Wordpress 自作フォーム

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

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

記事を読む

PHP WordPress

Message

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

フルスクリーンを 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

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

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

WordPress の最低限の機能だけのシンプルなテンプレートが欲しか

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

Wordpress の管理画面でフォルダーの中身を読み込む関数 ope

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

以前、WordPress 自作フォーム その1の記事で Wordpre

→もっと見る

    • 201812
      Mon Tue Wed Thu Fri Sat Sun
      12
      3456789
      10111213141516
      17181920212223
      24252627282930
      31
    にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ PHPへ にほんブログ村 IT技術ブログ WordPressへ
    にほんブログ村 FC2 Blog Ranking
    PAGE TOP ↑