Отсутствует изображение в записи блога cakephp - PullRequest
2 голосов
/ 18 октября 2011

Я новичок в cakePHP и привожу в блог пример книги cakePHP 1.3. Я правильно загружаю изображение в этом примере блога. Название изображения в базе данных и изображение в DOCUMENT_ROOT / .... правильно но теперь я хочу показать изображение в своем блоге с соответствующим постом.

Я использую этот код для загрузки изображения ...

 function add() {

if (!empty($this->data)) {
    if(isset($this->data["Image"]["image"]["name"])){
        $file = new File($this->data["Image"]["image"]["name"]);
        $ext = $file->ext();

        if ($ext != 'jpg' && $ext != 'jpeg' && $ext != 'gif' && $ext != 'png') {
 $this->Session->setFlash('You may only upload image files.');
        }else{
         if(move_uploaded_file($this->data["Image"]["image"]                ["tmp_name"],$_SERVER["DOCUMENT_ROOT"]."test_om/blog/app/webroot/img/upload_image/"
                 . $this->data["Image"]["image"]["name"]) == true){
             $this->data["Post"]["image"] =  $this->data["Image"]["image"]["name"];
         }

    $this->Post->save($this->data);
    $this->Session->setFlash('Your post has been saved.');
        $this->redirect(array('action' => 'index'));
                    }
    }
  }

 } 

и я показываю изображение из этого кода

       <?php echo $this->Html->image('/img/upload_image/1.gif'); ?>

и это показывает одно и то же изображение со всеми постами. но я хочу установить конкретное изображение с соответствующим постом ....

1 Ответ

1 голос
/ 18 октября 2011

Если вы уверены, что получаете все правильно (в базе данных и в файле, где это должно быть), вы должны использовать что-то подобное в представлении.

<?php echo $this->Html->image($this->data['Post']['image']); ?>

это предполагает, что вы передаетеданные из контроллера способом, описанным в руководстве к представлению представления:)

, если представление представления индекса, у вас должны быть переменные сообщения, которые имеют всю информацию сообщения, и в представлении вы будете в циклекак foreach ($ post как $ post).Предполагая, что ваше представление должно иметь что-то вроде этого:

<?php echo $this->Html->image($post['Post']['image']); ?>

Предложение: используйте набор отладки (плагин cakephp), чтобы вы могли видеть, какие переменные передаются и структуру (например, pr ($ variable))

Надеюсь, все это поможет вам, если нет, прокомментируйте этот пост, чтобы я мог попытаться расширить свой ответ, если это необходимо

...