简体   繁体   English

php在上传前将2个上传的文件重命名为特定名称

[英]php rename 2 uploaded files to specific names before upload

I'm currently using the following code to upload and rename a single file..我目前正在使用以下代码上传和重命名单个文件..

Form..形式..

<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> 

and the follwing snippet of php does the magic..和 php 的以下代码段具有魔力。

     if($UploadOk == true){
                        $name = "foobar.csv";
                         move_uploaded_file($temp,$UploadFolder."/".$name);
                         array_push($uploadedFiles, $name);
}

But I'd now like to use it to upload 2 files and wish for the 1st to be renamed foobar.csv and the second to be renamed foobar2.csv how would I go about that?但我现在想用它来上传 2 个文件,并希望第一个文件重命名为 foobar.csv,第二个文件重命名为 foobar2.csv 我该怎么做?

I can upload the 2 files no problem, and rename the 1st also without issue my problem is in the renaming of the second file.我可以上传 2 个文件没问题,重命名第一个也没有问题,我的问题在于重命名第二个文件。

I've tried我试过了

$name = array("foobar.csv", "foobar2.csv"); 

and tried..并尝试..

if($UploadOk == true){
                        $name = "foobar.csv";
                        $name2 = "foobar2.csv";
                        move_uploaded_file($temp,$UploadFolder."/".$name);
                        array_push($uploadedFiles, $name);
                        array_push($uploadedFiles, $name2);
                                    }

and also tried..也试过了..

 if($UploadOk == true){
                            $name = "foobar.csv";
                            $name2 = "foobar2.csv";
                            move_uploaded_file($temp,$UploadFolder."/".$name);
                            array_push($uploadedFiles, $name, $name2);

                                        }

But none of these upload and rename the files.但是这些都没有上传和重命名文件。

You need to use the array of $_FILES['files']['tmp_name'] .您需要使用$_FILES['files']['tmp_name']数组。 For example:例如:

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);
}

You can do something like this..你可以做这样的事情..

if($_FILES){
    $files = $_FILES['files'];
    $name = array("foobar.csv", "foobar2.csv"); 
    foreach($files['tmp_name'] as $index => $value){
        move_uploaded_file($value,$name[$index]);
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM