martes, 28 de junio de 2011

Copy directory folder PHP

Copy whole directory folder PHP

It is not exist any php function that allow make a copy of whole folder to another directory. The copy function not make it , only can a single file copy

below it show and explain some ways to do it.


function copyDirToDir($src,$dst){


$dir = opendir($src);

@mkdir($dst);

while(false !== ( $file = readdir($dir)) ) {

if (( $file != '.' ) && ( $file != '..' )) {

if ( is_dir($src . DIRECTORY_SEPARATOR . $file) ) {

copyDirToDir($src . DIRECTORY_SEPARATOR . $file,$dst . DIRECTORY_SEPARATOR . $file);

}

else {
copy($src . DIRECTORY_SEPARATOR . $file,$dst . DIRECTORY_SEPARATOR . $file);
}
}
}

closedir($dir);
}

In this case the function copyDirToDir, receive as parameter a source direction and a destiny direction where it makes the copy

Pre-condition:

1- Both directories are valid , destiny direction is not need exist beacuse it will be create but the tree route until penultimate folder must be valid.

2- Must exist permissions in both directories for make copy and create files.

It makes a recursive search of the folders and copy all files.

Copy using command (shell_exec)

$src = "moises/home/public_html/folder";
$destiny = "moises/home/public_html/destiny ";

shell_exec("cp -r $src $destiny");


Copy files by patterns

If we wants make a copy of all files with extensions (.php) in a folder, we can make use of the function copyPatternToDir see the way below:

