【发布时间】:2016-09-25 00:40:19
【问题描述】:
我要下载这个文件
http://193.111.141.206:8000/live/mirko/mirko/22.m3u8
并想保存在服务器上。
我有这个 php 脚本:
<?php
$ts1 = http://193.111.141.206:8000/live/mirko/mirko/22.m3u8;
file_put_contents("stream.m3u8", fopen($ts1, 'r'));
?>
我收到此错误
Warning: fopen( http://193.111.141.206:8000/live/mirko/mirko/22.m3u8): failed to open stream: Connection timed out in /home/.../download.php on line 25
我可以手动打开这个文件,但是 php 说连接超时... 有人知道解决办法吗?
【问题讨论】:
-
file_put_contents需要一个字符串作为其输入。你正在传递一个文件句柄,它永远不会起作用。你需要file_put_contents(.., file_get_contents(...))。并且由于无论如何连接都会超时,因此您需要调查原因。远程站点阻止了您的服务器,或者您的服务器的防火墙阻止了 apache/php 打开网络连接。 -
@strangeqargo:呃,上传了什么?忽略所有其他问题,OP 正在尝试将该 url 下载到本地 .m3u8 文件中。
-
您在此处显示的代码将无法解析(URL 周围没有引号)。另一行在语义上不正确。
-
我认为你需要在调用
file_put_contents之前使用file_get_contents。 -
哦,对不起,我想知道作者想使用 file_put_contents 将文件上传到服务器。也许是因为这个“将文件下载到服务器”短语。错过了这个把手的事情
标签: php