Home  >  Article  >  Backend Development  >  PHP implements import and export classes of CSV files_PHP tutorial

PHP implements import and export classes of CSV files_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:00:46909browse

PHP implements the import and export class of CSV files

This article mainly introduces the PHP implementation of the import and export class of CSV files, and analyzes the operation skills of PHP for csv files with examples. , very practical value, friends in need can refer to it

The example in this article describes the import and export classes of CSV files implemented in PHP. Share it with everyone for your reference. The details are as follows:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

/**

* CSV file processing class

*/

class Csv{

public $csv_array; //csv array data

public $csv_str; //csv file data

public function __construct($param_arr, $column){

$this->csv_array = $param_arr;

$this->path = $path;

$this->column = $column;

}

/**

* Export

**/

public function export(){

if(empty($this->csv_array) || empty($this->column)){

return false;

}

$param_arr = $this->csv_array;

unset($this->csv_array);

$export_str = implode(',',$param_arr['nav'])."n";

unset($param_arr['nav']);

//Assemble data

foreach($param_arr as $k=>$v){

foreach($v as $k1=>$v1){

$export_str .= implode(',',$v1)."n";

}

}

//Export $export_str

header( "Cache-Control: public" );

header( "Pragma: public" );

header("Content-type:application/vnd.ms-excel");

header("Content-Disposition:attachment;filename=txxx.csv");

header('Content-Type:APPLICATION/OCTET-STREAM');

ob_start();

// $file_str= iconv("utf-8",'gbk',$export_str);

ob_end_clean();

echo $export_str;

}

/**

* import

* */

public function import($path,$column = 3){

$flag = flase;

$code = 0;

$msg = 'Unprocessed';

$filesize = 1; //1MB

$maxsize = $filesize * 1024 * 1024;

$max_column = 1000;

//Check whether the file exists

if($flag === flase){

if(!file_exists($path)){

$msg = 'File does not exist';

$flag = true;

}

}

//Detect file format

if($flag === flase){

$ext = preg_replace("/.*.([^.] )/","$1",$path);

if($ext != 'csv'){

$msg = 'Only CSV format files can be imported';

$flag = true;

}

}

//Detect file size

if($flag === flase){

if(filesize($path)>$maxsize){

$msg = 'The imported file must not exceed'.$maxsize.'B file';

$flag = true;

}

}

//Read file

if($flag == flase){

$row = 0;

$handle = fopen($path,'r');

$dataArray = array();

while($data = fgetcsv($handle,$max_column,",")){

$num = count($data);

if($num < $column){

$msg = 'The file does not meet the specifications and actually contains: '.$num.' column data';

$flag = true;

break;

}

if($flag === flase){

for($i=0;$i<3;$i ){

if($row == 0){

break;

}

//Build data

$dataArray[$row][$i] = $data[$i];

}

}

$row ;

}

}

return $dataArray;

}

}

$param_arr = array(

'nav'=>array('username','password','email'),

array(0=>array('xiaohai1','123456','xiaohai1@zhongsou.com'),

1=>array('xiaohai2','213456','xiaohai2@zhongsou.com'),

2=>array('xiaohai3','123456','xiaohai3@zhongsou.com')

));

$column = 3;

$csv = new Csv($param_arr, $column);

//$csv->export();

$path = 'C:Documents and SettingsAdministratorTemptxxx.csv';

$import_arr = $csv->import($path,3);

var_dump($import_arr);

?>

I hope this article will be helpful to everyone’s PHP programming design.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/973118.htmlTechArticlePHP implements the import and export class of CSV files. This article mainly introduces the PHP implementation of the import and export classes of CSV files. , the example analyzes PHP's operating skills for csv files, which is of great practical value...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn