PHP-仅选择文件夹中的文件,而不选择foreach()?

PHP-仅选择文件夹中的文件,而不选择foreach()?,php,Php,我有一个脚本,它将CSV文件放入一个临时文件夹中,在另一个脚本将其导入我的数据库之前,它将一直保留在该文件夹中。这是一个单独的脚本,由于各种原因,无法同时执行临时文件夹和连续数据库导入 由于我现在有一个单独的导入脚本,我首先需要扫描temp文件夹并查找导入文件,它是文件夹中唯一的文件,但有一个我无法预先定义的不断变化的文件名。我现在的问题是,如何获取所述文件的文件名,将其分配给变量,并在以后的数据库导入中使用它 当使用foreach()循环时,我最终得到一个数组,但更希望得到一个字符串以供进一步

我有一个脚本,它将CSV文件放入一个临时文件夹中,在另一个脚本将其导入我的数据库之前,它将一直保留在该文件夹中。这是一个单独的脚本,由于各种原因,无法同时执行临时文件夹和连续数据库导入

由于我现在有一个单独的导入脚本,我首先需要扫描temp文件夹并查找导入文件,它是文件夹中唯一的文件,但有一个我无法预先定义的不断变化的文件名。我现在的问题是,如何获取所述文件的文件名,将其分配给变量,并在以后的数据库导入中使用它

当使用
foreach()
循环时,我最终得到一个数组,但更希望得到一个字符串以供进一步使用

PHP


由于
scandir
是按字母顺序排列的(),因此文件将始终位于
scandir
数组的末尾(在非unix系统上,它是唯一的文件,在unix系统上,它位于
之后。

因此,您只需要获取数组的最后一项,如下所示:

$s = scandir("./".$temp."/");
$import_file = $s[count($s)-1];

此代码自动检索
temp
文件夹中第三个文件的名称,因此只要没有其他文件,它就可以正常工作。

因为
scandir
是按字母顺序排列的(),所以您的文件将始终位于
scandir
数组的末尾(在非unix系统上,它是唯一的文件,在unix系统上,它位于
之后。

因此,您只需要获取数组的最后一项,如下所示:

$s = scandir("./".$temp."/");
$import_file = $s[count($s)-1];

此代码自动检索
temp
文件夹中第三个文件的名称,因此只要没有其他文件,它就可以正常工作。

这是个好主意,但是
仅在UNIX服务器上存在(AFAIK),那么,如果此脚本在非Unix计算机上运行该怎么办?另外,在运行代码时,我得到一个
未定义的偏移量:2
错误。仍然得到一个
未定义的偏移量:0
错误。
scandir
真的支持这种格式吗?@Armitage2k临时文件夹中有文件吗?如果没有,它将不起作用。您可以将
放在临时文件夹中>如果是这样的话,请在行首签名以消除这些错误。@Armitage2k哇,我的错。该代码不起作用,我忘记了
preg\u grep
保留了原始索引。我最新的编辑工作正常,相信我:这是一个好主意,但是
仅存在于UNIX服务器上(AFAIK),那么,如果此脚本在非Unix计算机上运行该怎么办?另外,在运行代码时,我得到一个
未定义的偏移量:2
错误。仍然得到一个
未定义的偏移量:0
错误。
scandir
真的支持这种格式吗?@Armitage2k临时文件夹中有文件吗?如果没有,它将不起作用。您可以将
放在临时文件夹中>如果是这样的话,请在行首签名以消除这些错误。@Armitage2k哇,我的错。该代码不起作用,我忘记了
preg\u grep
保留了原始索引。我最近的编辑工作正常,相信我:D