允许用户从远程FTP服务器下载文件的PHP脚本

允许用户从远程FTP服务器下载文件的PHP脚本,php,https,ftp,Php,Https,Ftp,我有一个带有公共IP的FTP服务器,用于与其他用户共享文件,这些用户只需下载而无需验证(例如ftp://88.88.111.111/file.txt)。 您可能知道,最近Gooogle Chrome开始过滤FTP连接。(我知道有一些解决办法,但我对另一种解决方案感兴趣。) 我想实现的是一个PHP接口,它来自托管我的网站(并且支持HTTPS连接)的服务器,因此用户可以转到https://www.mywebsite.com/interface.php?get=file.txt他们会在电脑上下载从ft

我有一个带有公共IP的FTP服务器,用于与其他用户共享文件,这些用户只需下载而无需验证(例如
ftp://88.88.111.111/file.txt
)。 您可能知道,最近Gooogle Chrome开始过滤FTP连接。(我知道有一些解决办法,但我对另一种解决方案感兴趣。)

我想实现的是一个PHP接口,它来自托管我的网站(并且支持HTTPS连接)的服务器,因此用户可以转到
https://www.mywebsite.com/interface.php?get=file.txt
他们会在电脑上下载从
ftp://88.88.111.111/file.txt
。 因此,用户不会使用任何FTP连接,这是完全隐藏的。(我不知道我是否清楚地解释了我的想法)

我不是这方面的专家,所以我想了解是否可以做到,以及您是否有一些关于如何实施的指示


提前谢谢

您可以这样做,将文件从FTP服务器下载到web服务器,然后让用户从web服务器下载文件

$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;

有几种方法可以做到这一点。如果FTP服务器与web服务器位于同一台计算机上,则可以剪切web版本的FTP部分,只需查看磁盘即可。如果它们在单独的机器上,您仍然可以执行与前面相同的操作,但是使用一个抽象,例如。否则,你可以用不太漂亮的东西来构建你自己的,只是为了警告你,它们在不同的机器上。谢谢你的建议,我会看看的!不需要将文件存储在web服务器上。瞧,谢谢大家的帮助!我只用了10行代码就可以做到这一点