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 レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダウンロード

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

記事を読む

レンタルサーバでWordPressを設置してみよう!

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

記事を読む

Wordpress VR Test

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

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

記事を読む

wordpress カスタム投稿を一覧(ループ)で表示する

wordpress カスタム投稿を一覧(ループ)で表示する

カスタム投稿を一覧で表示する方法がいろいろあります。 query_posts 関数が非推奨になって

記事を読む

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

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

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

記事を読む

wordpress タイトルの変更

WordPress タイトルの変更

テンプレートタグ the_title(); get_the_title(); WordPress

記事を読む

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

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

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

記事を読む

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

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

記事を読む

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

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

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

記事を読む

Wordpress 自作フォーム

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

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

記事を読む

PHP WordPress

Message

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

WordPress エラー:Failed to load plugin: table from url https://cdn.tinymce.com/4/plugins/table/plugin.min.js
WordPress エラー:Failed to load plugin: table from url https://cdn.tinymce.com/4/plugins/table/plugin.min.js

WordPress エラーの状態 WordPress 管理画面のテキ

wordpress タイトルの変更
WordPress タイトルの変更

テンプレートタグ the_title(); get_the_title

All-in-One WP Migration で サーバ移動
「All-in-One WP Migration」プラグインで 簡単に WordPress のサーバー移行する手順メモ

1.移行元サイトでのデータエクスポート 「All-in-One WP

DNSサーバーとは
ドメインとは?DNSサーバーとは?

ドメインとは? ドメインとは? ドメインとは、インターネット上のネ

javascriptで複数同じ名前のformの値を取得する
javascriptで複数同じ名前のformの値を取得するとエラー Cannot read property ‘value’ of undefined

Javascript で value の値を取得する このようなHT

→もっと見る

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