最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP處理CSV表格文件的常用操作方法總結(jié)

 更新時(shí)間:2016年07月01日 15:13:11   作者:eechen  
CSV文件以純文本形式存儲(chǔ)表格數(shù)據(jù),所以我們通過PHP數(shù)組能夠較為容易地對(duì)CSV中的數(shù)據(jù)進(jìn)行讀寫,這里我們就來看一下PHP處理CSV表格文件的常用操作方法總結(jié):

要做在線Excel表格編輯功能,Excel的xls文件格式的解析就是個(gè)問題,畢竟這是微軟Office的私有專利格式.
所以要做的話還是用通用的csv(Comma Separated Value,逗號(hào)分隔值)格式吧.
各種辦公軟件都能識(shí)別csv表格,其實(shí)就是以特定分隔符(比如逗號(hào))分隔單元格的表格.
拿PHP來說,fgetcsv讀入csv表格,返回一個(gè)數(shù)組,
然后foreach輸出成HTML的<table>,這步操作幾行代碼就能實(shí)現(xiàn),非常簡單.
工作量主要還在于瀏覽器前端,建議你用jQuery進(jìn)行DOM和AJAX操作,
要實(shí)現(xiàn)phpMyAdmin那樣細(xì)粒度雙擊單元格編輯,然后AJAX提交也不難,
或者整個(gè)表格寫好后一次性$("form").serialize();然后AJAX提交也可以.

CSV表格的幾條規(guī)則:
1.每一行的單元格內(nèi)容之間用逗號(hào)分隔.
2.如果單元格的內(nèi)容本身有逗號(hào),這個(gè)單元格的內(nèi)容將會(huì)用引號(hào)包含.
3.如果單元格的內(nèi)容本身有引號(hào):
(1)引號(hào)不在首或尾,這個(gè)單元格內(nèi)容不會(huì)被引號(hào)包含.
(2)引號(hào)在首或尾,這個(gè)單元格內(nèi)容會(huì)被引號(hào)包含,并且原來首尾的引號(hào)會(huì)被轉(zhuǎn)義.

讀寫CSV

<?php
header('Content-Type: text/plain; charset=utf-8');

//導(dǎo)出CSV表格:數(shù)組轉(zhuǎn)CSV
$arr = array (
  array('ab', 'cd'),
  array('"a,b"', '"c,d"'),
);
$fp = fopen('file.csv', 'w');
foreach ($arr as $row) {
  //將一行格式化為CSV并寫入文件指針
  fputcsv($fp, $row);
}
fclose($fp);
unset($arr);

//導(dǎo)入CSV表格:CSV轉(zhuǎn)數(shù)組
$fp = fopen('file.csv', 'r');
while ( ($row = fgetcsv($fp)) !== FALSE ) {
  //從文件指針中讀入一行并解析CSV
  $arr[] = $row;
}
fclose($fp);
var_export($arr);

另存為一個(gè)獨(dú)立文件
download.php:

 <?php
$list = array (
  'aaa,bbb,ccc,dddd',
  '123,456,789',
  '"aaa","bbb"'
);
session_start();
$_SESSION['outputArray']=$list;
?>
<a href="test.php" target="_blank">下載csv文件</a>

test.php:
<?php
session_start();
$outputArray=$_SESSION['outputArray'];
header('Content-Type: application/csv');
header('Content-Disposition: attachment;filename="sales.csv"');
$output=fopen('php://output','w') or die("can not open");
foreach ($outputArray as $line) {
  fputcsv($output, split(',', $line));
}
fclose($output) or die("can not close");
?>

自動(dòng)保存csv文件到指定地點(diǎn)
<?php

$list = array (
  'aaa,bbb,ccc,dddd',
  '123,456,789',
  '"aaa","bbb"'
);

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

foreach ($list as $line) {
  fputcsv($fp, split(',', $line));
}

fclose($fp);
?>

