下面我有它從.listImage刪除一個附加文件名的JavaScript函數刪除一個文件,當用戶點擊「刪除」按鈕:如何從服務器
function stopImageUpload(success, imagefilename){
var result = '';
if (success == 1){
result = '<span class="msg">The file was uploaded successfully!</span><br/><br/>';
$('.listImage').eq(window.lastUploadImageIndex).append('<div>' + htmlEncode(imagefilename) + '<button type="button" class="deletefileimage">Delete</button><br/><hr/></div>');
}
else {
result = '<span class="emsg">There was an error during file upload!</span><br/><br/>';
}
$(".deletefileimage").on("click", function(event) {
$(this).parent().remove();
});
return true;
}
但我想什麼知道當用戶點擊刪除按鈕時,我也希望從服務器上刪除該文件。如何才能做到這一點?
的文件存儲在被稱爲的圖像文件中的文件夾,並在服務器端的文件名代碼爲$_FILES["fileImage"]["name"]
。
文件的上傳到服務器上的PHP腳本一個單獨的頁面,低於上:
<?php
$result = 0;
if(file_exists("ImageFiles/".$_FILES['fileImage']['name'])) {
$parts = explode(".",$_FILES['fileImage']['name']);
$ext = array_pop($parts);
$base = implode(".",$parts);
$n = 2;
while(file_exists("ImageFiles/".$base."_".$n.".".$ext)) $n++;
$_FILES['fileImage']['name'] = $base."_".$n.".".$ext;
move_uploaded_file($_FILES["fileImage"]["tmp_name"],
"ImageFiles/" . $_FILES["fileImage"]["name"]);
$result = 1;
}
else
{
move_uploaded_file($_FILES["fileImage"]["tmp_name"],
"ImageFiles/" . $_FILES["fileImage"]["name"]);
$result = 1;
}
?>
您的代碼很容易遭到攻擊。您絕不應該在客戶端上存儲任何類似路徑的服務器數據!你需要創建一個處理程序,從你的ajax一個唯一的id分配給那個文件。處理程序然後驗證該ID並將在服務器上刪除它,而不知道任何類型的路徑或文件名。否則,我可以開始刪除你的整個系統! – ppumkin
@ppumkin我實際的PHP腳本在那裏上傳的文件是在一個單獨的年齡從JavaScript中,有沒有辦法將它存儲在該頁面中刪除從服務器上的文件? – user1364441