php - 搜索 csv 文件名的特定部分并附加到新的 csv 文件(PHP)
问题描述
我想知道是否有办法找到 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);
}
因此,假设我有一个文件名为 的 CSV,Johnson_report[2019-02-05]-[2019-02-15].csv
并且我想获取结尾部分 [2019-02-15] 并在写入时将其附加到新的 CSV 我将如何去做?具体来说,我将制作的每个新 CSV 都必须采用文件的任何特定结束字符(它们将始终在特定日期范围内结束)并在新 CSV 的名称中使用该结束日期。我知道 glob 可以找到特定的模式,但我将如何以这种方式使用它?
解决方案
感谢 Jeto,preg_match 和重命名函数就是答案。使用 preg_match 查找日期,然后在 foreach 循环中关闭文件后使用 rename 函数将每个匹配项附加到文件名。
推荐阅读
- clickhouse - clickhouse外部字典加载错误
- javascript - d3.js v7 相当于 d3.scale.ordinal()
- list - pyspark:来自rdd的包含列表列表的数据框
- python - Python3.4 将 int16_t 字符串转换为有符号浮点数
- java - 什么会导致 Scanner 对象使用 hasNext() 方法返回 False?
- python - 在 TensorFlow 模型中获取类层错误
- xml - XSLT 2.0 根据条件删除元素并在 for-each-group 中复制其余部分
- reactjs - react.js 中使用样式化组件的样式错误
- microsoft-teams - 我团队频道上的 Kubernetes Pods Restart Notification 警报
- javascript - 使用 jsonp 的 Ajax 请求未通过