急急急 csv导入功能该则么做??? 请教各位,csv导入。用php处理,该则么写,求教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我先导到txt文件中,然后再读出,写入数据库的./ 就一个html,一个php,要择么做html,我已经写好了,<form action=upload.php method=post enctype=multipart/form-data><input type=file name=upfile><input type=submit value=上传></form> php该则么写 看PHPMYADMIN的代码,具体是...你自己去查吧.我这还有个函数,也是改自phpmyadmin的:/** * 输出一个数据库中的表到一个CSV文件中 * * @param string Mysql数据库的主机 * @param string 数据库名称 * @param string 数据库中的表名 * @param string 数据库的连接用户名 * @param string 数据库的连接密码 * @param string 数据库的表名 * @param string 数据库的 * @param string 错误页面 * @param string SQL语句 * * @return text 返回CSV格式的内容 * * @access public */function PMA_exportData($host,$db,$user,$pass,$filename, $crlf, $error_url, $sql_query,$extype) { $what="csv"; $csv_terminated="\n"; $csv_separator=","; $csv_enclosed=" "; $csv_escaped=" "; mysql_connect($host, $user,$pass) or die("不能连接数据库,错误代码如下:" . mysql_error()); mysql_select_db($db); $result = mysql_query($sql_query); $fields_cnt = mysql_num_fields($result); $cc=""; $fp = fopen($filename, 'w'); // 格式化数据 $number=0; while ($row = mysql_fetch_row($result)) { $number=$number+1; if($number>5 and extype==1){ break; } $schema_insert = ''; for ($j = 0; $j < $fields_cnt; $j++) { if (!isset($row[$j]) || is_null($row[$j])) { $schema_insert .="NULL"; //用什么来替换空值 } elseif ($row[$j] == '0' || $row[$j] != '') { // loic1 :用引号包含字段值 if ($csv_enclosed == '') { $schema_insert .= $row[$j]; } else { $schema_insert .= $csv_enclosed . str_replace($csv_enclosed, $csv_escaped . $csv_enclosed, $row[$j]) . $csv_enclosed; } } else { $schema_insert .= ''; } if ($j < $fields_cnt-1) { $schema_insert .= $csv_separator; } } // end for fwrite($fp,$schema_insert . $csv_terminated); // $cc.=$schema_insert . $csv_terminated; } // end while mysql_free_result($result); fclose($fp); return true;} /** * 从一个上传的文件中将数据导入到一个表中 * * @param string Mysql数据库的主机 * @param string 数据库名称 * @param string 数据库中的表名 * @param string 数据库的连接用户名 * @param string 数据库的连接密码 * @param string 数据库的表名 * * @return bool 是否执行成功 * * @access public */ function uploadFileOfCsv($host,$db,$user,$pass,$table,$f_names,$filename){ mysql_connect($host, $user,$pass) or die("不能连接数据库,错误代码如下:" . mysql_error()); mysql_select_db($db); $fields_cnt = count($f_names); $test2=array(array()); $rownum=0; $fp = fopen($filename, "r"); while ($buffer = fgets($fp,4096)) { $i++; $tmp_arr = explode(",",$buffer); if(trim($tmp_arr[0]) == ""){ echo "<script language='javascript'>"; echo "alert('第".$i."行空,请检查!');"; echo "location.href=document.referrer;"; echo "</script>"; exit; } $query = "INSERT INTO ".$db.".".$table; $query.="("; for($i=0;$i<$fields_cnt;$i++){ if($i==0){ $query.=$f_names[$i]." "; }else{ $query.=" ,".$f_names[$i]." "; } } $query.=")"; $query .=" values ( "; for($q=0;$q<$fields_cnt;$q++){ if($q==$fields_cnt-1){ $tmp=$tmp_arr[$q]; $query.="'$tmp');"; }else{ $tmp=$tmp_arr[$q]; $query.="'$tmp',"; } }//end for($q=0; echo $query."<br>"; log2("导出的SQL语句".$query); mysql_query($query); } fclose($fp); return "OK"; unlink("temp.csv"); } function log2($event = null){ //global $db; // global $login; if(LOG_ENABLED){ $now = date("Y-M-d H:i:s"); $fd = fopen ("C:log.html",'a'); $log = $now." ".$_SERVER["REMOTE_ADDR"] ." - $event <br>"; fwrite($fd,$log); fclose($fd); } } 以前用CVS试过,但导入时仍出现了错,原来,是字符中有空格或制表符 就是csv的部分:连接服务器,将csv复制到一个目录,然后解析 该则么拷贝CSV文件到服务器上,然后再去解析 则麽样才能处理根据上传的csv生成sql,然后执行 紧急求助:Could not convert string to unicode: 如何处理???? 【菜】一个菜到不能再菜的问题 但还是把我卡住了 5555 * { padding: 0; margin: 0 } 这个*是什么意思啊? mysql 网页打开APP的问题 ajxa做无刷新检索 关于dll的调用问题?请各位赐教,谢谢。 98/NT 文件上传目录的设定问题@_@~~ 关于PHP3上传文件的问题。 关于伪静态IIS7.0中web.config的问题 新手幼稚问题 如何能够让上传sql文档变得界面化
html,我已经写好了,
<form action=upload.php method=post enctype=multipart/form-data>
<input type=file name=upfile>
<input type=submit value=上传>
</form>
php该则么写
/**
* 输出一个数据库中的表到一个CSV文件中
*
* @param string Mysql数据库的主机
* @param string 数据库名称
* @param string 数据库中的表名
* @param string 数据库的连接用户名
* @param string 数据库的连接密码
* @param string 数据库的表名
* @param string 数据库的
* @param string 错误页面
* @param string SQL语句
*
* @return text 返回CSV格式的内容
*
* @access public
*/
function PMA_exportData($host,$db,$user,$pass,$filename, $crlf, $error_url, $sql_query,$extype) {
$what="csv";
$csv_terminated="\n";
$csv_separator=",";
$csv_enclosed=" ";
$csv_escaped=" ";
mysql_connect($host, $user,$pass) or die("不能连接数据库,错误代码如下:" . mysql_error());
mysql_select_db($db);
$result = mysql_query($sql_query);
$fields_cnt = mysql_num_fields($result);
$cc="";
$fp = fopen($filename, 'w');
// 格式化数据
$number=0;
while ($row = mysql_fetch_row($result)) { $number=$number+1;
if($number>5 and extype==1){
break;
}
$schema_insert = '';
for ($j = 0; $j < $fields_cnt; $j++) {
if (!isset($row[$j]) || is_null($row[$j])) {
$schema_insert .="NULL"; //用什么来替换空值
} elseif ($row[$j] == '0' || $row[$j] != '') {
// loic1 :用引号包含字段值
if ($csv_enclosed == '') {
$schema_insert .= $row[$j];
} else {
$schema_insert .= $csv_enclosed
. str_replace($csv_enclosed, $csv_escaped . $csv_enclosed, $row[$j])
. $csv_enclosed;
}
} else {
$schema_insert .= '';
}
if ($j < $fields_cnt-1) {
$schema_insert .= $csv_separator;
}
} // end for
fwrite($fp,$schema_insert . $csv_terminated);
// $cc.=$schema_insert . $csv_terminated;
} // end while
mysql_free_result($result);
fclose($fp);
return true;
} /**
* 从一个上传的文件中将数据导入到一个表中
*
* @param string Mysql数据库的主机
* @param string 数据库名称
* @param string 数据库中的表名
* @param string 数据库的连接用户名
* @param string 数据库的连接密码
* @param string 数据库的表名
*
* @return bool 是否执行成功
*
* @access public
*/
function uploadFileOfCsv($host,$db,$user,$pass,$table,$f_names,$filename){ mysql_connect($host, $user,$pass) or die("不能连接数据库,错误代码如下:" . mysql_error());
mysql_select_db($db);
$fields_cnt = count($f_names);
$test2=array(array());
$rownum=0;
$fp = fopen($filename, "r"); while ($buffer = fgets($fp,4096))
{
$i++;
$tmp_arr = explode(",",$buffer);
if(trim($tmp_arr[0]) == ""){
echo "<script language='javascript'>";
echo "alert('第".$i."行空,请检查!');";
echo "location.href=document.referrer;";
echo "</script>";
exit;
}
$query = "INSERT INTO ".$db.".".$table;
$query.="(";
for($i=0;$i<$fields_cnt;$i++){
if($i==0){
$query.=$f_names[$i]." ";
}else{
$query.=" ,".$f_names[$i]." ";
}
}
$query.=")";
$query .=" values ( ";
for($q=0;$q<$fields_cnt;$q++){
if($q==$fields_cnt-1){
$tmp=$tmp_arr[$q];
$query.="'$tmp');";
}else{
$tmp=$tmp_arr[$q];
$query.="'$tmp',";
}
}//end for($q=0;
echo $query."<br>";
log2("导出的SQL语句".$query);
mysql_query($query);
}
fclose($fp);
return "OK";
unlink("temp.csv");
}
function log2($event = null){
//global $db;
// global $login;
if(LOG_ENABLED){
$now = date("Y-M-d H:i:s");
$fd = fopen ("C:log.html",'a');
$log = $now." ".$_SERVER["REMOTE_ADDR"] ." - $event <br>";
fwrite($fd,$log);
fclose($fd);
}
}
连接服务器,将csv复制到一个目录,然后解析