youtube-dl正在下载php文件而不是视频

时间:2015-06-05 13:56:14

标签: php audio video download youtube

几周前我刚刚开始编程,所以请记住我不知道我到底做了什么。

我正在尝试创建一个小网站,您可以在其中输入YouTube网址,然后以mp3格式下载视频并使用音频可视化工具播放给您。除了下载部分之外,我几乎所有工作都在工作。

当我输入网址并提交而不是下载YouTube视频时,它会下载代码所在的php文件。

HTML

<!DOCTYPE html>
<html lang="en">
    <head>
        <link rel="stylesheet" href="main.css">
        <script src="prefixfree.min.js"></script>
    </head>
    <body>        
        <div id="main">
            <h1 id="header">Audio Visualizer</h1>
            <div id="form" class="container-center">
                <form action="download.php" method="get">
                    <input class="t-input" name="url" type="text" placeholder=" enter youtube video URL here">
                    <br>
                    <input  class="submit" type="submit" name="submit">
                </form>
            </div>
        </div>

        <script src="sketch/sketch.min.js"></script>
        <script src="animation.js"></script>
    </body>
</html>

PHP

<?php
$url = $_GET['url'];
try {
    new yt_downloader($url, TRUE, 'audio');
}
catch (Exception $e) {
    die($e->getMessage());
}

下载程序非常重要:https://github.com/eyecatchup/php-yt_downloader/

到目前为止,我只是搞乱了javascript所以,我不知道php是如何工作的。我认为我已经在某个地方犯了一些新手错误,我可以做得不错。

感谢您的帮助!

编辑:正如Joel Hinz所指出的那样我没有下载ffmpeg,不幸的是它似乎仍无法正常工作:(

发现问题的根源:看来xampp并不想运行ffmpeg。

1 个答案:

答案 0 :(得分:0)

首先,祝贺几个星期后这么做!

对于大多数编程问题,当您超越直观的“猜测”时,调试的最佳方法是首先通过,这是采取缓慢而彻底的方法逐步完成并确切了解发生了什么。

对于你的问题:

  • 作为快速初步检查,您确实拥有'require('youtube-dl.class.php');'您的代码中的行也?如果是这样的话,如果你发布更多的PHP代码(或者如果它很短的话,那就更容易)。
  • 要检查您的PHP服务器代码是否正确获取了网址,您可以将其写入日志中的内容或将其“回显”到屏幕上。解决问题后,您可以删除或整理它:
<?php
if (isset($_GET['url'])) {
    echo $_GET['url'];
}else{
    echo "Error: url is not set";
}
.
. (the rest of your PHP code here)
.


?>
  • 您可以采取的另一个措施是缩小问题范围,将代码中的url变量替换为已知的硬编码YouTube网址(如php-yr-downloader的示例所示)。如果这样做,那么你知道问题是你的网址获取机制,如果没有,那么问题可能在于下载器或它是如何被使用的。

希望这有助于指出正确的方向(它更像是一个'评论'而不是答案,但不适合评论部分!)。

祝你好运......