搜索csv文件名的特定部分并附加到新的csv文件(PHP)

搜索csv文件名的特定部分并附加到新的csv文件(PHP),php,csv,Php,Csv,我想知道是否有办法找到csv文件名的特定部分,并在编写新文件(另一个csv)时使用该特定部分。我有一些代码如下: $files = glob("C:\readonly\csvs\%.csv"); $filename = "C:\newcsvs\Dated_File.csv"; $newFile = fopen($filename, "w"); foreach($files as $file) { if(($handle = fopen($file, "r")) !== FALSE)

我想知道是否有办法找到csv文件名的特定部分,并在编写新文件(另一个csv)时使用该特定部分。我有一些代码如下:

$files = glob("C:\readonly\csvs\%.csv");
$filename = "C:\newcsvs\Dated_File.csv";

$newFile = fopen($filename, "w");
foreach($files as $file)
{
    if(($handle = fopen($file, "r")) !== FALSE)
    {
        while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
        {
            fputcsv($newFile, [$data[0], $data[1]]);
        }
    }
    fclose($handle);
    fclose($newFile);
}

比如说,我有一个文件名为“
Johnson_report[2019-02-05]-[2019-02-15]”的CSV,我想把结尾部分[2019-02-15]添加到新的CSV中,当它被写入时,我该怎么做?具体地说,我将创建的每个新CSV都必须使用文件的特定结束字符(它们总是在特定的日期范围内结束),并在新CSV的名称中使用该结束日期。我知道glob可以找到特定的模式,但我如何以这种方式使用它?

多亏了Jeto,preg_match&重命名功能就是答案。使用preg_match查找日期,然后在foreach循环中关闭文件后,使用rename函数将每个匹配项附加到文件名。

您可能希望使用文件名来获取日期部分。好的,我来试一试