如何从meioupload行为中获取文件大小以打印它

时间:2012-01-14 10:43:53

标签: cakephp cakephp-1.3 cakephp-2.0 cakephp-1.2

我使用meioupload来上传文件..但我想保存我上传的每个文件的大小..所以如何使用meioupload来获取上传的文件大小...如果它不支持这个选项..无论如何都要那样做..

模型/的download.php

<?php
class Download extends AppModel {
    var $name = 'Download';

var $actsAs = array(
'MeioUpload' => array(
'file_name' => array(
'dir' => 'files',
'create_directory' => false,
'allowedMime' => array('application/pdf', 'application/
msword', 'application/vnd.ms-powerpoint', 'application/vnd.ms-excel',
'application/rtf', 'application/zip'),
'allowedExt' => array('.pdf', '.doc', '.ppt', '.xls',
'.rtf', '.zip'),
'default' => false,
)
)
);

上传新文件downloads / add.ctp

<div class="files form">
<?php echo $form->create('Download',array('type' => 'file')); ?>
    <fieldset>
        <legend><?php __('Add FIle'); ?></legend>
    <?php

echo $this->Form->input('title');
echo $form->input('file_name', array('type' => 'file'));
$options = array('d'=>'Document','P'=>'Pdf','A'=>'Audio','C'=>'Compressed','o'=>'Other');
echo $form->select('type',$options,'f',array('empty'=>false));

    ?>
    </fieldset>
<?php echo $this->Form->end(__('Submit', true));?>
</div>
<div class="actions">
    <h3><?php __('Actions'); ?></h3>
    <ul>

        <li><?php echo $this->Html->link(__('List Files', true), array('action' => 'index'));?></li>
        <li><?php echo $this->Html->link(__('Add File', true), array('action' => 'add')); ?> </li>
    </ul>
</div>

1 个答案:

答案 0 :(得分:1)

相信使用MeioUpload行为 - 如果您在数据库表中有一个字段,您要保存名为'filesize'的文件信息,它将自动保存该字段中的文件大小。< / p>

你有没有尝试过这样做?然后,您可以使用NumberHelper-&gt; toReadableSize()将该数字转换为更易于阅读的数字(例如,以KB,MB,GB,TB为单位)。