我使用ua-parser library为电子表格列中的多个用户代理字符串标识设备系列。我遇到的问题是,我的功能似乎并没有真正运行。 detectAgent($ data [2])的值输出并不总是准确的。
这是一个代码示例。我觉得我必须遗漏一些与一次又一次创建对象的限制有关的事情。
提前感谢您的帮助。
<?php
require_once 'vendor/autoload.php';
use UAParser\Parser;
function detectAgent($ua) {
$parser = Parser::create();
$result = $parser->parse($ua);
return $result->os->family;
}
$input_file = "input.csv";
$output_file = "output.csv";
if (($handle1 = fopen($input_file, "r")) !== FALSE) {
if (($handle2 = fopen($output_file, "w")) !== FALSE) {
while (($data = fgetcsv($handle1, 5000000, ",")) !== FALSE) {
// Alter your data
#print $data . "<br />";
$data[2] = detectAgent($data[2]); //identify browser family
// Write back to CSV format
fputcsv($handle2, $data);
}
fclose($handle2);
}
fclose($handle1);
}
?>
答案 0 :(得分:0)
这是一个愚蠢的错误。我在$data[2] = detectAgent($data[2]);
写了错误的专栏。
如果其他人遇到同样的问题,代码现在正在运行,我发布了一个示例here。