我做了一个函数,成功上传了[多个]文件。但如果我试图更改文件名,文件名会被更改,但只有最后一个选择的文件会被上传。
这是我的密码。
<?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);
}