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 レスポンシブ テンプレート

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

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

記事を読む

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

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

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

記事を読む

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

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

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

記事を読む

WordPress Twenty Seventeen function.php

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

WordPress の最低限の機能だけのシンプルなテンプレートが欲しかったので、作っておくことにしま

記事を読む

リビジョンを削除し、テーブルを最適化してDBの容量を削減

WordPress リビジョンを削除し、テーブルを最適化してDBの容量を削減

WordPress リビジョン機能 リビジョンは過去の記事を保存してくれる WordPress の

記事を読む

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

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

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

記事を読む

WordPress PHP

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

WordPress には、たくさんのファイルが入っています。 ここではテーマ内ではなく、トップ

記事を読む

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

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

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

記事を読む

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

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

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

記事を読む

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

→もっと見る

    • 202412
      Mon Tue Wed Thu Fri Sat Sun
      1
      2345678
      9101112131415
      16171819202122
      23242526272829
      3031
    にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ PHPへ にほんブログ村 IT技術ブログ WordPressへ
    にほんブログ村 FC2 Blog Ranking
    PAGE TOP ↑