Entradas con la etiqueta ‘php’

Eliminar espacios delante y detrás de las cadenas con PHP

Jueves, 22 de Abril de 2010

Disponemos de distintas formas de eliminar estos espacios.

trim ()
Con está función eliminamos los espacios en blanco del inicio y del final de la cadena.


$txt=” Cadena con espacios en blanco al inicio y final “;
echo trim ($txt);

Y el resultado seria


Cadena con espacios en blanco al inicio y final

chop ()
Elimina espacios sobrantes al final

ltrim ()
Elimina el espacio en blanco del principio de una cadena

Paginación automática con php

Martes, 9 de Marzo de 2010

Vamos a ver una forma de poner paginación automática, gracias a PAGINATOR

Bajarse el script: aquí

¿Cómo se utiliza?

  • Conectarse a la Base de datos.
  • Definir una sentencia sql (cadena) válida (para MySql) y almacenarla en la variable $_pagi_sql. Esta variable no debe contener la cláusula “LIMIT”, pues será agregada automáticamente por el script. La definición de esta variable es OBLIGATORIA.
  • OPCIONALMENTE también podemos definir las siguientes variables:
    1. $_pagi_cuantos: Entero. Número de resultados que queremos obtener por cada página. Si no se define esta segunda variable, será por defecto 20.Disponible desde la versión 1.0
    2. $_pagi_nav_num_enlaces: Entero. Cantidad de enlaces a los números de página que se mostrarán como máximo en la barra de navegación. Por defecto se muestran todos. Disponible desde la versión 1.3
    3. $_pagi_mostrar_errores: Booleano. Define si se muestran o no los errores de MySQL que se puedan producir. Por defecto está en “true”. Disponible desde la versión 1.3
    4. $_pagi_propagar: Array de cadenas. Contiene los nombres de las variables que se quiere propagar por el url. Por defecto se propagarán todas las que ya vengan por el url (GET). Disponible desde la versión 1.4
    5. $_pagi_conteo_alternativo: Booleano. Booleano. Define si se cuentan los registros desde PHP con mysql_num_rows() (true) o desde MySQL como se venía haciendo hasta ahora con COUNT(*) (false). Por defecto está en false. Recomendable mantener en false a menos que dé errores de conteo o resultados no esperados. Disponible desde la versión 1.5
    6. $_pagi_nav_estilo: Cadena. Contiene el nombre del estilo CSS para los enlaces de paginación. Por defecto no se especifica estilo.
    7. $_pagi_nav_anterior: Cadena. Contiene lo que debe ir en el enlace a la página anterior. Puede ser un tag <img>. Por defecto se utiliza la cadena “&laquo; Anterior”.
    8. $_pagi_nav_siguiente: Cadena. Contiene lo que debe ir en el enlace a la página siguiente. Puede ser un tag <img>. Por defecto se utiliza la cadena “&raquo; Siguiente”.
  • Incluir el Paginator. A partir de aquí, quedan disponibles las siguientes variables:
    1. $_pagi_result : Que contiene el id del resultado de la consulta para los registros de la página actual, listo para pasarlo por alguna función tipo mysql_fetch_array().
    2. $_pagi_navegacion : Que contiene la “barra de navegación” para poder acceder a las diferentes páginas.
    3. $_pagi_info : Cadena que contiene información sobre los registros de la página actual. Ejemplo: “desde el 16 hasta el 30 de un total de 123″;
  • Mostrar los resultados, la barra de navegación y la info en el lugar que mejor nos parezca haciendo uso de las variables mencionadas en el apartado anterior.

Ejemplo


//Conexión a la base de datos
$con = mysql_connect("localhost","tu_username","tu_password") or die (mysql_error());
mysql_select_db("tu_base",$con) or die (mysql_error());

//Sentencia sql (sin limit)
$_pagi_sql = "SELECT * FROM clientes WHERE sexo='m' ORDER BY edad";

//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos = 10;

//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");

//Leemos y escribimos los registros de la página actual
while($row = mysql_fetch_array($_pagi_result)){
    echo $row['nombre']."<br />";
}

//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p>";

Fuente: http://jpinedo.webcindario.com/scripts/paginator/


Interpretar saltos de linea con php

Miércoles, 16 de Diciembre de 2009

Esta función sirve para interpretar los saltos de linea creados por el usuario a la hora de rellenar formularios.

nl2br($tring);

Compartir variables de sesión entre subdominios en php

Jueves, 10 de Diciembre de 2009

Con este código al principio de todo es el código, ya no se perderán las variables de sesión.

Muy útil si tienes áreas privadas con acceso con contraseña y diversos subdominios

ini_set(’session.cookie_domain’, ‘.dominio.com’ );

Donde solo se tiene que substituir ‘.dominio.com’, por el que sea vuestro.

