Archivo para PHP

Beta-Testeadme! (II)

El otro día ya os pedía que me probaseis la galería que estaba haciendo, y bueno, tras hablar con los de mi hosting (era problema de memorias virtuales y tal), pues he conseguido que vaya perfectamente por ahora, pero como dice mi profesor de programación, nadie puede probarte mejor un programa, que tu peor enemigo, y mejor aún si es un torpe y tal, así que os dejo la web entera AQUÃ? para que la probeis en general, aunque con que probeis el foro y la galería de imagenes me vale, ya que lo demás es tema administrativo y tal…
He creado el usuario: PHP con contraseña: TORPES, aunque por si os da la neura o este no os va correctamente, he desbloqueado el tema del registro, que luego dejará solo registrarse desde la red interna de los apartamentos a los que va dirigida la web (seguridad y rollos de esos), así que eso, os invito a probarlo y a dejar los comentarios pertinentes :D.

Beta-Testeadme!

Bueno, como ya dije ayer por la tarde, estoy trabajando en la web para una comunidad, y bueno, la parte más delicada es la galería de fotos, así que agradecería que me la probaseis subiendo imágenes de todos los tamaños posibles (en cuanto a memoria), siempre que no superen los 500 KB (el límite que puse).
La galería podeís usarla sin registraros pinchando directamente AQU�, aunque si os registrais saldran los accesos directos y será más cómodo.
Ni que decir tiene, que los datos que pongais, se borrarán cuando la web esté finalizada (vaciaré la base de datos), por lo que da igual que pongais datos falsos, ya que serán eliminados de igual manera.
Gracias a todos esos beta-testers :)

Resizeador de imagenes (II)

Hace días dejé un resizeador de imágenes, y vamos, como ya sabeis, ando haciendo una galería para otra web, por lo que me hice una función para cambiar el tamaño fácilmente, y he pensado en compartirla, porque fijo que a alguno os viene bien…

<?

function resizear_imagen ($imagen,$img_anch_max,$img_alto_max){

    
$extension = explode(“.”,imagen);

    
$num = count($extension)-1;

    
$extension = $extension[$num];

    
$extension = strtolower($extension);

    switch (
$extension){

        case
“jpg”: if (ImageCreateFromJpeg($imagen)) { $img = ImageCreateFromJpeg($imagen); } else { $errores = “Si”; } break;

        case
“jpeg”: if (ImageCreateFromJpeg($imagen)) { $img = ImageCreateFromJpeg($imagen); } else { $errores = “Si”; } break;

        case “gif”: if (ImageCreateFromGif($imagen)) { $img = ImageCreateFromGif($imagen); } else { $errores = “Si”; } break;

        case
“png”: if (ImageCreateFromPng($imagen)) { $img = ImageCreateFromPng($imagen); } else { $errores = “Si”; } break;

    }

    
//CALCULO LAS PROPORCIONES    

    
$prop_imagen = getimagesize($imagen);

    
$ancho = $prop_imagen[0];

    
$alto = $prop_imagen[1];

    if (
$ancho >= $alto){

        
$proporcion = $ancho/$alto;

        
$ancho_dev = $img_anch_max;

        
$alto_dev = $ancho_dev/$proporcion;

        if (
$alto_dev > $img_alto_max){

            
$alto_dev = $img_alto_max;

            
$ancho_dev = $alto_dev * $proporcion;

        }

    } else {

        
$proporcion = $alto/$ancho;

        
$alto_dev = $img_alto_max;

        
$ancho_dev = $alto_dev/$proporcion;

        if (
$ancho_dev > $img_anch_max){

            
$ancho_dev = $img_anch_max;

            
$alto_dev = $ancho_dev * $proporcion;

        }

    }

    
//CREO LA IMAGEN DEVUELTA

    
$image = imagecreatetruecolor($ancho_dev, $alto_dev);

    
ImageCopyResized($image, $img, 0, 0, 0, 0, $ancho_dev, $alto_dev, $ancho, $alto);

    if (
$errores == “Si”){

        return
“”;

    } else{

        return
$image;

    }

}

?>

Espero comentarios y demás.

Task List

Bueno, llevo un par de días de vacaciones, espatarrao’ en el sofá con mi amado Acer TravelMate 292 LCi + Wireless.
Tanta tranquilidad me hizo pensar en cosas que tenia que hacer en estas vacaciones, y bueno, desde el sofá todo ello, me puse a trabajar en la web de los apartamentos en los que resido entre semana, que ya solo me faltaba la parte de la galería de imagenes, y bueno, por hoy creo que ya hice bastante. De forma resumida diré que este script te permite elegir donde subir tus imagenes o también puedes elegir si quieres crear una nueva. Luego sube la imagen en los formatos comunes, y la pasa a jpg a 75% de calidad y el tamaño por debajo del tamaño máximo que se especifica por un fichero config.php. Aparte guarda una descripción de la foto, el nombre del archivo antes de subirlo, y renombra el archivo según el id de la tabla.
Se que si no lo has programado tú, resulta difícil de comprender exactamente lo que hace, pero vamos, yo estoy contento del resultado que da por ahora.
Me falta nada más el tema de hacer los thumbnails, mostrar las galerías y demás, y todo el tema de edición, tanto del moderador, como del propietario de los archivos, a nivel de archivo y de directorio (sí, ya digo directorio y no carpeta ;).
Bueno, creo que ya es hora de irse a la cama, que ya empieza la Tele Tienda con lo de:

