Image CakePHP不';不显示上传的图片

Image CakePHP不';不显示上传的图片,image,cakephp,Image,Cakephp,我真的疯了 我和Meiouploader和PHPThumb一起做了一个画廊。一切都很顺利 我上传的图像保存在img/uploads/images文件夹中,也保存在我的数据库中 但在显示图像的字段中,我只看到alt文本。不是图像 但是在检查HTML代码时,我看到了图像的正确路径。但我没看到 怎么了 请帮忙 好的,这是我所有的代码: 我认为路径是正确的,因为在浏览器的源代码中,我可以看到图像标记。以下是我的图像模型代码: class Image extends AppModel { var $nam

我真的疯了

我和Meiouploader和PHPThumb一起做了一个画廊。一切都很顺利

我上传的图像保存在img/uploads/images文件夹中,也保存在我的数据库中

但在显示图像的字段中,我只看到alt文本。不是图像

但是在检查HTML代码时,我看到了图像的正确路径。但我没看到

怎么了

请帮忙

好的,这是我所有的代码: 我认为路径是正确的,因为在浏览器的源代码中,我可以看到图像标记。以下是我的图像模型代码:

class Image extends AppModel {
var $name = 'Image';
var $validate = array(
    'gallery_id' => array(
        'numeric' => array(
            'rule' => array('numeric'),
            //'message' => 'Your custom message here',
            //'allowEmpty' => false,
            //'required' => false,
            //'last' => false, // Stop validation after this rule
            //'on' => 'create', // Limit validation to 'create' or 'update' operations
        ),
    ),
    'name' => array(
        'notempty' => array(
            'rule' => array('notempty'),
            //'message' => 'Your custom message here',
            //'allowEmpty' => false,
            //'required' => false,
            //'last' => false, // Stop validation after this rule
            //'on' => 'create', // Limit validation to 'create' or 'update' operations
        ),
    ),
    //'img_file' => array(
        //'notempty' => array(
            //'rule' => array('notempty'),
            //'message' => 'Your custom message here',
            //'allowEmpty' => false,
            //'required' => false,
            //'last' => false, // Stop validation after this rule
            //'on' => 'create', // Limit validation to 'create' or 'update' operations
        //),
    //),
);
//The Associations below have been created with all possible keys, those that are not needed can be removed

var $belongsTo = array(
    'Gallery' => array(
        'className' => 'Gallery',
        'foreignKey' => 'gallery_id',
        'conditions' => '',
        'fields' => '',
        'order' => ''
    )
);

var $actsAs = array(
    'MeioUpload' => array(
        'img_file' => array(
            'dir' => 'img{DS}uploads{DS}images',
            'create_directory' => false,
            'allowed_mime' => array('image/jpeg', 'image/pjpeg', 'image/png'),
            'allowed_ext' => array('.jpg', '.jpeg', '.png'),
            'zoomCrop' => true,
            'thumbnails' => true ,
            'thumbnailQuality' => 75, 
            'thumbnailDir' => 'thumb',
            'removeOriginal' => true,
            'thumbsizes' => array(
                'normal' => array('width' => 400, 'height' => 300),
            ),
            'default' => 'default.jpg'          
        )
    )
);
}

以下是我的图像控制器代码:

class ImagesController extends AppController {

var $name = 'Images';

function index() {
    $this->Image->recursive = 0;
    $this->set('images', $this->paginate());
}

function view($id = null) {
    if (!$id) {
        $this->Session->setFlash(__('Invalid image', true));
        $this->redirect(array('action' => 'index'));
    }
    $this->set('image', $this->Image->read(null, $id));
}

function add() {
    if (!empty($this->data)) {
        $this->Image->create();
        if ($this->Image->save($this->data)) {
            $this->Session->setFlash(__('The image has been saved', true));
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash(__('The image could not be saved. Please, try again.', true));
        }
    }
    $galleries = $this->Image->Gallery->find('list');
    $this->set(compact('galleries'));
}

function edit($id = null) {
    if (!$id && empty($this->data)) {
        $this->Session->setFlash(__('Invalid image', true));
        $this->redirect(array('action' => 'index'));
    }
    if (!empty($this->data)) {
        if ($this->Image->save($this->data)) {
            $this->Session->setFlash(__('The image has been saved', true));
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash(__('The image could not be saved. Please, try again.', true));
        }
    }
    if (empty($this->data)) {
        $this->data = $this->Image->read(null, $id);
    }
    $galleries = $this->Image->Gallery->find('list');
    $this->set(compact('galleries'));
}

function delete($id = null) {
    if (!$id) {
        $this->Session->setFlash(__('Invalid id for image', true));
        $this->redirect(array('action'=>'index'));
    }
    if ($this->Image->delete($id)) {
        $this->Session->setFlash(__('Image deleted', true));
        $this->redirect(array('action'=>'index'));
    }
    $this->Session->setFlash(__('Image was not deleted', true));
    $this->redirect(array('action' => 'index'));
}
}
以下是我的index.ctp-View代码:

<div class="images index">
<h2><?php __('Images');?></h2>
<table cellpadding="0" cellspacing="0">
<tr>
        <th><?php echo $this->Paginator->sort('id');?></th>
        <th><?php echo $this->Paginator->sort('gallery_id');?></th>
        <th><?php echo $this->Paginator->sort('name');?></th>
        <th><?php echo $this->Paginator->sort('img_file');?></th>
        <th class="actions"><?php __('Actions');?></th>
</tr>
<?php
$i = 0;
foreach ($images as $image):
    $class = null;
    if ($i++ % 2 == 0) {
        $class = ' class="altrow"';
    }