clases crear imágenes thumbs php

Martes, 13 de Octubre de 2009

Código
//añadir la clase
include(“./class_imagenes.php”);

//imagen origen (1280px)
$imagen = “./fondo.jpg”;

//crear objeto
$thumbnails = new Imagenes();

//indicar la imagen origen
$thumbnails->setImagen($imagen);

//indicar el formato de la imagen origen
$thumbnails->setFormato(“jpg”);

//indicar el nivel de compresión. Segun este nivel la imagen
//tendra mayor o menos calidad.
$thumbnails->setCompresion(90);

//indicar donde se creará y con que nombre el thumbnails
$thumbnails->setNombre(“./thumb_fondo.jpg”);

//indicar el tamaño del thumbnails (250)
$thumbnails->reducir(250);
La clase (class_imagenes.php):
<?php
/**
* Creación de thumbnails ( creación de imágenes en miniatura )
*
*/

class Imagenes
{
//Propiedades de la clase
private $_imagen;
private $_formato = ‘jpg’;
private $_nuevaImagen;
private $_compresion = 90;
private $_nombre;

/**
* Verificar si la libreria GD esta instalada.
*/

public function __construct()
{
$gd=gd_info();

foreach ($gd as $key => $valor)
{
if(!$valor) {
return ‘La libreria GD no esta disponible.’;
}
}
}

/**
* Indicar a la clase con que imagen vamos a trabajar, es decir, a que
* imagen le vamos a crear un thumbnails.
*/

public function setImagen($urlImagen)
{
$this->_imagen = $urlImagen;
}

/*
* Indicar el formato de que tiene la imagen. La indicada en el
* método “setImagen”.
*/

public function setFormato($ext)
{
switch($ext)
{
case “jpeg”:
$this->_imagen = imagecreatefromjpeg($this->_imagen);
$this->_formato = $ext;
break;

case “jpg”:
$this->_imagen = imagecreatefromjpeg($this->_imagen);
$this->_formato = $ext;
break;

case “png”:
$this->_imagen = imagecreatefrompng($this->_imagen);
$this->_formato = $ext;
break;

default : return “Formato de imagen NO soportado.[jpeg|jpg|png]“;
}
}

/**
* Obtener el ancho (width) de la imagen.
*/

public function getImagenX()
{
return imagesx($this->_imagen);
}

/**
* Obtener el alto (height) de la imagen.
*/

public function getImagenY()
{
return imagesy($this->_imagen);
}

/**
* Nivel de compresión de la nueva imagen.
* Máximo 100.
* Cuanto mayor sea este valor mejor sera la calidad,
* pero tambien aumentara el tamaño.
*/

public function setCompresion($compresion)
{
$this->_compresion = $compresion;
}

/**
* Idicar nombre y ruta para la nueva imagen.
*/

public function setNombre($nombre)
{
$this->_nombre = $nombre;
}

/**
* Redimensionar imagen.
* Este método recibe el ancho (x) y el alto (y) que tendra
* la nueva imagen.
* Si $y no se indica, este se añadira con un ancho proporcinal.
*/

public function reducir($x, $y = 0)
{
if($y == 0) {
//Obtener el alto proporcionalmente.
$y = imagesy($this->_imagen) * $x;
$y = $y / imagesx($this->_imagen);
}

$this->_nuevaImagen = imagecreatetruecolor($x, $y);

imagecopyresampled($this->_nuevaImagen,
$this->_imagen,
0,
0,
0,
0,
$x,
$y,
imagesx($this->_imagen),
imagesy($this->_imagen));

switch($this->_formato)
{
case “jpeg”: imagejpeg($this->_nuevaImagen,$this->_nombre,$this->_compresion);
break;

case “jpg”: imagejpeg($this->_nuevaImagen,$this->_nombre,$this->_compresion);
break;

case “png”: imagepng($this->_nuevaImagen,$this->_nombre,$this->_compresion);
break;

default : return “Formato de imagen NO soportado.[jpeg|jpg|png]“;
break;
}
}
}
?>

Saber si un cliente permite cookies con php

Miércoles, 7 de Octubre de 2009

Código para saber si un cliente acepta coockies:

$navegador = get_browser(null, true);

if ($navegador["cookies"]){
echo “<p>Permite el uso de cookies ” . $navegador["cookies"];
}else{
echo “<p>NO permite usar cookies ” . $navegador["cookies"];
}

Mostrar información del navegador con php con get_browser

Miércoles, 7 de Octubre de 2009

Para poder ver toda la información del navegador, mediante php

<?php

$browser = get_browser(null, true);

print_r($browser);

echo $browser["parent"];

?>

Librería:

