Php 是否有ftp_rawlist()替代方法来避免内存问题?

Php 是否有ftp_rawlist()替代方法来避免内存问题?,php,ftp,Php,Ftp,我正在使用ftp_rawlist()获取目录中的文件列表: $files = ftp_rawlist($ftp, "-A " . $ftp_dir);// obtain hidden files without "." and ".." 到目前为止还不错。但有些文件夹包含数千个文件,所以我的内存使用有问题: 致命错误:已耗尽67108864字节的允许内存大小(已尝试 在Y行的X中分配209855912字节) 是否有其他方法可以逐行获取列表结果?也许是通过ftp_raw() 编辑:我不想使用in

我正在使用ftp_rawlist()获取目录中的文件列表:

$files = ftp_rawlist($ftp, "-A " . $ftp_dir);// obtain hidden files without "." and ".."
到目前为止还不错。但有些文件夹包含数千个文件,所以我的内存使用有问题:

致命错误:已耗尽67108864字节的允许内存大小(已尝试 在Y行的X中分配209855912字节)

是否有其他方法可以逐行获取列表结果?也许是通过ftp_raw()


编辑:我不想使用ini_集('memory_limit','xxxM');因为我不知道需要多少内存,我认为这不是一个好的做法,因为有些主机不允许更改此值。

尝试增加内存限制

ini_set("memory_limit", "64M") 
64 MB或更多MB

您还可以关闭“最大执行时间”

set_time_limit(0);

我不想更改
内存限制
。我已经更新了我的问题。@mgutt在我看来这是唯一的出路,顺便说一下,使用memoty_limit:67108864=64米和209855912=200米。也可能有包含更多文件的文件夹。我对最大执行时间没有任何问题,因为每个请求只传输x个文件(下一个请求在最后一个位置继续)。您可以打开套接字连接并发送原始ftp命令,并逐行获取输出。但是你仍然需要把它存储在某个地方,所以你需要大量的内存。你有一个例子吗?我将测试它。如果没有其他方法,我将尝试在本地文件中写入数据。请看一看它在不依赖ftp的情况下实现了ftp客户端extension@dev-谢谢你。我是自己测试的,但它确实是一个自己的项目,以实现这一点,所以这个类真的是完美的!我在wordpress中发现了一个“新”的:我将使用它并给出反馈。