我当前正在使用以下代码来上传并重命名单个文件。
表格..
<form method="post" enctype="multipart/form-data" name="formUploadFile">
<label>Select file to upload:</label>
<input type="file" name="files[]" multiple="multiple" /> <input type="submit" value="Upload" name="btnSubmit"/>
</form>
和以下php片段起到了神奇作用。
if($UploadOk == true){
$name = "foobar.csv";
move_uploaded_file($temp,$UploadFolder."/".$name);
array_push($uploadedFiles, $name);
}
但是我现在想用它上传2个文件,并希望第一个文件重命名为foobar.csv,第二个文件重命名为foobar2.csv,我将如何处理?
我可以上传2个文件没有问题,并且也可以重命名第1个文件,我的问题是重命名第二个文件。
我已经尝试过
$name = array("foobar.csv", "foobar2.csv");
并且尝试过..
if($UploadOk == true){
$name = "foobar.csv";
$name2 = "foobar2.csv";
move_uploaded_file($temp,$UploadFolder."/".$name);
array_push($uploadedFiles, $name);
array_push($uploadedFiles, $name2);
}
并且也尝试过..
if($UploadOk == true){
$name = "foobar.csv";
$name2 = "foobar2.csv";
move_uploaded_file($temp,$UploadFolder."/".$name);
array_push($uploadedFiles, $name, $name2);
}
但是这些都不上传并重命名文件。
您需要使用$_FILES['files']['tmp_name']
的数组。例如:
if ( $UploadOk == true ) {
$name = "foobar.csv";
$name2 = "foobar2.csv";
move_uploaded_file($_FILES['files']['tmp_name'][0], $UploadFolder."/".$name);
move_uploaded_file($_FILES['files']['tmp_name'][1], $UploadFolder."/".$name2);
}
您可以做这样的事情。
if($_FILES){
$files = $_FILES['files'];
$name = array("foobar.csv", "foobar2.csv");
foreach($files['tmp_name'] as $index => $value){
move_uploaded_file($value,$name[$index]);
}
}