Rumah > Soal Jawab > teks badan
Sekarang terdapat keperluan untuk membungkus gambar ke dalam pakej yang dimampatkan dengan zip Klik butang 'Package' untuk melaksanakan ajax Saya menggunakan kelas ZipArchive yang datang dengan PHP melalui pembungkusan, komputer Internet terputus. Bagaimana untuk mengingatkan pengguna pada masa ini? (Nota: Klik butang 'Pakej', dan akan ada kotak pemuatan. Jika rangkaian diputuskan di tengah jalan, kotak ini tidak akan hilang. Ia akan terus dimuatkan. Selepas rangkaian diputuskan, hasil pulangan ajax tidak akan dihantar ke pelayan)
Kod adalah seperti berikut:
$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返回结果不会给服务器了?该如何解决最好??谢谢各位
伊谢尔伦2017-06-21 10:13:10
Anda perlu memahami prinsip ajax. Apabila sambungan antara klien dan pelayan berjaya, klien berada dalam keadaan menunggu. Jika, seperti yang anda katakan, pelayan tiba-tiba kehilangan kuasa semasa proses pembungkusan (mengapa pelayan akan menjadi sangat hitam), iaitu, pelayan tidak menghantar respons, maka ajax akan mempunyai masa tindak balas tamat masa, dan anda boleh ralat untuk meminta pengguna bahawa terdapat masalah pelayan