我创建了一个从xml文件导入wordpress帖子的小脚本:
if(isset($_POST['wiki_import_posted'])) {
// Get uploaded file
$file = file_get_contents($_FILES['xml']['tmp_name']);
$file = str_replace('&', '&', $file);
// Get and parse XML
$data = new SimpleXMLElement( $file , LIBXML_NOCDATA);
foreach($data->RECORD as $key => $item) {
// Build post array
$post = array(
'post_title' => $item->title,
........
);
// Insert new post
$id = wp_insert_post( $post );
}
}
问题是我的xml文件非常大,当我提交表单时,浏览器只挂了几分钟。
是否可以在导入过程中显示一些消息,例如在导入每个项目后显示一个点?
答案 0 :(得分:0)
不幸的是,不,不容易。特别是如果你在WP框架之上构建它,你会发现它根本不值得。当您与PHP脚本交互时,您正在发送请求并等待响应。无论PHP脚本完成处理并开始发送输出需要多长时间,客户端通常需要多长时间才能看到响应。
如果你想要的是输出尽快开始显示(,一旦达到第一个回声或输出语句),有几件事需要考虑。
请注意,如果您使用AJAX请求执行此操作,则可能无法立即通过XMLHttpRequest对象将内容传输到DOM。另请注意,某些浏览器会在内容准备好供用户显示之前进行自己的缓冲(就像IE一样)。
您可能需要考虑一些建议来加快您的脚本速度:
&
那么你可能有一些你的逻辑非常错误。编码是你想让XML解析器处理的东西。