我忙于CakePHP中的一个项目,我需要解析几个XML文件并在mysql数据库中插入相关数据。脚本插入它应该插入的内容,这不是问题。例如,如果我解析一个或两个文件(大约7000-8000条记录),没有任何问题。脚本在一段时间后重新启动
问题从我解析第三个或第四个xml文件开始。插入记录一分钟后,我看到9000-10000个记录已成功插入到数据库中,但突然间脚本似乎重新启动。我注意到表中存在0条记录,它将重新插入所有记录。所以这个脚本只是花了很长时间才能执行。
一小段:
$content = simplexml_load_file($file);
/**
* Process line per line
*/
foreach ($content->product as $line) {
// create new record in products database table
$product = array();
$product['Product']['productid'] = $line->attributes()->sku_number;
$product['Product']['name'] = $line->attributes()->name;
$product['Product']['description'] = empty($line->description->long) ? $line->description->short : $line->description->long;
$product['Product']['link'] = $line->URL->product;
$product['Product']['affiliate'] = 'linkshare';
$product['Product']['price'] = $line->price->retail;
$product['Product']['brand'] = strtolower($line->brand);
$product['Product']['image'] = $line->URL->productImage;
// if not in rejectedproducts, save the new product to the database
if (!$rejectedproductModel->findByProductid($product['Product']['productid'])) {
$productModel->create();
$productModel->save($product);
}
有人得到这方面的经验?可能是什么原因和更多什么可能是一个解决方案:)
谢谢
你是如何传递这些文件的?所以当添加文件1和2时,你添加文件3和4时重新添加它们?或者你一次添加文件1,2,3和4? – 2010-08-26 13:05:13