php – 使用SplFileObject转换CR换行符
发布时间:2020-12-13 17:25:15 所属栏目:PHP教程 来源:网络整理
导读:我写一个类而不是扩展SplFileObject来打开一个CSV并具有一个关联数组.它是有效的,但如果csv文件使用CR换行符则不行. 我知道你可以像这样转换字符串换行符: $string = str_replace($this::CRLF,$string::LF,$file);$string = str_replace($this::CR,$file);
我写一个类而不是扩展SplFileObject来打开一个CSV并具有一个关联数组.它是有效的,但如果csv文件使用CR换行符则不行.
我知道你可以像这样转换字符串换行符: $string = str_replace($this::CRLF,$string::LF,$file); $string = str_replace($this::CR,$file); 但我想知道如何在构造函数中转换换行符. 我如何创建我的文件: $file = new CSVFile(__DIR__ . '/../../Resources/data/myfile.csv'); 类CSVFile.php use SplFileObject; class CSVFile extends SplFileObject { private $keys; public function __construct($file) { parent::__construct($file); $this->setFlags(SplFileObject::READ_CSV); } public function rewind() { parent::rewind(); $this->keys = parent::current(); parent::next(); } public function current() { return array_combine($this->keys,parent::current()); } public function getKeys() { return $this->keys; } } 解决方法
不太确定你想做什么,但你试过这个吗?函数ini_set( ‘auto_detect_line_endings’,TRUE);
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |