Usos prácticos de PHP, códigos y ejemplos

Introducción

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 variable 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';
  ?>

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.

Para mostrar la información que devuelve una variable puedes hacerlo del siguiente modo:

  • Pega el siguiente código 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"];
  ?>

Conocer si tenemos conexión entre PostgreSQL y PHP

Si el siguiente comando entrega como resultado un 1, es que está todo ok, si por el contrario no entrega anda, es por qué nos falta instalar su correspondiente paquete.

    <?php
      echo extension_loaded('pgsql');
    ?>

La versión más completa con detección de sistema operativo es:

<html>
<head>
<meta charset="utf-8">
<title>Probando la conecci&oacute;n con PostgreSQL y PHP</title>

<link href="style.css" rel="stylesheet" type="text/css">
<?php function detect()
{
$os=array("WIN","MAC","LINUX");

# definimos unos valores por defecto para el navegador y el sistema operativo
$info['os'] = "OTHER";
# obtenemos el sistema operativo
foreach($os as $val)
{
if (strpos(strtoupper($_SERVER['HTTP_USER_AGENT']),$val)!==false)
$info['os'] = $val;
}

# devolvemos el array de valores
return $info;
}
?>
</head>
<body>

<?php
if (extension_loaded('pgsql')==true)
echo "<strong>Felicidades puedes trabajar en PostgreSQL con PHP</strong>";
else{
function toascii($p1){
for($i=0;$i<strlen($p1);$i++){
echo ord(substr($p1,$i,1))." ";
}
}

echo "<strong>Que lastima, no puedes trabajar en PostgreSQL con PHP</strong><br/>";
echo "<p>Como consuelo te muestro como se escribe <b>Hola Mundo</b> en ASCII</p>";
echo "<p>";
toascii("Hola Mundo");
echo "</p>";
?>

</br>
<?php
echo "<strong> Ahora, hablando en serio, asi puedes arreglarlo:</strong><br/>";
$info=detect();
if($info["os"] == "MAC"){
echo "<p>Visita Juaramir.com</p>";
}else if($info["os"] == "WIN"){
echo "<p>";
echo "Edita el archivo php.ini de apache y descomenta las siguientes lineas</p>";
?>
<ul>
<li>extension=php_bz2.dll</li>
<li> extension=php_fileinfo.dll </li>
<li>extension=php_gd2.dll </li>
<li>extension=php_mysql.dll </li>
<li>extension=php_mysqli.dll </li>
<li>extension=php_pdo_pgsql.dll</li> 
<li>extension=php_pgsql.dll</li>
</ul>
<?php
echo "<p>Luego reinicia Apache</p>";
}else{
echo "<p>";
echo "Abre una terminal como root y teclea: <code>apt-get install php5-pgsql</code><br/>Luego reinicia apache con el siguiente comando: <br/>si estas en Ubuntu: <code>apache2ctl restart</code><br/> si estas en Debian: <code>/etc/init.d/apache2 restart</code>";
echo "</p>";
}
}
?>
</body>
</html>

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

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.

<?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); 
?>