【问题标题】:How to remote upload a video directly to my FTP server?如何远程将视频直接上传到我的 FTP 服务器?
【发布时间】:2012-06-30 07:29:36
【问题描述】:

我认为自己是一名熟练的谷歌员工,但是,我在查找有关此问题的任何信息时遇到了很多麻烦。所以,我想做的是创建一个 PHP 脚本,它将从他们的服务器直接获取视频(在本例中来自 YouTube)到我的 FTP 服务器。不幸的是,我不太擅长 PHP。

到目前为止,我发现的所有内容都只是从 YouTube 中检索一个下载链接,并让您可以选择将其直接下载到您的计算机上。这不是我想要的。

我的 Apache 服务器上安装了 PHP 5.3.14。安全模式已关闭,open basedir 已打开。我愿意接受任何和所有建议。非常感谢!

【问题讨论】:

  • 是的,可能没有您想要的确切指南,但应该有很多内容可以用于 1) 从 youtube 视频中获取 url,2) 使用 php.ini 下载文件。 3) 使用 PHP 上传文件到 ftp。
  • 我真的没有找到任何东西,除了给你一个下载到你的计算机而不是你的服务器的链接的脚本。
  • Uku Loskit:我对数字 1 没有意见。只是我觉得很难将 2 和 3 结合起来。

标签: php upload ftp youtube


【解决方案1】:

这听起来不像是一个答案,但你给我们的时间太少了:

在您的 FTP 服务器上,您将运行一个 PHP 脚本,该脚本每隔 1 分钟轮询一次 Youtube 搜索结果并将 URL 抓取到他们的服务器(如果您以这种方式进行热链接,我认为 Youtube 实际上会搞砸您)。使用此脚本,您基本上可以将分块 cURL 下载到您的一个目录和宾果游戏!完成...

简单得像馅饼。

其实馅饼更难做……但你明白了

事实上,让您从这里开始是如何将文件向下卷曲:

function cURL_file($url){
    set_time_limit(0);
    $fp = fopen (dirname(__FILE__)."/input_file", 'w+');
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_TIMEOUT, 75);
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_exec($ch);
    curl_close($ch);
    fclose($fp);
}

发送 URL,它将在您的 PHP 脚本目录中创建一个名为 input_file 的文件,其中包含数据。

这当然会在你的 ftp 服务器上作为 cronjob 运行,大约每分钟一次。

编辑

好的,表格。

我会制作一个表单 (ofc),其中包含一个名为 url 的字段。提交后,它将转到名为 youtube_url_grabber.php 的脚本:

cURL_file($_POST['url']); // This calls the function with the url the user entered.

function cURL_file($url){
    set_time_limit(0);
    $fp = fopen (dirname(__FILE__)."/input_file", 'w+');
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_TIMEOUT, 75);
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_exec($ch);
    curl_close($ch);
    fclose($fp);
}

因此action 的表单将指向此此处的脚本。

当然不要实际使用此脚本,否则您的服务器几乎会立即遭到滥用和黑客攻击,但这应该会告诉您如何将某人输入的文件下载到您自己的服务器上。

现在我想您的 FTP 服务器与您运行的服务器不同,因此在将文件卷曲到您的服务器后,您需要将其移动到您的 FTP 服务器上。为了节省我编写所有代码的时间,我将在 google 上链接第一个搜索结果:http://www.jonasjohn.de/snippets/php/ftp-example.htm。

【讨论】:

  • 非常感谢您的回答,但现在我很困惑。也许我在这里咬得比我能咀嚼的多,但我不明白你的很多反应。让我解释得更清楚一点。 $ch = curl_init("http://site.com/link/to/video.mp4"); $fp = fopen("files/video.mp4", "w"); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); 所以,我想要的是让这段代码“自动化”,最好使用 HTML
    来输入 URL 和所需的文件名。
  • 我无法使表单正常工作,但无论如何感谢您,您的帮助很大!
  • 是的,多研究一下 PHP,你可能已经咬得比你能咀嚼的还要多。一旦你掌握了 PHP 技能,你就可以参考这篇文章。
  • 我刚刚从我的主机上发现 PHP 进程将不再能够创建大于 128MB(134217728 字节)的文件。这很可悲,因为 YT 上的大多数高清视频都比这大。所以,这可能是徒劳的,但是有什么办法可以绕过这个吗?也许欺骗服务器认为我没有以某种方式使用 PHP?
  • @Northstreamer 尝试阅读其中的一些内容:radinks.com/upload/config.php 我必须承认这是我找到的第一个并且可以在这里写的,但希望这会有所帮助,
【解决方案2】:

其实我用的是 rapidleech http://www.rapidleech.com 将视频从你的管子中获取到我的服务器,我可以修改它们并将它们远程上传到我的 youtube 频道 所以我将视频传输到我的服务器并再次上传 它允许您选择下载格式 我用它来备份我的频道到我的服务器(2000 个视频),因为我的连接速度很慢

【讨论】:

    猜你喜欢
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    • 2017-04-26
    • 2016-02-08
    • 2011-10-09
    相关资源
    最近更新 更多