本文目錄一覽:
- 1、php如何讀取CSV大文件並且將其導入數據庫示例
- 2、csv文件用PHP要怎麼讀取
- 3、php寫的網頁出問題了,關於讀寫csv文件的問題!急急急!
- 4、php讀取csv問題
- 5、PHP操作CSV文件的問題,請教大家!
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中的三行數據
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文件的問題!急急急!
在所有PHP代碼前面加if($_POST[“to”]){ php代碼}
你的應該是表達提交之後才執行下面php代碼根據具體情況if的條件判斷可以多一點,比如如果你的三個input都有值才提交的話可以寫成if($_POST[“to”] $_POST[“subject”] $_POST[“message”])當三個都有值的時候才執行下面的php代碼
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是以逗號和回車分隔開的 ..
你首先讀取文件..
然後用explode分隔回車,
得到一個數組,再對數組內的數據遍歷用逗號分隔.會得到具體的數據..
思路就這樣….自己多加嘗試..理解就可以..
原創文章,作者:H97KT,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130691.html