【发布时间】:2011-06-09 11:32:53
【问题描述】:
我有这个使用 unix 管道的命令
system("curl " . escapeshellarg($flv['dl']) . " | ffmpeg -f flv -i - -f mp3 -ab 320k pipe:1");
我可以做些什么来让同样的事情在 Windows 中发生?
谢谢
【问题讨论】:
-
system()调用意味着您正在从其他语言执行此 shell 语句....建议使用 perl。即使是 Windows 命令提示符也支持管道,因此如果您将上面的内容更改为简单地打印命令行,您可以尝试从 Windows 命令提示符手动执行相同的操作。您真正的问题很可能是安装curl和ffmpeg并将它们的路径添加到您的 PATH 环境变量中,而无需使用 UNIX 样式的 shell。 -
你好@Jim Garrison,你为什么要删除 cygwin 标签?
-
@Tony - escapeshellarg() 是一个 PHP 函数
-
@lunixbochs:感谢您的洞察力。 PHP 文档的超快速浏览表明 PHP 的
system也只是将指令传递给操作系统的默认命令解释器,而不在内部处理管道,所以它似乎仍然是安装 curl 和 ffmpeg 并在 PATH 中的问题,无需对 PHP 代码进行任何必要的更改......