duanji2014 2015-06-17 10:58
浏览 469
已采纳

在PHP中将GET变量传递给shell_exec

I'm trying to run a shell script in PHP on my server that use youtube-dl to download a video. My code look like this:

<form action="download.php" method="get">
<input type="text" name="link"><br>
<input type="submit">
</form>

and my download.php look like this:

<?php
$link = escapeshellarg($GET["link"]);
$output = shell_exec('/Applications/MAMP/cgi-bin/youtube-dl ' .$link. ' 2>&1');
echo "<pre>$output</pre>";
?>

So when I insert a link in my form, it should pass the link to the shell_exec and run the command with this link, but what I got is this:

Usage: youtube-dl [OPTIONS] URL [URL...]

youtube-dl: error: You must provide at least one URL.

Which means that command didn't received the link from GET. How can I solve this?

  • 写回答

3条回答 默认 最新

  • dongpo1216 2015-06-17 11:18
    关注

    GET-parameters are accessed via $_GET-variable. Notice the underscore before the "GET".

    http://php.net/manual/en/reserved.variables.get.php

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