【问题标题】:Codeigniter - failed to open stream: HTTP wrapper does not support writeable connectionsCodeigniter - 无法打开流:HTTP 包装器不支持可写连接
【发布时间】:2017-03-30 12:08:41
【问题描述】:

我在codeigniter中上传图片有问题 这是我的看法:

<form method="post" action="<? echo site_url('do_upload'); ?>" id="createForm"  enctype="multipart/form-data" >
        <div style="display:none">
        <input type="hidden" name="<?php echo $this->security->get_csrf_token_name(); ?>" value="<?php echo $this->security->get_csrf_hash();?>" />
        </div> 

      <div class="form-group">
        <label for="exampleInputFile">Picture</label>
        <input type="file" name="picture" id="exampleInputFile">
        <p class="help-block">Choose file to upload.</p>
      </div>

    </div>
    <div class="modal-footer">
    <button type="submit" class="btn btn-primary">Save changes</button>
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</form>

我的控制器:

public function do_upload()
{
    if(isset($_FILES['picture']))
    { 
         $dossier = base_url().'assets/image/product/';
         $fichier = basename($_FILES['picture']['name']);
         if(move_uploaded_file($_FILES['picture']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         {
              echo 'Upload effectué avec succès !';
         }
         else //Sinon (la fonction renvoie FALSE).
         {
              echo 'Echec de l\'upload !';
         }
    }
}

我一直有这个问题:

Screen shot error

【问题讨论】:

  • 你检查你的上传文件夹权限了吗?
  • 不,我如何检查这个文件夹?
  • 您可以使用您的 ftp 客户端连接到服务器右键单击文件夹并查找文件夹权限
  • 但是我在本地工作我的项目,如何查看文件夹权限并在本地更改此权限??
  • 你在 Mac 或 pc 上做什么

标签: php codeigniter codeigniter-2 image-uploading codeigniter-3


【解决方案1】:

文件上传功能不支持基于 HTTP 和 https 的文件路径。另外,如果您使用基于 linux 的操作系统(如 ubuntu 或 mac)来授予文件夹权限,则为 ex 的所有文件夹的 777。 assets , image 和 product 这三个文件夹需要读写权限 777

public function do_upload()
{
    if(isset($_FILES['picture']))
    { 
         $dossier ='./assets/image/product/'; //based folder path if is inside public so u can use $dossier = './public/assets/image/product/';
         $fichier = basename($_FILES['picture']['name']);
         if(move_uploaded_file($_FILES['picture']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         {
              echo 'Upload effectué avec succès !';
         }
         else //Sinon (la fonction renvoie FALSE).
         {
              echo 'Echec de l\'upload !';
         }
    }
}

【讨论】:

    猜你喜欢
    • 2012-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    相关资源
    最近更新 更多