CodeIgniter多文件上传-唯一文件名


CodeIgniter multiple file upload - unique filename

我做了一个函数,成功上传了[多个]文件。但如果我试图更改文件名,文件名会被更改,但只有最后一个选择的文件会被上传。

这是我的密码。

<?php
    $files = $_FILES['userfile'];
    $dir = './uploads/';
    foreach ($files['name'] as $key => $value) {
        $direction = $dir . $_FILES['userfile']['name'][$key];
        move_uploaded_file($_FILES['userfile']['tmp_name'][$key], $direction);
    }
?>

设法做到这一点

       $files = $_FILES['userfile'];
        $dir = './uploads/';
        foreach ($files['name'] as $key => $value) {
            $filename = $_FILES["userfile"]["name"][$key];
            $temp = explode(".", $filename);
            $newfilename = uniqid('',true).'.'.end($temp);
            $direction = $dir.$newfilename; 
            move_uploaded_file($_FILES['userfile']['tmp_name'][$key], $direction);
        }

问题出在microtime()

尝试此代码

//load date helper 
$this->load->helper('date');
$files = $_FILES['userfile'];
        $dir = './uploads/';
        foreach ($files['name'] as $key => $value) {
            $filename = $_FILES["userfile"]["name"][$key];
            $temp = explode(".", $filename);
            //
            $file_tempname = date('Y-m-d H:i:s');
            //
            $newfilename = $file_tempname.'.'.end($temp);
            $direction = $dir.$newfilename; 
            move_uploaded_file($_FILES['userfile']['tmp_name'][$key], $direction);
        }