導航:首頁 > 編程語言 > php導入csv腳本之家

php導入csv腳本之家

發布時間:2022-11-02 01:48:32

1. php如何對CSV大文件進行讀取並導入資料庫

fgetcsv 可以讀取fopen打開的文件,並讀取一行,
這樣可以防止文件太大而內存溢出
然後每讀取一定行數,入庫一次,

2. 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上面發生亂碼的問題。

3. thinkphp怎麼把csv文件導入到網頁

str = 「您好hello」;
echo strlen($str);
11 strlen() 函數返回字元串的長度這樣導入,詳細的後盾人有,樓主感興趣可以看看

4. php如何讀取CSV大文件並且將其導入資料庫示例

思路:

讀取csv文件,每讀取一行數據,就插入資料庫

示例

文件夾結構

/
file.csv//csv大文件,這里只模擬三行數據,不考慮運行效率(PS:csv文件格式很簡單,文件一般較小,解析很快,運行效率的瓶頸主要在寫入資料庫操作)
index.php//php文件

file.csv

singi,20
lily,19
daming,23

index.php

/**
*讀取csv文件,每讀取一行數據,就插入資料庫
*/

//獲取資料庫實例
$dsn='mysql:dbname=test;host=127.0.0.1';
$user='root';
$password='';
try{
$db=newPDO($dsn,$user,$password);
}catch(PDOException$e){
echo'Connectionfailed:'.$e->getMessage();
}

//讀取file.csv文件
if(($handle=fopen("file.csv","r"))!==FALSE){
while(($row=fgetcsv($handle,1000,","))!==FALSE){
//寫入資料庫
$sth=$db->prepare('insertintotestsetname=:name,age=:age');
$sth->bindParam(':name',$row[0],PDO::PARAM_STR,255);
$sth->bindParam(':age',$row[1],PDO::PARAM_INT);
$sth->execute();
}
fclose($handle);
}

數據表

CREATETABLE`test`(
`id`INT(10)UNSIGNEDNOTNULLAUTO_INCREMENT,
`name`VARCHAR(255)NULLDEFAULT''COLLATE'utf8mb4_bin',
`age`INT(10)NULLDEFAULT'0',
PRIMARYKEY(`id`)
)
COLLATE='utf8mb4_bin'
ENGINE=InnoDB;

運行結束後,資料庫中會插入csv中的三行數據

5. php 寫入數據到csv中,不覆蓋原有數據,以新增行插入如何實現

這個跟fputcsv無關,而主要的關鍵在於你打開文件的模式,你需要使用 a 或是 a+ 模式打開文件。

'a' 寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建之。
'a+' 讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建之。

$fp = fopen('file.csv', 'a+');

foreach($stu as $data);
{
fputcsv($fp,$data); //每次寫入一組數據到csv文件中的一行
}

6. phpadmin怎麼導入cvs文件

phpmyadmin 導入 csv 的用戶界面如下圖:

以下是相關的注意事項及說明:

1、關於 CSV 和 CSV using LOAD DATA

這兩種都可以導入CSV格式的文件數據,區別在於:當文件比較大時用 CSV 可能 script 會超時,這時就得使用 LOAD DATA。

2、列名

列名就是你在導出時打鉤的「將欄位名稱放在首行」,實際就是用分隔符分開的欄位名集合,就是填寫所有欄位名,中間用分隔欄位的字元隔開。
3、Ignore plicate rows

這個選項的作用是忽略相同的行,意為相同的行只導入一行數據。4、轉義欄位的字元是指數據裡面可能含有特殊字元串,如分隔欄位的字元、包裹欄位的字元還有SQL保留字元,這些得先轉義否則會出錯,按默認的設置是沒什麼問題的。

7. 三種辦法,1,PHP 如何處理上傳的CSV文件

可以用fgetcsv函數: -- 從文件指針中讀入一行並解析 CSV 欄位
但他無法處理里邊的中文; 所以在上傳後,要先把csv轉一下編碼;

8. 我用php的fgetcsv將csv導入mysql,用NOW()導入時間,提示Fatal error: Call to undefined function NOW()

('". NOW()."',' NOW() 比如要放在 引號里,他是mysql的函數,你如果放在引號外面,php就認為 NOW() 是一個 php 的函數,而實際上,php 沒有這個函數,你自己又沒有定義這么一個函數,當然會提示 Call to undefined function NOW() (意思就是未定義的函數)

9. php導入csv文件輸出是亂碼,怎麼解決

//這是我前幾天回答過的一個問題下面以讀取淘寶csv文件為例
if($result){//如果上傳成功了,這是文件路徑
if(!($handle=fopen_utf8($result,"r"))===FALSE){//調取下邊函數fopen_utf8;
$errorArr=array();
$i=0;
while(($cols=fgetcsv($handle,1000," "))!==FALSE){
++$i;
if($i<4)continue;
$taobaolmsx=$cols[21];//寶貝屬性;
$taobaoxxsx=$cols[30];//銷售屬性;
$goodsBn=$cols[33];//商家編碼;

}
fclose($handle);
}

unlink($result);
}else{
echo'fileuploaderror';exit;
}

/*讀取csv文件用*/
functionfopen_utf8($filename){
$encoding='';
$handle=fopen($filename,'r');
$bom=fread($handle,2);
rewind($handle);

if($bom===chr(0xff).chr(0xfe)||$bom===chr(0xfe).chr(0xff)){
//UTF16ByteOrderMarkpresent
$encoding='UTF-16';
}else{
$file_sample=fread($handle,1000)+'e';//readfirst1000bytes
//+eisaworkaroundformb_stringbug
rewind($handle);

$encoding=mb_detect_encoding($file_sample,'UTF-8,UTF-7,ASCII,EUC-JP,SJIS,eucJP-win,SJIS-win,JIS,ISO-2022-JP');
}
if($encoding){
stream_filter_append($handle,'convert.iconv.'.$encoding.'/UTF-8');
}
return($handle);
}

10. 我在網上找了一個導入csv文件 php的報錯Fatal error: Call to undefined function input_csv() in

這個意思就是說你的input_csc()這個方法沒有定義,你在網上找的,這個方法肯定是人家封裝好的,只是給了你關鍵代碼,並不是全部代碼

閱讀全文

與php導入csv腳本之家相關的資料

熱點內容
五菱宏光空調壓縮機 瀏覽:64
為什麼app佔用幾百兆 瀏覽:676
自動解壓失敗叫我聯系客服 瀏覽:482
易語言新手源碼 瀏覽:456
oa伺服器必須有固定ip地址 瀏覽:42
傳奇源碼分析是什麼 瀏覽:267
解放壓縮機支架 瀏覽:255
程序員禿頂搞笑相遇 瀏覽:6
IBM手機app商店叫什麼名字 瀏覽:834
jpeg壓縮質量 瀏覽:774
雲伺服器評測對比 瀏覽:145
java日期轉string 瀏覽:221
openfire源碼編譯 瀏覽:897
在線小工具箱引流網站源碼 瀏覽:337
非科班程序員自學 瀏覽:801
壓縮泡沫鞋底底材 瀏覽:219
程序員職場第一課2正確的溝通 瀏覽:679
遇到不合法app應該怎麼辦 瀏覽:91
匯編程序編譯後的文件 瀏覽:81
大智慧均線源碼 瀏覽:374