Foros del Web » Programando para Internet » PHP »

Suprimir imagenes en PHP de una galeria

Estas en el tema de Suprimir imagenes en PHP de una galeria en el foro de PHP en Foros del Web. yo he echo un formulario para subir en PHP imagenes jpeg a la web. Hasta ahí bien, y también hice una especie de galería de ...
  #1 (permalink)  
Antiguo 19/05/2005, 03:37
 
Fecha de Ingreso: enero-2005
Mensajes: 150
Antigüedad: 12 años, 10 meses
Puntos: 1
Suprimir imagenes en PHP de una galeria

yo he echo un formulario para subir en PHP imagenes jpeg a la web.
Hasta ahí bien, y también hice una especie de galería de imágenes de 3 columnas, por un número aún ilimitado de filas.

Lo que yo quiero hacer es que mediante un boton al lado de cada foto, poder suprimir una foto en cuestión (en PHP)
  #2 (permalink)  
Antiguo 19/05/2005, 03:40
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
pero al imagen esta en bd o es una imagen fisica ?¿

si es una imagen fisica y guardas la ruta en db tambien deberas borrar la ruta que tienes almacenada...

para eliminar un archivo es con la fucion unlink()

Un Saludo
  #3 (permalink)  
Antiguo 19/05/2005, 04:28
 
Fecha de Ingreso: enero-2005
Mensajes: 150
Antigüedad: 12 años, 10 meses
Puntos: 1
no, en este caso no utilizo para nada base de datos.
Simplemente al subirlas las meto en una carpeta, donde las cojo luego para hacer la galería

tal como lo estoy haciendo, sin base de datos, se pueden suprimir de alguna manera?
  #4 (permalink)  
Antiguo 19/05/2005, 04:34
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Claro... usa la función unlink() ya te lo dijeron...

Según lo que dices me supongo lo que haces es leer un directorio... ve que tienes que manejar la opción de "borrar" de alguna manera... algo "bonito" podría ser con un checkbox por imagen, esto te crearía la posibilidad de borrar más de un archivo a la vez... claro que solo es sugerencia, formas hay muchas...

Lo importante, hagas como lo hagas, es tener un dato de referencia... en tu caso no le veo otra que no sea el nombre de tu archivo... así pués, ves si se vienen de una opción "borrar", si lo hace recojes valores y aplicas tu unlink() para cada valor recojido...

www.php.net/unlink

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 19/05/2005, 04:47
 
Fecha de Ingreso: enero-2005
Mensajes: 150
Antigüedad: 12 años, 10 meses
Puntos: 1
Muchas muchas muchas muchas gracias. Voy a ponerme a ello a ver si me sale

Un saludo
  #6 (permalink)  
Antiguo 19/05/2005, 04:49
 
Fecha de Ingreso: enero-2005
Mensajes: 150
Antigüedad: 12 años, 10 meses
Puntos: 1
ah y por cierto, lo del checkbox fue muy buena sugerencia, lo voy a aplicar. gracias
  #7 (permalink)  
Antiguo 19/05/2005, 04:58
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
ah y por cierto, lo del checkbox fue muy buena sugerencia, lo voy a aplicar. gracias
solo un bucle... una matriz y un foreach().
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 19/05/2005, 05:05
 
Fecha de Ingreso: enero-2005
Mensajes: 150
Antigüedad: 12 años, 10 meses
Puntos: 1
Salió a la perfección muchas gracias
  #9 (permalink)  
Antiguo 20/11/2005, 02:44
Avatar de ryu_on_ice  
Fecha de Ingreso: abril-2005
Mensajes: 314
Antigüedad: 12 años, 7 meses
Puntos: 0
suprimir archivos de un directorio con PHP....

Hola a todos!!

hace dias pude hacer con la ayuda de uds, lo del upload de archivos....

revisando los añejos post me he encontrado con este, que creo que me servira, aunque yo no lo aplicaria para imagenes, si no para archivos(doc y/o zip).....podrian una idea mas o menos mas clarita de como va esto del bucle... una matriz y un foreach(). ........aclarando que ya el formulario donde van los checkbox ese ya esta, me falta lo dificil..............................

y pues investigando ya +/- ubique que con la funcion unlink() se hace este proceso de borrado.....

saludos!!
  #10 (permalink)  
Antiguo 20/11/2005, 06:05
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
podrian una idea mas o menos mas clarita de como va esto del bucle... una matriz y un foreach()
Creo que eso lo sugerí yo ... y fue solo eso, una sugerencia.

