Archivo para la categoría ‘ php + mysql ’

A pedido de mi hermano he desarrolado este código que sirvepara hacer upload de imágenes con las siguientes particularidades.

Controla que el archivo sea JPG

Controla que el ancho no sea superior a 100px y si es superior lo achica

El ancho máximo es configurable

Almacena en el servidor el archivo original o el nuevo

La carpeta donde se almacena es confgurable

Todo el código está comentado para que puedan hacer lo que las adaptaciones que necesiten. Especificamente lo que hago es almacenar el resultado de la operacion en la variable $mostrar, para asi poder mostrar la imagen subida, pero se puede modificar que que haga lo que se desee.

Leer el resto de esta entrada…

Además de arreglar el error que tenía este plugin cuanod no existía ninguna palabra clave en un post, le hice una modificacion por la cual la palabra clave listada enlaza a una búsqueda interna dentro de nuestro wordpress. Esto se debe a que en varias ocaciones un post almacena una palabra clave que corresponde a otro.

Acá les dejo la descarga del pluing. Lo próximo que quiero hacerle es que me indique ademas de la palabra, de que motos de busqueda llegó el navegante. Esperemos tener tiempo.

Link de descarga de searchTermTagging

Post original sobre este pluing

Si han estado trabajado con las API de Yahoo! Weather sab’ran que por cada condición climática Yahoo nos devielve un en RSS que trae toda la información un código. Este código esta asociado al nombre de una imagen (ej/ 32.png) y a un nombre (Ej. Sunny o Soleado).

Acá tienen la tabla completa con los 47 códigos y su traducción al español. (Perdón por algun error)

Código Condición en Inglés Condición en Español
0 Tornado Tornado
1 Tropical storm Tormenta Tropical
2 Hurricane Huracán
3 Severe thunderstorms Tormentas Fuertes
4 Thunderstorms Tormentas
5 Mixedrainandsnow Lluvia y Nieve Mezclada
6 Mixed rain and sleet Lluvia y Aguanieve Mezclada
7 Mixed snow and sleet Aguanieve
8 Freezing drizzle Llovizna Helada
9 Drizzle Llovizna
10 Freezing rain Lluvia Helada
11 Showers Chaparrones
12 Showers Chaparrones
13 Snow flurries Nieve Ligera
14 Light snow showers Nieve Ligera
15 Blowing snow Ventisca de Nieve
16 Snow Nieve
17 Hail Granizo
18 Sleet Aguanieve
19 Dust Polvo
20 Foggy Niebla
21 Haze Bruma
22 Smoky Humo
23 Blustery Tempestad
24 Windy Ventoso
25 Cold Frío
26 Cloudy Muy Nublado
27 Mostly cloudy (night) Principalmente Nublado
28 Mostly cloudy (day) Principalmente Nublado
29 Partly cloudy (night) Parcialmente Nublado
30 Partly cloudy (day) Parcialmente Nublado
31 Clear (night) Despejado
32 Sunny Soleado
33 Fair (night) Algo Nublado (noche)
34 Fair (day) Algo (día)
35 Mixed rain and hail Lluvia con Granizo
36 Hot Calor
37 Isolate thunderstorms Tormentas Aisladas
38 Scattered thunderstorms Tormentas Dispersas
39 Scattered thunderstorms Tormentas Dispersas
40 Scattered showers Chubascos Dispersos
41 Heavy snow Nieve Pesada
42 Scattered snow showers Nevadas Débiles y Dispersas
43 heavy snow Nevada Intensa
44 Partly cloudy Nubes Dispersas
45 Thundershowers Tormentas
46 Snow showers Nevadas Dispersas
47 Isolated thundershowers Tormentas Aisladas

MySQL con las Provincias Argentinas

No pude hallar en ningun lado un script que contenga todas las provincias argentinas, por lo que tuve que hacelo y acá lo dejo para quién lo necesite. Solo copiar el código y hacerlo correr.

-- 
-- Estructura de tabla para la tabla `provincias`
-- 
 
