【发布时间】:2014-09-19 07:30:51
【问题描述】:
第一个 - 我上传文件的代码点火器控制器:
$files = $_FILES;
$order_number = 5 //example
$cpt = count($_FILES['userfile']['name']);
$rand = md5(uniqid(rand(), true));
for($i=0;$i<$cpt;$i++)
{
if(!empty($files['userfile']['name'][$i]))
{
$_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];
$format=explode('.',$files['userfile']['name'][$i]);
$format=end($format);
$config_img['upload_path'] = './uploads/orders';
$config_img['allowed_types'] = 'jpg|png';
$config_img['file_name'] = $order_number.'_'.$rand.'.'.$format;
$config_img['max_size'] = '5120';
(...)//some code that is not a problem
$this->load->library('upload', $config_img);
if($this->upload->do_upload())
(...)
好的。到目前为止,Gettin 文件可以工作,但用另一个名称保存它是个问题。 例如,我发送 file1.png 和 file2.jpg 而且我没有得到 5_123123123.png 和 5_864192696219.jpg 这就是问题所在。 我得到了 2 个名称相同的文件(仅在上传类之前添加“1”),但最大的问题是它们也具有相同的格式。 (本例中为 .png)我的问题是如何在这里获得唯一名称?为什么所有文件都同名?
【问题讨论】:
-
把
$rand放在循环里面,它只设置一次
标签: php codeigniter upload continuous-integration