首页 > 代码库 > 【DHGate】2014-09-24项目总结

【DHGate】2014-09-24项目总结

  基本的项目要求简洁明白,首先代码是给人看的其次是让机器去编译,如果不能达到简洁的目标那么也要明白。

  对上面的内容呵呵呵了,那些纯属对自己的诉求,下面才开始正题.....[基本不写文章,艾玛码赶脚很不轻松啊虽然是跟日记一样的东东,又多说了开始掌掴(此处省略多少下)]

  本次总结导出csv,哈哈哈so easy是吧,那也要积累消耗能量的知识点吖

导出文件顾名思义就是把数据data转化成file下载下了,下载文件需要告知浏览器我要下载了当然要传header喽,上代码

        header (‘Content-Description: File Transfer‘);
        header ( "Pragma: public" ); // required
        header ( "Expires: 0" );
        header ( "Pragma: no-cache");
        header ( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
        header ( "Cache-Control: private", false ); // required for certain browsers
        header ( "Content-Transfer-Encoding: binary" );
        header ( "Content-type: text/csv;" );
        header("Content-Disposition: attachment; filename=xxx.csv);

csv的文件内容是以逗号,分隔哒,我想这么大家也都明白,多嘴了

1.分隔的内容需要转义iconv和mb_convert_encoding当然这两个都可以转义啦,嗯哼但是有差别,先说说我们的情况,当程序从别的网站抓取数据过来时你完全不知道内容是什么编码格式时可以用mb_convert_encoding此函数可以根据内容自动识别编码格式至于效率是否比iconv慢没有测试(自己脑补)iconv官方解释 string iconv(string in_charset,string out_charset,string str);第二个参数除了指定编码输出外还多了两个后缀IGNORE,TRANSLITE;

2.输出内容用双引号“”括住,以防止内容里的逗号被当成截断符截断,如:“你好,我是XXX”如果没有双引号括住就把该语句分隔成两个字段。内容里存在双引号需要增加两层双引号防止转义

3.换行符\r\n如果在拼接字符串时用的是单引号程序会把它当作普通字符输出,所以拼接字符串需要双引号括住;如:$data_str .= "\r\n";

4.csv需要多个列空置,也可以用多个逗号隔断,如:需要空三个位置拼接时用三个逗号,,,就ok啦;


哇哈哈哈,短短的100字也是积累的过程,加油吧少年!!


【DHGate】2014-09-24项目总结