Ver Mensaje Individual
  #4 (permalink)  
Antiguo 20/03/2011, 04:19
Avatar de masterpuppet
masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 17 años, 2 meses
Puntos: 845
Respuesta: borrar imagen despues de x tiempo

Que tal WinderJerter,

podrias traerte los registros pasados de tiempo directamente en la query en vez de traer todos los registros y comparar la fecha, tambien podrias guardar el id del registro borrado para tirar un where in en vez de una query para cada uno, algo asi:

Código PHP:
Ver original
  1. include_once("bd.php");
  2.  
  3. $query  = 'SELECT * '
  4.         . 'FROM images '
  5.         . 'WHERE NOW() > DATE_ADD(date,INTERVAL 1 HOUR) '
  6.         . 'AND status = 0';
  7.  
  8. $result = mysql_query($query);
  9.  
  10. $toDelete = array();
  11. while ($image = mysql_fetch_assoc($result)) {
  12.     $delete_link = array('http://', '.upload.com');
  13.     $str_link    = str_replace($delete_link, '', $image['location']);
  14.     $toDelete[]  = $image['id'];
  15.     unlink('servers/' . $str_link);
  16. }
  17.  
  18. if (count($toDelete)) {
  19.     $sql_del    = 'DELETE FROM images WHERE id IN(' . implode(',', $toDelete) . ')';
  20.     $result_del = mysql_query($sql_del);
  21. }

te sugiero tambien que tanto las tablas como los campos no los nombres con palabras reservadas ni tipos de datos, por ejemplo el campo date, te puede dar problemas.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)