en 2 semanas y media usando “Belfor”, he perdido 3 centímetros de cintura y 4 de muslos”

Un saludo, y ya os lo enseñaré cuando Martín y yo nos pongamos de acuerdo para hacer el CSS para la susodicha página :).
¡A dormir!

Liberando comentarios (III)

Por tercera vez, libero los comentarios para que no tengais que esperar a que yo los modere para que se vean, lo cual me había tocado por la gracia de los bots spammeros.
Pero gracias a Martín, he añadido otro “filtro” a WordPress para que engañe a estos bots tontos.
Teneis el artículo que escribió Martín aquí.

Cambio de favicon

Bueno, llevo un par de días cambiando pequeños detalles en la página, ¿se avecinará un cambio de css? Pues en ello estoy, pero eso no es algo que se cambia de un día para otro.
Bueno, este es el favicon nuevo:

favicon

Gracias a {Arias} por pasármelo a .ico, que sino no se vería al guardarlo en favoritos en nuestro amado Internet Explorer.

NOTA: pinchad aquí y pulsad Ctrol + F5 para actualizar la caché, ya que sino seguireis viendo el viejo.

Resizear imágenes al alcance de un click

Bueno, como llevaba tiempo queriendo hacer algo como esto (imagino que exista, pero por no buscarlo…), y parece que me ha quedado decentillo, pues lo pongo a compartir, para que la gente pueda usarlo también.
Se trata de un sencillo script en PHP, en el cual, mediante un formulario, se sube una imagen de nuestro PC (soporta PNG, JPG, JPEG y GIF), y se le dicen las dimensiones máximas de ancho y alto que tendrá la imagen devuelta, entonces, se sube la imagen, el script la cambia de tamaño a nuestro gusto, y devuelve la imagen con las dimensiones queridas, siempre respretando las proporciones de la imagen. Tras esto, lógicamente, borro las imágenes del servidor, así que no trateis de enlazar las imágenes, solo copiarla a vuestro ordenador y subirla a donde querais.
Podeis ir al formulario del script pinchando aquí. Espero opiniones.

Una semana

Falta una semana exactamente para que de comienzo la Campus Party en Valencia, y como era de esperar, dejaré la maleta y las cosas para el último dia (soy español), de todos modos, como ya dije en otro post, este año me gustaría contar un poco el día a día, y tengo que mirar una script en PHP para hacer una especie de galería de fotos, para ir subiendolas “a pelo”, y no tener que andar haciendo una web para mostrar cada foto ni nada así.
He visto muchos MyGallery, y la verdad que el diseño no me gusta nada, pero son cómodos y fáciles de usar, que en esta ocasión es lo que busco, así que igual me decido por este script.
La verdad que me hubiese gustado tener terminado mi diseño propio para la web, pero cuando tenia tiempo no tenia ganas, y ahora no tengo tiempo, así que a ver si el domingo antes de la campus, busco una wireless, y al menos configuro la galeria para poder subir las fotos sin complicaciones.

Parsear XML con PHP

Esta tarde me instalé el Azureus, un cliente de Bittorrent, y la verdad es que va muy bien, y encima me fijé en que a diferencia de otros clientes P2P, en lugar de crear un archivo de texto plano con las estadísticas y demás, crea un fichero XML, para el cual hay varias funciones en PHP, pero que para mi eran imposibles de entender, por lo que le pedí ayuda a Diz, y al poco tiempo me apareció con el código que él mismo ha publicado aquí, y que yo he arreglado un poco, convirtiéndolo en una función, que para mi gusto es más sencilla de usar. El código es este:

< ?php

function parsear ($ruta) {
// Ruta al archivo

$xml = ‘/home/patoroco/.azureus/Azureus_Stats.xml’;

// Creamos el objeto DOM

$xmldoc = domxml_open_file($xml);

// Creamos un contexto en este documento para la consulta XPath

$xpctx = $xmldoc->xpath_new_context();

// Ejecutamos la consulta XPath en el contexto creado y recogemos el resultado

$result = xpath_eval($xpctx, $ruta);

foreach ($result->nodeset as $nodo) {

// Recorremos el array volcando el contenido (texto) de los nodos

$resultado[] = $nodo->get_content();

}
return $resultado;
}

?>

Y con esta función, sencillamente habría que saber la “ruta” de etiquetas en el XML, y por ejemplo, para mostrarlo, sería:

$var = parsear(’/STATS/GLOBAL/DOWNLOAD_SPEED/TEXT’);
echo $var[0];

Muchas gracias de nuevo a Diz, y gracias tambien a thessoro, por haber sugerido el tratar a los resultados como un array en lugar de como una cadena, ya que para cuando hay varios es mucho más practico.

Creando ejecutables en PHP

Hace tiempo que llevaba queriendo escribir este tutorial, bueno, más que escribir, pasar a limpio, porque lo tenía en un *.txt esperando a ser publicado. Consiste básicamente en como crear un ejecutable programado en php, para poderlo abrir sin necesidad de navegador u otros.
Leer entero