browser_name_regex => ^mozilla/4\.0 (compatible; msie 7\.0; .*windows nt 5\.1.*).*$
browser_name_pattern => Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 5.1*)*
parent => IE 7.0
platform => WinXP
browser => IE
version => 7.0
majorver => 7
win32 => 1
frames => 1
iframes => 1
tables => 1
cookies => 1
backgroundsounds => 1
cdf => 1
vbscript => 1
javaapplets => 1
javascript => 1
activexcontrols => 1
css => 2
cssversion => 2
supportscss => 1
minorver => 0
alpha =>
beta =>
win16 =>
win64 =>
authenticodeupdate =>
stripper =>
isbanned =>
wap =>
ismobiledevice =>
issyndicationreader =>
crawler =>
aol =>
aolversion => 0
netclr =>
clrversion => 0

FTP Upload con PHP

Martes, 3 de Marzo de 2009

Hoy les presentamos una guía de como implementar Upload de archivos por FTP utilizando PHP. Para ello nos hemos guiado de FTP Upload via cURL en donde esta muy bien explicado.

Creando el Formulario
Lo primero es crear un formulario en donde seleccionaremos el archivo a subir, esto de la siguiente forma:

  1. <form action=“” method=“post” enctype=“multipart/form-data”>
  2. Seleccionar archivo:
  3. <input type=“file” name=“archivo” />
  4. <input type=“submit” name=“enviar” value=“Upload” />
  5. <input type=“hidden” name=“action” value=“upload” />
  6. </form>

Creando el Script
El siguiente paso es crear el php que se encargue de subir el archivo, primero verificamos que se haya seleccionado el archivo, luego creamos una variable cURLla cual asignamos con los valores que deseamos enviar y finalmente verificamos que se haya subido correctamente el archivo.

  1. $rpta = “”;
  2. if ($_POST["action"] == “upload”) {
  3. $tmpfile = $_FILES['archivo']['tmp_name'];
  4. $tmpname = $_FILES['archivo']['name'];
  5. $ftpuser = “usuario”;
  6. $ftppass = “password”;
  7. $ftppath = “ftp.dominio.com/path/”;
  8. $ftpurl = “ftp://”.$ftpuser.“:”.$ftppass.“@”.$ftppath;
  9. if ($tmpname != “”) {
  10. $fp = fopen($tmpfile‘r’);
  11. $ch = curl_init();
  12. curl_setopt($ch, CURLOPT_URL, $ftpurl.$tmpname);
  13. curl_setopt($ch, CURLOPT_UPLOAD, 1);
  14. curl_setopt($ch, CURLOPT_INFILE, $fp);
  15. curl_setopt($ch, CURLOPT_INFILESIZE, filesize($tmpfile));
  16. curl_exec($ch);
  17. $error = curl_errno($ch);
  18. curl_close ($ch);
  19. if ($error == 0) {
  20. $rpta = ‘Archivo subido correctamente.’;
  21. } else {
  22. $rpta = ‘Error al subir el archivo.’;
  23. }
  24. } else {
  25. $rpta = ‘Seleccionar un archivo.’;
  26. }
  27. }

Tratamiento de string (cadena) en php

Miércoles, 14 de Enero de 2009

Tratamiento de cadenas

- chop(cadena); Devuelve la cadena de caracteres con los caracteres de blanco y nueva línea eliminados

- ltrim(cadena); Elimina los blancos que aparecen a la derecha de una cadena de caracteres

- rtrim(cadena) ; Elimina los blancos que aparecen por la derecha en una cadena de caracteres

- trim(cadena); Elimina los blancos que aparecen a izquierda y derecha de la cadena de caracteres

- str_pad(cadena,longitud,relleno,lugar);

Comprueba si la longitud es menor que el valor indicado, si es así añade los caracteres necesarios.El lugar de añadir puede ser:

str_pad_left añade por la derecha(opción por defecto),

str_pad_right añade por la izquierda y str_pad_both añade por ambos extremos.

- str_repeat(caracter,numero_veces); Repite un caracter el numero de veces indicado

- strtolower(cadena); Pasa toda la cadena a letras minúsculas

- strtoupper(cadena); Pasa toda la cadena a letras mayúsculas

- ucfirst(cadena); Pasa a mayúscula el primer caracter de una cadena

- ucwords(cadena); Pone en mayúsculas el primer caracter de cada palabra de la cadena

- str_replace(subcadena1,subcadena2,cadena); Sustituye una palabra por otra dentro de una cadena

- strtr(cadena,originales,traducidos);

Traduce ciertos caracteres .Ejemplo: $persona=strt($persona,”áéíóú”,”a,e,i,o,u”); de esta forma cambiaría todas las vocales con acento por vocales sin acento.

- substr_replace(cadena,nueva,comienzo,longitud); Sustituye una porción del contenido de una cadena

-strcasecmp(cadena1,cadena2) Compara dos cadenas FALSE,TRUE