javascript - 网页 : List remote FTP files via links that download them

标签 javascript php jquery ajax ftp

我已经搜索了几个小时并尝试了很多组合,但到目前为止我的尝试都没有成功。我在远程 FTP 服务器上有一个文件夹,我希望将其内容显示为网页上的链接。单击链接后,我希望它将该特定文件下载到用户的计算机上。我花了几个小时尝试混合使用 php 和 html 的 jQuery/ajax 组合。非常感谢任何帮助!

<?php
    $ftp_server = "host info here";
    $ftp_user = "user info here";
    $ftp_pass = "pw here";

    // set up a connection or die
    $conn_id2 = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); 
    // try to login
    ftp_login($conn_id2, $ftp_user, $ftp_pass);
    ftp_pasv($conn_id2, true);

    $filelist = ftp_nlist($conn_id2, "/folder/path/here");
    foreach ($filelist as $file)
    {
        echo $file;
        echo "<br />";
    }
    ftp_close($conn_id2);
?>

这是尝试链接文件以供下载之前的代码。这成功列出了文件夹中的所有文件。我不想每次加载页面时都将所有文件下载到本地服务器,因为它们是大文件并且有很多。我只想根据要求通过单击文件名下载它们。

我尝试的总体思路是将链接文本传递给一个函数,该函数将再次打开 FTP 连接并下载指定的文件。单击链接后直接将副本下载到客户端的计算机上会很棒,但如果我需要先下载到本地服务器,这是一个选项,那么我将在页面加载时清除它。

我尝试过的:我花了几个小时在 google 上搜索 jQuery/ajax 脚本,在单独的文件中尝试函数并向它们传递参数,等等。到目前为止,没有任何效果。虽然我有多种编码语言的经验,但我是 php/js 的新手,所以非常感谢任何帮助!

提前感谢您的宝贵时间。

最佳答案

我知道这是一个旧线程,但我最近不得不做同样的事情。

解决方案:

$url = "ftp://ftp.bla.com";
// connect and login to FTP server
$ftp = ftp_connect("ftp.bla.com");
if (!$ftp) die('could not connect.');

// login
$login = ftp_login($ftp, "anonymous", "");
if (!$login) die('could not login.');

// enter passive mode
$passsive = ftp_pasv($ftp, true);
if (!$passsive ) die('could not enable passive mode.');

// get listing
$listing = ftp_nlist($ftp, "/path/to/dir");

foreach($listing as $value){
    echo "<a href='$url$value'>", substr($value, strrpos($value, '\\') + 1) ,"</a><br>";
}

这会将文件名显示为链接,如果您单击它们,它们将单独下载。

**注意:我ftp里的文件名字里没有空格!

资源:

关于javascript - 网页 : List remote FTP files via links that download them,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28424676/

相关文章:

java - 如何在 Jquery UI 插件的标签内获取 DB 值?

javascript - 隐藏叠加层上的黄点

php - html不在wamp中解析为php

php - 警告 : mkdir(): File exists

javascript - 根据javascript中数据库表中的行数绘制点

javascript - 在折线图+条形图中使用 d3 画笔时出现问题(放大折线图+条形图)

javascript - requestAnimationFrame javascript警报增量从1跳到9或13

javascript - 滚动延迟时的事件链接

JavaScript 从文件中加载innerHTML

javascript - Angular 4 访问其他组件数据