Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.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空间自动替换为下划线_Php_Linux_Codeigniter - Fatal编程技术网

上载文件中的php空间自动替换为下划线

上载文件中的php空间自动替换为下划线,php,linux,codeigniter,Php,Linux,Codeigniter,我使用php脚本上传文件,然后通过url显示。如果上传的文件包含空格,它将被替换为下划线,而无需任何理由。这种改名对我来说是不必要的,如何阻止它?我使用ubuntu操作系统,PHP作为编程语言,codeigniter作为框架。我正在进行多重上传,即用户一次可以上传多个文件注意:文件名的数据库条目不会将空格替换为下划线 for($i = 0; $i < $filesCount; $i++){ $_FILES['userFile']['name'] = $_FILES[

我使用php脚本上传文件,然后通过url显示。如果上传的文件包含空格,它将被替换为下划线,而无需任何理由。这种改名对我来说是不必要的,如何阻止它?我使用ubuntu操作系统,PHP作为编程语言,codeigniter作为框架。我正在进行多重上传,即用户一次可以上传多个文件注意:文件名的数据库条目不会将空格替换为下划线

    for($i = 0; $i < $filesCount; $i++){
        $_FILES['userFile']['name'] = $_FILES['docs']['name'][$i];
        $_FILES['userFile']['type'] = $_FILES['docs']['type'][$i];
        $_FILES['userFile']['tmp_name'] = $_FILES['docs']['tmp_name'][$i];
        $_FILES['userFile']['error'] = $_FILES['docs']['error'][$i];
        $_FILES['userFile']['size'] = $_FILES['docs']['size'][$i];

        $config['upload_path'] = './companies/'.$this->company_name.'/';
        $config['allowed_types'] = 'gif|jpg|png|pdf|text|zip|doc|docx'; //Allowed file types
        $this->load->library('upload', $config);
        $this->upload->initialize($config);

        if($this->upload->do_upload('userFile')){
          $data['save_name']=$_FILES['userFile']['name'];
          if(!$this->clientdb->store($data))   // this calls storing function
             die('Error : Database connection aborted abruptly.');
        }
      }     // for loop
for($i=0;$i<$filescont;$i++){
$\u文件['userFile']['name']=$\u文件['docs']['name'][$i];
$\u文件['userFile']['type']=$\u文件['docs']['type'][$i];
$\u文件['userFile']['tmp\u name']=$\u文件['docs']['tmp\u name'][$i];
$\u文件['userFile']['error']=$\u文件['docs']['error'][$i];
$\u文件['userFile']['size']=$\u文件['docs']['size'][$i];
$config['upload_path']='./companys/'.$this->company_name./';
$config['allowed_types']=“gif | jpg | png | pdf | text | zip | doc | docx”;//允许的文件类型
$this->load->library('upload',$config);
$this->upload->initialize($config);
如果($this->upload->do_upload('userFile')){
$data['save_name']=$_FILES['userFile']['name'];
if(!$this->clientdb->store($data))//调用存储函数
die('错误:数据库连接突然中止');
}
}//for循环

这是由于CI提供的配置更改默认机制造成的 使用下面的代码

上面的
$this->load->library('upload',$config)


我们怎么能在看不到您使用的一行代码的情况下回答呢?@C̅R̅O̅Z̅E̅T̅如果您需要,我可以提供代码。不写代码的原因首先是我想检查这是linux系统还是php语言在上传时的默认行为。是的,你必须提供代码,因为重命名必须在你的代码中完成,如果您不告诉linux或php重命名文件,它们都不会重命名文件so@C我将很快粘贴有问题的代码。哦,谢谢你nishant nair。这不是CI所期望的。有一天我需要阅读整个CI文档。谢谢。@JoneDotosvky是的,我也是,从SO那里得到的。谢谢你这么做
    $config['remove_spaces'] = FALSE;