¿Qué es PHP y para que se puede utilizar?
PHP es un lenguaje de programación de código abierto muy usado en el ámbito web.
A diferencia de otros lenguajes como Javascript, HTML, etc., que funcionan del lado del cliente, PHP funciona del lado del servidor, es decir al código insertado en la página que se encuentra en el servidor web, el usuario no tiene acceso, solo ve el resultado que genera dicho código en el navegador.
O sea, las funciones que usamos en nuestras páginas, nadie podrá conocerlas ni copiarlas, a menos que nosotros se las ofrezcamos.
Con PHP se pueden hacer muchas cosas, pero su uso más practico es el de crear paginas dinámicas y script que realizan funciones a petición, es un lenguaje complejo y potente, pero podemos aprovechar sus funciones de forma elemental para agregarle funcionalidad a nuestras páginas.
Al final de esta página se muestran los códigos de algunos ejemplos de como realizar tareas con PHP.
¿Que hace falta para probar y ejecutar PHP?
Solo es necesario el navegador, un servidor que de soporte para PHP y el propio PHP que podemos descargar gratis de internet.
Para agregar y probar funciones escritas en PHP en nuestras páginas, es ilógico que estemos conectados todo el tiempo a internet, podemos hacerlo instalando un servidor web local en el equipo como Apache y entonces agregarle PHP, ese es el objetivo de este artículo.
En una página anterior se explica paso por paso la instalación de Apache en nuestra PC, en otra se trata la instalación de IIS, el servidor de Microsoft incluido en Windows.
PHP lo podemos usar en cualquiera de los dos servidores, solo sigue leyendo para que conozcas como hacerlo.
Donde descargar y como instalar PHP en Apache
Al tener el servidor Apache funcionando en nuestro equipo, instalar PHP es el siguiente paso para poder cargar en el navegador páginas escritas en ese lenguaje, es una funcionalidad muy necesaria y casi imprescindible ya que en php se crean gran parte de las páginas disponibles en internet.
Es posible agregar esta función a Apache en Windows de dos formas, un instalador que puedes descargar de: www.php.net/
La otra manera es configurar PHP como un módulo, que permite más rendimiento y se explica a continuación como hacerlo paso por paso. Para eso descarga la última versión en la siguiente dirección.
Módulo para instalar PHP en Apache
Descomprime los archivos que se descarguen en una carpeta nombrada php en la raiz del disco C.
El siguiente paso es configurarlo.
Como configurar PHP en Windows
El primer paso es modificar el archivo pws-php5cgi.reg que se encuentra dentro de la carpeta php, ábrelo con el bloc de notas, copia el siguiente código pégalo en el archivo, ciérralo y guarda los cambios, ahora da dos clics en él para agregar su contenido al registro.
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map]
".php"="C:\php.exe"
El principal archivo de configuración de PHP es un archivo de texto nombrado: php.ini.
En el paquete que se descomprime no se encuentra, ya que se incluyen dos archivos para que el usuario pueda decidir cual usar, cada uno con un propósito y con opciones diferentes, son los siguientes:─ php.ini-production
─ php.ini-development
En nuestro caso usamos solo el primero php.ini-production, solo es necesario renombrarlo a: php.ini.
En este archivo es donde se pueden configurar todos los parámetros de PHP, consta de múltiples líneas, algunas comentadas con un punto y coma (;) en el comienzo, para que tomen efecto solo es necesario descomentarlas y reiniciar el servidor.
PHP incluye multitud de extensiones que le agregan funcionalidad al servidor y las dll necesarias ya están incluidas en la carpeta llamada: ext, todas se relacionan en el archivo install.txt en la sección: PHP Extensions.
Editar el archivo de configuración de PHP php.ini
Para el uso común y corriente de PHP solo configura las siguientes líneas:
✔ En la sección Paths and Directories la línea: doc_root indica la ubicación de los archivos del servidor.
Por ejemplo:
doc_root = C:\servidor_web
✔ La zona horaria puedes especificarla en la línea: date.timezone
Por ejemplo:
date.timezone = America/Havana
Puedes saber tu zona correspondiente accediendo a: php.net/date.timezone
✔ Para habilitar una extensión descoméntala (quitar el caracter ; que antecede a la extensión) e indica la ruta donde se encuentra la dll.
Por ejemplo para habilitar la librería GD para imágenes, hazlo de la siguiente forma:
extension=C:\php\ext\php_gd2.dll
Por ejemplo:
doc_root = C:\servidor_web
✔ La zona horaria puedes especificarla en la línea: date.timezone
Por ejemplo:
date.timezone = America/Havana
Puedes saber tu zona correspondiente accediendo a: php.net/date.timezone
✔ Para habilitar una extensión descoméntala (quitar el caracter ; que antecede a la extensión) e indica la ruta donde se encuentra la dll.
Por ejemplo para habilitar la librería GD para imágenes, hazlo de la siguiente forma:
extension=C:\php\ext\php_gd2.dll
Como agregar PHP a la instalación de Apache
Para poder cargar en Apache las paginas creadas en PHP es necesario crear un vínculo entre ambos. PHP se puede agregar a Apache de dos formas básicas:
1- Instalarlo como un a CGI, para eso solo copia lo siguiente al final del archivo httpd.conf de Apache:
ScriptAlias /php/ "C:/php/" AddType application/x-httpd-php .php Action application/x-httpd-php "/php/php-cgi.exe"
2- Instalarlo como un módulo de Apache, para eso solo copia lo siguiente al final del archivo httpd.conf de Apache:
LoadModule php5_module "c:/php/php5apache2_2.dll" AddType application/x-httpd-php .php PHPIniDir "C:/php"
En los dos casos agrega las siguientes líneas para dar los permisos necesarios al directorio de PHP:
<Directory "C:/php"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
Comprobar el funcionamiento de PHP
Al finalizar solo es necesario para comprobar el funcionamiento de PHP y conocer todos los módulos y extensiones funcionando usar la función: phpinfo()
Para eso copia la siguiente línea a un nuevo archivo que debes crear con el bloc de notas y guárdalo como: info.php
<?phpphpinfo();?>
Copia este archivo a la carpeta del servidor que en este ejemplo es C:\servidor_web y accede a el desde el navegador
Para eso escribe en la barra de direcciones: "localhost/info.php", si todo ha salido bien verás una página de información de la versión de php instalada con todas sus características y propiedades.
¿Deseas aún más información?
Copia en el mismo archivo lo siguiente:
<?php phpinfo(32); ?> <?php //Tabla con efecto bajo el mouse echo '<table style="border-collapse: collapse;">'; foreach ($_SERVER as $key => $val) echo '<tr onMouseOver="this.style.backgroundColor=\'AAAABB\';" onMouseOut="this.style.backgroundColor=\'transparent\';"><td style="font-weight: bold; border-right: 2px solid #000000;">'.$key.'</td><td style="width: 100%;">'.(is_array($val)?nl2br(print_r($val,true)):$val).'</td></tr>'; echo '</table>'; ?>
Usos prácticos de PHP, códigos y ejemplos
Si nunca haz usado PHP sigue los siguientes pasos elementales:
• Crea un archivo de texto plano y guárdalo con cualquier nombre pero con la extensión .php
• Encierra el código entre los tags <?php y ?>
• Cada línea debe terminar con un punto y coma (;)
• Para escribir texto o el resultado de una varialble utiliza echo o print
• El texto a mostrar debe estar encerrado en comillas: 'texto a mostrar'
• La variables son antecedidas por el carácter: $, por ejemplo: $Variable
• Para escribir algo antes de dicha variable utiliza un punto: . $Variable
• Para escribir algo después de dicha variable utiliza un punto: $Variable.
• Encierra el código entre los tags <?php y ?>
• Cada línea debe terminar con un punto y coma (;)
• Para escribir texto o el resultado de una varialble utiliza echo o print
• El texto a mostrar debe estar encerrado en comillas: 'texto a mostrar'
• La variables son antecedidas por el carácter: $, por ejemplo: $Variable
• Para escribir algo antes de dicha variable utiliza un punto: . $Variable
• Para escribir algo después de dicha variable utiliza un punto: $Variable.
Un ejemplo práctico:
<?php
$nombre = 'Norfi';
echo 'Mi nombre es: '.$nombre.', es solo un ejemplo';
?>
$nombre = 'Norfi';
echo 'Mi nombre es: '.$nombre.', es solo un ejemplo';
?>
También podemos crear una página completa en HTML, pero guardarla con la extensión de archivo .PHP, entonces insertar en ella solo la porción de código PHP necesario.
La tabla que muestra phpinfo(32) en el navegador es muy útil en muchos sentidos, te puede servir para obtener información, para conocer los módulos cargados y las instalaciones con sus características, para saber las variables que se pueden utilizar y la información que devuelven, etc.
Para mostrar la información que devuelve una variable puedes hacerlo del siguiente modo (son solo dos ejemplos):
• Pega el siguiente codigo en un archivo de extension .php y cargalo en el navegador, devuelve el agente de usuario del navegador y las versiones de Apache y PHP empleadas.
<?php
echo 'Agente de usuario del navegador: '.$_SERVER["HTTP_USER_AGENT"];
echo '<br>Versiones de Apache y PHP: '.$_SERVER["SERVER_SOFTWARE"];
?>
echo 'Agente de usuario del navegador: '.$_SERVER["HTTP_USER_AGENT"];
echo '<br>Versiones de Apache y PHP: '.$_SERVER["SERVER_SOFTWARE"];
?>
Como crear imágenes en PHP
Una de las opciones más prácticas y utilizadas en PHP es crear imágenes.
Para eso es necesario habilitar la librería GD incluida en las versiones recientes de PHP.
Es posible convertir cualquier texto o la respuesta de una variable, en una imagen PNG o JPG.
Se puede configurar el tamaño, color del texto y color del fondo.
Usa el siguiente código de ejemplo y haz tus propios experimentos.
Para usarlo solo necesitas copiar el código, pegarlo en un archivo de texto plano y renombrarlo a "imagen.php"
Modifica el valor de las siguientes líneas:
$img_number. Tamaño de la imagen
$backcolor. Color del fondo
$textcolor. Color del texto
$backcolor. Color del fondo
$textcolor. Color del texto
<?php
$img_number = imagecreate(320,30);
$backcolor = imagecolorallocate($img_number,0,51,255);
$textcolor = imagecolorallocate($img_number,255,255,255);
imagefill($img_number,0,0,$backcolor);
$number = "Texto que se mostrará en la imagen";
Imagestring($img_number,10,5,6,$number,$textcolor);
header("Content-type: image/png");
imagepng($img_number);
?>
$img_number = imagecreate(320,30);
$backcolor = imagecolorallocate($img_number,0,51,255);
$textcolor = imagecolorallocate($img_number,255,255,255);
imagefill($img_number,0,0,$backcolor);
$number = "Texto que se mostrará en la imagen";
Imagestring($img_number,10,5,6,$number,$textcolor);
header("Content-type: image/png");
imagepng($img_number);
?>
Si eres más exigente y necesitas una imagen mayor y más nítida, solo necesitas de un archivo de fuente TTF en el servidor, donde se encuentra el archivo PHP.
Usa el siguiente código, las líneas de configuración están comentadas.
Se usa en este ejemplo la pequeña fuente Quixley.ttf, que solo ocupa 30 KB.
Descárgala en el link.
<?php
// Fuente TTF y su ruta
$font = 'Quixley.ttf';
// Lineas
$lineCount = 40;
// Medida de la fuente
$fontSize = 40;
// Altura de la imagen en pixeles
$height = 50;
// Ancho de la imagen
$width = 600;
$img_handle = imagecreate ($width, $height) or die ("Cannot Create image");
// Color de fondo RGB
$backColor = imagecolorallocate($img_handle, 255, 255, 255);
// Color de linea RGB
$lineColor = imagecolorallocate($img_handle, 175, 238, 238);
// Color del texto RGB
$txtColor = imagecolorallocate($img_handle, 135, 206, 235);
$str = "Texto que se mostrará en la imagen";
$textbox = imagettfbbox($fontSize, 0, $font, $str) or die('Error in imagettfbbox function');
$x = ($width - $textbox[4])/2;
$y = ($height - $textbox[5])/2;
imagettftext($img_handle, $fontSize, 0, $x, $y, $txtColor, $font , $str) or die('Error in imagettftext function');
for($i=0;$i<$lineCount;$i++){
$x1 = rand(0,$width);$x2 = rand(0,$width);
$y1 = rand(0,$width);$y2 = rand(0,$width);
imageline($img_handle,$x1,$y1,$x2,$y2,$lineColor);
}
header('Content-Type: image/jpeg');
imagejpeg($img_handle,NULL,100);
imagedestroy($img_handle);
?>
// Fuente TTF y su ruta
$font = 'Quixley.ttf';
// Lineas
$lineCount = 40;
// Medida de la fuente
$fontSize = 40;
// Altura de la imagen en pixeles
$height = 50;
// Ancho de la imagen
$width = 600;
$img_handle = imagecreate ($width, $height) or die ("Cannot Create image");
// Color de fondo RGB
$backColor = imagecolorallocate($img_handle, 255, 255, 255);
// Color de linea RGB
$lineColor = imagecolorallocate($img_handle, 175, 238, 238);
// Color del texto RGB
$txtColor = imagecolorallocate($img_handle, 135, 206, 235);
$str = "Texto que se mostrará en la imagen";
$textbox = imagettfbbox($fontSize, 0, $font, $str) or die('Error in imagettfbbox function');
$x = ($width - $textbox[4])/2;
$y = ($height - $textbox[5])/2;
imagettftext($img_handle, $fontSize, 0, $x, $y, $txtColor, $font , $str) or die('Error in imagettftext function');
for($i=0;$i<$lineCount;$i++){
$x1 = rand(0,$width);$x2 = rand(0,$width);
$y1 = rand(0,$width);$y2 = rand(0,$width);
imageline($img_handle,$x1,$y1,$x2,$y2,$lineColor);
}
header('Content-Type: image/jpeg');
imagejpeg($img_handle,NULL,100);
imagedestroy($img_handle);
?>
No hay comentarios:
Publicar un comentario