Cakephp Upload Plugin 2.0如何存储没有扩展名的文件名



我正在使用Upload插件2.0(https://github.com/josegonzalez/upload(,并且我在填充名称字段时遇到了一点麻烦。

我的表单有一个用于名称字段的隐藏输入字段。

<?php echo $this->Form->create('Image', array('type' => 'file')); ?>
    <fieldset>
        <legend><?php echo __('Add Image'); ?></legend>
    <?php
        echo $this->Form->input('animal_id');
        echo $this->Form->input('name', array('type' => 'hidden'));
        echo $this->Form->input('attachment', array('type' => 'file'));
        echo $this->Form->input('dir', array('type' => 'hidden'));
        echo $this->Form->input('type', array('type' => 'hidden'));
        echo $this->Form->input('size', array('type' => 'hidden'));
        echo $this->Form->input('active', array('type' => 'hidden'));
    ?>
    </fieldset>
<?php echo $this->Form->end(__('Submit')); ?>

我正在使用maodel的$actAs数组中的字段行为:

'fields' => array(
    'dir' => 'dir',
    'name' => 'name',
),

文档建议创建"名称"字段,但由于它不是像大小/类型字段那样自动填充的,所以我必须缺少一些内容。我只想它是文件的名称,末尾没有扩展名(即jpg,.gif(。

在您的控制器中,您可以使用pathinfo

public function add(){
   //...
   $path = $this->request->data['Image']['name'];
   $file_info = pathinfo($path);
   if(isset($file_info['filename'])){
      $this->request->data['Image']['name'] = $file_info['filename'];
   }
   //....
}

相关内容

最新更新