如何在codeigniter中上传多个文件并重命名每个文件?

时间:2014-06-13 08:52:14

标签: php codeigniter

嘿我想使用codeigniter上传多个文件..我获得了成功但现在我想在上传时重命名每个文件..我不能这样做..请帮助

这是我的代码..

if(isset($_FILES['userfile'])){
$config['upload_path'] = './resources/uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '1024';
$this->load->library('upload', $config);                                    
$files = $_FILES;
$cpt = sizeof($_FILES['userfile']['name']);

for($i=0; $i < $cpt; $i++)
{
$file_name=time().$i."_".($i+1);
$_FILES['userfile']['name']= $files['userfile']['name'][$i];
$_FILES['userfile']['type']= $files['userfile']['type'][$i];
$_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i];
$_FILES['userfile']['error']= $files['userfile']['error'][$i];
$_FILES['userfile']['size']= $files['userfile']['size'][$i];  
$this->upload->do_upload(); 
}
  

我想要这个$ file_name = time()。$ i。&#34; _&#34;。($ i + 1);用于重命名每个文件..

1 个答案:

答案 0 :(得分:1)

根据需要简单地将$file_name分配给文件名,

$file_name = time().$i."_".($i+1);
$_FILES['userfile']['name'] = $file_name;

添加具有唯一名称的扩展程序

$ext = end((explode(".", $files['userfile']['name'][$i])));
$file_name = time().$i."_".($i+1).".".$ext;
$_FILES['userfile']['name'] = $file_name;