将二进制数据传递给PHP system()命令

时间:2013-02-27 04:08:03

标签: php imagemagick

是否可以将二进制数据传递到system(),如下所示?

$contents = file_get_contents("http://somesite.com/image.jpg");
$out = system("{$contents} | convert - -fuzz 10% -trim jpeg:-");

当我进入终端并执行cat filename | convert - -fuzz 10% -trim jpeg:-时,它会将二进制数据返回给STDOUT ...但当我echo()print_r()上面的数据时,它总是为空。

1 个答案:

答案 0 :(得分:1)

  1. 使用base64:

    system('echo ' . base64_encode($contents) . " | base64 -d | convert - -fuzz 10% -trim jpeg:-"); 
    
  2. 你可能会问一个单独的问题