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

将二进制数据传递到PHP system()命令,php,imagemagick,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:-时,它会将二进制数据返回到标准输出。。。但是当我echo()或print\r()上

是否可以像下面这样将二进制数据导入
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:-
时,它会将二进制数据返回到标准输出。。。但是当我
echo()
print\r()
上面的数据时,它总是空的

  • 使用base64:

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

  • 使用base64:

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


  • 尝试
    passthru
    而不是系统。
    passthru
    返回
    void
    并自动回显到浏览器。别认为那是对的。啊,你是对的,我记得提到用它来处理二进制数据。。。在提及文档之前,是否应重新阅读文档:-)尝试
    passthru
    而不是系统..
    passthru
    返回
    void
    并自动回显到浏览器。别认为那是对的。啊,你是对的,我记得提到用它来处理二进制数据。。。在提到文档之前,是否应该重新阅读文档:-)这就是为什么我@Jordan Arseno:我相信从现在起,它将成为您的触发器:如果您有二进制数据,并且基础命令不接受二进制数据,而只接受文本数据,那么需要考虑一个标志serialization@Jordan阿瑟诺:嗯,实际上是什么?这就是为什么我@Jordan Arseno:我相信从现在起它将成为你的一个触发器:如果你有一个二进制数据,并且底层命令不接受二进制数据,而只接受文本数据,那么有一个迹象需要考虑serialization@Jordan阿瑟诺:嗯,实际上是什么?