Perfecto,
El problema es que cuando subias tu archivo y este contenia caracteres extraños al convertilo en JSON este no los reconocia por lo cual te retornaba "null" y al eliminar tomaba este mismo nombre y lo intentaba eliminar, por eso nunca lo encontraba y no lo eliminaba, te dejo la correccion funcional, no es lo mas optimo, pero te servira para continuar
HTML
Código Javascript
:
Ver original$(document).ready(function()
{
var settings = {
url: "upload.php",
dragDrop:true,
fileName: "myfile",
allowedTypes:"jpg,png,gif,doc,pdf,zip",
returnType:"json",
onSuccess:function(files,data,xhr)
{
alert(data);
},
showDelete:true,
deleteCallback: function(data,pd)
{
for(var i=0;i<data.length;i++)
{
$.ajax({
type: "POST",
url: "delete.php",
data: {op:"delete",name:data[i]},
success: function(data, textStatus, XMLHttpRequest)
{
alert(data);
pd.statusbar.hide(); //You choice to hide/not.
},
error: function(data, textStatus, XMLHttpRequest)
{
alert(data);
}
});
}
}
}
var uploadObj = $("#mulitplefileuploader").uploadFile(settings);
});
Aqui solo cambie tu "post" por un Ajax, ya que me servia para depurar en caso de error o exito
UPLOAD.PHP
Código PHP:
Ver original<?php
$output_dir = "uploads/";
if(isset($_FILES["myfile"])) {
$error =$_FILES["myfile"]["error"];
//You need to handle both cases
//If Any browser does not support serializing of multiple files using FormData()
if(!is_array($_FILES["myfile"]["name"])) //single file {
$ret[]= $fileName;
}
else //Multiple files, file[]
{
$fileCount = count($_FILES["myfile"]["name"]); for($i=0; $i < $fileCount; $i++)
{
$ret[]= $fileName;
}
}
}
Aqui cambie la parte donde codificabas el nombre
DELETE.PHP
Código PHP:
Ver original<?php
$output_dir = "uploads/";
$fileName = $_POST['name'];
if(isset($_POST["op"]) && $_POST["op"] == "delete" && isset($fileName)) {
$filePath = $output_dir. $fileName;
{
echo "Deleted File ".$fileName."<br>";
}
else
echo "no existe '".$fileName."'<br>";
}
Aqui como nuestro Upload nos retorna el nombre que guardo no debemos hacer nada mas con dicho nombre, de lo contrario no lo encontrara, solo debemos tomarlo y procesarlo y listo ;)
Una ultima cosa, actualmente el cierre de las etiquetas php (?>) ya no se ocupa, es decir, solo se abre (<?php) y no se deja la etiqueta de cierra ;)
Saludos