Передача файла из командной строки в PHP stdin

Я использую библиотеку манипуляций с изображениями в PHP под названием Intervention. Это отличная библиотека, но она не имеет всех необходимых мне функций, в частности сжатия без потерь. Есть инструменты командной строки, которые делают это, но я хочу выполнять обработку на лету и передавать данные в браузер, а не записывать данные в файловую систему.

Я хочу получить данные из файла, который должен идти в файл для прямой передачи в PHP, но я недостаточно знаком с командной строкой, чтобы знать, как «передать» данные в PHP или как заставить PHP читать данные. Может быть, что-то вроде этого:

use Intervention\Image\ImageManagerStatic as Image;

$data = exec('optipng image.png >tophp');

$image_data = fopen('php://stdin', 'r');

$img = Image::make($image_data);

//...do more stuff...

echo $img->response();

Я знаю, что это явно не сработает, но есть ли способ выполнить то, что я пытаюсь сделать?

0

Решение

Для любых инструментов командной строки, которые могут возвращать данные изображения в стандартный вывод, вы можете сделать это, используя shell_exec, Затем вы можете передать эти данные в Intervention. В противном случае вы можете сохранить данные в файл tmp, заставить PHP прочитать данные и затем удалить файл.

0

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

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

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