關於PHP 讀取CSV入庫的那點事情

2021-06-02 07:38:41 字數 2072 閱讀 6099

想利用一下某oa的讀取csv檔案入庫的問題,結果發現反編譯的原始碼問題多多啊,呵呵,自己修改了一些,留存備忘。

function csv2array( $content, $title = array( ), $delimiter = ",", $enclosure = "\"", $optional = 1 )

if ( !is_array( $title ) && count( $title ) == 0 || count( $csv_array ) == 0 )

$field_map = array( );

while ( list( $key, $value ) = each( &$title ) )

}$lines = array( );

$i = 1;

for ( ; $i < count( $csv_array ); ++$i )

$lines = $line;

}return $lines;

}

utility_all.php  中的csv2array;

<?php

//借用一下通訊簿匯入,需要修改一下問題就在title=array(),必須要做**欄位的賦值

include_once( "inc/auth.php" );

include_once( "inc/utility_all.php" );

include_once( "inc/utility_field.php" );

echo "\r\n\r\n\r\n";

if ( $file_name == "" )

if ( strtolower( substr( $file_name, -3 ) ) != "csv" )

//欄位名稱

$title = array( "名稱"=>"mc" ,"識別號"=> "sbh", "受理日期"=>"slrq", "經辦人"=>"jbr" , "主管"=>"zg" , "附註"=>"notes" );

$row_count = 0;

$data = file_get_contents( $csv_file );

if ( !$data )

$lines = csv2array( $data, $title);

//print_r($lines); 如過不做title的字段賦值操作,那麼這裡只會顯示第乙個欄位名,而且寫入資料庫時也會只寫入乙個字段資訊。

//print_r($data);

$lines_field = get_field_lines( $data, "lianghua" );

while ( list( $i, $data ) = each( $lines ) )

='',";

}if ( substr( $str_update, -1 ) == "," )

$id_str = trim( $id_str, "," );

$value_str = trim( $value_str, "," );

$query = "select lh_id from lianghua where mc='".$data['mc'].( "' and group_id='".$group_id."'" );

$cursor = exequery( $connection, $query );

if ( $row = mysql_fetch_array( $cursor ) )

else

','".$group_id."',''," ).$value_str.");";

exequery( $connection, $query );

$lh_id = mysql_insert_id( );

}if ( 0 < count( $lines_field[$i] ) )

}if ( file_exists( $csv_file ) )

message( "", _( "共" ).$row_count._( "條資料匯入!" ) );

echo "\r\n\r\n

\r\n\r\n\r\n\r\n\r\n";

?>

php 逐行讀取csv資料入庫

需求 把從execel檔案中匯出的csv資料,匯入資料庫 解決方案如下 判斷檔案是否上傳成功 if empty files file1 files file1 error 0 else 組裝資料 fields name age telephone fields cnt count fields 用二...

php讀取csv指定行 PHP讀取csv檔案的內容

一次性讀取csv檔案內所有行的資料 file fopen windows 2011 s.csv r while data fgetcsv file 每次讀取csv裡面的一行內容 print r data 此為乙個陣列,要獲得每乙個資料,訪問陣列下標即可 goods list data print r...

php讀取csv檔案

開始討論php操作csv檔案的問題之前,我們先首先了解一下什麼是csv檔案。csv是最通用的一種檔案格式,它可以非常容易地被匯入各種pc 及資料庫中。此檔案,一行即為資料表的一行。生成資料表字段用半形逗號隔開。了解到這裡我們看清楚了csv檔案的最大特點,以行排列,每行中的每個數值用逗號隔開。看到這裡...