如何在cakephp中获取文件大小

时间:2014-03-06 14:11:24

标签: cakephp

我正在使用info(),但它显示了file_size => 0

 $dir = new Folder('./path_to_folder/');
 $files = $dir->find('.*\.pdf');

 foreach($files as $file){
      debug($file); // here is name of file name
      $file = new File($file);
      debug($file->info());
 }

我也可以通过php获得大小。

debug(filesize($dir->path.'\/'.$file));

如何通过cakephp文件组件显示文件大小?

2 个答案:

答案 0 :(得分:3)

您必须为File返回的每个文件名创建一个$dir->find()对象。

另请注意,File::info()仅包含CakePHP 2.1以后的文件大小信息。

文档中有一个例子:

foreach ($files as $file) {
    $file = new File($dir->pwd() . DS . $file);

    // Now call size() on that file object
    $size = $file->size();

    // Alternatively, use info() if your version of CakePHP is at least 2.1
    $info = $file->info();
}

答案 1 :(得分:0)

您可以在文件对象上调用方法大小():

http://api.cakephp.org/2.4/class-File.html#_size