通过后缀/扩展名使用phpseclib nlist从SFTP文件夹中获取文件

时间:2018-03-09 11:20:02

标签: php sftp phpseclib

我需要从SFTP服务器获取文件,但我只需要txt扩展名的文件。如果我循环结果并使用PHP localy进行过滤,则需要花费太多时间。如何使用nlist执行此操作?

我的代码是:

$timeout_sftp = 30; 
$ls_directory = $sftp->nlist($sftp_path, false, $timeout_sftp);

1 个答案:

答案 0 :(得分:1)

SFTP不允许过滤文件(协议本身,它不是PHP中SFTP实现的限制)。

所以你所能做的就是检索整个目录的列表并在本地过滤它们。

<script>
var strWidth = document.getElementById("mydiv").style.width;
var strHeight = document.getElementById("mydiv").style.height;
var link = "<?php if(isset($_GET["ggg"])) {
echo $_GET["ggg"].".php?width=800&height=460";
} else {
echo "page1.php?width=800&height=460";
}
?>";
</script>

你当然可以使用SSH&#34; exec&#34;通道在服务器上执行$files = $sftp->nlist($sftp_path); foreach ($files as $file) { if (preg_match("/\.txt$/i", $file)) { echo "Found $file\n"; } } 。但是,这不再是SFTP解决方案,您需要具有对服务器的shell访问权限。

ls *.txt