copyPatternToDir(“lib/*.php”,”lib2”); // of folder lib all files (.php) to folder lib2

function copyPatternToDir($pattern, $dir)
{

foreach (glob($pattern) as $file) {

if(!is_dir($file) && is_readable($file)) {

$dest = realpath($dir) .DIRECTORY_SEPARATOR. basename($file);
copy($file, $dest);
}

}

}

Copiar directorio PHP completo

Copiar directorio – carpeta completa PHP

No existe ninguna función de PHP que permita hacer una copia de un directorio completo hacia otro directorio. La función: copy de PHP no hace copias de directorios sino de archivos.

A continuación se muestran y explican varias formas de hacerlo.


function copyDirToDir($src,$dst){


$dir = opendir($src);

@mkdir($dst);

while(false !== ( $file = readdir($dir)) ) {

if (( $file != '.' ) && ( $file != '..' )) {

if ( is_dir($src . DIRECTORY_SEPARATOR . $file) ) {

copyDirToDir($src . DIRECTORY_SEPARATOR . $file,$dst . DIRECTORY_SEPARATOR . $file);

}

else {
copy($src . DIRECTORY_SEPARATOR . $file,$dst . DIRECTORY_SEPARATOR . $file);
}
}
}

closedir($dir);
}

En este caso parte de una función que recibe como parámetros una dirección origen y una dirección destino donde se copiará el archivo.

Pre-condición:

1- Ambas directorios son válidos, la dirección destino no necesita existir, pues es creada; pero su ruta de árbol hasta la penúltima carpeta que es la que se crea, debe ser válida.

2- Existen permisos en ambos directorios tanto para copiar como para crear archivos.

Se hace una búsqueda recursiva de las carpetas y se copian los archivos.


Copiar usando Comandos Linux (shell_exec)


$src = "moises/home/public_html/carpeta";
$destino = "moises/home/public_html/destino ";

shell_exec("cp -r $src $destino");


Copiar archivos según patrón (patterns)

Si quisiéramos copiar todos los archivos extensión (.php) que existen en una carpeta, podemos utilizar la función: copyPatternToDir de la siguiente manera:

copyPatternToDir(“lib/*.php”,”lib2”); // de lib todo los archivos php hacia la carpeta lib2

function copyPatternToDir($pattern, $dir)
{

foreach (glob($pattern) as $file) {

if(!is_dir($file) && is_readable($file)) {

$dest = realpath($dir) .DIRECTORY_SEPARATOR. basename($file);
copy($file, $dest);
}

}

}

domingo, 19 de junio de 2011

Array en PHP (ARRAY PHP)

Array en PHP (ARRAY PHP)

En este artículo veremos el uso del array en php. Las principales funciones para el trabajo con array, entre otros aspectos.

Declaración de un array en PHP:

Para declarar un arreglo en PHP se utiliza la palabra reservada array, veamos el siguiente ejemplo donde se declara un array que totalmente vacío.

<?php

$nombre_array_php = array();

?>

Declaración de un array inicializado con nombres:

<?php

$nombres = array( "Pablo" , "Juan", "Pedro");

?>


Declaración de un array de distintos tipos:

Podemos tener en un array distintos tipos de datos en su contenido, en el siguiente ejemplo que representa el nombre de una persona, su edad y el nombre de sus hijos, vemos como el primer elemento es un texto (string) , el segundo es un entero (integer) y el tercero es otro arreglo (array)

<?php

$persona = array( "Pablo" , 30, array("Juan", "Pedro") );

?>

Adicionar elemento al array

A diferencia de otros lenguajes de programación, en PHP no es necesario tener en cuenta la capacidad del arreglo al inicio y/o al añadir elementos al mismo. Usted puede añadir tantos elementos desee, siempre y cuando la memoria se lo permita.

La forma de añadir un elemento al final del array es con los operadores de índices corchetes [] de la siguiente manera:

<?php

$nombres = array( "Pablo" , "Juan", "Pedro");

$nombres[] = "José"; // Añadir nombre José

$nombres[] = "María"; // Añadir nombre María

?>

Otra forma de hacerlo es a través de la función array_push() , esta función recibe como primer parámetro el arreglo que se desea añadir el o los elementos, y los siguientes parámetros son todos los elementos.

<?php

$nombres = array( "Pablo" , "Juan", "Pedro");

array_push($nombres, "José", "María");

?>

Array asociativos

Los array asociativos a diferencia de los anteriores , cada elemento tiene asociado un valor único que lo identifica.

Por ejemplo , si retomamos uno de los ejemplos anteriores donde queríamos almacenar de una persona el nombre, la edad y los nombres de los hijos, una forma muy sugerente de hacerlos colocando asociaciones:

<?php

$persona = array( "nombre"=> "Pablo" , "edad"=> 30, "hijos"=> array("Juan", "Pedro") );

?>

Las asociaciones se realizan de la siguiente forma: key=>valor , donde key es un valor único , seguido va el operador igual mayor (=>) indicando que a dicha asociación le corresponde el valor siguiente.


Acceder y modificar elementos en un array

Una buena pregunta en este punto es preguntarse como acceder a los elementos de un array. ¿De la forma clásica en otros lenguajes? Pues la respuesta es en gran medida: de la forma clásica a otros lenguajes de programación.

Para acceder a un elemento se utilizan los operadores corchetes, pasando entre el mismo el índice o la asociación de cada elemento. Para modificar este valor el proceso es el mismo pero se iguala a un nuevo valor o variable: $arra[key] = “nuevo valor”. Vea el ejemplo a continuación y los comentarios en cada caso:

<?php

$persona = array( "nombre"=> "Pablo" , "edad"=> 30, "hijos"=> array("Juan", "Pedro") );

$nom = $persona["nombre"]; // accede y almacena el nombre en la variable $nom

$persona["edad"] = 56; // modifica la edad por el valor: 56 ?>

Si tomamos como referencia el ejemplo anterior veremos que para acceder y el nombre colocando entre corchetes la asociación correspondiente: $persona["nombre"];

Índices automáticos en un array

Pero que sucede con los arreglos que no colocamos explícitamente asociaciones. ¿Cómo acceder a los valores?

En el siguiente ejemplo las asociaciones son tomadas automáticamente , comenzando por cero (0) e incrementándose de uno en uno.

<?php

$nombres = array( "Pablo" , "Juan" , "Pedro");

echo $nombres[0]; // imprime "Pablo"

echo $nombres[1]; // imprime " Juan"

echo $nombres[2]; // imprime " Pedro"?>

Pero qué pasaría si interrumpimos este proceso:

<?php

$nombres = array( "Pablo" , "Juan" , "Pedro", 6=>"José", "María");

?>

En este ejemplo sus índices y valores quedarían como se muestra en la siguiente tabla:




Índice

valor

0

"Pablo"

1

"Juan"

2

"Pedro"

6

"José"

7

" María"


Los valores simplemente se incrementan teniendo en cuenta el mayor índice e incrementa en base a este, incluso si hacemos saltos de valores como el que se muestra a continuación:

<?php

$ejemplo = array("1", "2", "3", 6=>"4", "5", 4=>"6", "7");

?>

Como se ve se rompe con el incremento cuando se coloca como asociación el 6=>"4". Luego se vuelve a romper el incremento cuando se coloca: 4=>"6". Se podría pensar que el próximo índice podría ser el valor 5 , pues el 5 no está después del 4 , que fue la última asociación; pero no es así, si imprimimos este array los resultados son los siguientes:




Índice

valor

0

1

1

2

2

3

6

4

7

5

8

7


¿Qué sucede si almacenamos dos veces con el mismo índice?

Si almacenamos 2 veces con el mismo índice como el ejemplo de abajo , se sobre-escribe el valor anterior al último , por lo que hay ser cuidadosos a menos que lo hagamos con toda intensión.

<?php

$ejemplo = array("1", "2", "3", 6=>"4", "5", 6=>"6", "7");

?>



Índice

valor

0

1

1

2

2

3

6

6

7

5


Longitud de un arreglo (count)

La función para determinar la longitud de un arreglo es : count($array)

<?php

$nombres = array( "Pablo" , "Juan" , "Pedro");

echo count($nombres); // imprime 3

?>


Recorrer un arreglo a través de un for, foreach

Para recorrer los elementos de un arreglo , se pueden usar muchos mecanismos. Si el arreglo tiene índices automáticos, que no fueron interrumpidos, se puede usar un ciclo for, como se ve en el ejemplo siguiente:

<?php

$nombres = array( "Pablo" , "Juan" , "Pedro");

for ($i=0; $i< count($nombres); $i++ )
{
echo $nombres[$i];
}

?>

Para recorrer los elementos de un arreglo que no estamos seguros de que sus elementos sigan índices que comiencen por cero e incrementen de uno en uno, lo podemos hacer usando el ciclo foreach



<?php

$nombres = array( "Pablo" , "Juan" , "Pedro");
foreach ($array as $valor)
{
echo $valor;
}
?>



Sin duda este último ejemplo usando foreach es algo mucho más elegante, corto y menos propenso a errores.
Si además necesitamos los índices a medida que iteremos los elementos del array usamos el foreach de la siguiente forma:

<?php

$nombres = array( "Pablo" , "Juan" , "Pedro");

foreach ($array as $key => $valor)
{
echo $key. "=>" . $valor; // imprime {key}=>{valor}
}

?>

Hosting cubano, Domain-Hosting-Cuba (Moises Soft)

No
En Cuba hoy por hoy resulta imposible para una persona comprar un dominio (.cu) o un servidor Hosting. Como cubano con fe , se que esta situación va a cambiar. También es imposible para un cubano comprar un servidor hosting , los cubanos no tiene forma de hacerlo a menos que alguien en el extranjero haga la compra a su nombre.

Han surgido algunas alternativas de particulares para ofrecer este servicio a cubanos que no tienen ni familia ni experiencia en comprar Hosting+dominio.

Moises Soft , ofrece este servicio , y ya muchos clientes han comprado, son precios que van desde  13 a hasta 250 CUC anuales.
Para ver la información más detallada visite:
http://moises-hosting.com/planes-hosting.html

A continuación los planes actuales:

No

Comprar Hosting en Cuba

Todos nuestros planes de Hosting + Dominio tienen panel de administración CPanel y precios insuperables para Cuba e incluso a nivel mundial.
MiniBasic MiniBasicBasic ProPersonal
Precio anual (CUC/USD) 1315253545
Espacio en disco 50 MG100 MG250 MG500 MG1 GB
Transferencia mensual 35 GB35 GB75 GB100 GB
Dominios adicionales
Sub-dominios
Cuentas de e-mail
Cuentas FTP
Bases de datos
Dominio gratis NoNoNoNoNo
ComprarComprarComprarComprarComprar
BronzeSilverGoldgoldplusSuper
Precio anual (CUC/USD) 607095180250
Espacio en disco 2 GB3 GB5 GB10 GB15 GB
Transferencia mensual
Dominios adicionales
Sub-dominios
Cuentas de e-mail
Cuentas FTP
Bases de datos
Dominio gratis Si Si Si Si Si
ComprarComprarComprarComprarComprar
Usted puede escribir con cualquier duda , propuesta o sugerencia a:   contacto@moises-soft.net

Visite nuestra web oficial: http://moises-hosting.com/planes-hosting.html

Comprar Hosting + Dominio , Cuba (Moises Soft)

No
NoEn Cuba hoy por hoy resulta imposible para una persona comprar un dominio (.cu) o un servidor Hosting. Como cubano con fe , se que esta situación va a cambiar. También es imposible para un cubano comprar un servidor hosting , los cubanos no tiene forma de hacerlo a menos que alguien en el extranjero haga la compra a su nombre.

Han surgido algunas alternativas de particulares para ofrecer este servicio a cubanos que no tienen ni familia ni experiencia en comprar Hosting+dominio.

Moises Soft , ofrece este servicio , y ya muchos clientes han comprado, son precios que van desde  13 a hasta 250 CUC anuales.
Para ver la información más detallada visite:
http://moises-hosting.com/planes-hosting.html

A continuación los planes actuales:

No

Comprar Hosting en Cuba

Todos nuestros planes de Hosting + Dominio tienen panel de administración CPanel y precios insuperables para Cuba e incluso a nivel mundial.
MiniBasic MiniBasicBasic ProPersonal
Precio anual (CUC/USD) 1315253545
Espacio en disco 50 MG100 MG250 MG500 MG1 GB
Transferencia mensual 35 GB35 GB75 GB100 GB
Dominios adicionales
Sub-dominios
Cuentas de e-mail
Cuentas FTP
Bases de datos
Dominio gratis NoNoNoNoNo
ComprarComprarComprarComprarComprar
BronzeSilverGoldgoldplusSuper
Precio anual (CUC/USD) 607095180250
Espacio en disco 2 GB3 GB5 GB10 GB15 GB
Transferencia mensual
Dominios adicionales
Sub-dominios
Cuentas de e-mail
Cuentas FTP
Bases de datos
Dominio gratis Si Si Si Si Si
ComprarComprarComprarComprarComprar
Usted puede escribir con cualquier duda , propuesta o sugerencia a:   contacto@moises-soft.net

Visite nuestra web oficial: http://moises-hosting.com/planes-hosting.html

Phpmyadmin configuración, multi-usuario, config

En este artículo vamos a explicar cómo instalar Phpmyadmin en nuestro Hosting o nuestro servidor local, y como configurarlo para que se pueda acceder de forma segura con distintos usuarios.

Phpmyadmin lo puedes descargar de su web en internet: http://www.phpmyadmin.net/


Es un programa que permite interactuar con el popular gestor de base de datos: Mysql
También se instala de forma automática con paquetes de programas como el Wamp , que instala Apache , Mysql y PHP.

Para instalarlo solo tiene que copiarlo en el directorio del servidor que deseas.

Luego para acceder debes abrir tu navegador e ir a la ruta correspondiente:

http://moises-soft.net/ruta/phpMyAdmin/

Una vez copiado debes configurarlo.

1- Configuración básica


Para configurarlo debes abrir el archivo: config.inc.php , con algún editor de texto.

Hay muchas configuraciones que son elementales, por ejemplo:

$cfg['Servers'][$i]['host'] = 'localhost';

Esta línea indica que el host con el que se va a conectar , si es un servidor de base de datos local , que es como generalmente se usa se utiliza 'localhost'

2- Configuración de permisos de usuarios

2.1- Autenticación por configuración

Si estás en un servidor local donde solo tú puedes acceder y no es visible en internet, entonces puedes poner una configuración para entrar directamente a tu phpmyadmin , sin necesidad de escribir usuario y contraseña cada vez que entres.

Para ello coloca la siguiente directiva:

$cfg['Servers'][$i]['auth_type'] = 'config';

Esto indica que la autenticación la será leida desde el mismo archivo de configuración.

Luego debes colocar explícitamente en la configuración el usuario y la contraseña:

$cfg['Servers'][$i]['user'] = 'root';

$cfg['Servers'][$i]['password'] = 'root-password';

2.2- Autenticación por Http (multi-usuario)

Si por ejemplo es un servidor que vas montar en internet al cual podrá tener acceso cualquiera , debe cuidarte de no poner autenticación por config. Esto puede causarte problemas irreversibles si una persona por error o con toda intensión cambia , borra o modifica tu base de datos.

Debe colocar como tipo de autenticación http

$cfg['Servers'][$i]['auth_type'] = 'http';

Esta configuración requerirá que se entre: un usuario y contraseña cada vez que se acceda, debes tener en cuenta que este usuario podrá visualizar todas las bases de datos a las que tenga permiso y podrá llevar a cabo las acciones para las que tenga también permiso.

Redireccionar URL ,HTML, Javascript , PHP

Veamos cómo usar varios métodos para hacer redirección de una página web hacia otra.

Cómo hacerlo en HTML:

<meta equiv="Refresh" content="0;url=http://moises-soft.net"/>

Lo que hace esta etiqueta es refrescar la página web (Refresh) , en 0 segundos , hacia la URL: http://moises-soft.net
Nota: Las etiquetas Meta deben ir dentro del encabezado de la web. Entre la etiquetas <head> </head>

Cómo hacerlo en PHP:

En PHP se puede enviar una cabecera de localización; pero se debe tener en cuenta que para que funcione no se debe haber enviado a imprimir ningún texto.

header("Location: http://www.moises-soft.net");

Cómo hacerlo en Javascript:

En Javascript , es muy simple redireccionar , para ello se cambia la propiedad location de Window, con la URL absoluta hacia donde se desea redireccionar.

window.location="http://www.moises-soft.net";


URL Redirect , HTML, Javascript ,PHP

Here's how to use various methods to redirect a web page to another.

How do it in HTML?

<meta http-equiv="Refresh" content="0;url=http://moises-soft.net" />

What makes this label is to refresh the web page (Refresh) in 0 seconds to the URL: http://moises-soft.net

Note: The labels Meta must go inside of web header. Between <head> </ head>

How do it in PHP?

In PHP you can send a header location; but keep in mind that work should not be sending any text to print before.
header("Location: http://moises-soft.net");


How do it in Javascript?
In Javascript , is very simple make a redirect, to that, you can change a location property of Window, to a absolute URL where you wish redirect.

window.location="http://www.moises-soft.net";

sábado, 11 de junio de 2011

Download URL with PHP Curl emulating firefox browser

There exist many ways to download a recourse using PHP, It is possible across FTP or http. However we need to know choose the better way to doing if we want obtain always success result.


Let's see how easy it can be using the function: file_get_contents

$content = file_get_contents(“http://www.moises-soft.net”);

However we must take in account that some servers prevents the use of download automatic tools.

The way to know if the server must answers or not a request:


  1. In the first place by the (IP) from where the request, but this article is not intended to teach as to circumvent a restriction on IP , only disclose that it is can a reason that you have not access to a recourse . For example , Cuba have not access to somes google services as Google ADsence.

  2. Second by the headers sending in the HTTP request. Normally each browser (IExplorer, Firefox, etc) sends data in their headers with useful information. A way to evader a programmer download by a software is to compare the headers to know if the request is make by a browser and therefore by a person.

How to send requests as firefox browser?


function getURL($url)
{
$curl = curl_init();

// headers send by firefox

$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header[] = "Cache-Control: max-age=0";
$header[] = "Connection: keep-alive";
$header[] = "Keep-Alive: 300";
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$header[] = "Accept-Language: en-us,en;q=0.5";
$header[] = "Pragma: ";

// browsers keep this blank.

$referers = array("google.com", "yahoo.com", "msn.com", "ask.com", "live.com");
$choice = array_rand($referers);
$referer = "http://" . $referers[$choice] . "";

$browsers = array("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092510 Ubuntu/8.04 (hardy) Firefox/3.0.3", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20060918 Firefox/2.0", "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)");

$choice2 = array_rand($browsers);

$browser = $browsers[$choice2];

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_USERAGENT, $browser);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_REFERER, $referer);
curl_setopt($curl, CURLOPT_AUTOREFERER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_MAXREDIRS, 7);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);

// ejecuta el comando

$data = curl_exec($curl);

if ($data === false) {

$data = curl_error($curl);

}


// cierra la conexión

curl_close($curl);

return $data;

}

Keyword : download, URL, PHP, browser, CURL, emulate, download url php, curl url

Descargar URL con PHP (curl) emulando navegador FIREFOX

Existen en PHP formas varias formas de descargar un recurso , ya sea de a través de ftp o de http sin embargo hay que saber elegir la mejor forma de hacerlo si queremos lograr siempre resultados satisfactorios.
Veamos que sencillo puede ser usando la función: file_get_contents

Tan simple como:
$contenido = file_get_contents(“http://www.moises-soft.net”);

Sin embargo hay que tener en cuenta que algunos servidores previenen el uso de herramientas que automáticamente descargan recursos, ya sea con buenas o malas intenciones.
Las formas que tienen de saber los servidores si responden o no a una petición:

En primer lugar por el IP de donde viene la solicitud, sin embargo este artículo no tiene como objetivo ensenar como burlar una restricción de IP , solo dar a conocer que este puede ser el motivo de que usted no tenga acceso algún recurso. Por ejemplo Cuba no tiene acceso a algunas páginas de Google como es Google ADsence.

En segundo lugar por las cabeceras enviadas en la petición HTTP. Normalmente cada navegador (IExplorer, Firefox, etc) envía datos en sus cabeceras con mucha información útil. Un forma de burlar una descaga programada por cualquier programa es comprara las cabeceras enviadas para saber si no es petición de un navegador y por consiguiente de una persona.



¿Cómo enviar peticiones como si provinieran de Firefox?

function getURL($url)
{
$curl = curl_init();

// cabeceras enviadas por firefox
$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header[] = "Cache-Control: max-age=0";
$header[] = "Connection: keep-alive";
$header[] = "Keep-Alive: 300";
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$header[] = "Accept-Language: en-us,en;q=0.5";
$header[] = "Pragma: ";



// browsers keep this blank.
$referers = array("google.com", "yahoo.com", "msn.com", "ask.com", "live.com");
$choice = array_rand($referers);
$referer = "http://" . $referers[$choice] . "";

$browsers = array("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092510 Ubuntu/8.04 (hardy) Firefox/3.0.3", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20060918 Firefox/2.0", "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)");
$choice2 = array_rand($browsers);
$browser = $browsers[$choice2];

curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, $browser);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_REFERER, $referer);
curl_setopt($curl, CURLOPT_AUTOREFERER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_MAXREDIRS, 7);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);

// ejecuta el comando
$data = curl_exec($curl);

if ($data === false) {
$data = curl_error($curl);
}

// cierra la conexión
curl_close($curl);


return $data;

}

domingo, 5 de junio de 2011

Diseño de Logotipo, Cuba. Características de un buen Logo

El identificador visual o logotipo, como también se le conoce, más allá de la estética que se atribuye posee un fuerte valor comunicativo. Tanto es así que el primer contacto del cliente con la institución o empresa es el identificador.

El mismo distingue y diferencia del resto de la competencia y contribuye a formar en el usuario lo que llamamos imagen corporativa; un conjunto de conceptos e ideas que conforman lo que él cree de la institución.

Desde el punto de vista comunicativo existen una serie de parámetros para evaluar una identidad visual, logotipo o marca.

Singularidad: La marca debe diferenciarse de las demás. Los rasgos gráficos deben darle aquel toque que otros no poseen.

Pertinencia:Los elementos de la marca tienen alguna relación de sentido con el objetivo de la institución. Por ejemplo: Una marca de vino muestra algún elemento gráfico que la relacione con el producto que vende.

Temporalidad: La marca se comporta como todo elemento vivo: nace, crece, se desarrolla y…muere.

De ahí que a varios logotipos se les hace correcciones de estilo para rejuvenecerlos y que no envejezcan y por ende sean atemporales.

Resistencia a los medios: El logotipo debe poder aplicarse sobre cualquier superficie o soporte; por ejemplo: imprimirse en papel y tela, tallarse sobre madera y metal, bruñirse sobre cristal, o aparecer en medios digitales o televisivos sin perder en calidad visual. También debe funcionar a un solo color (En blanco y negro) para impresiones económicas.

Grado de reducción: Relacionado con el parámetro anterior, la reducción de un logo te da su calidad para aplicarse. Al reducirse se emplea en la papelería, en solapines, en invitaciones o incluso en lapiceros y gomas de borrar como un medio de promoción. De ahí que el logo pueda achicarse sin perder detalles o visibilidad.

Moises Soft ofrece este servicio como complemento de un web o por pedido aislado, visitenos: www.moises-soft.net o escribanos a: programador.profesional.net@gmail.com o contacto@moises-soft.net

Diseño de Logotipos en Cuba = Moises Soft (www.moises-soft.net)

Diseño web en Cuba (Moises Soft)

Un buen diseño es unos de los aspectos fundamentales de una web. Debe ser sencillo , llamativo y funcional , en el caso de Cuba debe ser lo menos cargado posible (de imágenes , videos , y cualquier otra cosa de peso) , dado la lenta conexión que existe en Cuba.
Existe un gran potencial en Cuba de jóvenes profesionales con deseos de hacer cosas nuevas y buenas.
Moises Soft se especializa en el Diseño web , dejamos de muestra algunos de nuestros diseños más recientes:



Diseño web en Cuba = Moises Soft

sábado, 4 de junio de 2011

Desarrollo web en Cuba (moises-soft.net)

Desarrollo web en Cuba

Cuba hoy por hoy tiene mucho atraso en niveles tecnológicos, aún no existe la posibilidad de tener internet en casa, y muchas cosas que en cualquier otro país es normal, son imposibles para los cubanos. Sin embargo nos gustas soñar, y por eso apostamos por crear Moises Soft , un grupo de desarrollo de software muy pequeño, donde mayormente nos hemos dedicado hacer páginas web. Evidentemente este proyecto es un sueño que hemos intentado llevar a cabo , siempre golpeados por el hecho que muy pocos cubanos aún no sienten la necesidad o no tienen la mentalidad de usar las tecnologías para su beneficio.

Yo te invito a visites nuestra web oficial wwww.moises-soft.net y veas nuestros trabajos.

Si quieres o tienes pensado desarrollar una web personal o de negocios, no dudes en contactarnos.

Desarrollo web en Cuba = Moises Soft

Convertir string a float javascript (parseFloat)

Para convertir un texto en un float en javascript existe la función parseFloat , la cual recibe como parámetro un texto y en caso de que tenga conversión devuelve un valor de tipo flotante (float).

Veamos distintos casos:


Si pasamos un texto totalmente válido : “8.777” parseFloat(“8.777”); devuelve: 8.777

Si pasamos un texto parcialmente válido que contiene números al comienzo ;pero termina en otros caracteres no numéricos como por ejemplo parseFloat(“8.777hhhhh”); devuelve: 8.777

Podemos utilizar un texto con en forma exponencial 700000 es lo mismo que 7 multiplicado por 10 elevado a 5, la forma de expresarlo es parseFloat(“7e5”); devuelve: 700000

Si pasamos un texto no válido , que no comience con algún carácter numérico el resultado es NaN que significa (Not a Number) parseFloat("hhhhh") devuelve: NaN





Moises Soft (Desarrollo web en Cuba)

domingo, 29 de mayo de 2011

Foreach en Javascript

En javascript no existe la palabra reservada foreach como muchos otros lenguajes para iterar en un arreglo , eso no quiere decir que no se pueda iterar, existen varias formas de hacerlo.


Foreach en Javascript:

En este ejemplo verás que efectivamente en Javascript se puede hacer con un for lo mismo que en otro lenguaje se hace con un foreach.

nombres = new Array("nombre 1", " nombre 2", " nombre 3");
for (var key in nombres)
{
alert(key + "=" + nombres[key]);
}


Ahora bien, si tienes en uso el framework Jquery , también puedes hacerlo de esta otra manera:

nombres = new Array("nombre 1", " nombre 2", " nombre 3");

$.each(nombres, function() {

alert(this);

});

Para cada elemento del arreglo se ejecuta lo que esté dentro de la función , por lo tanto tiene el mismo funcionamiento del código anterior , la forma de referirse al elemento del arreglo actual es con la palabra reservada this .

No descartar que el foreach no es más que una forma cómoda en algunos casos de recorrer un arreglo sin hacerlo de manera tradicional:

nombres = new Array("nombre 1", " nombre 2", " nombre 3");

for(i=0; i < ; nombres.length; i++) {
alert(nombres[i]);
}

Ya sabes que la palabra Foreach no existe en Javascript ; pero si existe la forma de trabajar con esta comodidad



Moises Soft (Desarrollo web en Cuba)

viernes, 27 de mayo de 2011

Crear clases y objetos en Javascript

En este artículo veremos cómo crear Clases e instancias de estas clases , es decir objetos.

Para ello expondré un ejemplo real usado en uno de los sitios web creados por Moises Soft : un carrito de compras.

Para llenar los elementos de una cesta de productos , es necesario entre otras cosas un clase llamada Producto .

Veamos cómo CREAR LA CLASE en JavaScript:


function Producto(id, nombre, precio , cantidad) {

this.id = id;
this.nombre = nombre;
this.precio = parseFloat(precio);
if ( isNaN(cantidad))
cantidad = 1;

this.cantidad = parseInt(cantidad);
this.getMonto = function (){ return this.precio * this.cantidad; }

}

Lo que hemos hecho es crear una clase llamada Producto, que tiene como atributos : id: identificador del producto, nombre: nombre del producto, precio: el costo del producto, cantidad : cantidad de elementos de dicho producto.

El constructor (palabra reservada function, nombre de la clase y los parámetros pasados al constructor):

function Producto(id, nombre, precio , cantidad)

La inicialización de los atributos públicos (palabra reservada this.{nombre_atributo} = {valor}) :

this.id = id; // ejemplo


Veamos cómo se crean métodos con el ejemplo de esta clase:

this.getMonto = function (){ return this.precio * this.cantidad; }

Aquí estamos asignando a getMonto , en vez de un valor una función, que devuelve un valor , en este caso es costo total o monto total del producto , multiplicando el precio por la cantidad de productos de dicho tipo.


Veamos cómo CREAR un OBJETO en JavaScript:

Ahora crearemos cada vez que presionemos los botones de adicionar producto a la cesta un Objeto de tipo Producto.

Es algo muy parecido a como lo hacemos en cualquier otro lenguaje de programación como PHP:


item = new Producto(“454545”, “moises soft”, 1000,3);

Luego para accede a sus métodos y atributos:

total = item.getMonto(); // en este ejemplo es 3000 = 1000*3
precio = item.precio


Atributos y métodos privados en Javascript

La forma de hacer que los atributos y/o métodos no sean accesibles desde los objetos o en otras palabras sean privados como se conoce en la programación orientada a Objetos, es cambiar el ámbito de las variables, anteponiendo la palabra reservada var , en vez de usar this

function Producto(id, nombre, precio , cantidad) {

var id = id; // privado
var nombre = nombre; // privado
var precio = parseFloat(precio); // privado
if ( isNaN(cantidad))
cantidad = 1;

var cantidad =parseInt(cantidad); // privado
this.getMonto = function (){ return this.precio * this.cantidad; } // público
}


Ahora al crear un objeto no se puede acceder a los atributos privados o de ámbito local:

item = new Producto(“454545”, “moises soft”, 1000,3);

Luego para accede a sus métodos y atributos:

total = item.getMonto(); // en este ejemplo es 3000 = 1000*3
precio = item.precio // error





Moises Soft (Desarrollo web en Cuba)

viernes, 20 de mayo de 2011

AJAX , problemas con acentos , htmlentities, utf8_encode,iso-8859-1,UTF-8

Hace unas programando una web se me presentó un problema , y es que haciendo llamadas AJAX a contenidos mediante JQuery , los caracteres con acentos, no se veían bien , estoy al tanto de que para visualizar estos caracteres en el documento HTML , hay que usar el estándar iso-8859-1:

<meta equiv="Content-Type" content="text/html; charset=iso-8859-1">


Pero el problema era solo cuando se hacían peticiones asincrónicas al servidor. Una solución puede ser enviar estos caracteres codificados, usando por ejemplo la función: htmlentities
htmlentities(“texto con acentos: áé”); // devuelve: texto con acentos: áé

Pero el problema radica en que al hacer una petición AJAX , los texto interpretados como si fueran en formato UTF-8, sin embargo lo que yo estaba enviando era texto en formato iso-8859-1, por lo tanto se produce un error , la solución más optima es usar la función : utf8_encode , que recibe como parámetro un texto en formato : iso-8859-1 y lo convierte en UTF-8.

La función contraria a utf8_encode, es utf8_decode
A mí me funcionó de maravillas.



Moises Soft (Desarrollo web en Cuba)

martes, 17 de mayo de 2011

Dios no tiene comparación

Es increíble como Dios tiene control sobre todo, todo lo que dice la biblia tiene sentido y tiene un significado, Dios no está atado al tiempo, Dios todo lo sabe. Los profetas hablaron de Jesús miles de años antes, la biblia completa habla de Jesús desde los primeros versículos.

Las pascuas fueron una señal de lo que pasaría con Jesús, había que matar un cordero, comer de él y poner la sangre como marca para ser salvo de la última plaga que Dios envió a Egipto (la muerte de todo primogénito). Jesús fue el cordero de la pascua cientos de años después, a través de Él tendríamos salvación por medio de su sangre derramada, su sangre derramada sobre todo el que lo recibe como salvador, es señal para Dios que somos salvos , de que olemos a Jesús , por lo tanto nos adopta como a sus hijos.


Leyendo biblia Juan 19:31-37 , puedo darme cuenta de cómo Dios conocía y tenía control hasta del más mínimo detalle de este suceso , Jesús fue crucificado , uno de los requisitos de las pascuas era que al cordero no se podía quebrar sus huesos (Éxodo 12:46) , el cuerpo de Jesús tampoco fue quebrado, como los que fueron crucificados con Él. Jesús fue traspasado, pusieron una lanza en su costado cuando ya estaba muerto para asegurarse, esto también había sido anunciado (Zacarías 12:10)
La biblia es verdad, las cosas que hoy no entendemos como no las entendieron en su tiempo quizás ni los mismos profetas en el antiguo testamento, algún día las entenderemos.


Dios es bueno

viernes, 13 de mayo de 2011

Cambiar zona horaria en PHP (date_default_timezone_set)


Algo importante que se debe hacer en un sitio web es permitir que los usuarios establezcan la zona horaria donde viven, de modo que la hora de todas las operaciones hechas dicho o usuario o por el sistema para servir a ese usuario usen la hora adecuada.

Recordemos que un sitio web puede ser visto en cualquier parte del mundo y la hora del servidor web no es la hora que tienen todos los usuarios en el mundo.

PHP permite establecer la zona horaria, a través de la función: date_default_timezone_set(“zona horaria”)

ejemplo: date_default_timezone_set("Africa/Addis_Ababa");


Los valores admisibles se pueden encontrar en cualquier manual de PHP:


Grupos de Africa:


Africa/Abidjan

Africa/Accra

Africa/Addis_Ababa

Africa/Algiers

Africa/Asmera

Africa/Bamako

Africa/Bangui

Africa/Banjul

Africa/Bissau

Africa/Blantyre

Africa/Brazzaville

Africa/Bujumbura

Africa/Cairo

Africa/Casablanca

Africa/Ceuta

Africa/Conakry

Africa/Dakar

Africa/Dar_es_Salaam

Africa/Djibouti

Africa/Douala

Africa/El_Aaiun

Africa/Freetown

Africa/Gaborone

Africa/Harare

Africa/Johannesburg

Africa/Kampala

Africa/Khartoum

Africa/Kigali

Africa/Kinshasa

Africa/Lagos

Africa/Libreville

Africa/Lome

Africa/Luanda

Africa/Lubumbashi

Africa/Lusaka

Africa/Malabo

Africa/Maputo

Africa/Maseru

Africa/Mbabane

Africa/Mogadishu

Africa/Monrovia

Africa/Nairobi

Africa/Ndjamena

Africa/Niamey

Africa/Nouakchott

Africa/Ouagadougou

Africa/Porto-Novo

Africa/Sao_Tome

Africa/Timbuktu

Africa/Tripoli


Grupos de América




America/Adak

America/Anchorage

America/Anguilla

America/Antigua

America/Araguaina

America/Argentina/Buenos_Aires

America/Argentina/Catamarca

America/Argentina/ComodRivadavia

America/Argentina/Cordoba

America/Argentina/Jujuy

America/Argentina/La_Rioja

America/Argentina/Mendoza

America/Argentina/Rio_Gallegos

America/Argentina/San_Juan

America/Argentina/Tucuman

America/Argentina/Ushuaia

America/Aruba

America/Asuncion

America/Atikokan

America/Atka

America/Bahia

America/Barbados

America/Belem

America/Belize

America/Blanc-Sablon

America/Boa_Vista

America/Bogota

America/Boise

America/Buenos_Aires

America/Cambridge_Bay

America/Campo_Grande

America/Cancun

America/Caracas

America/Catamarca

America/Cayenne

America/Cayman

America/Chicago

America/Chihuahua

America/Coral_Harbour

America/Cordoba

America/Costa_Rica

America/Cuiaba

America/Curacao

America/Danmarkshavn

America/Dawson

America/Dawson_Creek

America/Denver

America/Detroit

America/Dominica

America/Edmonton

America/Eirunepe

America/El_Salvador

America/Ensenada

America/Fort_Wayne

America/Fortaleza

America/Glace_Bay

America/Godthab

America/Goose_Bay

America/Grand_Turk

America/Grenada

America/Guadeloupe

America/Guatemala

America/Guayaquil

America/Guyana

America/Halifax

America/Havana

America/Hermosillo

America/Indiana/Indianapolis

America/Indiana/Knox

America/Indiana/Marengo

America/Indiana/Petersburg

America/Indiana/Vevay

America/Indiana/Vincennes

America/Indianapolis

America/Inuvik

America/Iqaluit

America/Jamaica

America/Jujuy

America/Juneau

America/Kentucky/Louisville

America/Kentucky/Monticello

America/Knox_IN

America/La_Paz

America/Lima

America/Los_Angeles

America/Louisville

America/Maceio

America/Managua

America/Manaus

America/Martinique

America/Mazatlan

America/Mendoza

America/Menominee

America/Merida

America/Mexico_City

America/Miquelon

America/Moncton

America/Monterrey

America/Montevideo

America/Montreal

America/Montserrat

America/Nassau

America/New_York

America/Nipigon

America/Nome

America/Noronha

America/North_Dakota/Center

America/North_Dakota/New_Salem

America/Panama

America/Pangnirtung

America/Paramaribo

America/Phoenix

America/Port-au-Prince

America/Port_of_Spain

America/Porto_Acre

America/Porto_Velho

America/Puerto_Rico

America/Rainy_River

America/Rankin_Inlet

America/Recife

America/Regina

America/Rio_Branco

America/Rosario

America/Santiago

America/Santo_Domingo

America/Sao_Paulo

America/Scoresbysund

America/Shiprock

America/St_Johns

America/St_Kitts

America/St_Lucia

America/St_Thomas

America/St_Vincent

America/Swift_Current

America/Tegucigalpa

America/Thule

America/Thunder_Bay

America/Tijuana

America/Toronto

America/Tortola

America/Vancouver

America/Virgin

America/Whitehorse

America/Winnipeg

America/Yakutat


Grupos de La Antártida


Antarctica/Casey

Antarctica/Davis

Antarctica/DumontDUrville

Antarctica/Mawson

Antarctica/McMurdo

Antarctica/Palmer

Antarctica/Rothera

Antarctica/South_Pole

Antarctica/Syowa

Antarctica/Vostok


Grupos del Ártico

Arctic/Longyearbyen

Grupos de Asia


Asia/Aden

Asia/Almaty

Asia/Amman

Asia/Anadyr

Asia/Aqtau

Asia/Aqtobe

Asia/Ashgabat

Asia/Ashkhabad

Asia/Baghdad

Asia/Bahrain

Asia/Baku

Asia/Bangkok

Asia/Beirut

Asia/Bishkek

Asia/Brunei

Asia/Calcutta

Asia/Choibalsan

Asia/Chongqing

Asia/Chungking

Asia/Colombo

Asia/Dacca

Asia/Damascus

Asia/Dhaka

Asia/Dili

Asia/Dubai

Asia/Dushanbe

Asia/Gaza

Asia/Harbin

Asia/Hong_Kong

Asia/Hovd

Asia/Irkutsk

Asia/Istanbul

Asia/Jakarta

Asia/Jayapura

Asia/Jerusalem

Asia/Kabul

Asia/Kamchatka

Asia/Karachi

Asia/Kashgar

Asia/Katmandu

Asia/Krasnoyarsk

Asia/Kuala_Lumpur

Asia/Kuching

Asia/Kuwait

Asia/Macao

Asia/Macau

Asia/Magadan

Asia/Makassar

Asia/Manila

Asia/Muscat

Asia/Nicosia

Asia/Novosibirsk

Asia/Omsk

Asia/Oral

Asia/Phnom_Penh

Asia/Pontianak

Asia/Pyongyang

Asia/Qatar

Asia/Qyzylorda

Asia/Rangoon

Asia/Riyadh

Asia/Saigon

Asia/Sakhalin

Asia/Samarkand

Asia/Seoul

Asia/Shanghai

Asia/Singapore

Asia/Taipei

Asia/Tashkent

Asia/Tbilisi

Asia/Tehran

Asia/Tel_Aviv

Asia/Thimbu

Asia/Thimphu

Asia/Tokyo

Asia/Ujung_Pandang

Asia/Ulaanbaatar

Asia/Ulan_Bator

Asia/Urumqi

Asia/Vientiane

Asia/Vladivostok

Asia/Yakutsk

Asia/Yekaterinburg

Asia/Yerevan



Grupos del Atlántico

Atlantic/Azores

Atlantic/Bermuda

Atlantic/Canary

Atlantic/Cape_Verde

Atlantic/Faeroe

Atlantic/Jan_Mayen

Atlantic/Madeira

Atlantic/Reykjavik

Atlantic/South_Georgia

Atlantic/St_Helena

Atlantic/Stanley






Grupos de Australia


Australia/ACT

Australia/Adelaide

Australia/Brisbane

Australia/Broken_Hill

Australia/Canberra

Australia/Currie

Australia/Darwin

Australia/Hobart

Australia/LHI

Australia/Lindeman

Australia/Lord_Howe

Australia/Melbourne

Australia/North

Australia/NSW

Australia/Perth

Australia/Queensland

Australia/South

Australia/Sydney

Australia/Tasmania

Australia/Victoria

Australia/West

Australia/Yancowinna





Grupos de Europa

Europe/Amsterdam

Europe/Andorra

Europe/Athens

Europe/Belfast

Europe/Belgrade

Europe/Berlin

Europe/Bratislava

Europe/Brussels

Europe/Bucharest

Europe/Budapest

Europe/Chisinau

Europe/Copenhagen

Europe/Dublin

Europe/Gibraltar

Europe/Guernsey

Europe/Helsinki

Europe/Isle_of_Man

Europe/Istanbul

Europe/Jersey

Europe/Kaliningrad

Europe/Kiev

Europe/Lisbon

Europe/Ljubljana

Europe/London

Europe/Luxembourg

Europe/Madrid

Europe/Malta

Europe/Mariehamn

Europe/Minsk

Europe/Monaco

Europe/Moscow

Europe/Nicosia

Europe/Oslo

Europe/Paris

Europe/Prague

Europe/Riga

Europe/Rome

Europe/Samara

Europe/San_Marino

Europe/Sarajevo

Europe/Simferopol

Europe/Skopje

Europe/Sofia

Europe/Stockholm

Europe/Tallinn

Europe/Tirane

Europe/Tiraspol

Europe/Uzhgorod

Europe/Vaduz

Europe/Vatican

Europe/Vienna

Europe/Vilnius

Europe/Volgograd

Europe/Warsaw

Europe/Zagreb

Europe/Zaporozhye

Europe/Zurich





Grupos de India

Indian/Antananarivo

Indian/Chagos

Indian/Christmas

Indian/Cocos

Indian/Comoro

Indian/Kerguelen

Indian/Mahe

Indian/Maldives

Indian/Mauritius

Indian/Mayotte

Indian/Reunion






Grupos del Pacifico

Pacific/Apia

Pacific/Auckland

Pacific/Chatham

Pacific/Easter

Pacific/Efate

Pacific/Enderbury

Pacific/Fakaofo

Pacific/Fiji

Pacific/Funafuti

Pacific/Galapagos

Pacific/Gambier

Pacific/Guadalcanal

Pacific/Guam

Pacific/Honolulu

Pacific/Johnston

Pacific/Kiritimati

Pacific/Kosrae

Pacific/Kwajalein

Pacific/Majuro

Pacific/Marquesas

Pacific/Midway

Pacific/Nauru

Pacific/Niue

Pacific/Norfolk

Pacific/Noumea

Pacific/Pago_Pago

Pacific/Palau

Pacific/Pitcairn

Pacific/Ponape

Pacific/Port_Moresby

Pacific/Rarotonga

Pacific/Saipan

Pacific/Samoa

Pacific/Tahiti

Pacific/Tarawa

Pacific/Tongatapu

Pacific/Truk

Pacific/Wake

Pacific/Wallis

Pacific/Yap


Otros grupos

Brazil/Acre

Brazil/DeNoronha

Brazil/East

Brazil/West

Canada/Atlantic

Canada/Central

Canada/East-Saskatchewan

Canada/Eastern

Canada/Mountain

Canada/Newfoundland

Canada/Pacific

Canada/Saskatchewan

Canada/Yukon

CET

Chile/Continental

Chile/EasterIsland

CST6CDT

Cuba

EET

Egypt

Eire

EST

EST5EDT

Etc/GMT

Etc/GMT+0

Etc/GMT+1

Etc/GMT+10

Etc/GMT+11

Etc/GMT+12

Etc/GMT+2

Etc/GMT+3

Etc/GMT+4

Etc/GMT+5

Etc/GMT+6

Etc/GMT+7

Etc/GMT+8

Etc/GMT+9

Etc/GMT-0

Etc/GMT-1

Etc/GMT-10

Etc/GMT-11

Etc/GMT-12

Etc/GMT-13

Etc/GMT-14

Etc/GMT-2

Etc/GMT-3

Etc/GMT-4

Etc/GMT-5

Etc/GMT-6

Etc/GMT-7

Etc/GMT-8

Etc/GMT-9

Etc/GMT0

Etc/Greenwich

Etc/UCT

Etc/Universal

Etc/UTC

Etc/Zulu

Factory

GB

GB-Eire

GMT

GMT+0

GMT-0

GMT0

Greenwich

Hongkong

HST

Iceland

Iran

Israel

Jamaica

Japan

Kwajalein

Libya

MET

Mexico/BajaNorte

Mexico/BajaSur

Mexico/General

MST

MST7MDT

Navajo

NZ

NZ-CHAT

Poland

Portugal

PRC

PST8PDT

ROC

ROK

Singapore

Turkey

UCT

Universal

US/Alaska

US/Aleutian

US/Arizona

US/Central

US/East-Indiana

US/Eastern

US/Hawaii

US/Indiana-Starke

US/Michigan

US/Mountain

US/Pacific

US/Pacific-New

US/Samoa

UTC

W-SU

WET

Zulu






Códicos internacionales de cada zona horaria

http://www.blogger.com/img/blank.gif
Código Definición GMT
ACDT Australian Central Daylight Time +10:30
ACIT Ashmore and Cartier Islands Time +8:00
ACST Australian Central Standard Time +9:30
ACT Acre Time -5
ACWST Australian Central Western Standard Time +8:45
ADT Arabia Daylight Time +4
ADT Atlantic Daylight Time -3
AEDT Australian Eastern Daylight Time +11
AEST Australian Eastern Standard Time +10
AFT Afghanistan Time +4:30
AKDT Alaska Daylight Time -8
AKST Alaska Standard Time -9
AMDT Armenia Daylight Time +5
AMST Armenia Standard Time +4
ANAST Anadyr' Summer Time +13
ANAT Anadyr' Time +12
APO Apo Island Time +8:15
ARDT Argentina Daylight Time -2
ART Argentina Time -3
AST Al Manamah Standard Time +3
AST Arabia Standard Time +3
AST Arabic Standard Time +3
AST Atlantic Standard Time -4
AWST Australian Western Standard Time +8
AZODT Azores Daylight Time 0
AZOST Azores Standard Time -1
AZST Azerbaijan Summer Time +5
AZT Azerbaijan Time +4


BIT Baker Island Time -12
BDT Bangladesh Standard Time +7
BEST Brazil Eastern Standard Time -2
BDT Brunei Time +8
BIOT British Indian Ocean Time +6
BOT Bolivia Time -4
BRST Brazilia Summer Time -2
BRT Brazilia Time -3
BST British Summer Time +1
BTT Bhutan Time +6
BWDT Brazil Western Daylight Time -3
BWST Brazil Western Standard Time -4


CAST Chinese Antarctic Standard Time +5
CAT Central Africa Time +2
CCT Cocos Islands Time +6:30
CDT Central Daylight Time -5
CEST Central Europe Summer Time +2
CET Central Europe Time +1
CGST Central Greenland Summer Time -2
CGT Central Greenland Time -3
CHADT Chatham Island Daylight Time +13:45
CHAST Chatham Island Standard Time +12:45
ChST Chamorro Standard Time +10
CIST Clipperton Island Standard Time -8
CKT Cook Island Time -10
CLDT Chile Daylight Time -3
CLST Chile Standard Time -4
COT Colombia Time -5
CST Central Standard Time -6
CST China Standard Time +8
CVT Cape Verde Time -1
CXT Christmas Island Time +7


DAVT Davis Time +5
DTAT District de Terre Adélie Time +10


EADT Easter Island Daylight Time -5
EAST Easter Island Standard Time -6
EAT East Africa Time +3
ECT Ecuador Time -5
EDT Eastern Daylight Time -4
EEST Eastern Europe Summer Time +3
EET Eastern Europe Time +2
EGT Eastern Greenland Time -1
EGST Eastern Greenland Summer Time 0
EKST East Kazakhstan Standard Time +6
EST Eastern Standard Time -5


FJDT Fiji Daylight Time +13
FJT Fiji Time +12
FKDT Falkland Island Daylight Time -3
FKST Falkland Island Standard Time -4


GALT Galapagos Time -6
GET Georgia Standard Time +4
GFT French Guiana Time -3
GILT Gilbert Island Time +12
GIT Gambier Island Time -9
GMT Greenwich Meantime 0
GST Gulf Standard Time +4
GST South Georgia and the South Sandwich Islands -2
GYT Guyana Time -4


HADT Hawaii - Aleutian Daylight Time -9
HAST Hawaii - Aleutian Standard Time -10
HKST Hong Kong Standard Time +8
HMT Heard and McDonald Islands Time +5


ICT Îles Crozet Time +4
ICT Indochina Time +7
IDT Ireland Daylight Time +1
IDT Israel Daylight Time +3
IRDT Îran Daylight Time +4:30
IRKST Irkutsk Summer Time +9
IRKT Irkutsk Time +8
IRST Îran Standard Time +3:30
IST Indian Standard Time +5:30
IST Ireland Standard Time 0
IST Israel Standard Time +2


JFDT Juan Fernandez Islands Daylight Time -3
JFST Juan Fernandez Islands Standard Time -4
JST Japan Standard Time +9


KGST Kyrgyzstan Summer Time +6
KGT Kyrgyzstan Time +5
KRAST Krasnoyarsk Summer Time +8
KRAT Krasnoyarsk Time +7
KOST Kosrae Standard Time +11
KOVT Khovd Time +7
KOVST Khovd Summer Time +8
KST Korea Standard Time +9


LHDT Lord Howe Daylight Time +11
LHST Lord Howe Standard Time +10:30
LINT Line Island Time +14
LKT Sri Lanka Time +6

MAGST Magadan Island Summer Time +12
MAGT Magadan Island Time +11
MAWT Mawson Time +5
MBT Macclesfield Bank Time +8
MDT Mountain Daylight Time -6
MIT Marquesas Islands Time -9:30
MHT Marshall Islands Time +12
MMT Myanmar Time +6:30
MNT Mongolia Time +8
MNST Mongolia Summer Time +9
MSD Moscow Summer Time +4
MSK Moscow Standard Time +3
MST Mountain Standard Time -7
MUT Mauritius Time +4
MVT Maldives Time +5
MYT Malaysia Time +8


NCT New Caledonia Time +11
NDT Newfoundland Daylight Time -2:30
NFT Norfolk Time +11:30
NPT Nepal Time +5:45
NRT Nauru Time +12
NOVST Novosibirsk Summer Time +7
NOVT Novosibirsk Time +6
NST Newfoundland Standard Time -3:30
NUT Niue Time -11
NZDT New Zealand Daylight Time +13
NZST New Zealand Standard Time +12


OMSK Omsk Summer Time +7
OMST Omsk Standard Time +6


PDT Pacific Daylight Time -7
PETST Petropavlovsk Summer Time +13
PET Peru Time -5
PETT Petropavlovsk Time +12
PGT Papua New Guinea Time +10
PHOT Phoenix Island Time +13
PIT Paracel Islands Time +8
PIT Peter Island Time -6
PIT Pratas Islands +8
PKT Pakistan Time +5
PKST Pakistan Summer Time +6
PMDT Pierre & Miquelon Daylight Time -2
PMST Pierre & Miquelon Standard Time -3
PONT Pohnpei Standard Time +11
PST Pacific Standard Time -8
PST Philippine Standar Time +8
PST Pitcairn Standard Time -8
PWT Palau Time +9
PYST Paraguay Summer Time -3
PYT Paraguay Time -4
RET Réunion Time +4
ROTT Rothera Time -3


SAMST Samara Summer Time +5
SAMT Samara Time +4
SAST South Africa Standard Time +2
SBT Solomon Island Time +11
SCDT Santa Claus Delivery Time +13
SCST Santa Claus Standard Time +12
SCT Seychelles Time +4
SGT Singapore Time +8
SIT Spratly Islands Time +8
SLT San Luis Time -4
SLT Sierra Leone Time 0
SLST San Luis Summer Time -3
SRT Suriname Time -3
SDT Samoa Daylight Time -10
SST Samoa Standard Time -11
SST Scarborough Shoal Time +8
SYST Syrian Summer Time +3
SYT Syrian Standard Time +2


TAHT Tahiti Time -10
TFT French Southern and Antarctic Time +5
TJT Tajikistan Time +5
TKT Tokelau Time -10
TMT Turkmenistan Time +5
TOT Tonga Time +13
TPT East Timor Time +9
TRUT Truk Time +10
TVT Tuvalu Time +12
TWT Taiwan Time +8


UTC Universal Coordinated Time 0
UYT Uruguay Standard Time -3
UYST Uruguay Summer Time -2
UZT Uzbekistan Time +5


VLAST Vladivostok Summer Time +11
VLAT Vladivostok Time +10
VOST Vostok Time +6
VST Venezuela Standard Time -4:30
VUT Vanuatu Time +11


WAST Western Africa Summer Time +2
WAT Western Africa Time +1
WEST Western Europe Summer Time +1
WET Western Europe Time 0
WFT Wallis and Futuna Time +12
WIB Waktu Indonesia Bagian Barat +7
WIT Waktu Indonesia Bagian Timur +9
WITA Waktu Indonesia Bagian Tengah +8
WKST West Kazakhstan Standard Time +5


XJT Xinjiang Standard Time +6


YAKST Yakutsk Summer Time +10
YAKT Yakutsk Time +9
YAPT Yap Time +10
YEKST Yekaterinburg Summer Time +6
YEKT Yekaterinburg Time +5


Moises Soft (Desarrollo web en Cuba)