我在将图像文件上传到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]
答案 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'),但仍然没有将它们移至目标文件夹。
下面的图片是我的文件夹结构:
答案 2 :(得分:0)
$this->load->library('upload', $config); $this->upload->initialize($config);
使用此代码