通过ftp在php中扫描目录中的文件名时定义起点的方法

通过ftp在php中扫描目录中的文件名时定义起点的方法,php,ftp,Php,Ftp,据我所知,这是不可能的,但我想确定一下 我正在将文件从一个IP移动到同一托管站点上的另一个IP,因为它们不会为我这样做。下面是我脚本中的一个片段 ... $files = ftp_nlist($remoteconn, '.'); foreach ($files as $file) { if ($file != '.' && $file != '..') { recurse($remoteconn, $remoteserver, $remoteuser, $

据我所知,这是不可能的,但我想确定一下

我正在将文件从一个IP移动到同一托管站点上的另一个IP,因为它们不会为我这样做。下面是我脚本中的一个片段

...
$files = ftp_nlist($remoteconn, '.');
foreach ($files as $file) {
    if ($file != '.' && $file != '..') {
        recurse($remoteconn, $remoteserver, $remoteuser, $remotepass, $directorypath . '/' . $file);
    }
}
...
recurse()
是一个函数,用于关闭任何打开的连接,打开新连接,检查文件是否为目录或数据文件,并在本地创建目录或将数据文件复制到本地目录

我遇到的问题是,我的主机将FTP文件列表限制为500个条目,因此我只能在
$files
数组中获得498个可用条目。我有几个目录,其中有超过2k个文件,因为这是一个粉丝网站Coppermine gallery,因此,每个图像都有2个或多个条目(最多4个),具体取决于其尺寸

主机拒绝增加返回的条目数。我试图通过打开索引列表来查看文件和压缩目录来解决这个问题,但在每种情况下,我仍然只能得到498个文件

我能想到的唯一解决方案是找出文件名,在某些情况下,这些文件名不是直观的或顺序的(谢谢你,Facebook),然后设置一个脚本,按文件名抓取每个文件,而不是抓取目录内容列表

然而,我想做最后的努力/请求另一个解决方案,因为上面的方法非常耗时,如果有办法通过定义我想从哪里开始提取来查看目录,我会欣喜若狂

如果解决方案需要php以外的语言,我仍然会全神贯注


ETA:我一直想说的是
ftp\u nlist
ftp\u rawlist
都只返回498个可用条目,而且FXP被禁用,他们不愿意启用它。

他们也限制了
ftp\u rawlist
吗?是的,他们限制了@看起来你的主机使用的是cPanel?是否有任何站点备份功能可用?在cpanel中的“文件”下,是否有备份或备份向导?使用这些,你应该能够下载你的所有网站内容。另外,通过新的文件管理器,您可以选择一个目录,压缩整个文件夹并下载它。我尝试过通过Softaculous进行备份,但失败了。在文件区域中没有备份功能,如果我试图从文件管理器压缩目录,它们在到达501文件时就会失败@DREW010太糟糕了…要确认一下,您只是想将您的站点从他们公司的一个服务器/托管帐户移动到另一个服务器/托管帐户?也许你可以说服他们使用cpanel/WHM的账户转账功能为你移动网站。由于它们对FTP的限制如此之大,并且您不能使用SFTP/ssh,因此它们使得访问您的站点变得非常困难。另一个选项是使用
exec()
运行php命令,尝试运行整个主文件夹的tar/zip命令。或者看到或者