AJAX 및 PHP가있는 폴더에서 선택한 이미지를 삭제하려고합니다. 어떤 오류도 보지 못했습니다. 제가 가지고있는 코드에 대한 당신의 의견을 말해 주시겠습니까? 사전에 덕분에링크를 사용하여 AJAX 및 PHP로 이미지를 삭제하는 중 오류가 발생했습니다.
AJAX 코드 :
function createAjax()
{
var objAjax = false;
if (window.XMLHttpRequest)
{
objAjax = new XMLHttpRequest();
}
else
{
if (window.ActiveXObject)
{
try
{
objAjax = new ActiveXObject ("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
objAjax = new ActiveXObject ("Microsoft.XMLHTTP");
}
catch (e)
{
}
}
}
else
{
objAjax = false;
}
}
return objAjax;
}
function eliminar(id_foto)
{
var ajax = createAjax();
ajax.open("POST", "delete_img.php",true);
ajax.onreadystatechange=function()
{
if (ajax.readyState == 4)
{
//AQUI DEBES DE PONER EL CODIGO RESPECTIVO PARA ELIMINAR DEL NAVEGADOR
// EL DIV EN CUESTION o simplemente hacer su contenido vacio, que es lo que hare
document.getElementById("delete"+id_foto).innerHTML = "";
document.getElementById("div_mensajes").innerHTML
}
else
{
document.getElementById("div_mensajes").innerHTML = "<br><center>Eliminando<img src = 'images/ajax-loader.gif' /></center>";
}
}
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("id_foto="+id_foto);
}
HTML과 PHP 코드는 먼저 표시 :
$handle = opendir(dirname(realpath(__FILE__)).'/uploads/');
while($file = readdir($handle)) {
if($file !== '.' && $file !== '..') {
if(file_exists('uploads/Thumbs.db')){
unlink('uploads/Thumbs.db');
}
echo'<div class="gallery-item" id="delete'.$file.'">
<p class="gallery-clean">
<a class="image" rel="'.$file.'" rev="'.$file.'" href="uploads/'.$file.'" title="">
<img src="uploads/'.$file.'" alt="'.$file.'"></a></p>
<div>
<a class="ico ico-delete" rel="9" rev="2" href="#" onclick = "eliminar_ajax('.$file.');"><span></span></a>
<a class="ico ico-edit" rel="9" href="#"><span></span></a>
<a class="ico ico-resize" rel="9" href="#"><span></span></a>
<a class="ico ico-full" rel="group" href="#"><span></span></a>
</div></div>';
}
}
PHP 코드는 파일을 삭제 :
$dir = "uploads/";
$file = $_POST['id_foto'];
$img = $dir.$file;
unlink($img);
좋아! 나는 그것을
#delete.'<?php echo $file?>
어디에서 실패합니까? HTML이 예상대로 작동합니까? Ajax가 예상대로 요청을 보냅니 까? 당신은 PHP에 도달합니까? 당신은'unlink()'의 결과를 덤프 할 수 있습니까? : var_dump (unlink ($ img)); – Tchoupi
순수 자바 스크립트에 대해서는 아무것도 없지만 (특히 AJAX 호출을 할 때) jQuery를 사용하는 것이 더 쉽습니다. – Chris
while 루프 상단에''Thumbs.db ''테스트가 존재합니까? 해당 디렉토리에있는 모든 단일 파일에 대해 db 파일을 테스트하고 연결 해제합니다. 동일한 파일을 반복해서 테스트합니다. ** 정말로 ** 삭제가 확실합니까? 대부분의 파일은 링크를 해제 한 후 자연스럽게 원래 위치로 되돌아가는 경향이 없습니다. –