Maneras hay varias, cada quien su imaginación y manera de trabajar. Si vez bien al principio roylugones planteó poner un botón al lado de cada imágen para ser borrado, es totalmente válido, también lo sería emplear enlaces, pero esto implicaría que solo se podría borrar un archivo a la vez --ve que los botónes serían individuales e independientes--. Personalmente, en principio, me pareciera más cómodo agregar un checkbox por archivo y un solo botón para enviarlos todos, de esta manera te permitiria borrar varios archivos a la vez... es solo eso.

La forma sería declarar los checkboxes como una matriz (name="algo[]") y asignarles un identificador al value; según lo que manejes podría ser el propio nombre del archivo ó un id si manejas Bases de Datos. Al ser una matríz se enviarán los checkboxes que estén marcados, debes recorrer la matríz --preferible hacerlo con un ciclo, conveniente ocupar foreach()-- y efectuar el borrado por cada valor recibido.

Ejemplo:
Código PHP:
<?php
if(isset($_POST['submit'])) {
      foreach(
$_POST['algo'] as $v) {
            echo 
"Borramos $v <br>"// acá se efectua la acción
      
}
echo 
"-----------------------<br><br>";
}
?>
<form method="post" action="<?=$_SERVER['PHP_SELF'?>">
Archivo1: <input type="checkbox" name="algo[]" value="archivo1"><br>
Archivo2: <input type="checkbox" name="algo[]" value="archivo2"><br>
Archivo3: <input type="checkbox" name="algo[]" value="archivo3"><br>
ArchivoN: <input type="checkbox" name="algo[]" value="archivoN"><br>
<input type="submit" name="submit" value="Borrar!">
</form>
Simple ejemplo ilustrativo.... debes saber de matricez, ciclos y condicionales para hacer algo más óptimo.

Espero quede claro. Suerte!

Edito: En las FAQ hay algo más completo...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #11 (permalink)  
Antiguo 21/11/2005, 01:07
Avatar de ryu_on_ice  
Fecha de Ingreso: abril-2005
Mensajes: 314
Antigüedad: 12 años, 7 meses
Puntos: 0
Suprimir imagenes en PHP de una galeria

OK en la FAQ me encontre la explicacion un poco mas amplia para este caso, expuesto por cluster.

ok lo primero que se ocurrio fue listar el contenido del directorio donde se encuentran los archivos a borrar(no se si sea buena idea, o tal vez este demas hacer el listado), y despues usar la idea que uds me dan....

aki el codigo...

Código PHP:
<?
//primero se lista el contenido de la carpeta download

$the_array = Array();
$handle opendir('download/.');
    while (
false !== ($file readdir($handle))) {
           if (
$file != "." && $file != "..") {
           
$the_array[] = $file;
           }
    }
closedir($handle);
sort ($the_array);
reset ($the_array);
while (list (
$key$val) = each ($the_array)) {

}
// fin de listado....
//borrado de archivos.........
if(isset($_POST['submit'])) {
      foreach(
$_POST['the_array'] as $val) { //-------> linea 19
      
unlink($file);// acá se efectua la acción ----> linea 20
            
echo "Borramos $file<br>"
      }
}
?>
<form method="post" action="<?=$_SERVER['PHP_SELF'?>">

<input type="checkbox" name="the_array[]" value="<?=$val?>"> <?=$file?><br>
</form>
doy click me sale este error....

Warning: unlink() [function.unlink]: Permission denied inline 20...
(por el momento lo estoy probando de modo local)

pero despues ya me sale este otro error......

Warning: Invalid argument supplied for foreach() in line 19


bueno esto es lo que llevo....

saludos!!
  #12 (permalink)  
Antiguo 21/11/2005, 07:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. que valores tienes en $val ?

Sólo seleccionas una opción? (te hago el comentario por qué si sólo seleccionas una opción no se genera un array que puedas recorrer con foreach() sino accediendo directamente a su valor .. no es un array)

Revisalo haciendo (antes de tu if(isset(....)):
Código PHP:
echo "<pre>";
print_r($_POST['the_array']);
echo 
"</pre>"
Un saludo,
  #13 (permalink)  
Antiguo 21/11/2005, 20:23
Avatar de ryu_on_ice  
Fecha de Ingreso: abril-2005
Mensajes: 314
Antigüedad: 12 años, 7 meses
Puntos: 0
HOla!

Trato de hacer mas una seleccion, es decir si en la carpeta existen por ejemplo 10 archivos, que los 10 tengan la posibilidad de ser borrados, poder borrar mas de un archivo a la vez (que mas se necesita?)....

la variable $val viene del script de listado, y contiene el puro nombre de los archivos contenidos en la carpeta, la variable $key, contiene el numero de archivos contenidos en la carpeta empezando desde 0....

tons con lo que me dicen...como le hago para hacer que se genere el array y poder recorrerlo con el foreach y se generen los posibles checkbox que se llegaran a necesitar...

saludos!!
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 14:31.