CodeIgniter不会将图像移动到目标文件夹

时间:2019-12-10 05:46:56

标签: php codeigniter

我在将图像文件上传到CodeIgniter应用程序中的目标文件夹时遇到问题,并且根本无法正常工作。我已经提到了很多文章,并下载了一些有用的文章,但是它们在我的应用程序中一次都无法使用,我想这可能是我的.htaccess文件或其他文件。

当我删除$this->upload->do_upload('fileupload')函数的上载doUpload路径并删除if条件语句时,即使提取了上载文件的名称并将其插入到数据库中,记录也已成功插入数据库中。数据库表,但是一旦我放置$this->upload->do_upload('fileupload'),它就无法工作,这意味着Codeigniter do_upload()不会移动文件。

请检查我的代码doUpload()功能:

public function doUpload()
        {               
                $config['upload_path'] = './Adverts/';  //Adverts is a folder created in the directory where i have codeigniter application folder
                $config['allowed_types'] = 'gif|jpg|png';
                $config['max_size'] = '100048';
                $config['file_name'] = $_FILES['fileupload']['name'];

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

                if ($this->upload->do_upload('fileupload'))
                { 
                    $data2 = array(
                              'AdvertCode'=>$this->input->post('advertcode'),
                              'CustomersName'=>$this->input->post('customersname'),
                              'AdvertSubject'=>$this->input->post('advertsubject'),
                              'AdvertMessage'=>$this->input->post('editor1'),
                              'AdvertPhotoName'=>$config['file_name'],
                              'Addedby'=>$this->input->post('addedby')
                            );

                        $this->db->insert('mytable', $data2);

            $this->session->set_flashdata('Added Successfully','Record  successfully added');
                            $this->loadRecord();                     
                }
                else
                {   
                        echo 'Error uploading file';                                                                                                                           
                }
        }

下面是我的.htaccess文件:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

3 个答案:

答案 0 :(得分:1)

如果您已经对代码感到满意,请尝试检查目录权限以及将文件上传到的位置。

此链接是否可以帮助您 https://askubuntu.com/questions/303593/how-can-i-chmod-777-all-subfolders-of-var-www

针对ubuntu用户的示例:

root@server1:~# sudo chown www-data:www-data /var/www/html/assets/image
root@server1:~# sudo chmod 775 /var/www/html/assets/image

答案 1 :(得分:0)

由于我因生病而生病,我感到很抱歉,因为自从我发布此问题后生病了,我感谢大家提供的帮助。我已经使用dislay_error()来查看此代码的错误消息,错误消息显示:“上载路径似乎无效。”

我尚未在服务器(托管服务器)上对此进行测试,我在localhost上工作,并在确认一切都可以在localhost上运行后移至服务器。我已经多次更改了upload_path('Adverts /','Adverts','。/ Adverts /'、'./ Adverts'),但仍然没有将它们移至目标文件夹。

下面的图片是我的文件夹结构:

enter image description here

答案 2 :(得分:0)

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

使用此代码