原生PHP代码实现excel导入,并添加数据到数据库.

原生PHP代码实现excel导入,并添加数据到数据库.,第1张

我用的代码是:

<?

//连接数据文件

$connect=mysql_connect("localhost","admin","admin") or die("链接数据库失败!")

//连接数据库(test)

mysql_select_db("testcg",$connect) or die (mysql_error())

$temp=file("test.csv")//连接EXCEL文件,格式为了.csv

for ($i=0$i <count($temp)$i++)

{

$string=explode(",",$temp[$i])//通过循环得到EXCEL文件中每行记录的值

//将EXCEL文件中每行记录的值插入到数据库中

$q="insert into ceshi (name,num,dom) values('$string[0]','$string[1]','$string[2]')"

mysql_query($q) or die (mysql_error())

if (!mysql_error())

{

echo " 成功导入数据!"

}

echo $string[4]."\n"

unset($string)

}

?>

--------------------------------------------------------------------------------

phpexcel或者pear的一个组件 ,国内有一个excelclass的插件

都是用来处理excel的,前2个功能都比较强大,对编码的支持也都不错,推荐使用pear的那个,名字好像叫spreadsheet reader

phpexcel比较费资源,不过并不是所有的excel都能读取

楼主可以到这里去看看 pear.php.net

--------------------------------------------------------------------------------

顶楼上的回答~~顺便接个分!嘿嘿

--------------------------------------------------------------------------------

AdO直接上传

注意有些字符mysql或ADO可能不支持

--------------------------------------------------------------------------------

首先确认你的数据库是什么编码的,以utf-8为例,

你首先打开excel 文件,然后保存,选择为另存为.csv文件。

然后用文本编辑器打开.csv文件,另存为utf-8的csv

然后你写php 可以使用php 的getcsv 打开(这样确保你有的字段中含有,而导致解析错误),然后把解析的结果导入到数据库中。

然后完了。

方法1、最常见的方法是:$_POST['fieldname']

说明:只能接收Content-Type: application/x-www-form-urlencoded提交的数据

解释:也就是表单POST过来的数据

方法2、file_get_contents("php://input")

说明:

允许读取 POST 的原始数据。

和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。

php://input 不能用于 enctype="multipart/form-data"。

解释:

对于未指定 Content-Type 的POST数据,则可以使用file_get_contents(“php://input”)来获取原始数据。

事实上,用PHP接收POST的任何数据都可以使用本方法。而不用考虑Content-Type,包括二进制文件流也可以。

所以用方法二是最保险的方法

方法3、$GLOBALS['HTTP_RAW_POST_DATA']

说明:

总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。

此变量仅在碰到未识别 MIME 类型的数据时产生。

$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用

如果post过来的数据不是PHP能够识别的,可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,

比如 text/xml 或者 soap 等等

解释:

$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST过来的原始数据。

$_POST或$_REQUEST存放的是 PHP以key=>value的形式格式化以后的数据。

但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST过来的数据取决于centent-Type的设置,即POST数据时 必须显式示指明Content-Type: application/x-www-form-urlencoded,POST的数据才会存放到 $GLOBALS['HTTP_RAW_POST_DATA']中


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11683781.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存