我正在建立一个比较价格网站。我正在使用我定制的php软件。我现在拥有的是几种电子产品的清单。我的mysql数据库中有最多50.000个产品的列表。全部都有EAN号码。
所以基本上有30-50个网站使用产品数据源。一些客户在数据源中拥有超过15.000种产品。有些人使用带有UTF和其他扁平XML的XML。和其他使用CSV格式数据馈送。
我已经设法构建一个XML解析器来读取来自1个客户端的产品供稿,该客户端拥有更多的12.000种产品。
我的代码:
$xml_pf_file = "product_datafeed.xml";
$local_feed = new ProgramIterator($xml_pf_file, $def_xml_path);
foreach ($local_feed as $feedClient) {
$Price = $feedClient[''.$def_price.''];
$DeepLink = $feedClient[''.$def_url.''];
$EanNr = $feedClient[''.$def_ean.''];
if ((strlen($EanNr) > 8) && is_numeric($EanNr))
{
$ProductId = CheckEanNrInProductDatabase($EanNr);
if ($ProductId > 0)
{
$sql_add = "INSERT INTO ProductsFeedPrices
(ProductId, CustomerId, Price, Deeplink) VALUES
(".$ProductId.", ".$CustomerId.", ".$Price.", '".$DeepLink."') ";
if (mysql_query($sql_add)) {
$teller_add++;
}
$count_add++;
}
}
$count_i++;
}
从外部开始,每个网站都使用自己的产品数据源(xml,csv,json)。有时甚至花5分钟阅读1个产品。我想构建一个过程,使用PHP在mysql数据库中自动呈现所有产品供稿 - > EAN编号是现有产品的基本检查。
是否有一种识别产品Feed类型的好方法,可以为导入进行自定义编辑?