Проверьте файл существует на UploadiFive - PullRequest
0 голосов
/ 10 февраля 2020

Я скачал этот пример загрузки: https://github.com/xmissra/UploadiFive

При отправке файла apernas он работает отлично, но при отправке более одного файла, функция, которая проверяет, существует ли файл уже, представляет проблема. Видимо, l oop не игнорирует, что файл только что отправлен, и представляет сообщение с просьбой заменить файл. Есть ли способ решить эту проблему?

Это функция, которая проверяет, существует ли файл.

$targetFolder = 'uploads'; // Relative to the root and should match the upload folder in the uploader 
script

if (file_exists($targetFolder . '/' . $_POST['filename'])) {
    echo 1;
} else {
    echo 0;
}

Вы можете проверить загрузку, работая по адресу: http://inside.epizy.com/index.php

* Отправьте файл, а затем отправьте более одного для проверки.

Я пробовал его таким образом, но он не работал:

$targetFolder = 'uploads';

$files = array($_POST['filename']);

foreach($files as $file){
if (file_exists($targetFolder . '/' . $file)) {
    echo 1;
} else {
    echo 0;
}

1 Ответ

0 голосов
/ 10 февраля 2020

Если вам нужно загрузить несколько файлов, помните об этом;

HTML

  1. Имя входа должно быть массивом name="file[]"
  2. Включить ключевое слово multiple во входной тег.

например; <input name="files[]" type="file" multiple="multiple" />

PHP

  1. Использовать синтаксис $_FILES['inputName']['parameter'][index]
  2. Искать пустые файлы, используя array_filter()

    $filesCount = count($_FILES['upload']['name']);
    
    // Loop through each file
    for ($i = 0; $i < $filesCount; $i++) {
    
     // $files = array_filter($_FILES['upload']['name']); use if required 
    
    if (file_exists($targetFolder . '/' . $_FILES['upload']['name'][$i])) {
        echo 1;
    } else {
    echo 0;
    }
    }
    
...