CREATE TABLE `provincias` (
  `provincia_id` int(1) NOT NULL auto_increment,
  `provincia_nombre` varchar(255) NOT NULL,
  `provincia_cpa` varchar(1) NOT NULL,
  PRIMARY KEY  (`provincia_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;
 
-- 
-- carga de datos de la tabla `provicias`
-- 
 
INSERT INTO `provincias` VALUES (1, 'Buenos Aires', 'B');
INSERT INTO `provincias` VALUES (2, 'Catamarca', 'K');
INSERT INTO `provincias` VALUES (3, 'Chaco', 'H');
INSERT INTO `provincias` VALUES (4, 'Chubut', 'U');
INSERT INTO `provincias` VALUES (5, 'Ciudad Autónoma de Buenos Aires', 'C');
INSERT INTO `provincias` VALUES (6, 'Córdoba', 'X');
INSERT INTO `provincias` VALUES (7, 'Corrientes', 'W');
INSERT INTO `provincias` VALUES (8, 'Entre Ríos', 'E');
INSERT INTO `provincias` VALUES (9, 'Formosa', 'P');
INSERT INTO `provincias` VALUES (10, 'Jujuy', 'Y');
INSERT INTO `provincias` VALUES (11, 'La Pampa', 'L');
INSERT INTO `provincias` VALUES (12, 'La Rioja', 'F');
INSERT INTO `provincias` VALUES (13, 'Mendoza', 'M');
INSERT INTO `provincias` VALUES (14, 'Misiones', 'N');
INSERT INTO `provincias` VALUES (15, 'Neuqu', 'Q');
INSERT INTO `provincias` VALUES (16, 'Río Negro', 'R');
INSERT INTO `provincias` VALUES (17, 'Salta', 'A');
INSERT INTO `provincias` VALUES (18, 'San Juan', 'J');
INSERT INTO `provincias` VALUES (19, 'San Luis', 'D');
INSERT INTO `provincias` VALUES (20, 'Santa Cruz', 'Z');
INSERT INTO `provincias` VALUES (21, 'Santa Fe', 'S');
INSERT INTO `provincias` VALUES (22, 'Santiago del Estero', 'G');
INSERT INTO `provincias` VALUES (23, 'Tierra del Fuego, Antártida e Islas del Atlántico Sur', 'V');
INSERT INTO `provincias` VALUES (24, 'Tucumán', 'T');

El GeoIP extensión te permite encontrar la ubicación de una dirección IP. Ciudad, Estado, País, longitud, latitud, y otro tipo de información como proveedor de acceso a Internet y tipo de conexión.

Si en su servidor no estan disponibles las funciones es probable que deba solicitar a su proveedor que las instale. Si bien es gratuito, no es asi con todas las bases de datos, por lo que es probable que solo fuincionen las relativas a continente y país. Region, Ciudad, ISP y Net son bases de datos que no están incluidas en el paquete de instalación.

Este es el listado completo de funciones disponibles con GeoIP
Leer el resto de esta entrada…

Función metaphone() en PHP

Dado el problema que se genera a la hora de hacer busquedas dentro de una base de datos y tratando de mejorar los resultados de la misma teniendo en cuenta que un navegante puede llegar a escribir ortográficamente mal lo que desea y esto provocar un resultado incorrecto o directamente vacio, es que sali a buscar alternativas para crear mi propio QUIZO DECIR o algo quizás un poco más de origen extrasensorial y tratar de ADIVINAR que quizo poner.

Iré creando varios artículos ya que estoy probando todo lo que encuentro y auqne no todo me servirá para esto, tienen otras aplicaciones que pueden servirme más adelante y siempre es mejro documentar

La función metaphone() crea keys o llaves iguales para palabras que fonéticamente suenen igual lo cual es una ventaja a la hora de hacer búsquedas.

A modo de ejemplo el metaphone de Pesca y de Pezca es el mismo, PSK.

El inconveniente principal que tiene es que esta basado en fonética del idioma inglés por lo que algunos de los resultados no son exactos, pero ayudan bastante.

// ver el metaphone de una palabra
echo metaphone('pesca');

Su uso es muy simple

Crear una base de datos en cPanel

Si bien pueden diferir un poco los nombres de los botones dependiendo del theme del cPanel y del lenguaje, este ejemplo esta hecho con la versión X3 y lenguaje español.

Los pasos son similares.

1) Entramos en el cPanel desde www.tudominio.com/cpanel

2) Dentro del grupo de funciones Bases de Datos hacemos click en MySQL Bases de Datos.

3) En el cuadro Nueva Base de Datos ingresamos el nombre, por ejemplo “MiBase“. Al presionar en Crear Base nos indicará el nombre de la base que será formado por el usuario de acceso al cpanel y el nombre dado por nosotros. Por ejemplo “usuario_MiBase

4) Luego de regresar vamos a la seccion MySQL usuarios y creamos el usuario undicando nombre por ejemplo “userDB“y password. Al igual que en la base de datos el usuario será el nombre será el formado por el usuario de cPanel y el que ingresaron. Ejemplo: “usuario_userDB“. La contraseña no se modifica, es la misma que se ingreso en la pantalla anterior.

5) Al regresar vamos a la sección añadir Usuario a Base de Datos y allí seleccionamos el usuario y la base creados anteriormente y presionamos Añadir. Una vez en esta ventana hay que seleccionar todos los privilegios que tendra ese usuario en esa base de datos. Recomiendo seleccionar todos, salvo que estemos seguros de los requerimientos de la aplicación en la cual usaremos esa base de datos.

6) Ya esta terminado. Ahora tenemos los datos necesarios para utilizar una base de datos MySQL. Para la coneccion ademas deberán tener el nombre del servidor, que generalmente es localhost.

Apareció una nueva version de este potente Opensource que hace tiempo que dejó de ser solo un generador de blogs para convertirse en algo mucha más potente. Webs empresariales, Diarios, Fábricas, Comunicadores, Portales sociales y otros rubros han elegido a WordPress como motor para sus webs dinámicas.

Según sus creadores esta versión sale para soluciónar unos 790 bugs encontrados en versiones anteriores además de agregar funciones que no tuvieron tiempo de desarrollar para la 2.7 y su nombre es en honor al trompetista y cantante Chet Baker.

Lo primero que notará es que visualmente 2,8 es similar a 2.7, sólo con algunos pequeños cambios, pero una vez que usted entrar en el uso profundo de la aplicación que empezará a apreciar los cambios.

Mejoras destacadas
Se realizaron cambios en estilo y código para mejorar su velocidad.

Se realizó un sistema similar de instalacion y actualizacion de los plugin para los themes.

Se ha rediseñado completamente la interfaz de widget con nuevas funciones como drag and drop, editar, copiar, mover entre laterales, desactivar en ves de borrar y un API para desarrollo.

Modificaciones en el escritorio y personalización del mismo.

Y aún más
Puede leer la lista completa de más de 180 nuevas características, cambios, actualizaciones y mejoras en el Codex. Ver la lista.

Puede ver la versión original de esta nota  y un video de wordpress 2.8 con las principales características en este enlace.

Descargar WordPress 2.8

Es myu común que los servidores de ambiente compartido tengan limites en la cantidad de correos que puede enviarse. El límite generalmente es XX cantidad de correos por hora. Antes de hacer el primer envio, recomiendo hablar con su proveedor de hosting y averiguar este valor.

Una vez que lo tengan, las modificaciones en la sección Miscellaneous del config.php que deben hacer para que PHPList respete los limites suponiendo nuestro limite real en 300 emails/hora son:

# cantidad de correos
define("MAILQUEUE_BATCH_SIZE",300);
 
# periodo de tiempo en segundo (3600 es una hora)
define("MAILQUEUE_BATCH_PERIOD",3600);
 
# de ser necesario, X cantidad de segundos extras entre mensaje y mensaje para evitar saturación
define('MAILQUEUE_THROTTLE',2);

Leer el resto de esta entrada…

Para completar el post anterior sobre integración de phplist, aca va el ejemplo de código que utilicé para realizar el agregado de usuarios desde un webform a mi PPHPList.
Leer el resto de esta entrada…