Многократная загрузка файла с использованием php - PullRequest
0 голосов
/ 14 февраля 2012

Я создаю сайт, который позволяет пользователю загружать набор изображений на основе выбора пользователя. Как я могу загрузить несколько файлов? Можно ли загрузить более 1 файла одновременно?

Если за один раз можно загружать только 1 файл, как я могу «создать» 5 файлов, сжать их и позволить пользователю загрузить этот zip-файл продукта?

Спасибо

Ответы [ 5 ]

1 голос
/ 14 февраля 2012

За один раз можно сделать только одну загрузку.

Если вы хотите заархивировать файлы, посмотрите на это .

Вы можете создавать файлы, используя file_put_contents ().

Обновление

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

<script type="text/javascript">
    window.open('download.php?name=file1','_newtab');
    window.open('download.php?name=file2','_newtab');
    window.open('download.php?name=file3','_newtab');
</script>
0 голосов
/ 14 февраля 2012

Вы можете использовать PHP-класс PHP в соответствии с вашими потребностями.

Этот код создает для вас zip-архив:

    <?php
function createZipFile($files = array(), $filePath){
    // Check if $files we had contains files
    if(is_array($files)){
        // $files contains files, loop through them
        foreach($files as $file){
            // Does the file exist?
            if(file_exists($file)){
                $filesToBeZipped[] = $file;
            }
        }
    }

    if(count($filesToBeZipped)){
        // Create your new zip archive
        $zipArchive = new ZipArchive();
        if($zipArchive->open($filePath, ZIPARCHIVE::CREATE) !== true){
            return false;
        }else{
            foreach($filesToBeZipped as $file) {
                $zipArchive->addFile($file,$file);
            }

            $zipArchive->close();
            return file_exists($filePath);
        }
    }else{
        return false;
    }
}

$files = array(
  'filename1.extension',
  '/path/to/filename/filename.extension',
);

$action = createZipFile($files,'yourSampleArchive.zip');
?>
0 голосов
/ 14 февраля 2012

Php может отправлять только один файл за раз, но вы можете сгенерировать код JavaScript с помощью php, который вызывает несколько файлов php.

0 голосов
/ 14 февраля 2012

Вы не можете загрузить несколько файлов.Вы должны заархивировать их и перенаправить браузеры пользователя на zip.

0 голосов
/ 14 февраля 2012

Вы можете скачать множество форматов ZIP-файлов, посмотрите на это:

http://www.php.net/manual/en/refs.compression.php

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