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)