PHP Codeigniter上传失败,没有错误

时间:2015-05-13 04:49:32

标签: php forms codeigniter file-upload

我想使用注册表单上传文件。我使用了Codeigniter的File_Upload库。但该文件不会上传到目标,也不会出现错误。 这只是我代码的一部分(所有这些都非常庞大)

Controller(seeker_register.php):

public function submit(){
...
$this->load->model('mseeker_register');
$user_id = $this->mseeker_register->register($data);

查看(vseeker_register.php):

$attr = array("class" => 'form-horizontal seeker_register','id' => 'form-seeker-register');
echo form_open_multipart('seeker_register/submit',$attr);
...
<div class="col-sm-6 col-sm-offset-3">
<input name="Aks" type="file" class="fileinput" accept=".jpg, .jpeg">
</div>

模型(mseeker_register.php):

...
// Prepare Aks
$config = array(
    'upload_path' => './img/users',
    'allowed_types' => 'jpg|jpeg|JPG|JPEG',
    'max_size' => '200',
    'max_width' => '1024',
    'max_height' => '768');

$this->upload->initialize($config);
$this->upload->do_upload('Aks');

$this->upload->display_errors();
exit();
...

这是$ this-&gt; upload-&gt; data()输出:

Array
(
    [file_name] => Clipboard-2.jpg
    [file_type] => image/jpeg
    [file_path] => D:/khayyamkar.ir/www/img/users/
    [full_path] => D:/khayyamkar.ir/www/img/users/Clipboard-2.jpg
    [raw_name] => Clipboard-2
    [orig_name] => 
    [client_name] => Clipboard-2.jpg
    [file_ext] => .jpg
    [file_size] => 156.42
    [is_image] => 1
    [image_width] => 
    [image_height] => 
    [image_type] => 
    [image_size_str] => 
)

2 个答案:

答案 0 :(得分:3)

当我扫描你的代码时,我意识到你没有办法查看错误。

要查看错误是什么/你需要使用var_dump()print_r() php方法来查看错误是什么。

例如:

var_dump($this->upload->display_errors());

在您当前的代码中需要更改:

$this->upload->display_errors();
exit();

TO:

var_dump($this->upload->display_errors());
exit();

您需要首先确定错误,然后才能找到解决方案。

:)

答案 1 :(得分:2)

public function register() {

    $config = array(
        'upload_path' => './img/user',
        'allowed_types' => 'jpg|jpeg|JPG|JPEG|png',
        'max_size' => '200',
        'max_width' => '1024',
        'max_height' => '768');

    $this->upload->initialize($config);

    // you need to make sure that the upload path is existing
    // and also check the folder permission to be rwxr-xr-x
    // if you installed in a server where permission is required
    // for you to create image inside the folder

    // create a folder img/user in the root directory of the project
    // where application or system located

    // this will check 
    if ($this->upload->do_upload('Aks')) {
        echo 'success'; die;
    } else {
        var_dump($this->upload->display_errors());die;
    }


}

请参阅File Upload CodeIgniter