ホームページ  >  記事  >  バックエンド開発  >  PHP は CSV ファイルのインポートおよびエクスポート クラスを実装します_PHP チュートリアル

PHP は CSV ファイルのインポートおよびエクスポート クラスを実装します_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:00:46905ブラウズ

PHPはCSVファイルのインポートとエクスポートクラスを実装します

この記事では主にCSVファイルのインポートとエクスポートクラスのPHP実装を紹介しており、サンプルを使用してCSVファイルのPHPの操作スキルを分析します。必要な友達は参考にしてください

この記事の例では、PHP で CSV ファイルのインポート クラスとエクスポート クラスを実装する方法を説明します。参考のためにみんなで共有してください。詳細は以下の通りです

?

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ファイル処理クラス

*/

クラス CSV{

public $csv_array //csv 配列データ

public $csv_str; //csv ファイルデータ

パブリック関数 __construct($param_arr, $column){

$this->csv_array = $param_arr;

$this->パス = $パス;

$this->column = $column;

}

/**

* エクスポート

**/

パブリック関数export(){

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

false を返す;

}

$param_arr = $this->csv_array;

unset($this->csv_array);

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

unset($param_arr['nav']);

//データを組み立てる

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

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

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

}

}

//$export_str

をエクスポート

header( "キャッシュ制御: public" );

header( "プラグマ: 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;

}

/**

*インポート

* */

パブリック関数インポート($path,$column = 3){

$flag = フラグ;

$コード = 0;

$msg = '未処理';

$ファイルサイズ = 1 //1MB

;

$maxsize = $filesize * 1024 * 1024;

$max_column = 1000;

//ファイルが存在するかどうかを確認します

if($flag === フラーゼ){

if(!file_exists($path)){

$msg = 'ファイルが存在しません';

$flag = true;

}

}

//ファイル形式を検出します

if($flag === フラーゼ){

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

if($ext != 'csv'){

$msg = 'CSV形式のファイルのみインポート可能';

$flag = true;

}

}

//ファイルサイズを検出

if($flag === フラーゼ){

if(ファイルサイズ($path)>$maxsize){

$msg = 'インポートされたファイルは'.$maxsize.'B ファイルを超えてはなりません';

$flag = true;

}

}

//ファイルを読み取る

if($flag == flase){

$行 = 0;

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

$dataArray = array();

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

$num = カウント($data);

if($num < $column){

$msg = 'ファイルは仕様を満たしておらず、実際には次の列データが含まれています';

$flag = true;

休憩;

}

if($flag === フラーゼ){

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

if($row == 0){

休憩;

}

//データを構築する

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

}

}

$行++;

}

}

$dataArray を返す;

}

}

$param_arr = 配列(

'nav'=>array('ユーザー名','パスワード','メール'),

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 = 新しい Csv($param_arr, $column);

//$csv->エクスポート();

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

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

var_dump($import_arr);

?>

この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

www.bkjia.com本当http://www.bkjia.com/PHPjc/973118.html技術記事 PHP による CSV ファイルのインポートおよびエクスポート クラスの実装 この記事では、主に CSV ファイルのインポートおよびエクスポート クラスの PHP 実装を紹介します。これは、非常に実用的です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。