我的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);
}
答案 0 :(得分:0)
以写入或追加模式打开文件
fputcsv
期望第一个参数是资源,并且您已经给出了文件路径
这是造成问题的原因
更改
fputcsv($handle, $data);
答案 1 :(得分:0)
请先检查文件权限,之后必须更改读写的句柄,并检查数据[1]是否具有值。 因为在您的代码中,data [0]只会将行作为字符串获取,并以“;”分隔所以你必须爆炸它,之后再进行操作。