1

標準のcakePHP画像フォルダーにあるすべての画像を取得しようとしています。私は使っている:

App::uses('Folder', 'Utility');
App::uses('File', 'Utility');
$dir = new Folder('/app/webroot/img/');
$files = $dir->find('.*\.png');

pr($files);

しかし、私は常に空の配列を取得します。問題はどこだ?

さらに、そのフォルダーにディレクトリを作成しようとすると、エラーが発生します。

mkdir(): No such file or directory [CORE\Cake\Utility\Folder.php, line 515]
4

2 に答える 2

2

そうnew Folder('/app/webroot/img/');することで、実際にはアプリフォルダーがドライブのルートにあると言っています。そうでないため、CakePHP はそれを作成しようとしますが、作成できません (その mkdir エラー)。

おそらく次のようなことをする必要があります

$dir = new Folder(App.imageBaseUrl);

また

$dir = new Folder(APP_DIR . DS . "webroot" . DS . "img");.

パスを処理するために CakePHP が提供する定数を確認してください。

于 2013-10-30T15:25:12.210 に答える
1

答えが与えられ、受け入れられることを知っている、
これは文書によって与えられた正しい方法です。

<?php
// Find all .png in your app/webroot/img/ folder and sort the results
$dir = new Folder(WWW_ROOT . 'img');
$files = $dir->find('.*\.png', true);

http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::find

于 2016-03-15T17:57:07.043 に答える