Переименовать несколько файлов перед загрузкой php Ошибка Загрузить только один файл - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь переименовать каждый файл перед загрузкой в ​​каталог. Сначала l oop работает отлично и показывает правильное имя файла в массиве $ success, но проблема заключается в загрузке в каталог только одного файла. вот мой код внизу.

Извините за мой плохой английский sh надеюсь, вы хорошо понимаете мою точку зрения.

$success = array();
$failed = array();
$allowed = array('pdf','png','jpg','gif');
if($_SERVER['REQUEST_METHOD'] === 'POST'){
    for ($i=0; $i<count($_FILES['files']['tmp_name']); $i++) { 
        if(is_uploaded_file($_FILES['files']['tmp_name'][$i])){
            $ext = strtolower(pathinfo($_FILES['files']['name'][$i], PATHINFO_EXTENSION));
            $filename = $_FILES['files']['name'][$i];

            $temp = explode('.',$_FILES['files']['name'][$i]);
            $extension = end($temp);
            $targetfolder = "uploads/";
            $newname="MTI_123654";
            $filenamee = $newname . '.' . $extension;

            if(in_array($ext, $allowed)){
                // $path = "uploads/".$filename;
                move_uploaded_file($_FILES['files']['tmp_name'][$i],  $targetfolder .$filenamee);
                $success[] = $filenamee;
            }else{
                $failed[] = $filename;
            }
        }
    }
    $results = array(
        'success'=>$success,
        'failed'=>$failed
    );
echo json_encode($results);
}

1 Ответ

1 голос
/ 17 июня 2020

Вероятно, вы просто перезаписываете один и тот же файл снова и снова из-за этого кода:

        $newname="MTI_123654";
        $filenamee = $newname . '.' . $extension;

если вы динамически устанавливаете новое имя файла, он, вероятно, должен работать. Вы можете проверить это так:

        $newname="MTI_123654". $i;
        $filenamee = $newname . '.' . $extension;

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...