首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP -读取FTP文件而不下载/在本地保存它

PHP -读取FTP文件而不下载/在本地保存它
EN

Stack Overflow用户
提问于 2014-06-04 00:32:14
回答 1查看 2K关注 0票数 1

我想得到FTP文件的内容,而不保存在本地。

到目前为止,这就是我所拥有的:

代码语言:javascript
复制
$ftp_server = "my_server";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to the server");

if (@ftp_login($ftp_conn, "username", "password")) {

    $local_file = 'C:\Users\user\Desktop\testing.txt';
    $fp = fopen($local_file, "w");

    $d = ftp_nb_fget($ftp_conn, $fp, "commands.yml", FTP_BINARY);

    while ($d == FTP_MOREDATA) {
        $d = ftp_nb_continue($ftp_conn);
    }

    if ($d != FTP_FINISHED) {
        echo "Error downloading $server_file";
        exit(1);
    }

    ftp_close($ftp_conn);
    fclose($fp);

    $filename = 'C:\Users\user\Desktop\testing.txt';
    $handle = fopen($filename, "r");
    $contents = fread($handle, filesize($filename));
    fclose($handle);

    echo $contents;

} else {
    echo "Couldn't establish a connection.";
}

上面的代码保存文件并读取文件内容。是否可以在不保存本地文件的情况下读取该文件?

EN

回答 1

Stack Overflow用户

发布于 2014-06-04 00:36:03

官方PHP站点上的答案bob at notallhere dot com

不想使用中间文件?使用'php:// output‘作为文件名,然后使用输出缓冲捕获输出。

代码语言:javascript
复制
ob_start();
$result = ftp_get($ftp, "php://output", $file, FTP_BINARY);
$data = ob_get_contents();
ob_end_clean();
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24027171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档