Foros del Web » Programando para Internet » PHP »

(consulta) eliminar archivo y function

Estas en el tema de (consulta) eliminar archivo y function en el foro de PHP en Foros del Web. Hola, Hice esta función: Código PHP: function  eliminar ( $file_del ){     if ( is_file ( $file_del )) {          unlink ( $file_del );     }  }  y así ...
  #1 (permalink)  
Antiguo 20/01/2011, 23:39
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
(consulta) eliminar archivo y function

Hola,

Hice esta función:

Código PHP:
function eliminar($file_del){
    if (
is_file($file_del)) {
        
unlink($file_del);
    } 

y así la llamo:

Código PHP:
if (!empty($thumbsnail)) {
$fila $row['img_thumb'];
    
eliminar("$fila"); 
    
actualizar("detalles""img_thumb='proyectos/thumb/$thumbsnail'""id='$ID'""id = '$ID'");
$tmp_name $_FILES['img_thumb']['tmp_name'];
$file_name_dir "proyectos/thumb/".$_FILES['img_thumb']['name'];
    
move("$thumbsnail""$tmp_name""$file_name_dir");
    } else {
        echo 
"Error Eliminando la imagen vieja y actualizando";
    } 
Lo que debería hacer esto es:
Eliminar el archivos viejo de la carpeta (no funciona)
Actualiza el link de la imagen en la bd (funciona)
Sube la nueva imagen al directorio (funciona)
  #2 (permalink)  
Antiguo 21/01/2011, 00:13
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: (consulta) eliminar archivo y function

SOLUCIONADO,
Tomaba el id por GET y debía usar POST.

Saludos.
  #3 (permalink)  
Antiguo 21/01/2011, 01:21
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: (consulta) eliminar archivo y function

Solución a medias:

Si Hago esto funciona bien:
Código PHP:
if (!empty($thumbsnail)) {
$result mysql_query("SELECT * FROM detalles WHERE id = '$ID'"); 
    while (
$row mysql_fetch_array($result)) {
        
    if (
is_file($row['img_thumb'])) {
            
unlink($row['img_thumb']);
        } 
    }

    
actualizar("detalles""img_thumb='proyectos/thumb/$thumbsnail'""id='$ID'""id = '$ID'");
$tmp_name $_FILES['img_thumb']['tmp_name'];
$file_name_dir "proyectos/thumb/".$_FILES['img_thumb']['name'];
    
move("$thumbsnail""$tmp_name""$file_name_dir");
    } else {
        echo 
"Error Eliminando la imagen vieja y actualizando";
    } 
Pero si paso esta parte del código a una function, no elimina el archivo:
Código PHP:
$result mysql_query("SELECT * FROM detalles WHERE id = '$ID'"); 
    while (
$row mysql_fetch_array($result)) {
        
    if (
is_file($row['img_thumb'])) {
            
unlink($row['img_thumb']);
        } 
    } 
Como paso a una function esta última parte del código??? ya probé de varias formas y no pude dar en la tecla.
  #4 (permalink)  
Antiguo 21/01/2011, 02:21
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: (consulta) eliminar archivo y function

Ahora si Solucionado:
Código PHP:
Ver original
  1. function eliminar($column, $tabla, $where, $fila) {
  2. $result = mysql_query("SELECT $column FROM $tabla WHERE $where");
  3.     while ($fila = mysql_fetch_array($result)) {
  4.        
  5.     if (is_file($fila['img_thumb'])) {
  6.             unlink($fila['img_thumb']);
  7.         }
  8.     }
  9. }
Código PHP:
Ver original
  1. $directory = $row['img_thumb'];
  2.     eliminar("*", "detalles", "id = '$ID'", "$directory");
  #5 (permalink)  
Antiguo 21/01/2011, 05:18
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: (consulta) eliminar archivo y function

Retiro lo dicho, no solucioné el problema.

Código PHP:
Ver original
  1. function eliminar($column, $tabla, $where,  $fila) {
  2. $result = mysql_query("SELECT $column FROM $tabla WHERE $where");
  3.     while ($fila = mysql_fetch_array($result)) {
  4.        
  5.     if (is_file($fila['img_thumb'])) {
  6.             unlink($fila['img_thumb']);
  7.         }
  8.     }
  9. }
  10.  
  11. function actualizar($tabla, $value1, $value2, $where){
  12.     return mysql_query("UPDATE $tabla SET $value1, $value2 WHERE $where");
  13. }
  14.  
  15. function move($var, $valor1, $valor2){
  16. if (!empty($var)) {
  17.     move_uploaded_file($valor1, $valor2);
  18. }
  19. }
  20.  
  21. function categoria($category, $column, $tabla, $where, $directory, $value1, $value2, $tmp, $file_name) {
  22.    
  23.     if (!empty($category)) {
  24.        
  25.     eliminar("$column", "$tabla", "$where", "$directory");
  26.    
  27.     actualizar("$tabla", "$value1", "$value2", "$where");
  28.    
  29.     move("$category", "$tmp", "$file_name");
  30. } else {
  31.     echo "Error Eliminando la imagen vieja y actualizando";
  32.     }
  33. }
  34.  
  35. if (!empty($titulo)) {
  36.     actualizar("detalles", "title='$titulo'", "id='$ID'", "id = '$ID'");
  37. }
  38.  
  39. if (!empty($descripcion)) {
  40. actualizar("detalles", "description='$descripcion'", "id='$ID'", "id = '$ID'");
  41. }
  42.  
  43. if (!empty($direccion_web)) {
  44. actualizar("detalles", "url='$direccion_web'", "id='$ID'", "id = '$ID'");
  45. }
  46.  
  47.  
  48. //Thumbsnails
  49. $directorio_thumb = $row['img_thumb'];
  50. $tmp_name_thumb = $_FILES['img_thumb']['tmp_name'];
  51. $file_name_dir_thumb = "proyectos/thumb/".$_FILES['img_thumb']['name'];
  52. categoria("$thumbsnail", "*", "detalles", "id = '$ID'", "$directorio_thumb", "img_thumb='proyectos/thumb/$thumbsnail'", "id='$ID'", "$tmp_name_thumb", "$file_name_dir_thumb" );
  53.  
  54. //Identidad
  55. $directorio_identidad = $row['img_identidad'];
  56. $tmp_name_identidad = $_FILES['img_identidad']['tmp_name'];
  57. $file_name_dir_identidad = "proyectos/identidad/".$_FILES['img_identidad']['name'];
  58. categoria("$identidad", "*", "detalles", "id = '$ID'", "$directorio_identidad", "img_identidad='proyectos/identidad/$identidad'", "id='$ID'", "$tmp_name_identidad", "$file_name_dir_identidad" );

Creo que aca esta el problema:

Código PHP:
function eliminar($column$tabla$where,  $fila) {
$result mysql_query("SELECT $column FROM $tabla WHERE $where"); 
    while (
$fila mysql_fetch_array($result)) {
        
    if (
is_file($fila['img_thumb'])) {
            
unlink($fila['img_thumb']);
        } 
    }

pero no se como armar la funcion para poder eliminar, a demás de "thumbsnails", identidad.
  #6 (permalink)  
Antiguo 21/01/2011, 09:37
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: (consulta) eliminar archivo y function

Si necesitan algun dato más me lo dicen.

He probando varias alternativas y nada.

No se como tengo que plantear la función eliminar.
Código PHP:
Ver original
  1. function eliminar($column, $tabla, $where,  $fila) {
  2. $result = mysql_query("SELECT $column FROM $tabla WHERE $where");  
  3.     while ($fila = mysql_fetch_array($result)) {
  4.          
  5.     if (is_file($fila['img_thumb'])) {
  6.             unlink($fila['img_thumb']);
  7.         }  
  8.     }
  9. }

Aca queda claro que solo aplica a img_thumb. Aca deberia poner una variable para que de acuerdo al tipo de imagen se borre el archivo.
  #7 (permalink)  
Antiguo 24/01/2011, 21:27
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
No puedo hacer esta funcion.

Tengo que pasar esto a una funcion:
Código PHP:
Ver original
  1. $result = mysql_query("SELECT * FROM detalles WHERE id=$_GET[id]");
  2. while ($row = mysql_fetch_array($result)) {
  3.  
  4.  
  5. if (is_file($row['img_thumb'])) {
  6.         unlink($row['img_thumb']);
  7.     }

He intentado varias alternativas desde hacer variables globales y a pasar parámetros pero no he podido hacer que funcione.
  #8 (permalink)  
Antiguo 24/01/2011, 21:29
 
Fecha de Ingreso: abril-2006
Ubicación: Bogotá
Mensajes: 251
Antigüedad: 18 años
Puntos: 14
Respuesta: No puedo hacer esta funcion.

Hola,

¿Qué tiene que recibir la función y qué debe retornar?
  #9 (permalink)  
Antiguo 24/01/2011, 21:32
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: No puedo hacer esta funcion.

Lo que quiero hacer es que al seleccionar de la tabla un campo de la base de datos, dónde esta almacenado el directorio y el nombre de archivo, se compruebe si existe el archivo y si existe que lo borre.

No se si te sirve esto que explico.
  #10 (permalink)  
Antiguo 24/01/2011, 21:34
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: No puedo hacer esta funcion.

unlink() borra un archivo en la misma carpeta, si esta en otra carpeta tienes que usar chdir() para cambiar al directorio donde esta el archivo y luego eliminar con unlink()
  #11 (permalink)  
Antiguo 24/01/2011, 21:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No puedo hacer esta funcion.

Cita:
Iniciado por opzina Ver Mensaje
Lo que quiero hacer es que al seleccionar de la tabla un campo de la base de datos, dónde esta almacenado el directorio y el nombre de archivo, se compruebe si existe el archivo y si existe que lo borre.

No se si te sirve esto que explico.
si, definitivamente sirve... pero no mucho...

¿podrías explicar lo que sucede y lo que no?

¿obtienes algún mensaje de error o algo mas útil que tus explicaciones?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 24/01/2011, 21:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: (consulta) eliminar archivo y function

Temas unidos, por favor NO dupliques temas.

Etiquetas: eliminar, function
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:39.