Diferentes maneras de inicializar una matriz
Maneras de iniciar una matriz de 7 elementos con valor cero:
- $tabla = array(0,0,0,0,0,0,0);
- for($i=0;$i<=6;$i++)$tabla[]=0;
- $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?
Consejo php, cuando no utilizar preg_match
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
trabajar con ficheros, saltos de linea y las comillas
cuando quieras crear/editar ficheros con saltos de linea, evita poner ( \n ) entre comillas simples ( ' ), para evitar resultados inesperados
Ejemplo con comillas simples:
Resultado:
linea 1\nlinea 2
Ejemplo con comillas dobles:
Resultado:
linea 1
linea 2
Edito: La solución ideal:
Resultado:
linea 1
linea 2
Configurar cronjob para ejecutar un script php (cpanelX)
¿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:
- Tener la web en un servidor linux
- Que tu compañía de hosting te permita configurar cronjobs
- 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:
- manualmente desde el navegador
- 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:
- 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)
- Dirigete a la pantalla principal del panel de control cpanelx de tu hosting
- Busca la opción Cron jobs:

- 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

- 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

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 - 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:
Metodologia para optimizar codigo
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.
-
//Carpeta donde estan las secciones!
-
$path = "secciones";
-
$subsec_path = $path."/sub"; //carpetas de subsecciones
-
{
-
@include $subsec_path."/".$_GET['subseccion'].".php";
-
}
-
{
-
if(file_exist($path."/".$_GET['seccion'].".php"))
-
{
-
@include($path."/".$_GET['seccion'].".php");
-
-
}else @include($path."/error/errorseccion.php");
-
-
}else @include($path."benvenida.php");
Codigo Rectificado ( Necesidad de mejora expuesta por Alex )
-
//Carpeta donde estan las secciones!
-
$path = "secciones";
-
$subsec_path = $path."/sub"; //carpetas de subsecciones
-
-
{
-
else
-
{
-
@include $subsec_path."/".$_GET['subseccion'].".php";
-
}
-
}
-
{
-
else
-
{
-
if(file_exist($path."/".$_GET['seccion'].".php"))
-
{
-
include($path."/".$_GET['seccion'].".php");
-
}else include($path."/error/errorseccion.php");
-
}
-
}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.
Bueno, pues me pongo a visitarlos