国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

PHP實現(xiàn)CSV文件的導入和導出類

2024-05-04 23:33:19
字體:
供稿:網(wǎng)友

這篇文章主要介紹了PHP實現(xiàn)CSV文件的導入和導出類,實例分析了php針對csv文件的操作技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了PHP實現(xiàn)CSV文件的導入和導出類。分享給大家供大家參考。具體如下:

 

 
  1. <?php 
  2. /** 
  3. * CSV 文件處理類 
  4. */ 
  5. class Csv{ 
  6. public $csv_array//csv數(shù)組數(shù)據(jù) 
  7. public $csv_str//csv文件數(shù)據(jù) 
  8. public function __construct($param_arr$column){ 
  9. $this->csv_array = $param_arr
  10. $this->path = $path
  11. $this->column = $column
  12. /** 
  13. * 導出 
  14. * */ 
  15. public function export(){ 
  16. if(emptyempty($this->csv_array) || emptyempty($this->column)){ 
  17. return false; 
  18. $param_arr = $this->csv_array; 
  19. unset($this->csv_array); 
  20. $export_str = implode(',',$param_arr['nav'])."n"
  21. unset($param_arr['nav']); 
  22. //組裝數(shù)據(jù) 
  23. foreach($param_arr as $k=>$v){ 
  24. foreach($v as $k1=>$v1){ 
  25. $export_str .= implode(',',$v1)."n"
  26. //將$export_str導出 
  27. header( "Cache-Control: public" ); 
  28. header( "Pragma: public" ); 
  29. header("Content-type:application/vnd.ms-excel"); 
  30. header("Content-Disposition:attachment;filename=txxx.csv"); 
  31. header('Content-Type:APPLICATION/OCTET-STREAM'); 
  32. ob_start();  
  33. // $file_str= iconv("utf-8",'gbk',$export_str); 
  34. ob_end_clean(); 
  35. echo $export_str
  36. /** 
  37. * 導入 
  38. * */ 
  39. public function import($path,$column = 3){ 
  40. $flag = flase; 
  41. $code = 0; 
  42. $msg = '未處理'
  43. $filesize = 1; //1MB 
  44. $maxsize = $filesize * 1024 * 1024; 
  45. $max_column = 1000; 
  46.  
  47. //檢測文件是否存在 
  48. if($flag === flase){ 
  49. if(!file_exists($path)){ 
  50. $msg = '文件不存在'
  51. $flag = true; 
  52. //檢測文件格式 
  53. if($flag === flase){ 
  54. $ext = preg_replace("/.*.([^.]+)/","$1",$path); 
  55. if($ext != 'csv'){ 
  56. $msg = '只能導入CSV格式文件'
  57. $flag = true; 
  58. //檢測文件大小 
  59. if($flag === flase){ 
  60. if(filesize($path)>$maxsize){ 
  61. $msg = '導入的文件不得超過'.$maxsize.'B文件'
  62. $flag = true; 
  63. //讀取文件 
  64. if($flag == flase){ 
  65. $row = 0; 
  66. $handle = fopen($path,'r'); 
  67. $dataArray = array(); 
  68. while($data = fgetcsv($handle,$max_column,",")){ 
  69. $num = count($data); 
  70. if($num < $column){ 
  71. $msg = '文件不符合規(guī)格真實有:'.$num.'列數(shù)據(jù)'
  72. $flag = true; 
  73. break
  74. if($flag === flase){ 
  75. for($i=0;$i<3;$i++){ 
  76. if($row == 0){ 
  77. break
  78. //組建數(shù)據(jù) 
  79. $dataArray[$row][$i] = $data[$i]; 
  80. $row++; 
  81. return $dataArray
  82. $param_arr = array
  83. 'nav'=>array('用戶名','密碼','郵箱'), 
  84. array(0=>array('xiaohai1','123456','xiaohai1@zhongsou.com'), 
  85. 1=>array('xiaohai2','213456','xiaohai2@zhongsou.com'), 
  86. 2=>array('xiaohai3','123456','xiaohai3@zhongsou.com'
  87. )); 
  88. $column = 3; 
  89. $csv = new Csv($param_arr$column); 
  90. //$csv->export(); 
  91. $path = 'C:/Documents and Settings/Administrator/Temp/txxx.csv'
  92. $import_arr = $csv->import($path,3); 
  93. var_dump($import_arr); 
  94. ?> 

希望本文所述對大家的php程序設計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 大新县| 宝应县| 炉霍县| 玉林市| 兰溪市| 贵溪市| 宁强县| 河曲县| 三明市| 襄城县| 恩平市| 方山县| 大丰市| 西丰县| 大宁县| 饶平县| 龙川县| 佛教| 尼勒克县| 伽师县| 太康县| 永寿县| 阿拉善左旗| 兰州市| 舟山市| 博客| 乌鲁木齐县| 武川县| 临西县| 牙克石市| 渭源县| 磴口县| 崇文区| 普兰县| 建始县| 曲靖市| 年辖:市辖区| 龙岩市| 和平区| 蓝田县| 萨迦县|