A. php 生成 csv文件
<?php
/**
*CreatedbyPhpStorm.
*User:[email protected]
*Date:2016/12/210021
*Time:下午12:08
*/
//头部标题
$csv_header=['名称','性别','年龄'];
//内容
$csv_body=[
['张三','男','13'],
['李四','女','13'],
['王五','男','13'],
['赵六','未知','13']
];
/**
*开始生成
*1.首先将数组拆分成以逗号(注意需要英文)分割的字符串
*2.然后加上每行的换行符号,这里建议直接使用PHP的预定义
*常量PHP_EOL
*3.最后写入文件
*/
//打开文件资源,不存在则创建
$fp=fopen('test.csv','a');
//处理头部标题
$header=implode(',',$csv_header).PHP_EOL;
//处理内容
$content='';
foreach($csv_bodyas$k=>$v){
$content.=implode(',',$v).PHP_EOL;
}
//拼接
$csv=$header.$content;
//写入并关闭资源
fwrite($fp,$csv);
fclose($fp);
B. thinkphp里面导入csv数据出现乱码怎么破
php读取csv文件,在windows上出现中文读取不到的情况,本人立马想到一个函数mb_convert_encoding();作如下设置 $str = mb_convert_encoding($str, "UTF-8", "GBK");然后就可以了。当然你也可以用iconv();作如下设置iconv(‘GBK’,”UTF-8//TRANSLIT//IGNORE”,$str);这两个函数来解决在windows上面发生乱码的问题。
C. php点击按钮上传csv文件,存入mysql数据库代码怎么写
<?php
$data=file("data.csv");
$j=count($data);
for($i=2;$i<$j;$i++){
$val="'".str_replace(",","','",trim($data[$i]))."'";
$sql="insertintotabvalues(".$val.")";
mysql_query($sql,$mylink);
}
?>//最简单的形式]
//我不了解csv现在给你改下
<?php
$fp=fopen("a.csv","r");
while(!feof($fp)){
$data=fgetcsv($fp);
if(!is_array($data))
continue;
$sql=$p="";
foreach($dataas$val){
$sql.=$p."'".$val."'";
$p=",";
}
$sql="insertintotabvalues(".$sql.")";
echo$sql;
//mysql_query($sql,$mylink);
}
fclose($fp);
?>
D. php导出csv文件时,只能在浏览器上显示文件内容,没有下载提示,更没有下载的csv文件,帮忙指点啊!
据我的理解,export_csv这个函数的功能就是显示csv内容。
按照你的说明猜测,你应该是先将数据库的内容输出到csv文件里,然后再给出一个指向该文件的下载链接就可以了。
export_csv这个函数可以设计成直接用 file 操作函数写入内容就可以了,因为csv本身是纯文本文件,没有什么特殊的文件格式。
E. php csv文件和excel文件的区别
其实最大的一个区别,PHP中有自带的csv函数,可以直接拿来使用,而Excel文件需要重新写入。你这个问题我之前测试过一个大数据,股票数据文件,股票数据文件用csv来保存的,将csv文件的数据直接保存在数据库里很便捷。而excel文件保存的时候,会出现乱码的问题,总之,文本文件和二进制文件保存方式是有区别的。建议在项目用csv文件格式进行导入导出数据。
F. php 生成csv文件并提示保存
<?php
//文件名
$filename="test.csv";
//数据(具体的根据需要做处理,如果是从数据库查询,原理与此类似,只需设置好写入格式和数据即可。
$data="测试csv";
//设置header
header("Content-type:text/csv");
header("Content-Disposition:attachment;filename=".$filename);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');header('Pragma:public');
echo$data;
?>
G. 求源码!PHP导出数据到csv文件
<?php
$DB_Server = "localhost";
$DB_Username = "root";
$DB_Password = "";
$DB_DBName = "DBName";
$DB_TBLName = "DB_TBLName";
$savename = date("YmjHis");
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect.");
mysql_query("Set Names 'gbk'");
$file_type = "vnd.ms-excel";
$file_ending = "xls";
header("Content-Type: application/$file_type;charset=gbk");
header("Content-Disposition: attachment; filename=".$savename.".$file_ending");
//header("Pragma: no-cache");
$now_date = date("Y-m-j H:i:s");
//$title = "数据库名:$DB_DBName,数据表:$DB_TBLName,备份日期:$now_date";
$sql = "Select * from $DB_TBLName";
$ALT_Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn't select database");
$result = @mysql_query($sql,$Connect) or die(mysql_error());
//echo("$title\n");
$sep = "\t";
for ($i = 0; $i < mysql_num_fields($result); $i++) {
echo mysql_field_name($result,$i) . "\t";
}
print("\n");
$i = 0;
while($row = mysql_fetch_row($result)) {
$schema_insert = "";
for($j=0; $j<mysql_num_fields($result);$j++) {
if(!isset($row[$j]))
$schema_insert .= "NULL".$sep;
elseif ($row[$j] != "")
$schema_insert .= "$row[$j]".$sep;
else
$schema_insert .= "".$sep;
}
$schema_insert = str_replace($sep."$", "", $schema_insert);
$schema_insert .= "\t";
print(trim($schema_insert));
print "\n";
$i++;
}
return (true);
?>