使用php更新csv中的一列记录
我的csv文件中有两列,例如:使用php更新csv中的一列记录,php,Php,我的csv文件中有两列,例如: image gallery /1.jpg /a.jpg;/b.jpg ..... ..... 现在我想将库内容更新为/1.jpg/a、 jpg/b、 jpg。即增加图片内容和到库内容 下面是我的代码。当我运行它时。它无法更新csv的内容。我被绊倒了 $dir = getcwd(); $files = scandir($dir); foreach ($files as $file) { $parts = pathin
image gallery
/1.jpg /a.jpg;/b.jpg
..... .....
现在我想将库内容更新为/1.jpg/a、 jpg/b、 jpg
。即增加图片内容和代码>到库内容
下面是我的代码。当我运行它时。它无法更新csv的内容。我被绊倒了
$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);
}
以写入或追加模式打开文件,然后
fputcsv
要求第一个参数是资源,并且您已经给出了文件路径
这是造成问题的原因
改变它
fputcsv($handle,$data)代码>请先检查文件权限,然后必须将句柄更改为读写,还请检查数据[1]是否具有相应的值。
因为在您的代码中,仅数据[0]将以字符串形式获取行,字符串以“;”分隔,因此您必须分解它,然后执行操作。对不起,我更改了fputcsv($file,$data);正如您所说,但是库内容没有任何更改。您正在以读取模式打开文件并尝试更新。它将如何工作?它不是依赖于平台的windows或linux或unixi对不起,我是php的新手,您能告诉我如何更正代码吗?阅读本手册,它可能会帮助您http://in2.php.net/manual/en/function.fopen.php
我建议创建新的csv文件并将数据写入其中