Php Codeigniter上载功能不工作
我正在研究codeigniter,在创建一个API的过程中,我遇到了这个问题。我试图将图像作为文件上传到服务器上,在网上搜索时,我熟悉了codeigniter中的inbuild upload类。请看一下这个代码。我用这个从Android发送文件 我想不出我在这里面临的问题。我收到一个文件,但它没有上传 我还尝试使用Php Codeigniter上载功能不工作,php,android,codeigniter,file-upload,image-uploading,Php,Android,Codeigniter,File Upload,Image Uploading,我正在研究codeigniter,在创建一个API的过程中,我遇到了这个问题。我试图将图像作为文件上传到服务器上,在网上搜索时,我熟悉了codeigniter中的inbuild upload类。请看一下这个代码。我用这个从Android发送文件 我想不出我在这里面临的问题。我收到一个文件,但它没有上传 我还尝试使用$this->upload->do_upload()而不是$this->upload->do_upload('upload_file')和$config['max_size']='10
$this->upload->do_upload()
而不是$this->upload->do_upload('upload_file')
和$config['max_size']='10000'
而不是$config['max_size']=10000代码>。请帮忙。任何帮助都将不胜感激
此外,当此代码在web面板中运行时,工作正常。如果您提供有关所观察到的错误或警告类型的更多详细信息,效果会更好。
原因可能有很多
1) base\u url()
提供公共url。您必须指定上载文件夹的绝对或相对路径
2) (如果您使用的是Apache服务器)您的Apache用户没有对上载文件夹的写入权限
3) 文件夹路径不存在
如果第一个不起作用,请检查其余各点。希望这对你有帮助
问候
Muaaz尝试使用FCPATH
$config['upload_path'] = FCPATH . '/uploads/';
或
然后
- 在视图中检查表单输入
我的表单视图:
<input id="document" type="file" data-browse-label="browse" name="document" data-show-upload="false" data-show-preview="false" class="form-control file" />
你看到任何错误或警告了吗?我正在从Android上传文件,我无法添加输入标记。很抱歉,这可能有助于我访问此文件,但上传时有问题。不知道我需要在此->上传->上传()中传递哪个键 function@technicalbird这里有更详细的解释:如果我选择从AndroidI上传,这里的关键是什么?我没有收到任何错误。它一直给我成功
$config['upload_path'] = './uploads/';
<?php
class Example extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->helper('form');
}
// Name function what every you want remember to change it on view form.
public function upload() {
$config['upload_path'] = './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('uploaded_file')) {
// Then the success stuff
$upload_data = $this->upload->data();
echo $upload_data['file_name'];
} else {
// Errors
}
}
}
<?php echo form_open_multipart('example/upload');?>
<?php echo form_upload('uploaded_file', 'Upload');?>
<?php echo form_close();?>
<input id="document" type="file" data-browse-label="browse" name="document" data-show-upload="false" data-show-preview="false" class="form-control file" />
if ($_FILES['document']['size'] > 0) {
$this->load->library('upload');
$config['upload_path'] = 'uploads/images';
$config['allowed_types'] = '*';
$config['max_size'] = $this->allowed_file_size;
$config['overwrite'] = false;
$config['encrypt_name'] = true;
$this->upload->initialize($config);
if (!$this->upload->do_upload('document')) {
$error = $this->upload->display_errors();
$this->session->set_flashdata('error', $error);
redirect($_SERVER["HTTP_REFERER"]);
}
$photo = $this->upload->file_name;
}