2012-09-29 65 views
0

我几乎完全按照CI文档所做的那样,做了一些小修改以适应我的需要,但总体上没有什么意义。我正在尝试上传的文件夹已存在,并已设置为777的权限。PHP Codeigniter无错地上传失败,没有错误日志,没有错误,没有任何东西

控制器:

if($this->input->post('uploads')) 
    { 
     $config['upload_path'] = realpath(APPPATH.'../images'); 
     $config['allowed_types'] = 'gif|jpg|png'; 
     $config['max_size'] = 0; 
     $config['max_width'] = 0; 
     $config['max_height'] = 0; 
     $config['remove_spaces'] = true; 

     $this->load->library('upload', $config); 

     if (!$this->upload->do_upload()) 
     { 
      $data['errors'] = $this->upload->display_errors(); 
     } 
     else 
     { 
      $data['upload_data'] = $this->upload->data(); 
     } 
    } 

的观点:

<?php 
if(isset($errors)) 
{ 
    $this->genfunc->debugArray($errors); 
} 
if(isset($upload_data)) 
{ 
    $this->genfunc->debugArray($upload_data, 'php'); 
} 
?> 

<div id="gallery"> 
    <?php if (isset($images) && count($images)): 
     foreach($images as $image): ?> 
     <div class="thumb"> 
      <a href="<?php echo $image['url']; ?>"> 
       <img src="<?php echo $image['thumb_url']; ?>" /> 
      </a>     
     </div> 
    <?php endforeach; else: ?> 
     <div id="blank_gallery">Please Upload an Image</div> 
    <?php endif; ?> 
</div> 

<div id="upload"> 
    <?php 
    echo form_open_multipart('upload'); 
    echo form_upload('userfile'); 
    echo form_submit('uploads', 'Upload'); 
    echo form_close(); 
    ?>  
</div> 

视图被加载为好,目前一切都被发送回相同的页面,预​​计。但是从文档中的CI示例中拿走,并且浏览了所有我认为没有理由的原因。希望有人能够阐明它,也许我错过了什么?

+0

控制器的名称和相应的功能是什么? –

+0

控制器名称是上传 – chris

+0

它在你的'index()'函数中? –

回答

0

显然在这一切futzin周围。我改变了

$ this-> load-> library('upload',$ config);

$ this-> load-> library('upload'); $ this-> upload-> initialize($ upload_config);

当我在它时,我将$config更改为$upload_config,并解决了这个问题。不知道在使用$config时是冲突还是第二个参数传递时加载机制中存在缺陷。无论哪种方式。上传现在可以使用。

0

将首先尝试:

  1. 与777个权限
  2. 更新$配置[ 'upload_path'] = './uploads/' 创建一个上传目录了你的根站点目录的;
+0

所以你说一个目录上面的public_html文件夹? – chris

+0

建议在与列出初始许可(用于测试)的ci应用程序和系统文件夹相同的目录级别创建上传目录。 –

+0

以及它目前不在应用程序文件夹中我的图像或上传与应用程序和系统处于同一级别我将我的资产保存为js CSS等。要升级一级将会进入我的服务器用户文件夹,然后是一个从这将是根/ home/mine/public_html/uploads – chris

0

确保您在配置文件中启用调试标志。面临同样的问题,并得到解决。在发生错误时应该创建错误日志的目录。

+0

在这台机器上,我已设置为显示错误,调试等。我的error_log没有显示任何东西。我的屏幕也不是,那是因为没有更好的文字而失败。我从那以后就得到了它,并不是100%确定问题是什么,而是改变了文献库加载的方式,配置读取和我在自己的答案中做出的小修改。解决了这个问题,现在我有一个新的有趣的问题。参与重命名该文件,使用文件名 – chris

+0

重命名该文件?哪个文件和哪里?我会建议如果找到这个问题的解决方案,那么在这里回答你自己的问题来帮助别人。为新的询问打开新的问题。 –

+0

我已经回答了我自己的问题,只是不能再选择2天。 – chris