≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > PHP笔记

PHP CSV文件导入和导出类解析

人气:721 时间:2018-09-22

这篇文章主要为大家详细介绍了PHP CSV文件导入和导出类解析,具有一定的参考价值,可以用来参考一下。

对CSV 文件的导入和导出PHP类感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!

/**
 * CSV 文件的导入和导出PHP类
 *
 * @param 
 * @arrange 512-笔记网: q1010.com
 **/
class Csv{
	public $csv_array; //csv数组数据
	public $csv_str;  //csv文件数据
	public function __construct($param_arr, $column){
		$this->csv_array = $param_arr;
		$this->path = $path;
		$this->column = $column;
	}
	/**
	 * 导出
	 * */
	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']);
		//组装数据
		foreach($param_arr as $k=>$v){
			foreach($v as $k1=>$v1){
				$export_str .= implode(',',$v1)."n";
			}
		}
		//将$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;
	}
	/**
	 * 导入
	 * */
	public function import($path,$column = 3){
		$flag = flase;
		$code = 0;
		$msg = '未处理';
		$filesize = 1; //1MB
		$maxsize = $filesize * 1024 * 1024;
		$max_column = 1000;
		//检测文件是否存在
		if($flag === flase){
			if(!file_exists($path)){
				$msg = '文件不存在';
				$flag = true;
			}
		}
		//检测文件格式
		if($flag === flase){
			$ext = preg_replace("/.*.([^.]+)/","$1",$path);
			if($ext != 'csv'){
				$msg = '只能导入CSV格式文件';
				$flag = true;
			}
		}
		//检测文件大小
		if($flag === flase){
			if(filesize($path)>$maxsize){
				$msg = '导入的文件不得超过'.$maxsize.'B文件';
				$flag = true;
			}
		}
		//读取文件
		if($flag == flase){
			$row = 0;
			$handle = fopen($path,'r');
			$dataArray = array();
			while($data = fgetcsv($handle,$max_column,",")){
				$num = count($data);
				if($num < $column){
					$msg = '文件不符合规格真实有:'.$num.'列数据';
					$flag = true;
					break;
				}
				if($flag === flase){
					for($i=0;$i<3;$i++){
						if($row == 0){
							break;
						}
						//组建数据
						$dataArray[$row][$i] = $data[$i];
					}
				}
				$row++;
			}
		}
		return $dataArray;
	}
}
$param_arr = array(
				'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 = new Csv($param_arr, $column);
//$csv->export();
$path = 'C:Documents and SettingsAdministratorLocal SettingsTemptxxx.csv';
$import_arr = $csv->import($path,3);
var_dump($import_arr);

/***   来自四海网(www.q1010.com)   ***/

本文来自:http://www.q1010.com/173/861-0.html

注:关于PHP CSV文件导入和导出类解析的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:CSV

您可能感兴趣的文章

  • php 导出CSV文件功能实例
  • php 使用指定编码导出mysql数据到csv的简单示例
  • php 将HTML表格每行数据转为CSV格式数组示例
  • php 遍历CSV的类用法示例
上一篇:php 验证码生成类入门实例
下一篇:php CVS文件导入导出类
热门文章
  • PHP 写入WRITE编码为UTF8的文件示例
  • PHP 中文字符串截取函数示例:支持gb2312,gbk,big
  • PHP 简单留言板的制作示例
  • 解决Fatal error: Call to undefined function mb_convert_encoding() in错误问题
  • PHP语言基础(标记、注释、变量、数组、常量、函数)示例
  • php 生成迅雷链接的简单示例
  • php 获取短网址的实现方法
  • PHP 通用分页类的简单示例
  • PHP 使用文件方式导入导出整个MYSQL数据库的实现方法
  • php 获取MYSQL错误的简单示例
  • 最新文章
    • 解决PHP使用redis实现统计缓存MySQL压力的问题
    • php 简单的上传进度条的简单示例
    • php 给html中引用的js和css路径打上版本号的实现方法
    • php 实现计算年龄精准到年月日的实例
    • php+ajax无刷新分页的简单示例
    • 解决php+ajax无刷新上传图片的问题
    • 解决PHP生成HTML静态页面的问题
    • 解决PHP使用uniqid函数生成唯一ID的问题
    • 解决PHP防刷票的一些问题
    • 微信access_token的获取开发的实现方法

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。