Archivo

Archivo para la categoría ‘Php’

archivos “batch” que tienen includes que son llamados por un cron de linux

Miércoles, 16 de Diciembre de 2009 David Quiñones Sin comentarios

Amigos del blog. Cuando se trabaja con archivos batch, creados por symfony, los cuales usan llamadas a archivos o clases externas, se presenta el dilema de, cuando son ejecutados por el cron de linux, estos no son bien interpretados por el mismo, generando la no ejecucion del mismo, adicionando que en el log de errores del cron de linux, no se guarda huella del error.

Estos archivos pueden ser cualquier libreria externa q sea necesario para el procesamiento del batch, los cuales por lo general, estan en logica de php normal.

para no enrredarnos con procesos de autocarga de clases del symfony, el cual requiere instalar la utilidad Pake, os dejo una solucion alternativa para ello, el cual le deja el trabajo a symfony:

partiendo de un directorio en batch que tiene unas librerias externas en el, sustituimos:

include_once(’nombre de la carpeta donde esten las librerias/nombre de la libreria a incluir.php’);

por:

include_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.’batch’.DIRECTORY_SEPARATOR.’nombre de la carpeta donde esten las librerias’.DIRECTORY_SEPARATOR.’nombre de la libreria a incluir.php’);

si os configuraste bien, debe ser capaz de ejecutarse el archivo batch desde cualquier carpeta donde estes parado en consola

Compartir información en: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • MisterWong
  • Y!GG
  • Webnews
  • Digg
  • del.icio.us
  • StumbleUpon
  • Reddit
  • Ask
  • De.lirio.us
  • Facebook
  • LinkedIn
  • Live-MSN
  • MySpace
  • YahooMyWeb
  • email
  • Google Bookmarks
  • TwitThis
  • YahooBuzz
Categories: Php, Symfony Tags: , , , ,

Activar mod_rewrite para Apache en Ubuntu

Jueves, 19 de Febrero de 2009 David Quiñones 1 comentario

El mod_rewrite es un módulo de Apache que permite modificar lo que aparece en la barra de dirección, supongamos que tenemos lo siguiente: noticia.php?id_noti=54, podría quedar: /noricias/54

Para lograr esto, el problema reside en la configuración del módulo mod_rewrite. Aunque instales apache usando APT o mediante el Gestor de Paquetes Synaptic, el módulo no queda instalado.

Para activar mod_rewite para Apache en Ubuntu sólo hay que seguir estos pasos:

1. sudo a2enmod rewrite
2. sudo vim /etc/apache2/sites-enabled/000-default
Aquí buscamos en las líneas que digan AllowOverride None y las cambiamos por AllowOverride All. Incluso podemos definir que directorios queremos que aplique es rewrite y cuales no.
3. sudo /etc/init.d/apache2 force-reload

Una vez realizado este paso ya estará activo las mod_rewrite

Compartir información en: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • MisterWong
  • Y!GG
  • Webnews
  • Digg
  • del.icio.us
  • StumbleUpon
  • Reddit
  • Ask
  • De.lirio.us
  • Facebook
  • LinkedIn
  • Live-MSN
  • MySpace
  • YahooMyWeb
  • email
  • Google Bookmarks
  • TwitThis
  • YahooBuzz
Categories: Php Tags: ,

Url limpia con .htaccess

Jueves, 19 de Febrero de 2009 David Quiñones Sin comentarios

Hoy día ya es muy conocido el tema de las url limpia con los archivos .htaccess, tanto así que es hasta complicado conseguir un simple ejemplo de url limpia, aquí les dejo uno.

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^noticias/([0-9]*) noticias.php?id=$1 [L]

Este código debe estar dentro del .htacess en la raíz de proyecto, por supuesto se asume que el mod_rewrite del apache esta activo para que puedan soportar las urls limpias.

En este simple ejemplo lo que se quiere hacer es que al escribir en la url http://www.midominio.com/noticias/19022009, se envíe al archivo noticias.php el valor 19022009 para ser procesado, se agrego también una condición ([0-9]) para que la url solo acepte números.

Compartir información en: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • MisterWong
  • Y!GG
  • Webnews
  • Digg
  • del.icio.us
  • StumbleUpon
  • Reddit
  • Ask
  • De.lirio.us
  • Facebook
  • LinkedIn
  • Live-MSN
  • MySpace
  • YahooMyWeb
  • email
  • Google Bookmarks
  • TwitThis
  • YahooBuzz
Categories: Php Tags: , ,

Ordenar arreglo multidimencional (fecha, hora)

Lunes, 6 de Octubre de 2008 David Quiñones Sin comentarios

Algo que me paso recientemente y lo quiero compartir.
Puede ocurrir durante un desarrollo que necesitemos ordenar solo arreglo multidimencional que se genera de varias consultas de diferentes tablas. Además de eso lo queremos ordenar por dos campos diferentes algo como un order by fecha, hora.

Bueno en el ejemplo siguiente explico un poco como solucionar este problema.

Asumimos que tenemos un arreglo algo parecido a esto:

$acciones = array(array(’nombre’=>’opcion1′, ‘fecha’=>’2008-02-20′, ‘hora’=>’13:45:23′), array(’nombre’=>’opcion2′, ‘fecha’=>’2008-01-20′, ‘hora’=>’13:35:00′),array(’nombre’=>’opcion3′, ‘fecha’=>’2008-01-20′, ‘hora’=>’10:15:00′),array(’nombre’=>’opcion3′, ‘fecha’=>’2008-02-20′, ‘hora’=>’18:25:10′))

Ahora procedemos a ordenar por fecha y luego por hora

foreach ($acciones as $llave => $fila) {
$fecha[$llave]  = $fila['fecha'];
$hora[$llave] = $fila['hora'];
}
array_multisort($fecha, SORT_DESC, $hora, SORT_DESC, $acciones);

Lo que hicimos fue recorrer el arreglo original, creando arreglos por los campos que se desean ordenar, luego de esto aplicamos el array_multisort, en nuestro ejemplo los campos se ordenan de forma descendente, estos parámetros pudieran cambiar según se especifica el la documentación de array_multisort.

Espero le sirva de ayuda.

Compartir información en: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • MisterWong
  • Y!GG
  • Webnews
  • Digg
  • del.icio.us
  • StumbleUpon
  • Reddit
  • Ask
  • De.lirio.us
  • Facebook
  • LinkedIn
  • Live-MSN
  • MySpace
  • YahooMyWeb
  • email
  • Google Bookmarks
  • TwitThis
  • YahooBuzz

Conversión de hora en PHP

Viernes, 29 de Agosto de 2008 David Quiñones Sin comentarios

Conversión de formato 24 horas a hora con formato 12 horas:
print
( date(”g:i a”, strtotime(”13:30:30″)) );

Conversión de formato 12 horas a hora con formato 24 horas:
print( date(”H:i:s”, strtotime(”1:30 pm”)) );

Simple pero util!!!

Compartir información en: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • MisterWong
  • Y!GG
  • Webnews
  • Digg
  • del.icio.us
  • StumbleUpon
  • Reddit
  • Ask
  • De.lirio.us
  • Facebook
  • LinkedIn
  • Live-MSN
  • MySpace
  • YahooMyWeb
  • email
  • Google Bookmarks
  • TwitThis
  • YahooBuzz
Categories: Php Tags: , , , , ,