1

Upload Plugin 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動作を使用しています。

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

ドキュメントでは「名前」フィールドの作成を推奨していますが、サイズ/タイプフィールドのように自動的に入力されないため、何かが不足している必要があります。最後に拡張子を付けないファイルの名前(つまり、jpg、.gif)にしたいだけです。

4

1 に答える 1

1

コントローラーでは、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'];
   }
   //....
}
于 2013-02-25T10:22:51.440 に答える