下载链接php

时间:2013-06-26 05:24:10

标签: php ftp download

我正在尝试创建一个用户可以登录并从ftp服务器下载文件的界面。我的下载链接出现问题,即使按下第一个文件,它也只会下​​载列表中的最后一个文件。

这是我的代码:

    $a = ftp_nlist($conn_id, "/web/images");

foreach($a as $value){
    if ($i <= 1) {
        $i ++;
    }

    else {
echo "<br>";    
echo '<ul><li>'."$value".'</li>';
echo '<li><a href="download.php?="' . $value . '>Download</a></li>';
echo '<li><a href="' . "$value" . '"' . 'target="_blank">Preview</a></li></ul>';
$_SESSION['download'] = $value;

    }
 }

?>

这是download.php:

<?php
session_start();
$value = $_SESSION['download'];

header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($value));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($value));
?>

正如你所看到的,我对php很新,所以任何帮助都会很棒! 感谢。

2 个答案:

答案 0 :(得分:0)

$ _SESSION ['download']的值;始终是FTP连接上的最后一个文件。 由于你是通过GET抛出路径,所以你应该使用它。

更改

$value = $_SESSION['download'];

$value = $_GET['download'];

答案 1 :(得分:0)

试试这个: -

echo '<li><a href="download.php?="' . $value . '>Download</a></li>';

将此行更改为此

echo '<li><a href="download.php?download="' . $value . '>Download</a></li>';

并在download.php中获取下载值

$value = $_GET['download'];