Hola gatorV, gracias por responder.En uan intranet hago que cuando se pulsa en delete se elimina el nombre de la imagen en la BD asi como la imagen en el directorio.En IE , Firefox,etc adna bien pero en Safari no pasa nada.Puede ser el tema del tipo de codificacion, pro ahi lei necesita UTF pero el agregue una linea* y no pasa nada.
* header("Content-type:text/html; charset=utf-8");
Te paso el codigo en 2 partes por si ves algo raro:
Código PHP:
<?
//Sajax
require("Sajax.php");
function veophp($nombre,$idrow, $valor, $elCombo, $tipoMedia){
require("funciones_conexion_lib.php");
if($tipoMedia == "1"){
$tipoMedia = "logos";
}
if($tipoMedia == "2"){
$tipoMedia = "images";
}
if($tipoMedia == "3"){
$tipoMedia = "video";
}
if($tipoMedia == "4"){
$tipoMedia = "audio";
}
if ($valor == "1"){
$cadenaDelArchivo="../uploads/".$elCombo."/multimedia/".$tipoMedia."/".$nombre;
$sql_upd = "UPDATE multimedia SET upload='' WHERE id=".$idrow;
}
if ($valor == "2"){
$cadenaDelArchivo="../uploads/".$elCombo."/thumbnails/multimedia/".$nombre;
$sql_upd = "UPDATE multimedia SET thumbnail='' WHERE id=".$idrow;
}
if (file_exists($cadenaDelArchivo)) {//if
//ok, existe, lo intento borrar
if (!unlink($cadenaDelArchivo)){ //if 2
$mensaje = "Problem on the delete process".$nombre;
}else{
//lo borre, ahora ataco la base de datos
if(!mysql_query($sql_upd)){//if 4
$mensaje = mysql_error();
}else{
//Todo ok, mano un mensaje segun el cambio
//esto tamibne m ayuda a filtrar y poner la variable control (1,2 o 3) con valor 1
if ($valor == "1"){
$mensaje = "Deletion complete (Multimedia File)";
}
if ($valor == "2"){
$mensaje = "Deletion complete (Thumbnail)";
}
}//if 4
}//if 2
}else{
//El fichero no existe
$mensaje = "Sorry, no file available.";
} //if
//esta seria la respuesta
return $mensaje;
}
sajax_init();
// $sajax_debug_mode = 1;
sajax_export("veophp");
sajax_handle_client_request();
//sajax
include 'funciones_conexion_lib.php';
include 'funciones.php';
?>
Un abrazo y mil gracias por la molestia amigo.
tico