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 独自テーブル
Wordpress で独自テーブルを作ってみようと思います。 独自テーブルのデータ 今回のデ
-
-
WordPress カレンダー カスタマイズ
WordPressでカレンダーの表示部分をいじってみようかと思います。 どうやら、カレンダー関
-
-
WordPress エラー:Failed to load plugin: table from url https://cdn.tinymce.com/4/plugins/table/plugin.min.js
WordPress エラーの状態 WordPress 管理画面のテキスト入力欄で(ビジュアルタブの
-
-
WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダウンロード
WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダウンロード
-
-
ロリポップでWordPressのPHPバージョン7.1に変更後「サイトに技術的な問題が発生しています。」
WordPress.org の推奨環境 PHP7以上 MySQL5.6以上またはMaria
-
-
wordpress カスタム投稿で 2ページ目以降が404になってしまう
wordpress のカスタム投稿で、ニュースのページを作っていました。 ニュース一覧で、ペー
-
-
WordPress レスポンシブ テンプレート の メニューやブログの設置
前回の 「WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダ
-
-
WordPress 自作フォーム その1(サンプルと設置)
Wordpress でプラグインを使わずにフォームをやってみます。 簡単に名前、メールアドレス、メ
-
-
wordpress カスタム投稿を一覧(ループ)で表示する
カスタム投稿を一覧で表示する方法がいろいろあります。 query_posts 関数が非推奨になって
-
-
WordPress 自作フォーム その3(チェックボックスなど)
以前、WordPress 自作フォーム その1の記事で Wordpress で自作フォームを作ってみ