?>
<tr<?php echo $class;?>>
    <td><?php echo $image['Image']['id']; ?>&nbsp;</td>
    <td>
        <?php echo $this->Html->link($image['Gallery']['name'], array('controller' => 'galleries', 'action' => 'view', $image['Gallery']['id'])); ?>
    </td>
    <td><?php echo $image['Image']['name']; ?>&nbsp;</td>
    <!--<td><?php echo $image['Image']['img_file']; ?>&nbsp;</td>-->

    <td><?php  echo $html->image('uploads' . DS . 'images' . DS . $image['Image']['img_file'], array('alt' => 'Gallery Image', 'width' => '400')); ?></td>

    <td class="actions">
        <?php echo $this->Html->link(__('View', true), array('action' => 'view', $image['Image']['id'])); ?>
        <?php echo $this->Html->link(__('Edit', true), array('action' => 'edit', $image['Image']['id'])); ?>
        <?php echo $this->Html->link(__('Delete', true), array('action' => 'delete', $image['Image']['id']), null, sprintf(__('Are you sure you want to delete # %s?', true), $image['Image']['id'])); ?>
    </td>
</tr>
<?php endforeach; ?>
    </table>
        <p>
        <?php
            echo $this->Paginator->counter(array(
            'format' => __('Page %page% of %pages%, showing %current% records out of %count% total, starting on record %start%, ending on %end%', true)
            ));
        ?>  
        </p>

    <div class="paging">
        <?php echo $this->Paginator->prev('<< ' . __('previous', true), array(), null, array('class'=>'disabled'));?>
        <?php echo $this->Paginator->numbers();?>
        <?php echo $this->Paginator->next(__('next', true) . ' >>', array(), null, array('class' => 'disabled'));?>
    </div>
</div>
<div class="actions">
    <h3><?php __('Actions'); ?></h3>
    <ul>
        <li><?php echo $this->Html->link(__('New Image', true), array('action' => 'add')); ?></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>
<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');
    echo $form->input('img_file', array('type' => 'file'));
?>
</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>


下面是我的add.ctp-View代码:

<div class="images index">
<h2><?php __('Images');?></h2>
<table cellpadding="0" cellspacing="0">
<tr>
        <th><?php echo $this->Paginator->sort('id');?></th>
        <th><?php echo $this->Paginator->sort('gallery_id');?></th>
        <th><?php echo $this->Paginator->sort('name');?></th>
        <th><?php echo $this->Paginator->sort('img_file');?></th>
        <th class="actions"><?php __('Actions');?></th>
</tr>
<?php
$i = 0;
foreach ($images as $image):
    $class = null;
    if ($i++ % 2 == 0) {
        $class = ' class="altrow"';
    }
?>
<tr<?php echo $class;?>>
    <td><?php echo $image['Image']['id']; ?>&nbsp;</td>
    <td>
        <?php echo $this->Html->link($image['Gallery']['name'], array('controller' => 'galleries', 'action' => 'view', $image['Gallery']['id'])); ?>
    </td>
    <td><?php echo $image['Image']['name']; ?>&nbsp;</td>
    <!--<td><?php echo $image['Image']['img_file']; ?>&nbsp;</td>-->

    <td><?php  echo $html->image('uploads' . DS . 'images' . DS . $image['Image']['img_file'], array('alt' => 'Gallery Image', 'width' => '400')); ?></td>

    <td class="actions">
        <?php echo $this->Html->link(__('View', true), array('action' => 'view', $image['Image']['id'])); ?>
        <?php echo $this->Html->link(__('Edit', true), array('action' => 'edit', $image['Image']['id'])); ?>
        <?php echo $this->Html->link(__('Delete', true), array('action' => 'delete', $image['Image']['id']), null, sprintf(__('Are you sure you want to delete # %s?', true), $image['Image']['id'])); ?>
    </td>
</tr>
<?php endforeach; ?>
    </table>
        <p>
        <?php
            echo $this->Paginator->counter(array(
            'format' => __('Page %page% of %pages%, showing %current% records out of %count% total, starting on record %start%, ending on %end%', true)
            ));
        ?>  
        </p>

    <div class="paging">
        <?php echo $this->Paginator->prev('<< ' . __('previous', true), array(), null, array('class'=>'disabled'));?>
        <?php echo $this->Paginator->numbers();?>
        <?php echo $this->Paginator->next(__('next', true) . ' >>', array(), null, array('class' => 'disabled'));?>
    </div>
</div>
<div class="actions">
    <h3><?php __('Actions'); ?></h3>
    <ul>
        <li><?php echo $this->Html->link(__('New Image', true), array('action' => 'add')); ?></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>
<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');
    echo $form->input('img_file', array('type' => 'file'));
?>
</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>

我确实很喜欢Jason Whydro的教程,但效果不好。它不显示此字段中的图片,只显示其中的alt文本和宽度

当我在浏览器的源代码中点击指向其中一幅图像的链接时,他告诉我:没有对象。在服务器上找不到URL

我希望这足以让你看到哪里出了问题。我看不出来。用户权限是什么意思?如果这是问题所在,我如何修复它。我使用Windows8


您好…

如果您的路径正确,则意味着当您将其放在浏览器的url栏上时,它应该会出现


如果没有,则可能是权限问题。尝试检查您对http用户的文件权限。

您能提供任何代码片段吗?我将完整的代码放在那里……完成了:)就是路径。愚蠢的此代码中的分隔符不起作用。我把它放在一根绳子里,它工作得很好!谢谢路径是正确的,但是当我在源代码中单击URL时,我的浏览器说他在服务器上找不到任何对象或URL!