如何使用CakePHP获取文件夹中的所有图像

时间:2013-10-30 15:14:11

标签: php cakephp

我正在尝试获取位于标准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]

2 个答案:

答案 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