Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter文件上载错误:“您没有选择要上载的文件”_Php_Codeigniter - Fatal编程技术网

Php Codeigniter文件上载错误:“您没有选择要上载的文件”

Php Codeigniter文件上载错误:“您没有选择要上载的文件”,php,codeigniter,Php,Codeigniter,我正在使用codeigniter 3,出现错误,好像您没有选择要上载的文件。在do_upload函数中,但是普通的php函数move_upload_file可以正常工作。我参考了stackoverflow的大部分答案,但没有找到解决方案 我想这可能是wamp的问题,但我没有弄清楚它在哪里。 如果此代码在您的机器上工作,那么它将在我的wamp php或Apache设置中出现 视图:upload.php 根据CI 3,您需要在$this->upload->do_upload中传递name属性 所以您

我正在使用codeigniter 3,出现错误,好像您没有选择要上载的文件。在do_upload函数中,但是普通的php函数move_upload_file可以正常工作。我参考了stackoverflow的大部分答案,但没有找到解决方案

我想这可能是wamp的问题,但我没有弄清楚它在哪里。 如果此代码在您的机器上工作,那么它将在我的wamp php或Apache设置中出现

视图:upload.php


根据CI 3,您需要在$this->upload->do_upload中传递name属性

所以您需要在其中传递name属性

$this->upload->do_upload('file');

检查您上载的文件的大小,因为您设置了$config['max_size']=“100”;。这意味着您将无法上传超过100KB的文件大小


读取

首先加载上载库,然后初始化配置数据

并在$this->upload->do_upload'file中传递输入文件类型的属性名

function do_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);  # Load upload library
    $this->upload->initialize($config);   # Initialize 
    if ( ! $this->upload->do_upload('file')) 
    {
        $error = array('error' => $this->upload->display_errors());
        var_dump($error);
    }
    else
    {
        $data = array('upload_data' => $this->upload->data());
    }

}

这可能与301错误导致的邮政损失有关

试着替换

<?php echo form_open_multipart('welcome/do_upload'); ?>
有工作可做

<form action="do_upload" method="post" enctype="multipart/form-data">

如果有效,路由配置中会出现一些错误

尝试在$this->upload->do_upload'file'中传递字段名,然后check@Saty是的,我尝试了与您上载的文件相同的issueCheck大小,因为您设置了$config['max_size']='100';。这意味着您将无法上载超过100 KB的文件大小。另外,请检查上载目录的权限。@Saty您的第一个解决方案是正确的。以前我试过这样做,但我没有得到现在它是工作。我现在正在测试
<?php echo form_open_multipart('welcome/do_upload'); ?>
<form action="do_upload" method="post" enctype="multipart/form-data">