Как я могу сохранить путь к файлу, который я загружаю в мою БД, используя CakePHP? - PullRequest
0 голосов
/ 05 августа 2011

Я использую помощник формы CakePHP для загрузки изображений на мой сервер.Загруженное имя файла сохраняется в БД, но я хочу сохранить полный путь к файлу на сервере, потому что мне нужно, чтобы это отображалось в моем json View (результат).Я пытался сделать это с помощью скрытого ввода в моей форме, но это не сработало, поэтому я застрял.Пожалуйста, помогите!Это моя форма:

<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 Ответ

1 голос
/ 05 августа 2011

Вы можете использовать функцию beforeSave () в CakePHP, чтобы добавить путь к имени файла до его сохранения в базе данных.Это позволит вам манипулировать данными формы до ее сохранения в базе данных. CakePHP beforeSave ()

Я также ознакомился бы с этими другими ресурсами по различным способам загрузки и хранения файлов в Cake:

Имейте в виду, что существуют более эффективные способы динамического определения пути к загружаемому файлу, чем использование статического пути, подобного этому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...