0

我的 csv 文件中有两列,例如:

    image    gallery

    /1.jpg   /a.jpg;/b.jpg
   .....      .....

现在我想将图库内容更新为 /1.jpg;/a.jpg;/b.jpg. 即添加图片栏的内容和 ;图库内容。

以下是我的代码。当我运行它时。它无法更新 csv.i 的内容。我被卡住了。

$dir   = getcwd();
$files = scandir($dir);
foreach ($files as $file) {
$parts = pathinfo($file);
if ($parts['extension']!="csv") {
    continue;
}
if (($handle = fopen($file, "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 4096, ",")) !== FALSE) {
        $data[1]=$data[0].";".$data[1];
        fputcsv($file, $data);
    }
    fclose($handle);
}
4

2 回答 2

0

以写入或附加模式打开文件并 fputcsv期望第一个参数是资源,并且您给出了导致问题的文件路径更改它 fputcsv($handle, $data);

于 2012-09-07T07:21:53.007 回答
0

请先检查文件权限,然后您必须将句柄更改为读写,并检查数据[1]是否具有值。因为在您的代码中,数据 [0] 只会将行作为字符串获取,该字符串用“;”分隔 所以你必须爆炸它,然后进行操作。

于 2012-09-07T07:56:15.160 回答