CSV文件导入数据库和导出数据库
实例一:
<?php
$filename = 'test';
//导出文件
header("Content-type: application/vnd.ms-excel; charset=utf-8");
Header("Content-Disposition: attachment; filename=".$filename.".csv");
echo "商品名称,商品编号,商品价格,商品品牌,商品颜色\n";
$arr = [
['貂秋1','dq00001','1000','雕牌','红色'],
['貂秋2','dq00002','1000','雕牌','蓝色'],
['貂秋3','dq00003','1000','雕牌','绿色'],
['貂秋4','dq00004','1000','雕牌','白色']
];
//将数组循环遍历并输出
foreach ($arr as $item){
echo implode(',',$item)."\n";
}
示例二:
//从数据库中导出
$conn = mysqli_connect('localhost','root','123456','st0614');//连接数据库
$filename = 'student';//文件名为student
header("Content-type: application/vnd.ms-excel; charset=utf-8");
Header("Content-Disposition: attachment; filename=".$filename.".csv");
$res = mysqli_query($conn,'select * from student');
echo "ID,姓名,性别,年龄,院系,班级,头像\n";//表头
while($row = mysqli_fetch_assoc($res))//获取数据库数据
{
$arr[] = $row;
}
foreach ($arr as $item){
echo implode(',',$item)."\n";//输出
}
//SVN导入数据库
$file = 'text.txt';
if (isset($_POST['commit'])){
$file = $_FILES['csv'];
$fileName=$file['tmp_name'];
$fp = fopen($fileName,'r');
$i=0;
while ($file_data = fgetcsv($fp))
{
$i++;
if($i==1)
{
continue;//过滤表头
}else{
$data[$i] = $file_data;
}
}
fclose($fp);
}
<-- ---------请分开--------- -->
//存入数据库
if (isset($data)){
foreach ($data as $item){
$name = iconv('gb2312','utf-8',$item[1]);
$sql = "insert into student(`name`,`sex`,`age`,`d_id`,`class_id`,`tumble`) values('{$name}',{$item[2]},{$item[3]},{$item[4]},{$item[5]},'{$item[6]}')";
$res = mysqli_query($conn,$sql);
}
if ($res){
echo '上传成功!';
}else{
echo '上传失败!';
}
}
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
csv文件:
<input type="file"name="csv">
<--<button id="btn" onclick="<?php //download(); ?>">下载</button>-->
<input type="submit" name="commit" value="上传">
</form>
</body>
</html>