|
红色的地方出现了这个错误 Parse error: parse error, unexpected '[', expecting ']' in /home/abc.php on line 61
function csv_import($path){
global $dbpath, $dbtype, $vars;
$db = dba_open($dbpath, "c", $dbtype, "0644");
if (!$db){
echo "db open failed.<p>";
return -1;
}
$fp = fopen($path, "r");
if (!$fp) {
dba_close($db);
echo "Cannot open CSV file ($path);
return -1;
}
$id = get_next_id($db);
$nr_entries = 0;
while(!feof($fp)){
$data = fgetcsv($fp, 4096);
if (is_array($data) && count($data) > 0){
$new = array();
for ($i = 0; $i < count($data); $i++){
$new[$vars[$i]] = $data[$i];
}
$new["id"] = $id;
dba_replace($id, serialize($new), $db);
$id++;
$nr_entries++;
}
}
fclose($fp);
dba_sync($db);
dba_close($db);
return $nr_entries;
}
请帮帮忙。谢谢。
[ 本帖最后由 长肥公主2 于 9-11-2005 07:19 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 10-11-2005 09:22 AM
|
显示全部楼层
也许可以把 $vars[$i] 打印出来, 看看里面是否有任何数值. |
|
|
|
|
|
|
|
发表于 10-11-2005 10:14 AM
|
显示全部楼层
原帖由 长肥公主2 于 9-11-2005 07:18 PM 发表
红色的地方出现了这个错误 Parse error: parse error, unexpected '[', expecting ']' in /home/abc.php on line 61
function csv_import($path){
global $dbpath, $dbtype, $vars;
$db = dba_open($ ...
try :
1. $new['$vars[$i]'] = $data[$i];
2. $new[$vars['$i']] = $data[$i];
3. $new['$vars[$i]'] = $data[$i]; |
|
|
|
|
|
|
|
楼主 |
发表于 10-11-2005 10:53 AM
|
显示全部楼层
原帖由 hantong 于 10-11-2005 10:14 AM 发表
try :
1. $new['$vars[$i]'] = $data[$i];
2. $new[$vars['$i']] = $data[$i];
3. $new['$vars[$i]'] = $data[$i];
嗨,我已经试了第一个和第二个,都不行。
Parse error: parse error, unexpected '\"', expecting T_STRING or T_VARIABLE or T_NUM_STRING
请问第一个和第三个有什么分别吗?
谢谢。 |
|
|
|
|
|
|
|
发表于 10-11-2005 12:33 PM
|
显示全部楼层
可以不必放string quote,现在最重要的是你的$vars里面是否有数据。照goatstudio兄的方法先把$vars print出来。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|