PHP - 获取不带文件名的文件内容

PHP - Get File Contents Without Filename

我有一个 PHP 脚本,它根据文件名获取文本文件的内容,使用正则表达式进行一系列查找和替换,然后将清理后的文件输出到另一个文件夹。

代码如下,供参考:

<?php
$test = file_get_contents('GlobalTest.txt');
$test1 = preg_replace('/[\r\n]+/', "\r\n", $test);

$result = preg_replace('/;\w+;\d+;\d+%.+/m', '', $test1);
$resulta = preg_replace('/^((?!Athens|Baghdad|Hong Kong|Jerusalem|London|Mexico City|Moscow|Paris|Rio de Janeiro|Rome|Tokyo|Global Forecast|~_~_~_~_~_).)*$/m', '', $result);
$resultb = preg_replace('/^(?:[\t]*(?:\r?\n|\r))+/m', '', $resulta);
$resultc = preg_replace('/;.+\D;/m', ';', $resultb);
$resultd = preg_replace('/^(.*?);(?=.*;)/m', ' ', $resultc);
$resulte = preg_replace('/;/m', '/', $resultd);
$resultf = preg_replace('/<e0>/m', '', $resulte);
file_put_contents('/Users/asage/Desktop/Forecast/OUT/Output Global Test.txt', $resultf);

unlink ('GlobalTest.txt');
?>

可能有一些方法可以稍微清理一下,但目前有效。

我们的想法是,原始文本文件将每天以不同的方式命名('GlobalTest02122019.txt'、“20190213Global.txt”等),然后放入标有 IN 的文件夹中。

我的问题是,有没有办法获取放入此 IN 文件夹中的任何文本文件的内容,而不管其名称?此工作流程的理想方式是不必重命名任何文件。

还有,有没有办法把文件输出到OUT文件夹中,并保留原来的文件名?

如果您能提供任何意见,我们将不胜感激。我尝试查看过去的问题,但找不到与我正在寻找的内容类似的内容。

如果它是目录中唯一的文件,或者如果有一个模式可以匹配以隔离它(即,它是唯一以 "Global" 开头的文件),那么 glob() 函数将带您到达那里。基本上它 returns 一个 files/directories 的数组匹配 "traditional" 通配符样式引用就像你用 lsdir

ivan@darkstar:~$ ls t
file1  file2
ivan@darkstar:~$ cat e.php
<?php
    $files=glob("./t/*");
    print_r($files);
?>
ivan@darkstar:~$ php e.php
Array
(
    [0] => ./t/file1
    [1] => ./t/file2
)
ivan@darkstar:~$ 

使用 glob() 拉入可能的文件列表,遍历数组以查找文件模式(或处理每个文件,或处理唯一的文件等,视情况而定)并在找到时调用您的进程函数,将现在已知的非通配符文件路径传递给它。