Mostrando entradas con la etiqueta PHP. Mostrar todas las entradas
Mostrando entradas con la etiqueta PHP. Mostrar todas las entradas

lunes, 9 de marzo de 2009

XDebug - Netbeans 6.5 - PHP - XAMPP

1 – Open http://localhost/xampp/index.php and select phpinfo() to see what version of php are you using.

2 – Download the correct x-debug file from http://www.xdebug.org/download.php. This is very important, a wrong file will broke xdebug.

3 – Save this file In "C:\Archivos de programa\xampp\php\ext\php_xdebug-2.0.3-5.2.5.dll" or where you have xampp installed.

4 – Open to xampp\apache\bin\php.ini and open php.ini. 
5 – Find [Zend] and comment with ";" all the entries bellow "[Zend]". 
6 – Copy the following code 
 
zend_extension_ts="C:\Archivos de programa\xampp\php\ext\php_xdebug-2.0.3-5.2.5.dll"
xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
 

7 – Modify "zend_extension_ts" with the correct value.

8 – Restart apache.

9 – Check the installation. Go to PhpInfo() and you will see

"This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with Xdebug v2.0.4, Copyright (c) 2002-2008, by Derick Rethans".

10 – From Netbeans click on debug.



http://wiki.netbeans.org/HowToConfigureXDebug
--
Eduardo R. Coll

osCommerce - Category Discount Module


Discounts in money or quantity per category.

http://www.oscommerce.com/community/contributions,3926/category,all/search,Quantity+Discounts
--
Eduardo R. Coll

Drupal - List of Proyects

"This page contains a list of Drupal projects, sorted by Drupal core version, then alphabetically. The list should be used as a quick reference, and says nothing about the code quality or readiness of any of the listed modules.

Drupal modules will appear in the list if they contain at least one branch/tag that corresponds to a Drupal core version."

http://drupal.org/node/206666#DRUPAL-6
--
Eduardo R. Coll

miércoles, 4 de marzo de 2009

Web Performance

YSlow:

Is a Firefox plugging , analyzes web pages and tells you why they're slow based on Yahoo's rules for high performance web sites.

https://addons.mozilla.org/en-US/firefox/addon/5369

This tool ranks all the pages from A to F.

Yahoo Exceptional performance Team:

http://developer.yahoo.com/performance/rules.html

Tuning Apache and PHP:

http://phplens.com/phpeverywhere/tuning-apache-php

Tuning Apache:

http://httpd.apache.org/docs/2.0/misc/perf-tuning.html



--
Eduardo R. Coll

miércoles, 14 de enero de 2009

Validate email

function validate_email($email)
{
$pattern = "^[_a-zA-Z0-9-](\.{0,1}[_a-zA-Z0-9-])*@([a-zA-Z0-9-]{2,}\.){0,}[a-zA-Z0-9-]{3,}(\.[a-zA-Z]{2,4}){1,2}$";
if (ereg($pattern, $email)){
$return = true;
}else {
$return = false;
}
return $return;
}
--
Eduardo R. Coll

PHP: Validate Phone Function

function validate_phone($phone){
return ereg("^[0-9]{3}[-].{7,8}$",$phone);
}
--
Eduardo R. Coll

miércoles, 18 de julio de 2007

Eclipse + PHP

Estuve probando el IDE Eclipse con un plugin para PHP.
Increíble lo bien que funciona y lo ágil que hace el desarrollo, ya que aparte de tener muchisima ayuda para desarrollar en PHP, simplifica la creación de CSS, HTML y JavaScript. Realmente EXCELENTE.

la URL para bajar un Eclipse con todos los plugin (pdt-all-in-one-S20070130_RC2-win32.zip)

http://download.eclipse.org/tools/pdt/downloads/?release=S20070130-RC2

martes, 26 de junio de 2007

Libros Online

Sin despercidio...

http://www.librosweb.es/

PHP, CSS, XHTML, Javascript y Ajax.

