专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

加工中心发那可系统传程序_数据库

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 17:06:21       共计:3593 浏览

加工中心发那可系统传程序?

一、一般步骤

1、用phpADMIN生成csv格式文件

以PHP+MySQL模式建立个人主页的读者,在自己的机器上都有PHP+MySQL环境吧?就在这个环境下,用phpADMIN生成以分号为分隔符的dotmud.csv文件。

2、将dotmud.csv文件通过FTP上传到服务器。

3、上传data.php程序(程序附后),在浏览器调用data.php程序,将dotmud.csv文件的内容加入到数据库。

二、特殊处理

一般的数据,通过上述步骤,基本可以顺利上传。但对于包含特殊字符的数据(比如数据库记录中包含换行符、单引号、分号),就要做些特殊的处理。

1、换行符的处理

PHP的fgetcsv()函数以换行符作为每行的结束标志。如果MySQL数据表的记录包含换行符,fgetcsv()就不能完整读取记录行。

笔者的解决方法是修改phpADMIN的lib.inc.php3文件(读者也可以不修改phpADMIN文件,而是用其他方法直接加工phpADMIN生成的dotmud.csv文件,达到同样的效果)的get_table_csv()函数:

在 $schema_insert=ereg_replace($sep."$","",$schema_insert) 行后加入如下命令行

$schema_insert=ereg_replace("\r\n","`return`",$schema_insert)

将换行符转换为不容易出现的换行标识串`return`(读者可根据自己数据的特点设置独特的换行标识串),再在data.php程序中加一行命令$data[$i]=ereg_replace("`return`","\r\n",$data[$i]),用来将换行标识串还原成换行符。

2、分隔符的处理

如果MySQL记录行恰好包含CSV分隔符,fgetcsv()进行分隔处理时就会出现问题。

笔者仍然是通过修改lib.inc.php3文件解决的。

在get_table_csv()的$schema_insert="$row[$j]".$sep行前加一行

$row[$j]=ereg_replace($sep,"`return_sep`",$row[$j]) 命令,将分隔符转为分隔标识串`return_sep`,同时在data.php中用命令行 $data[$i]=ereg_replace("`return_sep`",";",$data[$i]) 进行还原处理。

3、单引号的处理

MySQL的SQL语句行对单引号有特殊的定义,如果直接提交含单引号的SQL语句,就会出错。这种情况需要加上转义符。在data.php中加一行 $data[$i]=ereg_replace("'","\'",$data[$i]) 就可解决。

另外,在数据记录特别多的的情况下,dotmud.csv文件可能比较大,如果在服务器的限定时间内不能执行完data.php程序,就需要按行分拆dotmud.csv。如笔者有个7000行的dotmud.csv文件,在自己的机器上执行到600行就提示超时,便拆成10个文件上传到全路互联(www.wayall.com),结果对方的服务器速度快,每个文件的处理时间还不到1秒,而php默认的限定执行时间可是30秒啊!看来我做的分拆实属多余。

以上方法解决了数据库内容的上传问题。对于数据库结构的上传,只要稍微修改一下data.php程序就可实现。其实,如果库结构比较简单,用phpADMIN更方便。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:如何在mysql中查询当前数据上一条和下一条的记录_数据库 | ·下一条:applewatchs8电池容量_数据库

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有