本文目錄一覽:
- 1、csv文件用PHP要怎麼讀取
- 2、php讀取csv文件怎麼是亂碼
- 3、php讀取csv文件 時每一項的開頭如果是中文 將會被忽略, 怎麼辦用fgetcsv讀取的
- 4、php讀取csv問題
- 5、php如何讀取CSV大文件並且將其導入數據庫示例
- 6、php讀取CSV文件時,無法讀取漢字,編碼已強制GB2312
csv文件用PHP要怎麼讀取
讀取csv文件制定行數(行區間)
?php
function get_file_line( $file_name, $line_star, $line_end){
$n = 0;
$handle = fopen($file_name,”r”);
if ($handle) {
while (!feof($handle)) {
++$n;
$out = fgets($handle, 4096);
if($line_star = $n){
$ling[] = $out;
php讀取csv文件怎麼是亂碼
出現亂碼解決辦法:
csv格式不是utf的,所以在讀取和寫入mysql的時候就會出現亂碼,用iconv函數轉換下即可。
$Name=iconv(‘gb2312′,’utf-8’,$file);
php讀取csv文件 時每一項的開頭如果是中文 將會被忽略, 怎麼辦用fgetcsv讀取的
setlocale(LC_ALL,array(‘zh_CN.gbk’,’zh_CN.gb2312′,’en_US.utf8′));你在fgetcsv之前加一下這句話。我一般讀不出中文的時候加上就好了
php讀取csv問題
應該是不會的,你能貼點代碼出來不,這樣比較模糊,
?php
$file = fopen(‘windows_2011_s.csv’,’r’);
while ($data = fgetcsv($file)) {
$goods_list[] = $data;
}
foreach ($goods_list as $arr){
if ($arr[0]!=””){
echo $arr[0].”br”;
}
}
echo $goods_list[2][0];
fclose($file);
?
還有個問題就是帶雙引號如果你在往數據庫里插入數據的時候可能會導致語法錯誤而不能插入
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 = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo ‘Connection failed: ‘ . $e-getMessage();
}
//讀取file.csv文件
if (($handle = fopen(“file.csv”, “r”)) !== FALSE) {
while (($row = fgetcsv($handle, 1000, “,”)) !== FALSE) {
//寫入數據庫
$sth = $db-prepare(‘insert into test set name=:name,age=:age’);
$sth-bindParam(‘:name’,$row[0],PDO::PARAM_STR,255);
$sth-bindParam(‘:age’,$row[1],PDO::PARAM_INT);
$sth-execute();
}
fclose($handle);
}
數據表
CREATE TABLE `test` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NULL DEFAULT ” COLLATE ‘utf8mb4_bin’,
`age` INT(10) NULL DEFAULT ‘0’,
PRIMARY KEY (`id`)
)
COLLATE=’utf8mb4_bin’
ENGINE=InnoDB;
運行結束後,數據庫中會插入csv中的三行數據
php讀取CSV文件時,無法讀取漢字,編碼已強制GB2312
可以嘗試在獲得提交的CSV之後再對數據編碼一次
提及CSV之後你不是要通過虛幻去逐行讀取數據嗎,
在逐行讀取數據的之前,先對這一行 的所有數據進行二次編碼
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/250854.html