2011-08-05 1 views
0

私はcakephp形式のヘルパーを使って自分のサーバーに画像をアップロードしています。アップロードされたファイル名はDBに格納されますが、私は json View(結果)に表示する必要があるため、サーバー上に完全なファイルパスを保存します。私は私のフォームに隠れた入力でこれを達成しようとしましたが、うまくいきませんでした。助けてください!CakePHPを使用して自分のDBにアップロードしているファイルのファイルパスをどのように保存できますか?

<div class="images form"> 
<?php // echo $this->Form->create('Image');?> 
<?php echo $form->create('Image',array('type' => 'file')); ?> 
<fieldset> 
    <legend><?php __('Add Image'); ?></legend> 
<?php 
    echo $this->Form->input('gallery_id'); 
    echo $this->Form->input('name'); 
    //echo $this->Form->input('img_file'); 
    $form->input('img_file', array('type' => 'file')); 
    echo $form->input('plaatsfoto', array('value'=>'http://localhost/tut_blog/img/uploads/images/','type' => 'hidden')); 

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

    <li><?php echo $this->Html->link(__('List Images', true), array('action' => 'index'));?  ></li> 
    <li><?php echo $this->Html->link(__('List Galleries', true), array('controller' => 'galleries', 'action' => 'index')); ?> </li> 
    <li><?php echo $this->Html->link(__('New Gallery', true), array('controller' => 'galleries', 'action' => 'add')); ?> </li> 
</ul> 
</div> 

答えて

1

あなたはそれをデータベースに保存される前に、ファイル名にパスを追加するCakePHPのbeforeSave()関数を使用することができます。これは私のフォームです。これにより、フォームデータをデータベースに保存する前にフォームデータを操作することができます。 CakePHP beforeSave()

また、私はケーキでアップロードして保存するファイルの種類の方法でこれらの他のリソースをチェックアウトします:

をあることに注意してくださいアップロードされたファイルのパスラスを動的に検出するためのより良い方法がありますこのような静的なパスを入れるよりも。

関連する問題