Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ajaxForm使用codeigniter将图像插入图像文件夹不工作_Codeigniter_Ajaxform - Fatal编程技术网

ajaxForm使用codeigniter将图像插入图像文件夹不工作

ajaxForm使用codeigniter将图像插入图像文件夹不工作,codeigniter,ajaxform,Codeigniter,Ajaxform,您好,我有这个表单,我使用ajaxForm在images文件夹中提交我的图像。我已经有了ajaxForm的库,当我尝试上载图像时,我注意到我上载的图像不会上载到assets/uploads文件夹我尝试打印路径,但它显示图像的文件名,但不会插入assets/uploads文件夹下面是我的视图 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> <scr

您好,我有这个表单,我使用ajaxForm在images文件夹中提交我的图像。我已经有了ajaxForm的库,当我尝试上载图像时,我注意到我上载的图像不会上载到assets/uploads文件夹我尝试打印路径,但它显示图像的文件名,但不会插入assets/uploads文件夹下面是我的视图

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
  <script src="http://malsup.github.com/jquery.form.js"></script> 
  <script> 
      jQuery(document).ready(function($){
          $("#uploadPhoto").change(function(){
                var val = $(this).val();
                switch(val.substring(val.lastIndexOf('.') + 1).toLowerCase()){
                  case 'gif': case 'jpg': case 'png': case 'jpeg':
                   $("#ptxt").fadeOut();
                   $("#buttonGallery").show();
                  break;
                  default:
                    $(this).val('');
                    // error message here
                    $("#ptxt").fadeIn();
                    $("#buttonGallery").hide();
                    break;
                }
              }); 

              $('#send_form').ajaxForm({  
                  target: '.result',
                  success: function(data) {

                  }      
              }); 


      });



    </script> 



<form id="send_form" enctype="multipart/form-data" action="<?php echo base_url().'admin/rooms/addGallery'?>" method="post" >                          
                          <div class="row">
                            <div class="col-md-4">
                              <div><h3>Gallery</h3></div>
                                                            <div class="alert alert-danger" id="ptxt">
                                                                <p>Invalid file type</p>
                                                            </div>
                              <div class="form-group">
                                <label for="uploadPhoto">Upload photo</label>
                                <input type="file" name="uploadPhoto" id="uploadPhoto" placeholder="Enter ">
                              </div>
                              <div class="form-group">
                                <label for="photoTitle">Photo title</label>
                                <input type="text" name="photoTitle" class="form-control" id="photoTitle" placeholder="Photo title " >
                              </div>
                              <div class="form-group">
                                <label for="photoDescription">Photo description</label>
                                <textarea name="photoDescription" class="form-control" id="photoDescription" placeholder="Photo description " rows="5"></textarea>
                              </div>                                                            
                            </div>                            
                          </div>
                                                    <input type="hidden" name="galleryId" id="galleryId" value="<?php echo $getRoomDetails->id; ?>">
                          <button type="submit" name="buttonGallery" id="buttonGallery" class="btn btn-primary">Save</button>
                        </form>
我在
公共函数\uuuu构造中添加了一个配置,只是为了确保

public function __construct(){
        parent::__construct();
         $config['upload_path'] = 'assets/uploads/';
    // set the filter image types
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size'] = '9000';
    $config['encrypt_name']  = TRUE;

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

    $this->upload->initialize($config);
    $this->upload->set_allowed_types($config['allowed_types']);
    $data['upload_data'] = '';


    }

有人能帮我解决这个问题吗?TIA

试着为您的客户提供完整的路径

$config['upload_path']

我相信你需要给出完整的路径,才能保存你的图像。要获取完整路径,可以使用函数

getcwd()

要获取当前的工作目录,并获取该目录,您需要在文件夹的剩余部分添加内容


在加载帮助程序之前,还要初始化配置数组。

控制器文件中有问题

您可以在配置设置之前上载文件

您的控制器代码将是

<?php
public function addGallery(){
$data['upload_data'] = $this->upload->data();

$uploadSuccess = $data['upload_data'];

$raw_name = $uploadSuccess['file_name'];

$image_path = 'assets/uploads/' . $file_name;
 $config['upload_path'] = 'assets/uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';

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

if (!$this->upload->do_upload()) {
    $error = array('error' => $this->upload->display_errors());

    $this->load->view('upload_form', $error);
} else {
    $data['upload_data'] = $this->upload->data();          

            $uploadSuccess = $data['upload_data'];
            $raw_name = $uploadSuccess['file_name'];
            $file_name = $raw_name;
            $this->load->library('image_lib');

            $image_path = 'assets/uploads/' .$file_name;
            $config['image_library'] = 'gd2';
            $config['source_image'] =  $image_path;
            $config['create_thumb'] = FALSE;
            $config['maintain_ratio'] = TRUE;
            $config['width'] = 150;
            $config['height'] = 110;
            $config['new_image'] = 'thumb_'.$file_name;
            $this->image_lib->initialize($config);
            $this->image_lib->resize();
            $this->image_lib->clear();
}
}

在加载帮助程序之前,是否已选中文件夹权限检查我的编辑并初始化配置变量
<?php
public function addGallery(){
$data['upload_data'] = $this->upload->data();

$uploadSuccess = $data['upload_data'];

$raw_name = $uploadSuccess['file_name'];

$image_path = 'assets/uploads/' . $file_name;
 $config['upload_path'] = 'assets/uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';

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

if (!$this->upload->do_upload()) {
    $error = array('error' => $this->upload->display_errors());

    $this->load->view('upload_form', $error);
} else {
    $data['upload_data'] = $this->upload->data();          

            $uploadSuccess = $data['upload_data'];
            $raw_name = $uploadSuccess['file_name'];
            $file_name = $raw_name;
            $this->load->library('image_lib');

            $image_path = 'assets/uploads/' .$file_name;
            $config['image_library'] = 'gd2';
            $config['source_image'] =  $image_path;
            $config['create_thumb'] = FALSE;
            $config['maintain_ratio'] = TRUE;
            $config['width'] = 150;
            $config['height'] = 110;
            $config['new_image'] = 'thumb_'.$file_name;
            $this->image_lib->initialize($config);
            $this->image_lib->resize();
            $this->image_lib->clear();
}
}