Archivo de la categoría ‘php’

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

Reescalar imagenes con PHP

Miércoles, 13 de Mayo de 2009

function imageResize($width, $height, $target) {

//takes the larger size of the width and height and applies the 
formula accordingly…this is so this script will work 
dynamically with any size image

if ($width > $height) {
$percentage = ($target / $width);
} else {
$percentage = ($target / $height);
}

//gets the new value and applies the percentage, then rounds the value
$width = round($width * $percentage);
$height = round($height * $percentage);

//returns the new sizes in html image tag format…this is so you
can plug this function inside an image tag and just get the

return “width=\”$width\” height=\”$height\”";

}

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. }

Crear archivos ZIP con PHP

Martes, 3 de Marzo de 2009

Descargando la clase zipfile

Lo primero es descargar la clase zipfile desde zipfile.inc.txt y renombrarla azipfile.php. Esta clase tiene dos metodos add_dir() y add_file() que permite agregar una carpeta o un archivo al zip que se esta creando.

Creando nuestro primer ZIP

Lo primero es incluir el archivo recién descargado, luego de ello creamos una instancia de la clase, para este ejemplo a la instancia lo llamamos $zipfile. Luego de ello agregamos un archivo de la siguiente forma.

  1. require (“zipfile.php”);
  2. $zipfile = new zipfile();
  3. $zipfile->add_file(implode(“”,file(“img01.jpg”))“foto.jpg”);

Nótese que estamos agregando un archivo llamado img01.jpg y al momento de incluirlo en el zip lo estamos renombrando a foto.jpg. Hasta este punto hemos creado un archivo zip, el siguiente paso es enviarlo al cliente, para ello agregamos headers indicando el tipo de archivo y finalmente imprimimos el archivo:

  1. require (“zipfile.php”);
  2. $zipfile = new zipfile();
  3. $zipfile->add_file(implode(“”,file(“img01.jpg”))“foto.jpg”);
  4. header(“Content-type: application/octet-stream”);
  5. header(“Content-disposition: attachment; filename=zipfile.zip”);
  6. echo $zipfile->file();

El resultado del ejemplo lo pueden ver en http://samples.unijimpe.net/php-zip/.

Agregando carpetas al ZIP
En el caso que agregamos varios archivos y deseamos agruparlas en una carpeta, podemos utilizar el metodo add_folder. Luego de ello agregamos los archivos a la carpeta de la siguiente forma:

  1. require (“zipfile.php”);
  2. $zipfile = new zipfile();
  3. $zipfile->add_dir(“img/”);
  4. $zipfile->add_file(implode(“”,file(“img01.jpg”))“img/01.jpg”);
  5. $zipfile->add_file(implode(“”,file(“img02.jpg”))“img/02.jpg”);
  6. $zipfile->add_file(implode(“”,file(“img03.jpg”))“img/03.jpg”);
  7. header(“Content-type: application/octet-stream”);
  8. header(“Content-disposition: attachment; filename=fotos.zip”);
  9. echo $zipfile->file();

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