2017-04-07 18:13 浏览 123

使用PHP exec()显示执行的命令和输出

I am debugging a script that is supposed to delete a file and would love to know if there is a way to echo back the command I am running along with the results:

echo exec("rm ./" . strtolower(end(split('\/',$originalName))));

This will return the result, but with the incoming data (which should be something like:/plugins/Dropzone/files/xcqzr.png) it would be great to know what exactly is getting passed into it. I know I could do it in a separate process, but wondering if there was a built in way.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答 默认 最新

  • 已采纳
    doumeng3188 doumeng3188 2017-04-07 18:18

    You compose the command string beforehand and then pass it to exec().

    $command = "rm ./" . strtolower(end(split('\/',$originalName)));
    echo 'Command: '.$command.PHP_EOL;
    $result = exec($command);
    echo 'Result: '.$result.PHP_EOL;
    点赞 评论 复制链接分享
  • dongwei3151 dongwei3151 2017-04-07 18:17

    try using -v with rm this should throw verbose

    echo exec("rm -v ./" . strtolower(end(split('/',$originalName))));

    点赞 评论 复制链接分享