Команда преобразования Imagemagick, возвращающая код ошибки 4 при использовании с PHP - PullRequest
0 голосов
/ 29 мая 2018

Я выполняю команду ImageMagick с помощью функции PHP exec, она возвращает error code 4, что probably означает The system cannot open the file, когда, однако, я запускаю ту же команду в терминале Windows, она работает нормально.Я использую следующую команду для изменения размера изображения:

В терминале (работает нормально)

convert -resize 150^% ad.png res_ad.png

В PHP (возвращается код ошибки 4)

exec(escapeshellcmd("convert -resize 150% $file_name.png res_$file_name.png"), $output2, $return2)

PS: Я проверил, и путь к изображению правильный.

1 Ответ

0 голосов
/ 29 мая 2018

Мне только что вернули 1 или 0 из Imagemagick с использованием php, поэтому я не знаю, откуда пришло число 4.

Я использовал код, подобный вашему, но никогда не использовал escapeshellcmd в exec.Exec вызывает внешнюю программу, и я не уверен, что вы можете использовать ее там.

Попробуйте (обратите внимание, что в большинстве случаев входное изображение приходит сразу после преобразования):

exec("convert $file_name.png -resize 150% res_$file_name.png");

Выможет проверять имена файлов входных и выходных изображений перед отправкой их в exec ()

Различные отчеты об ошибках:

<code>$array=array();
echo "<pre>";
exec("convert $file_name.png -resize 150% res_$file_name.png 2>&1", $array); 
echo "<br>".print_r($array)."<br>"; 
echo "
";
...