PHP:提示从ftp下载?

时间:2010-07-15 00:54:03

标签: php ftp

hy伙伴, 我真的需要你的帮助。我通过php成功连接到ftp服务器。 我列出了服务器上的所有文件。如果我单击一个文件,浏览器应提示下载窗口下载该文件。

我完全不知道该怎么做。我将使用哪种方法。 ftp_get有点让我困惑。它说我必须声明一个local_file。我只想要服务器上的文件下载到我的硬盘。

我该怎么做?

关于亚光

2 个答案:

答案 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