Esta muy linda la página. Muy fácil de ubicarse y las públicaciones que se quieren se pueden descargar en PDF sin drama. Totalmente recomendable para esos momentos muertos en el work!

viernes, 22 de junio de 2007

Obtener días de diferencia entre 2 fechas

Utilizando algunas de las funciones comentadas ACA

podemos obtener la diferencia (en dias) entre 2 fechas pasadas por parámetro.

#------------------
#get days between 2 dates
function getDaysBetween($date_one,$date_two){

$timestamp_one = get_timestamp($date_one);
$timestamp_two = get_timestamp($date_two);

#get total seconds
$diference = $timestamp_one - $timestamp_two;
$diference = $diference / (60*60*24);
$diference = abs($diference);
$diference = floor($diference);

return $diference;
}

#------------------
#get the seconds of a date
function get_timestamp($date){
$arr = getDateArray($date);
return mktime ( $arr['hour'],
$arr['minute'],
$arr['second'],
$arr['month'],
$arr['day'],
$arr['year']
);
}


notese que cambiando esta parte del calculo podemos obtener los segundos, minutos, dias, meses o años de diferencia entre 2 fechas

$diference //segundos
$diference = $diference / (60); // minutos
$diference = $diference / (60*60); // horas
$diference = $diference / (60*60*24); // dias
$diference = $diference / (60*60*24*30); // meses (aprox)
$diference = $diference / (60*60*24*30*365); // años (aprox)

miércoles, 20 de junio de 2007

Trigger Error - PHP

Cansado de tener que andar dibujando mensajitos de error en PHP cada vez que "capturas y mostras uno"?

trigger_error es una solución realmente mágica al problema.

Básicamente permite mostrar un error con un formato predeterminado o incluso "redefinir" tus funciones de visualización y mostrar errores iguales en todo el sistema, de forma rápida y estética.

El tiempo que uno pierde por no saber :(

miércoles, 13 de junio de 2007

dateAdd y dateDiff en PHP

SQL Server tiene 2 funciones buenisimas para el calculo de fechas, DATEADD y DATEDIFF.

Emulando el comportamiento de estas funciones (probablemente de forma mala), les presento mi adaptación de estos métodos a PHP.

#------------------
# add values to a date array and return the new date!.
function dateAdd($date,$p_param, $value){
return genericDateOperation($date,$p_param,$value,1);
}

#------------------
# remove values to a date array and return the new date!.
function dateDiff($date,$p_param,$value){
return genericDateOperation($date,$p_param,$value,-1);
}

#------------------
# generic operation date function
function genericDateOperation($date,$p_param,$value,$operation){
$arr = getDateArray($date);
$arr[$p_param] = $arr[$p_param] + ($value*$operation);
return getDateFromArray($arr);
}
Funciones auxiliares

Esto funciona gracias a la función mktime

#------------------
# return array from a date.
function getDateFromArray($array){

$temp = mktime( $array['hour'],
$array['minute'],
$array['second'],
$array['month'],
$array['day'],
$array['year']);
return date(getDateFormat(),$temp);
}

estas 2
funciones que siguen son dependientes, si se cambia el formato de la fecha (método getFormat), se debería cambiar la forma de obtener el array.

#------------------
#
return array from a date with format Y-m-d h:i:s
function getDateArray($date){
$arr['year'] = substr($date,0,4);
$arr['month'] = substr($date,5,2);
$arr['day'] = substr($date,8,2);
$arr['hour'] = substr($date,11,2);
$arr['minute'] = substr($date,14,2);
$arr['second'] = substr($date,17,2);

return $arr;
}

#------------------
# return mySQL format date
function getDateFormat(){
return "Y-m-d h:i:s";
}


de mas esta decir que $p_param puede ser year, month, day, hour,minute o second.

martes, 5 de junio de 2007

Frameworks PHP

Ya que venimos hablando de Framworks, les presentó 2 potentes motores para PHP.

Cake PHP, probablemente el mas conocido.
Si bien este FW, es uno de un uso bastante simple había cosas que no me terminaban de cerrar. Igual imposible no probarlo si andas buscando un FW para PHP

Página: http://www.cakephp.org/
Recomendable: Screencast Building The Bakery

Y hoy Edu me presento algo que me dejo con la boca abierta.
Para mi, un FW mucho mas simple que Cake y muy muy muy rápido para el desarrollo. En estos días lo voy a probar a ver que tal funciona.

Página: http://p4a.crealabsfoundation.org/
Recomendable: Screencast Build a CMS in 10 minuts

viernes, 1 de junio de 2007

Cron PHP

Por mas que lo intente, no voy a poder explicarlo mejor que esto :)
http://docs.moodle.org/es/Cron

