【问题标题】:How to execute command-line utilities in PHP?如何在 PHP 中执行命令行实用程序?
【发布时间】:2016-05-30 13:17:18
【问题描述】:

我对控制台命令的了解非常有限。我想要实现的是在 PHP 查询中执行控制台命令。

示例

<?php 

   $sql = mysql_query("SELECT * FROM `users`");
   while( $select_users = mysql_fetch_array( $sql )){

   } 

?>

我想在 WHILE 中执行的命令

所以在这个查询中我想执行这个命令但是我不确定如何实现这个;我看过类似的questions,但不确定如何在我的示例中实现它们。

ffmpeg -ss 00:00:01.01 -i /my_video_file_dir/video.flv -y -f image2 \
   -vcodec mjpeg -vframes 1 /image_dir/screenshot.jpg

【问题讨论】:

    标签: php


    【解决方案1】:

    你可以像这样使用php的exec函数

    $command = 'ffmpeg -ss 00:00:01.01 -i /my_video_file_dir/video.flv -y -f image2 -vcodec mjpeg -vframes 1 /image_dir/screenshot.jpg';
    
    exec($command);
    

    【讨论】:

    • 哇哦。我真的不知道它这么简单。非常感谢您的回复,非常感谢。很快就会将此标记为答案。
    • 祝编码愉快。
    • @LewisDay:如果这些数据有可能来自用户输入(例如文件名或选项),请确保您将其转义,否则黑客将能够在您的服务器上执行任意命令.
    【解决方案2】:

    除了 exec 之外,您还可以使用以下命令:

    $output = shell_exec($command);
    

    该命令通过shell执行命令并将完整的输出作为字符串返回,更多信息:http://php.net/manual/en/function.shell-exec.php

    我和你有同样的要求,从这个命令中使用

    【讨论】:

      猜你喜欢
      • 2011-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-10
      • 1970-01-01
      • 1970-01-01
      • 2014-04-24
      相关资源
      最近更新 更多