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);
?>