Il est maintenant nécessaire de regrouper les images dans des packages compressés zip. Cliquez sur le bouton "Package" pour exécuter ajax. J'utilise la classe ZipArchive fournie avec PHP. Le problème est maintenant que s'il y a 10 images, lorsque je suis à mi-chemin. Grâce à l'emballage, l'ordinateur L'Internet est déconnecté Comment rappeler aux utilisateurs en ce moment ? (Remarque : cliquez sur le bouton « Package » et il y aura une boîte de chargement. Si le réseau est déconnecté à mi-chemin, cette boîte ne disparaîtra pas et continuera à se charger. Une fois le réseau déconnecté, le résultat du retour ajax ne sera pas envoyé au serveur)
Le code est le suivant :
$filename = $path . $orderNumber . ".zip"; // 最终生成的文件名(含路径)
// 生成文件
$zip = new ZipArchive ();
if ($zip->open ( $filename, ZIPARCHIVE::CREATE ) !== TRUE) {
echo json_encode(array('state'=>0,'msg'=>NoFindFile));
exit;
}
//$imgArr 就是一个存储文件路径的数组 比如 array('/a/1.jpg,/a/2.jpg....');
foreach ( $imgArr as $val ) {
$zip->addFile ( $val, basename ( $val ) ); //把图片放入zip里面 成功返回true
}
$zip->close (); // 关闭
之前在foreach里判断是否断网的情况,但是加载框还是不会消失,是不是断网之后,ajax返回结果不会给服务器了?该如何解决最好??谢谢各位
Vous devez comprendre le principe d'ajax. Lorsque la connexion entre le client et le serveur réussit, le client est en état d'attente. Si, comme vous l'avez dit, le serveur perd soudainement de l'alimentation pendant le processus de packaging (pourquoi diable le serveur serait-il si noir), c'est-à-dire que le serveur n'envoie pas de réponse, alors ajax aura un temps de réponse d'expiration et vous pourrez erreur pour avertir l'utilisateur qu'il y a un problème de serveur
.