アップロードが成功したかどうかを示すデータを送り返すこの ajax アップロード コードがあります。ただし、ファイルにエラーがなく、ファイルが既にアップロードされた後にターゲット パスに移動されたかどうかのみを認識します。アップロードが完了する前に終了した場合、データは返されません。アップロードが予期せず終了した瞬間を検出してページに警告する方法はありますか?
$('#send').click(function() {
var fileInput = $('#file')[0];
var data = new FormData();
for(var i = 0; i < fileInput.files.length; ++i){
data.append('file[]',fileInput.files[i]);
}
$.ajax({
type:'POST',
method:'POST',
url:'upload.php',
headers:{'Cache-Control':'no-cache'},
data:data,
contentType:false,
processData:false,
success: function(response){
var return_data = response;
if(return_data !== 'success') {
$('#status').html('uploaded');
}
else if(return_data == 'success') {
$('#status').html('upload failed');
}
}
});
});
そしてupload.phpで:
if($_FILES['file']['error'][$key] == 0
&& move_uploaded_file($_FILES['file']['tmp_name'][$key],"video/test/$name")){
echo "success";
}else{
echo "failed";