Subir archivos grandes al servidor

Un problema común que se puede presentar al desarrollar un sitio PHP es la necesidad de tener formularios de carga de archivos al sitio, pero que estos formularios necesiten subir archivos extremadamente grandes (bah "extremadamente", pongamos 60 MB) y la configuración del servidor no lo permite.

Ahora bien, cuando nosotros estamos desarrollando la página (o cuando tenemos cierto control sobre el servidor), esto es una tarea muy sencilla, basta con tocar los archivos de configuración (php.ini en c:\windows\windows ó en linux Lo encontramos dentro de la distribución php en el directorio raiz bajo el nombre php.ini-recommended o php.ini-dist.) y setear las variables

post_max_size y upload_max_filesize, asignandoles los valores que uno cree conveniente.

Ahora bien, ¿que pasa cuando no podemos modificar ese archivo?. Existen casos en que uno contrata un hosting y por razones obvias no tiene acceso a esos archivos de configuración.
Es en este caso cuando la solución se presenta en forma de .htaccess

Ese archivo que se incluye dentro de la carpeta raíz en nuestro hosting (incluso se pueden poner varios .htaccess mientras esten en diferentes carpetas, teniendo de esta forma distintas configuraciones para cada carpeta) tiene la particularidad de permitir sobreescribir ciertas configuraciones por defecto del servidor web.

Entonces, agregando en dicho archivo las líneas:

php_flag file_uploads On
php_value upload_max_filesize 1073741824 //en bytes, en MB sería 1024M
php_value max_input_time 3600
php_value memory_limit 200M
php_value post_max_size 5368709120 //upload_max_filesize * 5

Podemos subir archivos "gigantes".
Un dato para tener en cuenta y los ahorre unas horas de renegar es que modificar las configuraciones mediante el .htaccess, depende de varias cosas

1º- Si el servidor esta instalado como CGI, NO van a poder usar este truquito, ya que no va a tener en cuenta lo especificado en el archivo .htaccess
(para saber si el server es CGI, basta con hacer un php que nos muestre la info del server y en donde dice "Server", si dice API - en vez de "Server" o "Apache" -, quiere decir que el servidor esta instalado como CGI).

2º- El archivo de configuracion (php.ini) debe permitir la re-escritura de reglas en el .htacess, sino lo hace, no gasten polvora en chimangos.

(Una linda página donde ven mas funciones que se pueden lograr modificando este archivo: http://www.carlosleopoldo.com/2006/06/06/acordeon-chuleta-de-htaccess/)

FTP con PHP.

Hay un artículo muy bueno donde explica como desarrollar unas funciones FTP en PHP.

Uso del FTP con PHP

El problema de esto, es la mala interpretación que se le dio al asunto.

NO es posible desarrollar una página PHP, que se utilice para subir archivos al servidor desde una máquina cliente. Esto se debe a que la funciones corren del lado del server y por lo tanto el archivo que desean transferir debería estar en el server.

La mayor utilidad de este tipo de funciones se basa en la transmisión de datos desde un servidor web a otro, con la velocidad del protocolo FTP.

No esperen hacer milagros con esto!.

(Nota del Autor: Gracias Edu por permitirme escribir mis "descubrimientos" en este espacio :) )