Я сохраняю изображение дважды, один раз, когда создаю его с помощью imagejpeg, а затем сжимаю и перезаписываю jpegoptim. Как я могу сделать это одним махом, так что я не сохраняю изображение дважды?Сохранение изображения с помощью shell_exec() - с помощью imagejpeg и jpegoptim, с stdin/stdinout
$im = imagecreatefromstring($imageString);
imagejpeg($im, 'img/test.jpg', 100);
shell_exec("jpegoptim img/test.jpg");
Jpegoptim имеют stdin and stdout, но я изо всех сил, чтобы понять, как использовать их.
Я хочу, чтобы сохранить изображение с оболочкой, так что я полагаю, что-то вроде этого:
imagejpeg($im);
shell_exec("jpegoptim --stdin > img/test.jpg");
Но увы, он не работает, как я себе представлял.
Вам нужна труба: ['popen'] (http://php.net/popen). Потому что 'imagejpeg' и' shell_exec' не имеют ничего общего, потому что они написаны друг за другом. – mario