yii2 Создайте новую папку и добавьте в нее файл

1

Я создаю приложение Yii2, которое позволяет пользователям загружать учебник и подзаголовок. В настоящее время я могу сделать это отдельно, но я хочу, чтобы создать новую папку с именем видео и включить в нее как файл видео, так и субтитров, а затем создать zip и предоставить его пользователю для загрузки. но я понятия не имею, как это сделать. Я могу заархивировать файлы, используя php ZipArchive, но я понятия не имею, как создать новую папку и включить эти два файла в нее.

мое действие загрузки

public function actionDownload($id)
{
    // get all videos relevan for this video id 
    $video = TempVideo::findOne($id);
    $file = $video->path;

        if (file_exists($file)) 
        {
              Yii::$app->response->sendFile($file);
        } 
}

помогает получить высокую оценку.

  • 0
    Итак, вы ищете способ создать папку и сохранить в ней 2 файла?
  • 0
    да это идея.
Теги:
yii2

2 ответа

1
Лучший ответ

Вы можете использовать ZipArchive http://php.net/manual/en/zip.examples.php

или запустить командную строку с помощью:

system('zip filecompress.zip file1 file2 file3');
  • 0
    Спасибо человеку большое помощь!
0

У меня нет всей информации, но я думаю, что ей нужно написать что-то вроде этого: вам нужно создать новый каталог с помощью mkdir() (doc: http://php.net/manual/en/function.mkdir.php); и скопируйте необходимые файлы с помощью copy() (doc: http://php.net/manual/en/function.copy.php)

public function actionDownload($id)
{
    // get all videos relevan for this video id 
    $video = TempVideo::findOne($id);
    $file = $video->path;

        if (file_exists($file)) 
        {
              Yii::$app->response->sendFile($file);
              $new_video_path = '/path/to/save/dir';
              //create a new dir
              mkdir($new_video_path); 
              //copy the file to a new path
              copy($file,$new_video_path.'newfilename.mp4');
              copy('subtitle/pathe.txt',$new_video_path.'subtitle.txt');

        } 
}

и после этого вы можете создать zip файл с ZipArchive который можно найти здесь: http://php.net/manual/en/class.ziparchive.php

Ещё вопросы

Сообщество Overcoder
Наверх
Меню