gafeman viciao2k3 logo viciao2k3
 
¿que estoy haciendo?   follow me
@fillito emplado del mes, producto del año jeje
 chica del dia  —  la novia de tu mejor amigo
 
Suscribete →  
450  fans y una planta carnivora
 
Todos los articulos de la categoria PHP
Actualizado hace 6 horas
Noticias del dia
4

Diferentes maneras de inicializar una matriz

Tag: PHP    Por: gafeman @ 9 Septiembre, 2007    Lecturas: 794   

Maneras de iniciar una matriz de 7 elementos con valor cero:

  1. $tabla = array(0,0,0,0,0,0,0);
  2. for($i=0;$i<=6;$i++)$tabla[]=0;
  3. $tabla = array_pad (array(), 7, 0);

Todos devuelven el mismo resultado:

Array
(
    [0] => 0
    [1] => 0
    [2] => 0
    [3] => 0
    [4] => 0
    [5] => 0
    [6] => 0
)

¿Conoces más maneras de hacerlo?
¿Cuál crees que es la más eficiente?

2

Consejo php, cuando no utilizar preg_match

Tag: PHP    Por: gafeman @ 22 Agosto, 2007    Lecturas: 1310   

Buscando documentación sobre la función php preg_match, encontré el siguiente consejo:

No usar preg_match si lo único que quieres es comprobar si un string (aguja) esta en otro string (pajar)
Usa strpos o strstr son más rápidos

Estaría bien hacer una lista con comparaciones entre funciones, para ver cuales son las mejores

por ejemplo, yo en el caso de arriba, utilizaria la función eregi que permite usar expresiones regulares y es insensible a minúsculas y mayúsculas

4

trabajar con ficheros, saltos de linea y las comillas

Tag: PHP    Por: gafeman @ 21 Agosto, 2007    Lecturas: 1616   

