>我在将图像文件上传到CodeIgniter应用程序中的目标文件夹时遇到问题,但它根本无法正常工作。我已经参考了很多文章并下载了一些工作文章,但它们在我的应用程序中一次都不起作用,我认为这可能是我的.htaccess
文件还是什么。
当我删除doUpload
函数的上传$this->upload->do_upload('fileupload')
路径并删除 if 条件语句时,即使提取上传文件的名称并将其插入数据库表中,记录也成功插入数据库,但一旦我输入$this->upload->do_upload('fileupload')
,它将无法工作,这意味着 Codeigniterdo_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]
如果您已经对代码感到满意,请尝试检查您上传文件的目录权限。
愿此链接对您有所帮助 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
我很抱歉由于我的健康挑战而迟到了回复,因为我在发布这个问题后生病了,我感谢大家提供的帮助。我使用 dislay_error(( 查看此代码的错误消息是什么,错误消息说:"上传路径似乎无效。
我没有在服务器(托管服务器(上对此进行测试,我在 localhost 上工作并在确认所有内容在我的本地主机上工作后移动到服务器。我已经多次更改了upload_path("广告/","广告","./广告/","./广告"(,但仍然没有将它们移动到目标文件夹。
下图是我的文件夹结构:
在此处输入图像描述
$this->load->library('upload', $config(; $this->上传->初始化($config(;
使用此代码