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.com 内に、ブラウザだけで無料でサイトを作成出来きるサービスもありますが、Wo
-
WordPress レスポンシブ テンプレート の メニューやブログの設置
前回の 「WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダ
-
wordpress カスタム投稿を一覧(ループ)で表示する
カスタム投稿を一覧で表示する方法がいろいろあります。 query_posts 関数が非推奨になって
-
WordPress 自作フォーム その3(チェックボックスなど)
以前、WordPress 自作フォーム その1の記事で Wordpress で自作フォームを作ってみ
-
WordPress twentyseventeen の function.php を見る – その1
WordPress の最低限の機能だけのシンプルなテンプレートが欲しかったので、作っておくことにしま
-
WordPress リビジョンを削除し、テーブルを最適化してDBの容量を削減
WordPress リビジョン機能 リビジョンは過去の記事を保存してくれる WordPress の
-
WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダウンロード
WordPress レスポンシブ テンプレートコーポレート用(シンプル・カスタマイズ用)ダウンロード
-
WordPress の PHP をちょっと見てみよう Ⅰ
WordPress には、たくさんのファイルが入っています。 ここではテーマ内ではなく、トップ
-
WordPress 自作フォーム その2(注意点とエラー:This is somewhat embarrassing, isn’t it? など)
前回(WordPress 自作フォーム 1)のつづきです。 今回は細かいところや注意点とエラーなど
-
WordPress の PHP をちょっと見てみよう Ⅲ
前記事の続きで、wp-settings.php の91行目あたりから見ていきます。 次は、wp