Как макетировать изображения и другие форматы файлов с помощью vfsStream?

Я умею издеваться над текстовыми файлами любого размера и изображениями любого разрешения.

Но для моих тестов мне нужны изображения любого разрешения и одновременно любого размера файла (например: 800x600px и 100 МБ), а также другие форматы файлов, такие как PDF.

Когда я использую LargFileContent миметип становится text/plain,

use org\bovigo\vfs\vfsStream;
use org\bovigo\vfs\content\LargeFileContent;
use Illuminate\Http\UploadedFile

function createImageUploadFile()
{
$root = vfsStream::setup(
sys_get_temp_dir()
);

$virtualFile = vfsStream::newFile('testFile.jpg')
->withContent(LargeFileContent::withMegabytes(100))
->at($root);

// This sets the right mimetype but overwrites the file size
// imagejpeg(
//     imagecreate(800, 600),
//     $virtualFile->url()
// );

return new UploadedFile(
$virtualFile->url(),
null,
//mime_content_type($file->url()),
'image/jpeg', // no impact, remains a text/plain
null,
null,
true
);
}

Как я могу сгенерировать любой тип файла (mimetype) любого размера и изображения (png, jpg) любых размеров и размеров файлов?

1

Решение

Задача ещё не решена.

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

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

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