使用PHP合并多个CSV文件

时间:2016-07-09 04:59:21

标签: php csv

我是这个论坛的新手,也是PHP的新手,我正在测试网站上构建一些非常基本的功能,同时我还要学习如何使用PHP。我正在尝试的当前项目之一是组合两个CSV文件目录。

我希望使用GLOB作为*通配符来收集每个目录中的文件,然后将它们组合起来。我知道我在下面使用的方式并不是非常有效,但这只是为了学习。我遇到的问题是设置GLOB命令来拾取我的所有CSV文件,然后将该变量放入file_get_contents。

这是我的代码..

$files = glob("http://www.website.com/1/*.csv");
foreach($files as $filepath) {
  if ($handle = fopen($filepath, "r")) {
     // ...
  }
}
$files2 = glob("http://www.website.com/35/*.csv");
foreach($files2 as $filepath2) {
  if ($handle2 = fopen($filepath2, "r")) {
     // ...
  }
}
file_put_contents('final_data.csv',
    file_get_contents($files) .
    file_get_contents($files2)
);

1 个答案:

答案 0 :(得分:0)

当您使用Glob时,生成的数组不包含基本路径,因此您必须添加它,如下所示:

$basePath = '/path/to/csv';
foreach ($files = glob("$basePath/dir1/*.csv") as $filePath)
{
    echo "$basePath/$filePath";
    //
}

从本地路径而不是远程URL读取也是有意义的。