Cálculo de proporcionalidad de una imagen (aspect ratio).

General, PHP 5 comentarios »

aspect_ratioHace tiempo me encontré en la necesidad de calcular el índice de proporcionalidad de imágenes que eran subidas por los usuarios a través de un formulario web. A continuación explicaré en qué consiste éste índice, qué algoritmo debe aplicarse y cómo realizarlo en php. Pido clemencia en caso de cometer algun error garrafal, no soy matemático :D

1. Introducción

El índice de proporcionalidad (traducción no literal del inglés “aspect ratio“),  es el resultado de la división entre el ancho y el alto de una imagen, y nos indica la relación que hay entre ambas dimensiones.
Continuar leyendo »

INSERT DELAYED en MySQL

Bases de datos, PHP Sin comentarios »

Hace tiempo que programé un sistema para servir medios publicitarios online a diversas webs y blogs.  Si bien al principio no tuvimos problemas, hace semanas el tráfico del script que sirve la publicidad se ha visto cuadruplicado, llegando a las 5.000.000 de impresiones diarias, ésto dejó al servidor mysql al borde del colapso total con un 99% de uso de CPU.

¿Cómo lo solucioné?. Continuar leyendo »

Permitir que PHP (en apache) se conecte a bases de datos remotas con Selinux

Bases de datos, PHP, Programación, Seguridad, Unix Sin comentarios »

Uno de los problemas que más me han traido de cabeza últimamente ha sido al modificar unos scripts php para que se conecten a una bbdd en un servidor remoto en lugar de al localhost.

Una vez revisada la configuración del servidor remoto, firewall, permisos y la posibilidad de conectarse a la máquina remota desde nuestro servidor (mysql -u user -p -h host_remoto), los scripts simplemente eran incapaces de conectarse si se ejecutaban a través de apache, en cambio, si se ejecutan a través de CLI, funcionan correctamente.

La razón es que tenía instalado SELinux, el cual impide por defecto al apache conectarse a un servidor de bbdd remotas.

Para habilitarlo:

setsebool -P httpd_can_network_connect=1

Más información

Convirtiendo nuestros archivos a UTF-8 en linux

PHP, Shell, Unix Sin comentarios »

En un momento determinado, me decidí a cambiar el charset de todos mis a UTF-8 para evitar el eterno problema de caracteres extraños.

Si bien en php podemos hacer ésto sin tener que tocar los archivos fuente habilitando el output buffering:

ob_start();
echo "Mi cadena de prueba";
echo utf8_encode(ob_get_clean());

Lo ideal es evitar todo éste overhead transformando todo nuestro código, base de datos y archivos a UTF-8. Ésto a la larga nos evitará muchisimos quebraderos de cabeza, sobre todo si tenemos que hacer una web con varios idiomas.

Continuar leyendo »

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Iniciar sesión