php自动下载远程文件问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php自动下载远程文件问题相关的知识,希望对你有一定的参考价值。
源代码上的链接地址是一个php文件,也就说是一个跳转下载页面,例如:zhidao.baidu.com/index.php?down=1006,(A文件上的链接地址)在A页面上如何用php程序获取它的真是文件地址和文件名字,最好能把该文件自动下载到本地最好,100分奉上。
zhidao.baidu.com/index.php?down=1006把down传给index文件
在index文件中,做个判断即可
index.php
<?php
if($_GET[dwon])
$filename=$_GET[dwon];
switch($filename)
case 1006:
echo "http://www.baidu.com/wc/filename.rar";break;
case 其他值:
echo "其他文件地址";break;
?> 参考技术A 山东等地的 参考技术B 你的意思是用php去读取远程的一个文件的地址是吗?
看这个源码http://www.oschina.net/code/snippet_105734_2542
PHP脚本允许用户从远程FTP服务器下载文件[重复]
【中文标题】PHP脚本允许用户从远程FTP服务器下载文件[重复]【英文标题】:PHP script to allows user to download file from remote FTP Server [duplicate] 【发布时间】:2021-04-08 19:29:24 【问题描述】:我有一个带有公共 IP 的 FTP 服务器,用于与其他无需身份验证即可下载的用户共享文件(例如ftp://88.88.111.111/file.txt
)。
您可能知道,最近 Google Chrome 开始过滤 FTP 连接。 (我知道有一些解决方法,但我对替代解决方案感兴趣。)
我想要实现的是来自托管我的网站(并且支持 HTTPS 连接)的服务器的 PHP 接口,因此用户可以转到 https://www.mywebsite.com/interface.php?get=file.txt
,他们实际上会在他们的计算机上下载从 @ 获取的文件987654325@。
因此,用户不会使用任何 FTP 连接,这完全是隐藏的。 (不知道有没有把我的想法解释清楚)
我不是这方面的专家,所以我想了解它是否可以完成,以及您是否有一些关于如何实施的指示。
提前致谢!
【问题讨论】:
有几种方法可以做到这一点。如果 FTP 服务器和 web 服务器在同一台机器上,你可以剪掉 web 版本的 FTP 部分,然后看磁盘。如果它们在不同的机器上,您仍然可以像以前一样执行相同的操作,但使用Flysystem 之类的抽象。否则,您可以使用 FTP functions 构建自己的,这不是很漂亮,只是为了警告您。 它们在不同的机器上。谢谢你的建议,我会看看的! 【参考方案1】:你可以这样做从 FTP 服务器下载文件到网络服务器,然后让用户从网络服务器下载文件。
$file_url = "ftp://88.88.111.111/" . $_GET['file'];
$file_tmp = file_get_contents($file_url);
file_put_contents("/var/www/html/files/ . $file_tmp);
$download_url = "https://www.mywebsite.com/files/" . $_GET['file'];
header('Location: $download_url');
exit;
【讨论】:
无需将文件存储在网络服务器上。见Download file via PHP script from FTP server to browser with Content-Length header without storing the file on the web server。 感谢大家的帮助!我只需 10 行代码就能做到这一点以上是关于php自动下载远程文件问题的主要内容,如果未能解决你的问题,请参考以下文章