php переименуйте 2 загруженных файла в указанные c имена перед загрузкой - PullRequest
0 голосов
/ 27 марта 2020

В настоящее время я использую следующий код для загрузки и переименования одного файла ..

Форма ..

<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 делает волхвы c ..

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

Но теперь я хотел бы использовать его для загрузки 2 файлов и wi sh для первого, который будет переименован в foobar.csv, а второй - в foobar2.csv. How я бы go об этом?

Я могу загрузить 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);

                                        }

Но ни один из этих загрузить и переименовать файлы.

Ответы [ 2 ]

2 голосов
/ 27 марта 2020

Вам необходимо использовать массив $_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);
}
1 голос
/ 27 марта 2020

Вы можете сделать что-то вроде этого ..

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