laravel — получает структуру каталогов извлеченного zip-файла с помощью переполнения стека

Я работаю над системой комплектации для своих приложений, где пользователь может загрузить сжатый zip-файл со следующей структурой:

name_of_file.zip
src/
file.jar
thumbnail.png
meta.json

Я хотел бы проверить эту структуру после извлечения с помощью PHP. После проверки структуры я перенесу thumbnail.png и /src/source.jar на свой сервер. Я также буду анализировать meta.json и возвращать данные из него.

Итак, вот как выглядит мой класс ($ this-> archive — это экземпляр ZipArchive):

/**
* Process and parse a bundle.
*
* @param  \UploadedFile  $zip
* @param  array $paths
*
* @return boolean
*/
private function bundle($zip, array $paths)
{
$status = $this->archive->open($zip->getRealPath());

if($status === false)
return false;

// Before getting here I need to verify the files exist...

$this->archive->extractTo($paths['software'], ['src/file.jar']);
$this->archive->extractTo($paths['thumbnail'], ['thumbnail.png']);

// Cool, files moved now read the meta.json file...
}

и если вы уже догадались, это Laravel.

Я только хочу проверить структуру прямо сейчас. Как только я закончу со структурой, мне нужно будет сделать несколько простых проверок файлов (несколько советов по получению расширений файлов?).

В конце всего этого, file.jar и thumbnail.png будут перемещены в их местоположения, и meta.json будет проанализирован и данные из него возвращены (файл не будет перемещен).

3

Решение

Получение расширения загруженного файла

$extension = Input::file('photo')->getClientOriginalExtension();

Источник: http://laravel.com/docs/4.2/requests

Или же

$path = $_FILES['image']['name'];
$ext = pathinfo($path, PATHINFO_EXTENSION);

Источник: Как получить расширение файла в PHP?

-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]