simplexml_load_file无法正常工作

时间:2016-08-25 19:56:21

标签: php xml mysqli simplexml

我有一个大的xml文件(60Mb),我要解析并在MySQL DB中插入每条记录。我正在使用simpleXML这样做,并且像Xamp中的魅力一样工作但不在现场托管网站上。我没有错误所以我不知道为什么$ xml对象继续返回false。是因为XML中存在大量记录吗?

require('connectDB.php');
$query = "INSERT INTO myTable (cp,colonia,municipio,ciudad,estado) VALUES (?,?,?,?,?)";
if($stm = $con->prepare($query)){
    if(file_exists('CPdescarga.xml')){
        $xml = simplexml_load_file("CPdescarga.xml", 'SimpleXMLElement', LIBXML_COMPACT | LIBXML_PARSEHUGE);
        if($xml === false){
            echo "No se cargó el archivo correctamente";
            foreach (libxml_get_errors() as $error){
                echo "\t". $error->message;
            }  
        } else{
            $error = 0;
            foreach($xml->table AS $registro){
                $stm->bind_param('sssss',$registro->d_codigo,$registro->d_asenta,$registro->D_mnpio,$registro->d_ciudad,$registro->d_estado);
                if(!$stm->execute()){
                    $error++;
                } 
            }
        echo "Se presentaron $error errores!";
        }

    } else{
        echo "No existe el archivo!";
    } 

} else{
    echo "No se pudo preparar la consulta";
}
$stm->close();
$con->close();`

XML file

1 个答案:

答案 0 :(得分:0)

尝试检查服务器上php.ini中的以下值(使用phpinfo()函数显示): post_max_size和upload_max_filesize

必要时增加它们。 见这里:http://php.net/manual/en/ini.core.php