相關(guān)文章

  • PHP遞歸獲取目錄內(nèi)所有文件的實(shí)現(xiàn)方法

    PHP遞歸獲取目錄內(nèi)所有文件的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄狿HP遞歸獲取目錄內(nèi)所有文件的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-11-11
  • php刪除一個(gè)路徑下的所有文件夾和文件的方法

    php刪除一個(gè)路徑下的所有文件夾和文件的方法

    php遍歷一個(gè)文件夾內(nèi)的所有文件和文件夾,并刪除所有文件夾和子文件夾下的所有文件的代碼,通過遞歸方式實(shí)現(xiàn)達(dá)到清空一個(gè)目錄的效果。本文給大家分享實(shí)例代碼,需要的朋友參考下
    2018-02-02
  • php編寫的一個(gè)E-mail驗(yàn)證類

    php編寫的一個(gè)E-mail驗(yàn)證類

    這篇文章主要介紹了php編寫的一個(gè)E-mail驗(yàn)證類的用法,非常的簡單實(shí)用,需要的小伙伴參考下,可以直接拿走使用。
    2015-03-03
  • PHP substr()函數(shù)參數(shù)解釋及用法講解

    PHP substr()函數(shù)參數(shù)解釋及用法講解

    substr() 函數(shù)返回字符串的一部分。這篇文章給大家介紹了PHP substr()函數(shù)參數(shù)解釋及用法講解,需要的朋友參考下
    2017-11-11
  • 正版phpstorm免費(fèi)激活步驟教程詳解

    正版phpstorm免費(fèi)激活步驟教程詳解

    PhpStorm可隨時(shí)幫助用戶對(duì)其編碼進(jìn)行調(diào)整,運(yùn)行單元測(cè)試或者提供可視化debug功能。這篇文章主要介紹了正版phpstorm免費(fèi)激活步驟,需要的朋友可以參考下
    2020-01-01
  • PHP 前加at符合@的作用解析

    PHP 前加at符合@的作用解析

    大家在寫php代碼的時(shí)候,前面總是加上@符號(hào),大家知道什么意思嗎?下面小編給大家分享下@符號(hào)的作用,需要的朋友可以參考下
    2015-07-07
  • CodeIgniter集成smarty的方法詳解

    CodeIgniter集成smarty的方法詳解

    這篇文章主要介紹了CodeIgniter集成smarty的方法,結(jié)合實(shí)例形式詳細(xì)分析了CodeIgniter集成Smarty的具體步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-05-05
  • PHP提取字符串中的手機(jī)號(hào)正則表達(dá)式怎么寫

    PHP提取字符串中的手機(jī)號(hào)正則表達(dá)式怎么寫

    PHP通過正則表達(dá)式提取字符串中的手機(jī)號(hào)并判斷運(yùn)營商,簡單快速方便,能提取多個(gè)手機(jī)號(hào)。下面通過本文實(shí)例代碼給大家詳細(xì)介紹,需要的的朋友參考下吧
    2017-07-07
  • YII Framework框架教程之緩存用法詳解

    YII Framework框架教程之緩存用法詳解

    這篇文章主要介紹了YII Framework框架教程之緩存用法,結(jié)合實(shí)例形式詳細(xì)分析了Yii框架緩存的結(jié)構(gòu),原理,使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-03-03
  • php基礎(chǔ)教程

    php基礎(chǔ)教程

    PHP是全球范圍內(nèi)應(yīng)用廣泛的開發(fā)語言,Web開發(fā)的最佳語言; PHP和Linux,Apache,MySQL緊密結(jié)合,形成LAMP的開源黃金組合,本文給大家php基礎(chǔ)教程,php基礎(chǔ),需要的朋友可以參考下
    2015-08-08

最新評(píng)論

阿勒泰市| 宾川县| 九江县| 建德市| 滨州市| 安国市| 曲周县| 揭阳市| 临安市| 云南省| 百色市| 隆安县| 安龙县| 东乌珠穆沁旗| 马边| 江山市| 黄龙县| 祁连县| 新干县| 克东县| 井研县| 宜君县| 于都县| 昭觉县| 陆丰市| 哈密市| 忻城县| 都兰县| 卓尼县| 客服| 台东县| 龙陵县| 德保县| 红河县| 丰台区| 射阳县| 崇州市| 漳平市| 礼泉县| 法库县| 湾仔区|