clases crear imágenes thumbs php

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

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

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

Limitar peso imagen php

13 de Mayo de 2009

Función  para saber el peso del archivo.

filesizestring $nombre_archivo );

Reescalar imagenes con PHP

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\”";

}

Abrir correctamente un popup en javascript

13 de Mayo de 2009

Código:
<a href=”pagina.htm” target=”_blank”
onclick=”window.open(this.href,this.target,’width=400, height=250,top=120,left=100,toolbar=no,location=no,status=no, menubar=no’);return false;”>Mi popup mal hecho</a>
Parametros:

  • width=pixeles: el ancho en píxeles del nuevo popup.
  • height=pixeles: el alto en píxeles del nuevo popup.
  • toolbar=yes|no: indica si se muestra o no la barra del navegador.
  • location=yes|no: indica si se muestra o no la barra de direcciones.
  • status=yes|no: indica si se muestra o no la barra de estado.
  • menubar=yes|no: indica si se muestra o no la barra de menú.
  • scrollbars=yes|no: indica si se muestran o
    no las barras de scroll.
  • top=pixeles: indica la posición de la ventana desde su borde superior hasta la parte superior de la pantalla.
  • left=pixeles: indica la posición de la ventana desde su borde izquierdo hasta la parte izquierda de la pantalla.

FTP Upload con PHP

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

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

Firefox no quiere estar en Windows 7

27 de Febrero de 2009

Microsoft se ha llevado a lo largo de los últimos años diferentes varapalos económicos de gran envergadura por prácticas que han sido calificadas de monopolísticas. Una de ellas, por ejemplo, por incluir en su sistema operativo por defecto el navegador Internet Explorer, cuya desinstalación resultaba complicada, lo que lo convertía en el único que utilizaban millones de internautas en todo el mundo.

La intención del gigante de Redmond para evitar más problemas con las autoridades de la competencia era incluir distintos navegadores preinstalados en su próximo sistema operativo, Windows 7. Sin embargo, uno de los promotores de Firefox, el segundo navegador más utilizado en la Red, ha declarado su oposición a que el zorro de fuego forme parte del pack del próximo Windows.

Para Mike Connor no es necesario para conseguir cuota de mercado estar incluido en un sistema operativo, sino diferenciarse y ofrecer un buen programa. Connor presume de que Firefox ha conseguido un 20% de usuarios en todo el mundo, mientras que otros navegadores, como Opera, no llegan al 1%.

Por otro lado, la prometida actualización de Windows XP a Windows 7 no será tan sencilla como parecía (o nos habían vendido) en un primer momento.

Según ha declarado un representante de Microsoft, los usuarios deberán realizar una copia de seguridad de toda la información que contenga su equipo antes de poder disfrutar del nuevo sistema operativo, el cual deberá instalarse completamente en el sistema. “Esto requerirá que el usuario realice una copia de seguridad de sus datos, instale Windows 7, y reinstale los programas para luego restaurar la información de esas aplicaciones”, aseguran desde Redmond.

Todo un reto para los millones de usuarios de Windows que no saben (ni quieren) cómo se hace una copia de seguridad.

Internet Explorer tiene las horas contadas

27 de Febrero de 2009

Internet Explorer tiene las horas contadas. Aunque se encuentra en una fase muy primaria de desarrollo, Microsoft ha desvelado que trabaja en un nuevo navegador, Gazelle, que pretende revolucionar un mercado que siempre ha dominado, pero en el que los competidores son cada vez más y mejores.

La compañía que dirige Steve Ballmer centrará el nuevo desarrollo en la seguridad, una de las grandes preocupaciones de los internautas de todo el mundo según indican todas las encuestas y estudios.

Precisamente la seguridad ha sido el principal caballo de batalla que han usado desde siempre los detractores de Internet Explorer, quienes veían en Safari, Firefox, Opera o Chrome programas menos expuestos a ataques informáticos.

Para conseguir su objetivo, Microsoft ha concebido Gazelle (gacela en inglés) como un sistema operativo, por lo que podría administrar de forma independiente la seguridad. El equipo encargado de desarrollar Gazelle asegura en una de las páginas web oficiales de Microsoft que no existe ningún navegador de las características del que ellos preparan.

De momento, la compañía no ha ofrecido fecha alguna para su posible lanzamiento, si quiera en fase beta (en pruebas), y reconocen que el proceso de desarrollo se encuentra en una fase muy inicial.

Desde el anuncio, realizado el pasado 19 de febrero, son multitud los blogs y mediosespecializados que se han hecho eco de la noticia y de cómo será esa nueva arquitecturaque, promete, dotará al nuevo navegador de una gran seguridad

Fuente: elpais