我忙於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