cuando quieras crear/editar ficheros con saltos de linea, evita poner ( \n ) entre comillas simples ( ' ), para evitar resultados inesperados

Ejemplo con comillas simples:

PHP:
  1. echo 'linea 1\n';
  2. echo 'linea 2';

Resultado:

linea 1\nlinea 2

Ejemplo con comillas dobles:

PHP:
  1. echo "linea 1\n";
  2. echo "linea 2";

Resultado:

linea 1
linea 2

Edito: La solución ideal:

PHP:
  1. echo 'linea 1',"\n",'linea 2';

Resultado:

linea 1
linea 2

6

Configurar cronjob para ejecutar un script php (cpanelX)

Tag: PHP    Por: gafeman @ 3 Agosto, 2007    Lecturas: 2169   

¿Que es un Cronjob?

Es un proceso automatizado que se ejecuta en un intervalo de tiempo definido por el usuario

Ejemplos de uso:

  • Hacer copias de la base de datos
  • Optimizar la base de datos
  • Enviar un boletín de noticias
  • Eliminar archivos temporales de una carpeta

Requisitos:

  1. Tener la web en un servidor linux
  2. Que tu compañía de hosting te permita configurar cronjobs
  3. saber la ruta del script php que queramos ejecutar, por ejemplo:
    /home/vicia3/public_html/BD_optimizar.php

Caso practico:

Hace un tiempo adapte un script de PHPNUKE a wordpress para optimizar la base de datos mysql

Para ejecutarlo hay dos maneras:

    1. manualmente desde el navegador
    2. o automáticamente configurando un cronjobs

    A continuación voy a explicar la manera de configurar un cronjob desde un panel de control cpanelX (que sepa lo utilizan dattatec y lunarpages)

    Pasos:

    1. Sigue los pasos de este tutorial para instalar el script para optimizar la base de datos mysql (Apunta la ruta del fichero donde guardas el script)
    2. Dirigete a la pantalla principal del panel de control cpanelx de tu hosting
    3. Busca la opción Cron jobs:
      cronjobs
    4. Una vez dentro puedes seleccionar el modo para crear o editar los cronjobs:
      Yo recomiendo hacerlo en modo estándar, es más fácil e intuitivo
      modo cronjobs
    5. Como podréis ver en la imagen inferior el cronjob esta configurado para ejecutar el script php: /home/vicia3/public_html/BD_optimizar.php
      el día 1 de cada mes por la media noche
      configuracion cronjobs
      Para que podáis copiar el comando linux es el siguiente:
      cd /home/vica3/public_html/ ; php BD_optimizar.php

      Recuerda que tienes que cambiar la ruta segun vuestro servidor
    6. Una vez creado para finalizar le dais al botón Save Crontab

    Notas:

    • Puedes hacer que se ejecute dos días a la semana, por ejemplo:
      seleccionas monday (lunes), pulsa la tecla control (Ctrl) y seleccionas Wednesday (miércoles)
    • Seguramente hay varias maneras de hacerlo pero os aseguro que esta funciona correctamente

    Mas información:

    http://www.adminschoice.com/docs/crontab.htm

    17

    Metodologia para optimizar codigo

    Tag: PHP    Por: ewiggin @ 2 Agosto, 2007    Lecturas: 798   

    Buenas, como veo que os gustan los códigos de mi compadre, yo voy aportar algo que llevo usando durante algún tiempo cuando quiero generalizar y agilizar el código de mis encargos web.

    Quizá algunos no estén de acuerdo con esta metodología, pero es lo que es, una metodología. Como las lentejas, o las tomas o las dejas.

    Usado para optimizar secciones
    Este código usa las variables $_GET para llamar al fichero *.php para incluirlos con el include.

    PHP:
    1. //Carpeta donde estan las secciones!
    2. $path = "secciones";
    3. $subsec_path = $path."/sub"//carpetas de subsecciones
    4. if(isset($_GET['seccion']) &amp;&amp; isset($_GET['subseccion']))
    5. {
    6. @include $subsec_path."/".$_GET['subseccion'].".php";
    7. }
    8. else if(isset($_GET['seccion']))
    9. {
    10. if(file_exist($path."/".$_GET['seccion'].".php"))
    11. {
    12. @include($path."/".$_GET['seccion'].".php");
    13.  
    14. }else @include($path."/error/errorseccion.php");
    15.  
    16. }else @include($path."benvenida.php");

    Codigo Rectificado ( Necesidad de mejora expuesta por Alex )

    PHP:
    1. //Carpeta donde estan las secciones!
    2. $path = "secciones";
    3. $subsec_path = $path."/sub"; //carpetas de subsecciones
    4.  
    5. if(isset($_GET['seccion']) &amp;&amp; isset($_GET['subseccion']))
    6. {
    7. if(eregi('\.\.\/',$_GET['seccion']) || eregi('\.\.\/',$_GET['subseccion'])) die ('No permitido');
    8. else
    9. {
    10. @include $subsec_path."/".$_GET['subseccion'].".php";
    11. }
    12. }
    13. else if(isset($_GET['seccion']))
    14. {
    15. if(eregi('\.\.\/',$_GET['seccion'])) die ('No permitido');
    16. else
    17. {
    18. if(file_exist($path."/".$_GET['seccion'].".php"))
    19. {
    20. include($path."/".$_GET['seccion'].".php");
    21. }else include($path."/error/errorseccion.php");
    22. }
    23. }else include($path."benvenida.php");

    -- No pongo una comprobación de las secciones permitidas, porque solo estan permitidas las que hay en la carpeta, logico.

    Para hacer que funcione solo tendríamos que usar enlaces como:
    http://www.vicao2k3.net/index.php?seccion=galeria
    http://www.vicao2k3.net/index.php?seccion=links
    http://www.vicao2k3.net/index.php?seccion=galeria&subseccion=favoritos

    Así de sencillo. Lo único que obliga tener por cada sección un fichero diferente.
    Pero lo tienes todo dividido así no tienes que buscar el código especifico en el index.php, solo dirigirse al fichero con nombre de la sección y listo. Además, hace que el servidor tenga que enviar código menos pesado que si lo hiciéramos todo con condicionales.

    Yo lo he usado profesionalmente en 3 sitios webs, con un añadido de SQL, y funcionan perfectamente. Y en el mantenimiento, personalmente me han ido bastante bien. Este código siempre es mejorable.

    He aquí un consejillo.

    background by eboy