我完全不知道该怎么做。我将使用哪种方法。 ftp_get有点让我困惑。它说我必须声明一个local_file。我只想要服务器上的文件下载到我的硬盘。
我该怎么做?
关于亚光
答案 0 :(得分:1)
必须先将远程文件下载到服务器,然后才能将其发送给用户。它对用户是不可见的,但您没有选择权。 PHP不会让浏览器直接与FTP服务器对话。
创建一个单独的php脚本,为特定文件调用ftp_get,将其临时存储到您的服务器,以允许用户下载它。
类似的东西:
<?php
//assume the page was called like download.php?filename=downloaded.pdf
header('Content-Disposition: attachment; filename="'.$_GET['filename'].'"');
$tempFile = 'temp'.rand();
ftp_get($ftp, $tempFile, $_GET['filename'], FTP_BINARY);
readfile($tempFile);
您也可以添加代码来删除tempFile。
答案 1 :(得分:0)
如果您提供了浏览器无法读取的文件的链接(例如php文件,音频,视频等),则会要求您下载该文件。
另一种方法是在页面上使用PHP标题并打印出页面,并链接到该页面。 http://www.ryboe.com/tutorials/php-headers-force-download