如何解决如何使用zend导入CSV
|| 如何使用zend Framework导入CSV文件?我应该使用zend_file_transfer还是要研究任何特殊的类?另外,如果我使用zend_file_transfer,是否有CSV的特殊验证器?解决方法
您不必使用任何zend库来导入csv文件,只需使用本机php函数,看看fgetcsv
$row = 1;
if (($handle = fopen(\"test.csv\",\"r\")) !== FALSE) {
while (($data = fgetcsv($handle,1000,\",\")) !== FALSE) {
$num = count($data);
echo \"<p> $num fields in line $row: <br /></p>\\n\";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . \"<br />\\n\";
}
}
fclose($handle);
}
, 您也可以使用SplFileObject
读取CSV文件。
从php手册:
<?php
$file = new SplFileObject(\"animals.csv\");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
list($animal,$class,$legs) = $row;
printf(\"A %s is a %s with %d legs\\n\",$animal,$legs);
}
?>
http://php.net/manual/en/splfileobject.fgetcsv.php
, Zend框架目前无法做到这一点。怎么能确定?
例如,Zend_Translate支持使用CSV文件进行翻译,但是如果您检查相应适配器的源代码(Zend_Translate_Adapter_Csv),则可以验证它使用的是fgetcsv,而不是特定的Zend类。此外,此CSV适配器附带以下警告:
注意:请注意,Csv适配器具有
Csv文件存在问题
编码与语言环境不同
您的环境设置。这是
由于PHP本身的错误,
在PHP 6.0之前无法修复
(http://bugs.php.net/bug.php?id=38471)。
因此,您应该知道,
由于PHP限制,适配器不是
地区意识。
这与fgetcsv函数的问题有关。
, 这是一个读取csv文件并返回包含前两个列数据值的项目数组的函数。
例如,此函数可以读取名字为first_name,last_name的文件。
function processFile ($filename) {
$rtn = array();
if (($handle = fopen($filename,\"r\")) !== FALSE) {
while (($data = fgetcsv($handle,\")) !== FALSE) {
$item = array();
$item[] = $data[0];
$item[] = $data[1];
$rtn[] = $item;
}
}
return $rtn;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。