我正在尝试获取位于标准cakePHP图像文件夹中的所有图像。我正在使用:
App::uses('Folder', 'Utility');
App::uses('File', 'Utility');
$dir = new Folder('/app/webroot/img/');
$files = $dir->find('.*\.png');
pr($files);
但我总是得到空数组。问题在哪里?
Ina另外当我尝试在该文件夹中创建dir时出现错误:
mkdir(): No such file or directory [CORE\Cake\Utility\Folder.php, line 515]
答案 0 :(得分:2)
通过执行new Folder('/app/webroot/img/');
你实际上说你的app文件夹在驱动器的根目录中,并且因为它不是,CakePHP将尝试创建它,它不能(mkdir错误)
您可能需要执行类似
的操作 $dir = new Folder(App.imageBaseUrl);
或
$dir = new Folder(APP_DIR . DS . "webroot" . DS . "img");
。
检查常量CakePHP让您处理路径http://book.cakephp.org/2.0/en/core-libraries/global-constants-and-functions.html#core-definition-constants应该是有用的
答案 1 :(得分: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