【问题标题】:Missing image in cakephp blog postcakephp 博客文章中缺少图像
【发布时间】:2011-12-10 01:09:54
【问题描述】:

我是 cakePHP 新手,我正在尝试 cakePHP 1.3 book 的博客示例。 我在此博客示例中正确上传了图像。数据库中的图像名称和 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'); ?>

这会显示与所有帖子相同的图像。 但我想用它的相关帖子设置特定的图像....

【问题讨论】:

  • 您的图片上传正确吗?它是否存在于它应该存在的路径中?
  • 是的,我的图像已正确上传到此路径文件夹和数据库表中的图像名称中,但现在我想在我的博客上显示此图像以及相关帖子..请帮助

标签: mysql cakephp file-upload upload image-uploading


【解决方案1】:

如果你确定你得到的一切都是正确的(在数据库和它应该在的文件中)你应该在视图中使用这样的东西。

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

这是假设您以教程中描述的方式将数据从控制器传递到视图视图:)

如果是一个索引视图,你应该有一个包含所有帖子信息的变量帖子,并且在视图中你将像 foreach 一样处于循环中($post as $post)。假设你的视图应该是这样的:

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

建议:使用调试工具包(cakephp 插件),这样你就可以看到传递了哪些变量以及结构(如 pr($variable))

希望这一切对你有帮助,如果没有,请评论这篇文章,以便我可以在需要时尝试扩展我的答案

【讨论】:

  • 我用你的代码和图片地址就像......Html->image('/img/upload_image/'.$post['Post'] [ '图片']); ?> 并且它的工作正常...感谢您的帮助。
  • 如果我删除相同的帖子,是否可以从保存的文件夹中删除图像...
  • 要从保存的文件夹中删除图像,您必须使用 php 样式,或者如果您想要蛋糕样式,您可以使用 file class
  • 我用 if(isset($path)){ unlink($_SERVER["DOCUMENT_ROOT"]."test_om/blog/app/webroot/img/upload_image/".$path); }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-14
  • 2018-02-23
  • 2012-03-11
  • 2018-06-05
  • 1970-01-01
  • 2015-06-03
相关资源
最近更新 更多