php

Estándar

Temas etc…

ideas

Anuncios

11 comentarios en “php

  1. ftp

    <?php
    // Primero creamos un ID de conexión a nuestro servidor
    $cid = ftp_connect(“www.cg.edu.mx”);
    // Luego creamos un login al mismo con nuestro usuario y contraseña
    $resultado = ftp_login($cid, “usuario”,”noteladigo”);
    // Comprobamos que se creo el Id de conexión y se pudo hacer el login
    if ((!$cid) || (!$resultado)) {
    echo “Fallo en la conexión”; die;
    } else {
    echo “Conectado.”;
    }
    // Cambiamos a modo pasivo, esto es importante porque, de esta manera le decimos al
    //servidor que seremos nosotros quienes comenzaremos la transmisión de datos.
    ftp_pasv ($cid, true) ;
    echo ” Cambio a modo pasivo”;
    // Nos cambiamos al directorio, donde queremos subir los archivos, si se van a subir a la raíz
    // esta por demás decir que este paso no es necesario. En mi caso uso un directorio llamado boca
    ftp_chdir($cid, “boca”);
    echo “Cambiado al directorio necesario”;
    // Tomamos el nombre del archivo a transmitir, pero en lugar de usar $_POST, usamos $_FILES que le indica a PHP
    // Que estamos transmitiendo un archivo, esto es en realidad un matriz, el segundo argumento de la matriz, indica // el nombre del archivo
    $local = $_FILES[“archivo”][“name”];
    // Este es el nombre temporal del archivo mientras dura la transmisión
    $remoto = $_FILES[“archivo”][“tmp_name”];
    // El tamaño del archivo
    $tama = $_FILES[“archivo”][“size”];
    echo “$local”;
    echo “$remoto”;
    echo “subiendo el archivo…”;
    // Juntamos la ruta del servidor con el nombre real del archivo
    $ruta = “/srv/www/htdocs/boca/” . $local;
    // Verificamos si no hemos excedido el tamaño del archivo
    if (!$tama<=$_POST[“MAX_FILE_SIZE”]){
    echo “Excede el tamaño del archivo…”;
    } else {
    // Verificamos si ya se subio el archivo temporal
    if (is_uploaded_file($remoto)){
    // copiamos el archivo temporal, del directorio de temporales de nuestro servidor a la ruta que creamos
    copy($remoto, $ruta);
    }
    // Sino se pudo subir el temporal
    else {
    echo “no se pudo subir el archivo ” . $local;
    } }
    echo “Ruta: ” . $ruta;
    //cerramos la conexión FTP
    ftp_close($cid); ?>

  2. variables de php

    ser o no ser

    01/1/70 – En el manual de páginas dinámicas hemos introducido el concepto de variable. En el capítulo anterior comentábamos que, para PHP, las variables eran definidas anteponiendo el símbolo dólar ($) al nombre de la variable que estábamos definiendo.

    Dependiendo de la información que contenga, una variable puede ser considerada de uno u otro tipo:

    Variables numéricas
    Almacenan cifras
    Enteros $entero=2002; Numeros sin decimales
    Real $real=3.14159; Numeros con o sin decimal

    Variables alfanuméricas
    Almacenan textos compuestos de números y/o cifras
    Cadenas Almacenan variables alfanuméricas $cadena=”Hola amigo”;

    Tablas
    Almacenan series de informaciones numéricas y/o alfanuméricas
    Arrays Son las variables que guardan las tablas $sentido[1]=”ver”;
    $sentido[2]=”tocar”;
    $sentido[3]=”oir”;
    $sentido[4]=”gusto”;
    $sentido[5]=”oler”;

    Objetos
    Se trata de conjuntos de variables y funciones asociadas. Presentan una complejidad mayor que las variables vistas hasta ahora pero su utilidad es más que interesante.

    A diferencia de otros lenguajes, PHP posee una gran flexibilidad a la hora de operar con variables. En efecto, cuando definimos una variable asignándole un valor, el ordenador le atribuye un tipo. Si por ejemplo definimos una variable entre comillas, la variable será considerada de tipo cadena:

    $variable=”5″; //esto es una cadena

    Sin embargo si pedimos en nuestro script realizar una operación matemática con esta variable, no obtendremos un mensaje de error sino que la variable cadena será asimilada a numérica:

    Ejecutar script

    Este script dará como resultado “8”. La variable cadena ha sido asimilada en entero (aunque su tipo sigue siendo cadena) para poder realizar la operación matemática. Del mismo modo, podemos operar entre variables tipo entero y real. No debemos preocuparnos de nada, PHP se encarga durante la ejecución de interpretar el tipo de variable necesario para el buen funcionamiento del programa.

    Sin embargo, en contraste, hay que tener cuidado en no cambiar mayúsculas por minúsculas ya que, en este sentido, PHP es sensible. Conviene por lo tanto trabajar ya sea siempre en mayúsculas o siempre en minúsculas para evitar este tipo de malentendidos a veces muy difíciles de localizar.

    Variables asignadas por referencia

    En PHP también podemos asignar variables por referencia. En ese caso no se les asigna un valor, sino otra variable, de tal modo que las dos varialbles comparten espacio en memoria para el mismo dato.

    La notación para asignar por referencia es colocar un “&” antes del nombre de la variable.

  3. mas … variables

    Variables
    Concepto

    Las variables son un espacio o area de memoria dispuesta para almacenar un valor para su posterior uso por el script, que tiene asignado un identificador (nombre). El valor puede ser una cadena o un numero.

    En php no hace falta declarar una variable antes de su uso, ni establecer su tipo. Su nombre puede ser una combinacion de letras (a-Z), números y guiones bajos, precedidos con el signo $. El primer carácter no puede ser un número, y php diferencia entre mayusculas y minúsculas.
    $var no es igual a $Var

    Para utilizar una variable basta con asignarle un valor, usando para ello el operador =
    Si el valor es una cadena, necesita ir entrecomillado.

    Dependiendo de la información que contenga, tenemos diversos tipos de variables:

    * integer contiene un número entero
    * double contiene un número con decimales
    * string una cadena de caracteres

    Como ves, el valor de una variable ha de asignarse entrecomillado, salvo que se trate de un valor numérico.
    tipado (casting) de variables

    Como hemos dicho, a diferencia de otros lenguajes, al declarar una variable no tenemos que indicar a que tipo pertenece. Php lo hará por nosotros de acuerdo con su contenido y el contexto.

    Aunque no es necesario, podemos especificar el tipo de la variable, o forzar su conversion. Forzar un tipo de variable puede ser muy util, por ejemplo para validar la entrada de datos por usuarios desde un formulario.

    valor 3
    // $mivar = (boolean)$mivar; -> valor 1
    ?>
    Averiguando el tipo de una variable

    Si necesitamos saber a que tipo pertenece una variable podemos usar la función gettype():

    Chequeando tipos concretos

    Si lo que necesitamos es saber si se trata de un tipo concreto de variables, podemos usar una funcion ad hoc: Todas ellas tomas como parámetro el nombre de la función a chequear, y devuelven verdadero o falso

    Un dato importante a tener en cuenta es que una variable, sea cual sea su tipo, si es pasada via GET o POST automáticamente se convierte en tipo string. Por ello no podremos utilizar is_integer, por ejemplo, sino is_numeric,, que no indaga acerca del tipo de variable, sino acerca de los caracteres que la componen.

    * is_array()
    * is_bool()
    * is_double()
    * is_float()
    * is_int()
    * is_integer()
    * is_long()
    * is_null()
    * is_numeric()
    * is_object()
    * is_real()
    * is_resource()
    * is_scalar()
    * is_string()

    valores por referencia

    A partir de php 4 ademas de pasar un valor a una variable por asignación, podemos pasarselo por referencia

    Para ello creamos una nueva variable que referencia ( “se convierte en un alias de” o “apunta a”) la variable original. Los cambios a la nueva variable afectan a la original, y viceversa.

    Para asignar por referencia, simplemente se antepone un ampersand (&) al comienzo de la variable cuyo valor se está asignando.

    variables constantes

    Son aquellas cuyo valor no va a cambiar a lo largo de la ejecución del script. Para asignarles un valor se usa la función define()

    Podemos utilizar la funcion defined() para chequear si una constante esta definida o no.

    Por último, PHP ofrece diversas constantes predefinidas:

    <?php

    echo __FILE__ .””; // nombre del archivo
    echo __LINE__ .””; // numero de linea de codigo
    echo PHP_VERSION.””; // numero de version php
    echo PHP_OS .””; // sistema operativo
    echo TRUE.””; // valor verdadero (1)
    echo FALSE.””; // valor falso (0 o cadena vacia)
    echo NULL.””; // sin valor

    ?>
    Variables de variables

    Podemos reutilizar el valor de una variable como nombre de otra variable

  4. variables

    Conceptos Básicos

    En PHP las variables se representan con un signo de dólar seguido por el nombre de la variable. El nombre de la variable es sensible a minúsculas y mayúsculas.

    Los nombres de variables siguen las mismas reglas que otras etiquetas en PHP. Un nombre de variable válido tiene que empezar con una letra o un carácter de subrayado (underscore), seguido de cualquier número de letras, números y caracteres de subrayado. Como expresión regular se podría expresar como: ‘[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*’

    Note: Para los propósitos de este manual, una letra es a-z, A-Z, y los caracteres ASCII del 127 al 255 (0x7f-0xff).

    Note: $this es una variable especial que no puede ser asignada.

    Tip

    See also the Userland Naming Guide.

    Para más información sobre funciones relacionadas con variables, vea la Referencia de Funciones de Variables.

    De forma predeterminada, las variables siempre se asignan por valor. Esto significa que cuando se asigna una expresión a una variable, el valor completo de la expresión original se copia en la variable de destino. Esto quiere decir que, por ejemplo, después e asignar el valor de una variable a otra, los cambios que se efectúen a una de esas variables no afectará a la otra. Para más información sobre este tipo de asignación, vea Expresiones.

    PHP también ofrece otra forma de asignar valores a las variables: asignar por referencia. Esto significa que la nueva variable simplemente referencia (en otras palabras, “se convierte en un alias de” ó “apunta a”) la variable original. Los cambios a la nueva variable afectan a la original, y viceversa.

    Para asignar por referencia, simplemente se antepone un signo ampersand (&) al comienzo de la variable cuyo valor se está asignando (la variable fuente). Por ejemplo, el siguiente segmento de código produce la salida ‘Mi nombre es Bob’ dos veces:

    Algo importante a tener en cuenta es que sólo las variables con nombre pueden ser asignadas por referencia.

    No es necesario inicializar variables en PHP, sin embargo, es una muy buena práctica. Las variables no inicializadas tienen un valor predeterminado de acuerdo a su tipo – FALSE, cero, una cadena vacía o una matriz vacía.

    Example #1 Valores predeterminados en variables sin inicializar
    25
    echo $string_sin_definir . “abc”; // “” . “abc” => “abc”
    $array_sin_definir[3] = “def”; // array() + array(3 => “def”) => array(3 => “def”)
    ?>

    Depender del valor predeterminado de una variable sin inicializar es problemático al incluír un archivo en otro que use el mismo nombre de variable. También es un importante riesgo de seguridad cuando la opción register_globals se encuentra habilitada. Un error de nivel E_NOTICE es emitido cuendo se trabaja con variables sin inicializar, con la excepción del caso en el que se anexan elementos a una matriz no inicializada. La construcción del lenguaje isset() puede ser usada para detectar si una variable ya ha sido inicializada.

  5. variables principales de php

    * Superglobales — Las superglobales son variables incorporadas que siempre están disponibles en todos los ámbitos
    * $GLOBALS — Referencia todas las variables disponibles en el ámbito global
    * $_SERVER — Información del servidor y el entorno de ejecución
    * $_GET — Variables HTTP GET
    * $_POST — Variables HTTP POST
    * $_FILES — Variables de Carga de Archivos HTTP
    * $_REQUEST — Variables ie petición HTTP
    * $_SESSION — Variables de sesión
    * $_ENV — Variables de entorno
    * $_COOKIE — Cookies HTTP
    * $php_errormsg — El mensaje de error previo
    * $HTTP_RAW_POST_DATA — Datos POST puros
    * $http_response_header — Cabeceras de respuesta HTTP
    * $argc — The number of arguments passed to script
    * $argv — Array of arguments passed to script

  6. unos ling donde pueden encontarar ejemplos

    http://gollum.inforg.uniovi.es/aii/ejemplos.php?id_codigo=9&codigo=PHP

    http://www.solotuweb.com/vl~material~ejemplos~de~PHP.html

    http://directorio.adfound.com/Programacion/Lenguajes_de_programacion/Internet/PHP/

    Php: primer vistazo

    PHP es un lenguaje de script que se ejecuta en el lado del servidor, inserto en páginas html, multiplataforma y independiente del navegador.

    Al ser un lenguaje de script, se programa mediante simples sentencias o frases (no compiladas), que son interpretadas por el motor PHP instalado en el servidor, devolviendo al visitante de la página el texto resultante. Esto quiere decir que en el código fuente de la página final solo verás html, nada de php.

    Es multiplataforma, en el sentido de que PHP puede ejecutarse en entorno unix y windows, y es independiente del navegador que utilices, en el sentido de que el codigo php se ejecuta en el servidor, que devuelve al navegador solo texto
    ¿que necesitamos?

    Para nuestras páginas php necesitaremos disponer de un servidor web capaz de interpretar este lenguaje y un editor de texto. En esta misma página podrás aprender si lo deseas como instalar un con servidor apache php donde podrás ensayar tu código, asi como configurar las diversas opciones del interprete php.
    Insertando PHP en páginas html

    Nuestras sentencias PHP pueden ir mezcladas con el código HTML. Para que el servidor las reconozca como lo que son, y las ejecute, necesitaremos en primer lugar indicarle que es un archivo que contiene código ejecutable, lo que conseguimos sustituyendo la extensión habitual htm o html por php: pagina.php.

    Y en segundo lugar separamos en el cuerpo de la página lo que es html y lo que es código php ejecutable marcando el inicio y final de este mediante etiquetas de inicio y cierre:

    * (modo normal)
    * (modo abreviado)
    * (modo asp, deshabilitado por defecto)

    O tambien con la etiqueta script:

    Vamos con el primer ejemplo, el tradicional “hola mundo”:

    Mi primer ejemplo php

    Si guardamos el texto anterior como hola.php y lo llamamos con el navegador a traves de un servidor habilitado para PHP, este al ver la extensión .php buscará código ejecutable (indicado por las etiquetas y lo ejecutará; en este caso leera la orden echo, asi que se limitará a volcar en la pantalla el texto entrecomillado.
    Advierte como se trata de una página html normal, sin ninguna característica especial fuera de las etiquetas php.

    Pero claro, para escribir ¡Hola Mundo! no hace falta PHP … veamos otro ejemplo mas interesante:

    Mi primer ejemplo php

    Nuevamente el servidor al encontrar la orden echo realizará un volcado en la pantalla, pero esta vez no será simple texto, sino el resultado del uso de la funcion gmdate().
    PHP viene con decenas de funciones predefinidas, y entre ellas gmdate() calcula la fecha actual y la devuelve con los parámetros indicados entre paréntesis (d= dia del mes en número: 01 hasta 31; n = mes actual en número: 1 a 12; Y = el año actual, cuatro dígitos).

    Verás que en nuestros dos ejemplos, echo iba seguido de comillas o de paréntesis. Usamos comillas cuando queremos que PHP trate literalmente el contenido (en este caso, que vuelque la cadena de carácteres sin manipularla)y paréntesis cuando queremos que PHP calcule el contenido antes de volcarlo. En ambos casos, y esta es una regla general, cada linea php termina con un punto y coma.
    Asimismo si miras el código fuente de la página resultante verás que ha desaparecido el código php, siendo sustituido por su resultado.

  7. ejemplos de php

    ser o no ser

    tabla de comandos en php / referencia rápida para los recién iniciados en PHP

    • Qué es PHP y qué me ofrecen en esta página ?

    PHP es un lenguaje de programación muy accesible, fácil de programar y es totalmente gratuito. Todas esas razones lo han convertido en el lenguaje mas utilizado en internet actualmente.
    pixelART le ofrece un listado de los comandos más utilizados en PHP que sin duda le serán de gran utilidad para los recién iniciados en este lenguaje. Dentro de esta tabla también se incluyen los comandos que trabajan sobre bases de datos MySQL.
    Simplemente instale el PHP en su sistema, copie los comandos de esta tabla, y ya habrá incursionado en el mundo de la programación, es decir, de los sitios web dinámicos.

    Puedes instalar el PHP+MySQL con la aplicación FoxServ. Descárgala de este enlace: FOX SERV.
    ECHO “Hola“;
    PRINT “Hola“; Muestra Hola en negrita. Nótese que puede incluirse cualquier etiqueta HTML
    ECHO $a; Muestra la variable $a
    PRINTF ( “Te digo: %s %s” , “Hola” , 124 );

    ( Ver más ejemplos en pag.61 sobre formateos: $0012.00 )
    Muestra un texto con formato preestablecido, en este ejemplo imprime:
    Te digo: Hola 124
    $cadena=SPRINTF ( “Te digo: %s %s” , “Hola” , 124 ); Igual que PRINTF, pero asigna la salida a una variable.
    print STRTOLOWER(“Hola Don Pepe”); StrToLower convierte una cadena a minúsculas.
    print STRTOUPPER(“Hola Don Pepe”); StrToUpper convierte una cadena a mayúsculas. (ver más pag.103)
    echo STR_REPEAT(“.oOo”,20); STR_REPEAT repite una cadena X número de veces.
    print TRIM(” Hola Don Pepe “);

    (ideal para procesar campos de formularios)
    Trim elimina los espacios sobrantes antes y después de una cadena.
    print LTRIM(” Hola Don Pepe”); Ltrim elimina los espacios sobrantes al comienzo de la cadena.
    echo STRTR(“El río de José”,”íé”,”ie”); STRTR cambia caracteres por otros en una cadena. (ver + pag.105)
    print STRREV(“hola”); //muestra en pantalla: aloh STRREV invierte una cadena de texto.
    echo CHR(65); //muestra: A CHR genera un caracter a partir de la tabla ASCII. (entero)
    echo ORD(“A”); //muestra: 65 ORD, a la inversa de CHR, devuelve el número entero ASCII correspondiente.
    Un texto entre el html Se puede intercalar código PHP en cualquier parte del HTML.
    #comentario
    //comentario
    /*comentario con multiples
    lineas */ Tres formas de agregar un comentario
    (un comentario al final del script da error en Front Page)
    error_reporting(15); //Activar el Reporting…
    echo $a+6;

    error_reporting(0); //Desactivar el Reporting… ERROR_REPORTING permite habilitar/desabilitar los mensajes de advertencia durante la ejecución. Por ejemplo variables no definidas darán un WARNING!.
    $a = 124;
    $a = 1.242;
    $a = – 42;
    $var = “Cadena”;
    $Var = “Cadena”;
    $a=TRUE; Asignación de variables. Las variables adquieren su tipo al asignarse. Atención: $Var es a $var

    También podemos asignar un valor booleano: TRUE o FALSE.
    Código antes de cualquier sentencia HTML ******************

    session_save_path(“/temp”);
    session_register(“sumar”);
    session_register(“restar”);

    ( también podría escribirse: session_register(“sumar”,”restar”) )

    Código PHP dentro del programa ******************************

    $sumar++;
    $restar=$restar-1;
    echo $sumar.””;
    echo $restar.””;
    Variables GLOBALES.
    Las variables globales mantienen su valor durante toda la sesión, es decir aunque el usuario cambie de página dentro de nuestro sitio.

    session_save_path: establece el path donde se grabará el archivo de variables en el disco.
    session_register: define una variable global.

    Cada página que se refiera a esas variables deben definirse con session_register.

    echo session_id().””;
    echo session_save_path().””;
    echo session_name().””;
    echo session_is_registered(“restar”); Funciones de sesión:
    _id(): Id de usuario
    _save_path(): path de grabación
    _name(): nombre de sesión
    _is_registered:TRUE si la variable es global.
    $bar = (INT) $a;
    $bar = (DOUBLE) $a;
    $bar = (STRING) $a;
    $bar = (ARRAY) $a;
    $bar = (OBJECT) $a; Asignación de variables forzando el tipo:
    INT = Entero, DOUBLE = Real, STRING = Cadena, ARRAY = Vector, OBJECT = Objeto
    x$ = $a + $b; //Suma
    x$ = $a – $b; //Resta
    x$ = $a * $b; //Multiplicación
    x$ = $a / $b; //División
    x$ = $a % $b; //Resto de la división Operaciones aritméticas.
    $a + = 5; // Suma abreviada, similar a: a = a + 5
    $a = $a.”Cadena”;
    $a. = “Cadena”; El primer comando es igual a: $a = $a + 5

    El símbolo ‘ . ‘ concatena cadenas.
    Una forma abreviada de $a=$a+X es $a.=X
    $a = $b++; // $a es igual a $b, luego sume 1 a $b.
    $a = ++$b; // sume 1 a $b, luego $a es igual a $b.
    $a = $b–; // $a es igual a $b, luego reste 1 a $b.
    $a = –$b; // reste 1 a $b, luego $a es igual a $b. Formas de pre y post incremento automático. (n = n + 1)
    ECHO “Variable $a incrustada”;
    ECHO $a[0];
    ECHO “Este mensaje $a[0] es unico”;
    ECHO “La variable \$a no muestra su contenido”;
    ECHO “contacto

    Nota: Para el último ejemplo podrían haberse escrito comillas simples:
    ECHO “contacto
    Se puede incrustar una variable dentro de una cadena.
    Se pueden extrar n caracteres de una cadena usando $a[n]
    El penúltimo ejemplo protege el caracter $, y por esa razón no interpreta a $a como variable, sino como la cadena $a.
    En el último ejemplo el caracter protector \ muestra las comillas, en lugar de delimitar la cadena.
    PRINT STRLEN( $a );
    PRINT $ar[ STRLEN ( $a ) – 1]; Muestra la candidad de caracteres de una cadena
    La última instrucción muestra el último caracter de la cadena
    print STRCASECMP(“hola”,”h”); //devuelve: 1

    El proceso sería: longitud(cadena1) – longitud(cadena2) Compara las longitudes de dos cadenas devolviendo un número entero: negativo, positivo o cero.
    echo SUBSTR(“Horrible”,1,2); #muestra: hORrible
    echo SUBSTR(“Horrible”,1); #muestra: ORRIBLE (dde n hasta el final)
    echo SUBSTR(“Horrible”,-3); #muestra: horriBLE (n caracteres dde final)
    echo SUBSTR(“Horrible”,-3,2); #muestra: horriBLe
    echo SUBSTR(“Horrible”,3,-2); #muestra: horRIBle La función SUBSTR permite extraer X cantidad de caracteres de una cadena (similar a MID$ de Basic)
    echo EREG(“abc”,”129382abc09282″); //Busca abc en la cadena (true)
    echo EREG(“^abc”,”abc129382ae1c09282″); //Busca abc desde el comienzo (true)
    echo EREG(“abc$”,”12938209282abc”); //Busca abc desde el final (true)
    echo EREG(“abc|def”,”12938def209282″); //Busca abc o def (true)
    echo EREG(“abc|def[01]”,”12938def1209282″); //Busca abc o def0 o def1 (true)

    echo EREGI(“abc|def[01]”,”12938DEF1209282″); //Busca abc o def0 o def1 (true)
    Busca una cadena dentro de otra. El resultado será TRUE o FALSE, es decir 1 o nada.
    En EREG las mayúsculas y minúsculas son influyentes.
    EREGI es igual a ereg pero sin importar mayúsculas y minúsculas.
    echo EREG_REPLACE(” is”,” was”,”This is a test”);

    echo EREGI_REPLACE(” is”,” was”,”This Is A Test”);
    Busca en una cadena y reemplaza el string encontrado.
    En este ejemplo busca IS de la frase “This is a test”, y la reemplaza por WAS. Entonces la frase se muestra:

    This was a test

    EREGI_REPLACE cumple la misma función pero mayúsculas y minúsculas son indistintas.
    print SUBSTR_REPLACE(“este es el juego”,”ta”,2,5);

    proceso esta es el juego
    resultado esta el juego Sobreescribe una cadena.
    Cadena, cadena de reemplazo, desde, cantidad de caracteres.
    $valor=STRTOK(“hola don pepito”,” “);

    while ($valor) {
    echo $valor;
    $valor=STRTOK(” “).””;
    } STRTOK parte una cadena buscando caracteres de corte definidos.

    Este ejemplo muestra:
    hola
    don
    pepito
    $datos=”uno,dos,tres,cuatro”;
    $vector=EXPLODE(“,”,$datos);
    print $vector[3]; //este ejemplo mostraría: cuatro EXPLODE divide una cadena en base a un caracter, y vuelca el resultado a una variable vector.
    $datos=array(“uno,dos,tres,cuatro”);
    $vector=IMPLODE(“,”,$datos);
    print $vector; // este ejemplo muestra: uno,dos,tres,cuatro IMPLODE (o JOIN) a la inversa que EXPLODE, pasa los valores de un vector a una cadena única.
    $lista=”var1=hola&var2=don&var3=pepito”;
    PARSE_STR($lista);
    print var2$; // imprime: don PARSE_STR evalúa una cadena tipo URL y pasa los valores a las variables.
    $saca = SPLIT(“:”,”uno:dos:tres”,3);
    echo $saca[1];

    $busqueda = SPLIT(” “,”a este texto lo separarán);
    (se creará un array $busqueda de 5 elementos: a, este, texto…)

    list($mes, $dia, $ano)=SPLIT( ‘[/.-]’, “04/30/1973” );
    echo “$mes $dia $ano”;
    Extrae subcadenas de un string y asigna los resultados a un vector dividiendo en base a un caracter separador.

    El 3° ejemplo extrae mes, día y año, y lo asigna a 3 variables distintas.
    $caracteres=COUNT_CHARS( “Hola * Don * Pepito” );
    echo $caracteres[42]; COUNT CHARS cuenta la cantidad de apariciones de un caracter en una cadena y lo asigna a un vector. 42 equivale al caracter * en ASCII, por lo tanto $caracteres será igual a 2.
    $a=array(“uno”,”dos”,”tres”);
    $s=SERIALIZE($a);

    Genera una cadena: a:3:{i:0;s:3:”uno”;i:1;s:3:”dos”;i:2;s:4:”tres”;}
    SERIALIZE crea una sola variable, a partir de varias. Por ejemplo, un array podría pasarse a otra página sin perder su integridad.
    $b=UNSERIALIZE($s); UNSERIALIZE decodifica una variable serializada, partiéndola en todas las variables originales.
    $a = 124 // Asigna 124 a $a, y evalua TRUE o FALSE)
    $a == $b // Igualdad
    $a === $b // Igualdad (deben ser del mismo tipo)
    $a != $b // Cierto si $a$b
    $a $b // Mayor que.
    $a = $b // Mayor o igual que. Signos de comparación para uso en condicionales.
    $a AND $b // Operador “Y”
    $a OR $b // Operador “O”
    $a XOR $b // Verdadero si uno es verdadero, pero no los 2 a la vez
    ! $a // Operador “No”
    $a && $b // Verdadero si ambos son TRUE
    $a || $b O // Cierto si $a o $b es TRUE (??) Operadores booleanos para condicionales.
    $b > $a ? $v=”mayor” : $v=”menor”;

    IF ($a > $b) print “a es mayor que b”;

    IF ($a > $b) {
    print “a es mayor que b”;
    $b = $a;
    }

    IF ($a > $b) {
    print “a es mayor que b”;
    } ELSE {
    print “a NO es mayor que b”;
    }

    IF ($a > $b) {
    print “a es mayor que b”;
    } ELSEIF ($a == $b) {
    print “a es igual que b”;
    } ELSE {
    print “a es mayor que b”;
    }

    IF ( $a ) {

    }

    IF ( ! $a) {

    }

    IF ($a == 5) :
    print “a es igual a 5”;
    print “…”;
    ELSEIF ($a == 6):
    print “a es igual a 6”;
    print “!!!”;
    ELSE:
    print “a no es ni 5 ni 6”;
    ENDIF;

    $a = 5;
    IF ($a==5):
    texto en html inserto entre codigo PHP
    ENDIF;
    Formas de escribir un condicional, similar al IF-THEN-ELSE-ELSEIF de VBScript.

    La forma IF-ENDIF es otra sintaxis válida. En el último ejemplo se muestra cómo se ha intercalado código PHP – HTML – PHP en forma consecutiva.

    Una forma simplificada de comprobar si una variable es verdadera TRUE es usando:

    IF ($a) {…

    El operador de negación NOT se puede escribir como signo de admiración: !

    IF ( ! $a) {…
    $a=0;
    while ($a<100) {
    if ($a==50) {
    echo “oooooooo…”;
    BREAK;
    }
    $a++;
    echo $a;
    } El comando BREAK permite escapar de un bucle. También se admite un valor adicional para indicar cuantos bucles hay que escapar:

    Ej: BREAK 2 (para salir de 2 sentencias IF)
    $i = 1;
    WHILE ($i <= 10) {
    print $i++;
    }

    $i = 1;
    WHILE ($i <= 10):
    print $i;
    $i++;
    ENDWHILE;

    $num=1;
    WHILE($num0);

    DO {
    if ($i < 5) {
    print “i no es lo suficientemente grande”;
    BREAK;
    }
    $i *= $factor;
    if ($i < $minimum_limit) {
    BREAK;
    }
    print “i es correcto”;
    } WHILE ( 0 );
    Bucles WHILE, DO, ENDWHILE.
    FOR ($i = 1; $i <= 10; $i++) {
    print $i;
    }

    #similar a: For i = 1 to i<= 10 : print i : i = i + 1 : Next
    FOR ($i = 1; $i 10) {
    BREAK;
    }
    print $i;
    }

    #ejemplo aún más innecesariamente largo
    $i = 1;
    FOR ( ; ; ) {
    if ($i > 10) {
    BREAK;
    }
    print $i;
    $i++;
    }

    FOR ($i = 1 ; $i “Paris”,”Roma”,”Sevilla”);

    $a = ARRAY( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

    $a[1] [0] = “hola”;
    $a[“foo”] [2] = “amigo”;
    $a[“foo”] [4] [“bar”] [0] = “tetradimensional”;

    $a[ ] = “a”;
    $a[ ] = “b”;
    $a[ ] = “c”;
    Diferentes formas de asignación de valores a arrays unidimensionales y multidimensionales.

    La función array permite cargar valores desde el índice deseado (1), y no cero como es por defecto.

    $a[ ] asigna valores a un vector con autoíndice.
    $a[“color”] = “rojo”;
    $a[“sabor”] = “dulce”;
    $a[“forma”] = “redondeada”;
    $a[“nombre”] = “manzana”; Asignación de arrays asociativos
    $m_error[“es”] = “Esto es un error”;
    $m_error[“en”] = “This is an error”;
    //ahora podemos seleccionar el idioma: $idioma=”es”

    echo $m_error[$idioma];
    Una forma práctica del uso de Arrays se relaciona con la selección del Idioma dentro de un sitio web.
    Podemos enviar todas las salidas a pantalla a través de variables, en lugar de cadenas constantes.
    $a = ARRAY(
    “color” => “rojo”,
    “sabor” => “dulce”,
    “forma” => “redondeada”,
    “nombre” => “manzana”
    ); Asignación de arrays asociativos con la función ARRAY.
    $a = ARRAY(“manzana” => ARRAY(“color” => “rojo”,
    “sabor” => “dulce”,
    “forma” => “redondeada”),
    “naranja” => ARRAY (“color” => “naranja”,
    “sabor” => “ácido”,
    “forma” => “redondeada”),
    “plátano” => ARRAY( “color” => “amarillo”,
    “sabor” => “paste-y”,
    “forma” => “aplatanada”) ); Asignación de arrays multidimensionales asociativos con la función ARRAY.
    PRINT COUNT( $a );

    ECHO “Esto es { $a[0][0] } un array inserto”;
    COUNT o SIZEOFcuenta la cantidad de elementos de un array.

    Para mostrar el valor de un array multidimensional dentro de una cadena debemos usar llaves {}.
    $ciudad = ARRAY( 1=>”Paris”,”Roma”,”Sevilla”);

    RESET($ciudad);
    echo CURRENT($ciudad);
    NEXT($ciudad);
    echo CURRENT($ciudad);
    PREV($ciudad);
    echo CURRENT($ciudad);
    END($ciudad);
    echo CURRENT($ciudad);
    Las funciones de ARRAY permiten mover el puntero señalador del vector:

    RESET = Mover al 1° elemento
    NEXT = Ir al p róximo elemento
    PREV = Ir al elemento anterior
    END = Ir al último elemento
    CURRENT = Cargar el elemento (también llamada POS)
    print KEY($vector); KEY devuelve la posición actual del puntero de arrays.
    $a = array(1,2,3,4,5,6,7,8,9,10);

    FOREACH( $a AS $value) {
    echo $value;
    } La función FOREACH recorre todo el array, asignándole en cada paso el valor del elemento a la variable $value. (falta ver EACH)
    $visitas = ARRAY(“lunes”=>5,”martes”=>6,”miercoles”=>9,”jueves”=>12,”viernes”=>7);
    RESET($visitas);
    while(LIST($clave,$valor)=EACH($visitas)) {
    echo “el dia $clave ha tenido $valor visitas”;
    } La función LIST asigna el índice y valor del elemento de un vector. La función EACH lee los elementos de un vector y se posiciona en el próximo elemento.
    $vector=array(“uno”,”dos”,”tres”);
    print ARRAY_POP($vector); // Imprime: tres ,y luego lo elimina del vector. ARRAY_POP utiliza un vector como Pila. Esta función extrae el último elemento del vector, y luego lo elimina de la lista.
    $vector=array(“uno”,”dos”,”tres”);
    print ARRAY_SHIFT($vector); ARRAY_SHIFT (función de Pila) extrae el primer elemento de un vector, y luego lo elimina, “subiendo” el resto de los elementos al comienzo del mismo.
    $vector=array(“uno”,”dos”,”tres”);
    ARRAY_PUSH($vector,”cuatro”,”cinco”,”seis”);
    //El vector quedaría:”uno”,”dos”,”tres”,”cuatro”,”cinco”,”seis” ARRAY_PUSH es otra función de Pila, y permite agregar nuevos elementos al final del vector.
    $vector=array(“uno”,”dos”,”tres”);
    ARRAY_UNSHIFT($vector,”cero”); ARRAY_UNSHIFT agrega elementos al principio del vector.
    $vector=array(“cordero”,”abaco”,”babosa”);
    SORT($vector);
    print $vector[0];
    print $vector[1];
    print $vector[2]; SORT ordena los elementos de un vector alfabéticamente.
    ARSORT, ASORT, KRSORT, KSORT, RSORT, UKSORT, USORT, RANGE Todas se relacionan con el ordenamiento de vectores.
    SHUFFLE($vector); SHUFFLE ordena los elementos de un vector de forma aleatoria.
    $vector1=array(“perro”,”gato”);
    $vector2=array(“loro”,”canario”);
    $nuevo =ARRAY_MERGE($vector1,$vector2); ARRAY_MERGE concatena 2 vectores en otro nuevo.
    $vector=array(“perro”,”gato”,”loro”,”canario”);
    $resultado=ARRAY_PAD($vector,10,0);
    //el vector contendrá 10 elementos, los elementos vacíos serán reemplazados por el número: 0 ARRAY_PAD dimensiona y rellena un vector con un elemento indicado.
    $vector=array(“perro”,”gato”,”loro”,”canario”);
    $nuevo=ARRAY_REVERSE($vector); ARRAY_REVERSE invierte los elementos de un vector.
    $vector=array(“perro”,”gato”,”loro”,”canario”);
    if (IN_ARRAY(“loro”,$vector)) {
    echo “Encontró el elmemento Loro”;
    } IN_ARRAY permite buscar un elemento en un vector. Devuelve TRUE o FALSE.
    ARRAY_SPLICE, ARRAY_WALK, COMPACT, ARRAY_COUNT_VALUES, ARRAY_SLICE, ARRAY_VALUES, EXTRACT Funciones con Arrays más específicas, sin probar.
    SETLOCALE(“LC_ALL”,”es_ES”); SETLOCALE cambia el idioma de los textos mostrados por ciertas funciones. (solo funiona si están instalados los idiomas en el sistema)
    if (CHECKDATE($mes,$dia,$ano)) {
    echo “Fecha Correcta”;
    } else {
    echo “Fecha Incorrecta”;
    } CHECKDATE devuelve TRUE si la fecha es válida.
    print DATE(“YmdHis”);

    Las cadenas aplicables son:
    a am/pm
    A AM/PM
    d dia del mes con ceros
    D abreviatura del dia de la semana (ingles)
    F nombre del mes (ingles)
    h hora en formato 1-12
    H hora en formato 0-23
    i minutos
    j dia del mes sin ceros
    l dia de la semana
    m numero del mes (1-12)
    M abreviatura del mes (ingles)
    s segundos
    y año con 2 dígitos
    Y año con 4 digitos
    z dia del año (1-365)
    Este ejemplo imprime la fecha y también la hora: 20010910004143.

    DATE son funciones de fecha con múltiples formatos.
    $fecha = GETDATE();
    echo $fecha[“seconds”].””;
    echo $fecha[“minutes”].””;
    echo $fecha[“hours”].””;
    echo $fecha[“mday”].””; //número de día del mes
    echo $fecha[“wday”].””; //día de la semana (en números del 1 al 7)
    echo $fecha[“mon”].””; //número de mes
    echo $fecha[“year”].””; //año
    echo $fecha[“yday”].””; //cantidad de días del año transcurridos
    echo $fecha[“weekday”].””; //dia de la semana en texto
    echo $fecha[“month”].””; //mes en texto GETDATE() carga en un vector asociativo las variables más importantes de fecha.
    setlocale(“LC_ALL”,”es_ES”);
    $ahora=time();
    echo STRFTIME(“%A, %d de %B de %Y, a las %H:%M:%S”, $ahora)

    Diferentes caracteres aplicables a la cadena:

    %a Nombre del día abrev.
    %A Nombre del día completo
    %b Nombre del mes abrev.
    %B Nombre del mes completo
    %c Representación de fecha y hora según locales
    %d Número de día del mes (00-31)
    %H Hora (00-23)
    %I Hora (01-12)
    %j Número del día del año (1-366)
    %m Número del mes (1-12)
    %M Minutos (0-59)
    %p Muestra “a.m.” o “p.m.”
    %S Segundos (00-59)
    %U Número de la semana del año (empieza 1er domingo)
    %W Número de la semana del año (empieza 1er lunes)
    %w Número de día de la semana (domingo=0)
    %x Representación de fecha y hora según locales sin hora.
    %X Representación de fecha y hora según locales sin fecha.
    %y Año (00-99)
    %Y Año (2001)
    %Z Zona horaria, nombre o abreviatura.
    %% Un caracter %.
    STRFTIME formatea una fecha y permite aplicar LOCATES para visualizar los nombres de fecha en otros idiomas.

    print TIME(); TIME devuelve la hora en formato UNIX, aplicable en funciones PHP
    $dia = 12
    $mes = 2
    $ano = 2001
    $fecha = MKTIME(0, 0, 0, $mes, $dia, $ano); MKTIME convierte una fecha standard en una fecha tipo UNIX, la cual podemos usar para numerables funciones en PHP.
    GETTIMEOFDAY, MICROTIME, MKTIME, GMDATE, GMMKTIME, GMSTRFTIME Más funciones de fecha y hora.
    $a = 21
    INCLUDE “archivo.inc”; Archivo.inc es un archivo de texto que contiene código PHP grabado en disco.
    El valor de $a se conserva dentro de archivo.inc
    REQUIRE “encabezado.php”;
    …programa principal html…
    REQUIRE “pie.php”; REQUIRE carga una página PHP en nuestra página principal.
    Es vital utilizarlo para generar una página con Encabezado y Pié.
    FUNCTION Test () {
    echo “Hola”;
    }

    Test ();

    $x=24;
    $y=33;
    print mayor($x,$y);

    FUNCTION mayor($x,$y) {
    if ($x>$y) {
    return $x.” es mayor que”.$y;
    } else {
    return $y.” es mayor que”.$x;
    }
    }
    Declaración de una función: FUNCTION.
    Es importante saber que las variables del programa se pierden dentro de las funciones, a menos que sean declaradas Globales.

    La función RETURN almacena la cadena de salida que devolverá la función.
    function square($num) {
    RETURN $num * $num;
    }
    echo square(4); La función RETURN pasa un valor de una función al flujo del programa

    Este ejemplo muestra 16.
    function multiples() {
    $a=12;
    $b=13;
    $c=14;
    RETURN array($a,$b,$c);
    }
    LIST($uno, $dos, $tres) = multiples();
    echo $uno;
    echo $dos;
    echo $tres; La función RETURN no puede devolver múltiples valores, pero podemos hacerlo usando una variable ARRAY en el retorno.

    La función LIST carga en tres variables los valores recibidos por la función.
    $a = “Hola”;
    FUNCTION Muestra() {
    GLOBAL $a;
    echo $a;
    }
    Muestra();

    $a = “Hola”;
    FUNCTION Muestra() {
    echo $GLOBALS[“a”];
    }
    Muestra();
    Al declarar la variable $a como Global, esta no pierde su valor al utilizarse dentro de funciones.

    Estas son dos formas de declarar variables globales.
    FUNCTION Test () {
    $a = 10;
    $b = 11;
    $c = $a + $b;
    }

    FUNCTION foo () {
    RETURN 5;
    }

    FUNCTION Test () {
    STATIC $a = 0;
    $a = $a + 1;
    }
    En el primer ejemplo $c sale de la función con valor nulo, pues las variables declaradas dentro de la función pierden su valor al salir.

    El 2do. ejemplo retorna el valor constante 5 con la función RETURN.

    En el tercer ejemplo se define la variable $a como STATIC, esto permite acceder a su valor desde el resto del programa.

    El primer ejemplo muestra un sencillo formulario HTML que conecta con otra página. La página de recepción recibe en la variable $nombre el valor de campo ingresado en el formulario.

    El segundo ejemplo carga los campos del formulario en vectores.
    IF (! empty($var1)) {

    echo “Los valores del formulario son:”
    echo “La variable uno vale: $var1”
    echo “La variable dos vale: $var2”
    echo “La variable texto vale: $texto”
    //Aquí se ponen los controles de formulario.

    } ELSE {

    Variable Uno<input NAME=”var1″ VALUE=””>
    Variable Dos<input NAME=”var2″ VALUE=””>
    Texto

    } Controles de Formulario:

    Este segmento de programa contiene un formulario que se llama a sí mismo para verificar las entradas ingresadas en los campos.

    Allí se podrán hacer los controles habituales como se hacen en JavaScript:

    Seguridad: Es importante saber que los controles se ejecutarán en el servidor, entonces no es posible modificar el código y enviar datos desde una PC local.
    Propiedades de cuadro de texto (al hacer click en propiedades de campo de formulario)

    Nombre: entrada[]
    Valor Inicial: Un campo de formulario puede mostrar el contenido de una variable ($mostrar) y guardar el valor en un vector ( entrada[] ).
    echo “{$registro[“empresa”]}“; Esta línea establece un link. Nótese la forma de pasar un array usando llaves. En este ejemplo se pasa el campo ID, y se muestra como texto del link el campo EMPRESA.
    echo “Presione Aquí“; Este link permite pasar 2 variables a través del URL. Este ejemplo llama a la misma página con la función PHP_SELF.

    Todas las variables son tomadas por el script receptor como variables PHP, es decir anteponiéndole $ a nuestras variables del link. Ej: borrar => $borrar
    $var = URLENCODE( $a );
    echo “<a href=’pagina.php?texto=’>Presione Aquí“; La función URLENCODE procesa cadenas con caracteres especiales como espacios o símbolos.

    SIEMPRE debe usarse esta función para pasar variables a través de cadenas de consulta.
    $var = URLDECODE( $a );

    (ver pág. 99, para más opciones de URL´s)
    La función URLDECODE a la inversa que URLENCODE, decodifica la cadena convertida, devolviendo caracteres especiales como: espacios, &, “, etc…
    echo $HTTP_USER_AGENT.””;
    echo $REMOTE_ADDR.””; Estas líneas muestran el tipo de Sistema Operativo y el IP del Usuario.
    Código PHP antes de cualquier línea HTML ********************

    if ($HTTP_COOKIE_VARS[“SessionId”] == “”) {
    SetCookie( “SessionId”, uniqid(getenv(“REMOTE_ADDR”) ) );
    }

    Código de JavaScript en el cuerpo HTML **********************

    echo $HTTP_COOKIE_VARS[“SessionId”];

    Esta variable SessionId permanecerá inalterable durante toda la sesión del usuario, lo que permite identificar a un usuario en particular en todas las páginas que recorra. Simplemente habrá que consultar el valor de $HTTP_COOKIE_VARS[“SessionId”];

    Ejemplo: 127.0.0.13bd03 a9e0eb11

    Cuando el usuario cierra el navegador o vuelve a nuestra página otro día cierto código de la cookie se mantiene, pero otra cambia:

    Ejemplo de Ayer: 127.0.0.13bd03 a9e0eb11
    Ejemplo de Hoy.: 127.0.0.13bd03 b593d144
    La pequeña rutina incial pregunta si la variable $SessionId perteneciente a una Cookie está vacía. Si esto es cierto quiere decir que no se ha creado una Cookie aún, por lo que la creamos usando SetCookie. Grabamos la variable Sessionld con el contenido de REMOTE_ADDR que genera códigos únicos para cada usuario combinando IP de usuario y otros números:

    ….IP Usuario… ..variable.
    127.0.0.13bd03 a9e0eb11
    127.0.0.13bd03 b593d144
    127.0.0.13bd03 b86a39dc
    127.0.0.13bd03 c6f1d572

    Pueden pasarse varias variables creando varias Cookies, o empleando Arrays. Ver ejemplos de abajo.
    Código PHP antes de cualquier línea HTML ********************

    SETCOOKIE (“Cart[0]”, “secarropas”);
    SETCOOKIE (“Cart[1]”, “ventilador”);
    SETCOOKIE (“Cart[2]”, “computadora”);

    Código de JavaScript en el cuerpo HTML **********************

    echo $Cart[0];
    echo $Cart[1];
    echo $Cart[2];
    Este es un ejemplo de Cookies usando vectores.
    Una forma más sencilla de obtener el valor de una variable Cookie es llamándola por su nombre, y este valor de variable se mantendrá durante toda la sesión (todas las páginas del sitio)
    SETCOOKIE (“MyCookie[]”, “Testing”, time()+3600);
    SETCOOKIE (“MyCookie[]”, “rodo1968”, time()+3600);

    $Count = $Count + 1;
    SETCOOKIE (“Count”, $Count, TIME() + 3600);
    SETCOOKIE (“Cart[$Count]”, $item, TIME() + 3600);
    El primer ejemplo graba 2 Cookies en un vector MyCookie[0] y MyCookie[1]

    El segundo ejemplo crea una Cookie contadora, y otra en un vector para almacenar items de un carrito de compra.
    print IS_INT($a);
    print IS_LONG($a);
    print IS_DOUBLE($a);
    print IS_FLOAT($a);
    print IS_REAL($a);
    print IS_STRING($a);
    print IS_ARRAY($a);
    print IS_OBJECT($a); Estas funciones devuelven TRUE o nulo según sean o no del tipo interrogado.
    UNSET($a); UNSET: Elimina la definición de una variable. Puede usarse para recuperar recursos de memoria.
    SETTYPE($a,”string”);
    GETTYPE($a)

    Tipos: integer, double, string, array, object, unknown SETTYPE cambia el tipo de variable.
    GETTYPE obtiene el tipo de variable.
    $a=”1254.242Hola Don Pepe”;
    print DOUBLEVAL($a); //imprime: 1254.242

    $a=”1254.242Hola Don Pepe”;
    print INTVAL($a); //imprime: 1254
    DOUBLEVAL: Extrae el valor de coma flotante precedente a una cadena de texto.

    INTVAL: Extrae el valor entero precedente a una cadena de texto.
    if (EMPTY($var1)) {

    } EMPTY comprueba si la variable está vacía devolviendo TRUE o FALSE.
    No importa si la variable está o no definida.
    if (ISSET($var1)) {

    } ISSET devuelve TRUE si la variable está definida. (pag.85)
    print __FILE__ //camino del archivo que se está procesando
    print __LINE__ //línea que se está procesando
    print PHP_VERSION //versión de PHP que se está ejecutando
    print PHP_OS //sistema en el que está corriendo PHP ahora
    print TRUE //valor de TRUE (normalmente 1)
    print FALSE //valor de FALSE (normalmente nada) Constantes de PHP.
    echo PHPVERSION();
    echo PHPINFO();
    echo GETENV(“remote_addr”);
    echo GET_CURRENT_USER();
    echo date(“F d Y H:i.s.”,GETLASTMODE()); phpinfoversion: versión de PHP actual
    phpinfo: muestra información de variables del sistema PHP.
    remote_addr: IP del usuario
    get_current_user: nombre del propietario del Script.
    getlastmode: Fecha y hora de la última actualización de la página.
    DEFINE(“CONSTANTE”, “Hola mundo.”);
    echo CONSTANTE; Definición de constantes de usuario.
    Este ejemplo muestra “Hola mundo”
    print DEFINED(“CONSTANTE”); Devuelve TRUE, si la constante ha sido definida.

    Manejo de Ficheros en el servidor, escritura y lectura de datos.
    $archivo = FOPEN(“http://silvina/mysql1/prueba.txt” , “r”);

    r Solo lectura
    r+ Lectura y escritura
    w Solo escritura. Si no existe lo crea, y si ya existe sobreescribe
    w+Lectura y escritura. Si no existe lo crea, y si ya existe sobreescribe
    a Solo lectura. Si no existe lo crea, y si ya existe empieza a escribir al final del archivo
    a+ Lectura y escritura. Si no existe lo crea, y si ya existe empieza a escribir al final del archivo Abrir un fichero del disco.
    if ($archivo) {
    WHILE (!FEOF($archivo)) {
    echo FGETS($archivo, 255);
    }
    }
    FCLOSE($archivo); Con el bucle WHILE recorrer todos las líneas del archivo e imprimirlas.
    FCLOSE cierra el archivo.
    $archivo = FOPEN(“data.txt” , “w”);
    if ($archivo) {
    FPUTS($archivo, “Hola”);
    }
    FCLOSE($archivo); FPUTS, graba una línea de texto en el archivo data.txt
    print FREAD($fichero,20); FREAD lee de un archivo abierto n cantidad de bytes.
    FSEEK($fichero,10); FSEEK posiciona el puntero en un byte determinado, a partir del 1ro.
    print FTELL($fichero); FTELL devuelve la posición actual del puntero.
    FWRITE($fichero,”esta es la nueva linea”); FWRITE escribe una nueva línea en el archivo.
    REWIND($fichero); REWIND mueve el puntero al 1° byte
    if (FILE_EXISTS(“data.txt”)) {
    echo “existe”;
    } else {
    echo “no existe”;
    } Verifica si el archivo data.txt existe en el disco.
    Operaciones para Copiar, Borrar e Información de archivos.
    print BASENAME(“c:\php\data\info.txt”); Extrae el nombre de archivo.
    CLEARSTATCACHE(); Borra el caché para operaciones de archivo.
    print DIRNAME(“c:\php\data\info.txt”); Extrae el Path.
    print DISKFREESPACE(“c:”) Devuelve el espacio libre.
    print FILE_EXISTS(“prueba.txt”) Devuelve TRUE si el archivo existe.
    print FILESIZE(“archivo.doc”) Devuelve el tamaño del archivo.
    IS_DIR, IS_EXECUTABLE, IS_FILE, IS_LINK, IS_READABLE, IS_WRITEABLE (otros comandos relacionados)
    $vector=STAT(“prueba.txt”);
    foreach ($vector AS $cuenta) {
    echo $cuenta.””;
    } Recupera en un vector toda la información relacionada al archivo.
    COPY(“prueba.txt”,”images\prueba.txt”); Copia un archivo.
    $datos=FILE(“prueba.txt”);
    print $datos[0].””;
    print $datos[1].”” Lee un archivo, y vuelca sus líneas a un vector.
    RENAME(“prueba.txt”,”prueba2.txt”) Renombra un archivo.
    UNLINK(“prueba.txt”) Borra un archivo.
    Código HTML que crea un formulario en Programa.1 ******************************

    Código en JavaScript que muestra el resultado del envío Programa.2 ***********

    echo $userfile.””;
    echo $userfile_name.””;
    echo $userfile_size.””;
    echo $userfile_type.””;
    Este ejemplo consta de 2 programas:

    1. Un formulario que se encarga de elegir un archivo del disco del cliente y enviarlo por POST a un URL del programa receptor.

    2. El programa receptor adquiere variables especiales generadas luego del envío que permitirán luego copiar o mover el archivo almacenado en un archivo temporal del servidor.

    (Atención, el archivo en el temporal será borrado automáticamente luego de ejecutado el Script receptor)
    if (COPY($userfile,$userfile_name)) {
    echo “Se ha copiado”;
    } else {
    echo “Error”;
    } Copia el archivo $userfile con el nombre $userfile_name.
    (Esta rutina puede usarse en conjunción con la rutina JavaScript receptora de archivos del ejemplo anterior)
    TRABAJO CON DIRECTORIOS
    CHDIR, OPENDIR, CLOSEDIR, DIR, MKDIR, RMDIR, READDIR, REWINDDIR

    PHP + bases de datos MySQL
    $idconexion = mysql_connect(“localhost”,”rodo1968″, “20503214”);
    $idconexion = mysql_connect(“localhost”, “root”); Conexiones con el servidor con claves (Nombre, usuario, contraseña) o directas.
    $sql = “CREATE TABLE Jokes (“.
    “id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,”.
    “JokeText TEXT,”.
    “JokeDate DATE NOT NULL”.
    “)”;
    if (MYSQL_QUERY($sql) ) {
    echo (“Creada correctamente”);
    } else {
    echo (“Error al crear la base”.mysql_error() );
    } CREATE TABLE crea una tabla dentro de una base de datos.
    La función MYSQL_QUERY es realmente potente, permite ejecutar cadenas de proceso SQL en PHP.
    INT=Número entero
    NOT NULL=Nunca vacío
    AUTO_INCREMENT=Autonumérico
    PRIMARY KEY=Campo clave
    VARCHAR = Longitud variable
    CHAR=Longitud fija
    DATE=Campo fecha
    TEXT=Campo texto
    $idbase=mysql_select_db(“jokes”);
    $idbase=mysql_select_db(“jokes”, $idconexion); Abrir base de datos (Jokes). Puede referirse a la conexión por el 2do parámetro.
    if (!@$idconexion) {
    echo (“Error: no se puede abrir la conexión con MySQL”);
    exit();
    } Muestra un mensaje de error personalizado si $ideconexion no es (!=NOT) TRUE. El símbolo @ suprime el mensaje de error del sistema.
    if (!@$idbase) {
    echo(“Error: no se puede localizar la base “.$nombre);
    exit();
    } Muestra un mensaje de error personalizado para apertura de base de datos.
    $consulta = mysql_query(“SELECT * FROM authors”);
    $consulta = mysql_query(“SELECT * FROM agenda WHERE nombre LIKE ‘%John%’ ORDER BY nombre”);
    $consulta = mysql_query(“SELECT * FROM agenda WHERE nombre LIKE ‘%John%’ ORDER BY nombre DESC”); Diferentes formas de consulta.
    LIKE permite buscar un texto dentro de un campo:
    “%john%”=existe john en el campo?
    “john%” = debe comenzar con john
    “%john” = debe terminar con john
    ORDER BY ordena los registros de forma ascendente.
    ORDER BY-DESC ordena los registros de forma descendente.
    echo mysql_num_rows($consulta); Muestra la cantidad de registros afectados por la consulta
    $idbases = mysql_list_dbs($idconexion); Crea IDentificador de bases de datos del sistema.
    $numbases = mysql_num_rows($idbases); Cantidad de bases del sistema.
    $nombase = mysql_dbname($idbases,0); Primer (0) nombre de base de la lista de bases del sistema
    $idtabla = mysql_listtables(“jokes”); Crea IDentificador de tablas de una base (Jokes)
    $numtablas = mysql_num_rows($idtabla); Cantidad de tablas de una base
    $nomtabla = mysql_tablename ($idtabla,0); Primer (0) nombre de tabla de la lista de tablas de la base
    $idcampo = mysql_list_fields(“jokes”,$nomtabla); Crea IDentificador de campos de una tabla (Jokes=base de datos)
    $numcampos= mysql_num_fields($idcampo); Cantidad de campos de una tabla
    $nomcampo = mysql_field_name($consulta,0); Primer (0) nombre de campo de la lista de campos de una tabla
    $longcampo = mysql_field_len($consulta,0); Longitud del primer (0) campo de la tabla.
    $tipocampo = mysql_field_type($consulta,0); Tipo del primer (0) campo de la tabla.
    $flagscampo = mysql_field_flags($consulta,0); Flags del primer (0) campo de la tabla.
    $datocampo = mysql_result($consulta,0,”name”); Valor del campo “name” del primer registro (0) de la consulta
    $mover = mysql_data_seek($consulta,2); Mover el puntero al registro 2 de la consulta
    $registro = mysql_fetch_array($consulta);
    echo $registro[“joketext”];
    echo $registro[“name”];
    echo $registro[“email”]; Carga un array con un registro de la $consulta y muestra los 3 campos. El método Array permite referir a los campos por sus nombres (asociativo)
    $registro = mysql_fetch_row($consulta);
    echo $registro[0];
    echo $registro[1];
    echo $registro[2]; Carga un array con un registro de la $consulta y muestra los 3 campos. El método Row refiere al campo por un valor de índice.
    mysql_query(“UPDATE jokes SET joketext=’Num.Tres'”);
    mysql_query(“UPDATE jokes SET nombre=’$nombre’, direccion=’$direccion’, telefono=’$telefono’, email=’$email’ WHERE id=$id”); Actualizar un registro de la tabla Jokes
    mysql_query(“DELETE FROM jokes WHERE id=12”); Borrar un registro de la base Jokes
    mysql_query(“INSERT INTO jokes (nombre, direccion, telefono, email) VALUES (‘$nombre’, ‘$direccion’, ‘$telefono’, ‘$email’)”); Agregar un registro a la tabla Jokes
    mysql_query(“INSERT INTO jokes SET JokeText=’Que broma!’, JokeDate=CURDATE()”); Otro formato de agregar registros. La función CURDATE es propia de MySQL y carga la fecha actual. Hay numerosas funciones de este tipo (ver manual MySQL)

    <FORM ACTION=”” METHOD=POST>
    Type your joke here:

    <?php else:
    $dbcnx = @mysql_connect(“localhost”, “root”, “mypasswd”);
    if (!$dbcnx) {
    echo( “Unable to connect to the database server at this time.” );
    exit();
    }
    if (! @mysql_select_db(“jokes”) ) {
    echo( “Unable to locate the joke database at this time.” );
    exit();
    }
    if (“SUBMIT” == $submitjoke) {
    $sql = “INSERT INTO Jokes SET JokeText=’$joketext’, JokeDate=CURDATE()”;
    if (mysql_query($sql)) {
    echo(“Your joke has been added.”);
    } else {
    echo(“Error adding submitted joke:”.mysql_error() . “”);
    }
    }
    echo(” Here are all the jokes in our database: “);

    $result = mysql_query(“SELECT JokeText FROM Jokes”);
    if (!$result) {
    echo(“Error performing query:”.mysql_error() . “”);
    exit();
    }
    while ( $row = mysql_fetch_array($result) ) {
    echo(“” . $row[“JokeText”] . “”);
    }
    echo(“Add a Joke!“);
    endif;
    ?>

    Ejemplo general sencillo de manejo de una base de datos: Jokes.

    Un formulario se encarga del ingreso de nuevos chistes a la base y luego se muestran todos los registros grabados..

    Si $sumitjoke es SUBMIT quiere decir que se apretó el botón ENVIAR en el formulario, y por consiguiente hay que grabar un nuevo registro. Para esto se usa la función INSERT INTO.

    Luego se procede a mostrar todos los registros de la base ejecutando una consulta con SELECT.

    La manera más sencilla de recorrer secuencialmente una base es usando la función WHILE junto con MYSQL_FETCH_ARRAY.

    <FORM ACTION=”” METHOD=POST>
    Escriba su chiste:

    <?php else: // Conectarse al servidor ********************
    $dbcnx = @mysql_connect(“localhost”, “root”, “mypasswd”);
    if (!$dbcnx) {
    echo( “Unable to connect to the database server at this time.” );
    exit();
    }

    // seleccionar la base ****************************
    if (! @mysql_select_db(“jokes”) ) {
    echo( “Unable to locate the joke database at this time.” );
    exit();
    }

    // Si se envió un formulario, agregar un registro *********************
    if (“SUBMIT” == $submitjoke) {
    $sql = “INSERT INTO Jokes SET JokeText=’$joketext’, JokeDate=CURDATE()”;
    if (mysql_query($sql)) {
    echo(“Your joke has been added.”);
    } else {
    echo(“Error adding submitted joke: ” .mysql_error() . “”);
    }
    }

    // Si se ha presionado el link para borrar, borrar registro *********************
    if (isset($deletejoke)) {
    $sql = “DELETE FROM Jokes WHERE ID=$deletejoke”;
    if (mysql_query($sql)) {
    echo(“El chiste ha sido borrado!.”);
    } else {
    echo(“Error deleting joke: ” .mysql_error() . “”);
    }
    }

    echo(“Listado completo de chistes enviados: “);

    // Leer el chiste y el ID del registro ********************************************
    $result = mysql_query(“SELECT ID, JokeText FROM Jokes”);
    if (!$result) {
    echo(“Error performing query: ” .mysql_error() . “”);
    exit();
    }

    // Mostrar el chiste con un link para borrar el registro **********************
    while ( $row = mysql_fetch_array($result) ) {
    $jokeid = $row[“ID”];
    $joketext = $row[“JokeText”];
    echo(“$joketext Borrar“);
    }

    //Si se aprieta aquí, recargar la página para agregar registro **************
    echo(“Agregar un chiste!“);

    endif;

    ?>

    Este ejemplo es una modificación del anterior.
    Muestra el listado de registros de la base con un link por registro que permite borrar ese registro.
    Luego, un nuevo link al pie del listado permite agregar nuevos registros.

    $PHP_SELF es una variable reservada de PHP que permite llamar una página a sí misma dentro de un link.

    Los links para borrar o agregar registros pasan variables junto con la URL usando el caracter ?. Si tuviéramos que pasar varios parámetros usaremos el símbolo &. Ej: linkurl.php?valor=1&cielo=’azul’

    Para borrar un registro es necesario pasar por este mismo método el ID del registro a eliminar. ($jokeid)
    $conexion = @mysql_connect(“localhost”, “root”);
    if (!conexion) {
    echo( “Error; conexion” );
    exit();
    }
    if (!@mysql_select_db(“jokes”) ) {
    echo( “Error: apertura” );
    exit();
    }

    #Recorre todos los autores ***********************************
    $consulta = mysql_query(“SELECT name,aid FROM authors”);
    while ($autores = mysql_fetch_array($consulta)) {
    echo ““.$autores[“name”].”“;
    $autor=$autores[“aid”];

    #Recorre todos emails de un autor*****************************
    $consulta2 = mysql_query(“SELECT email,aid FROM email WHERE email.aid=$autor”);
    while ($correos = mysql_fetch_array($consulta2)) {
    echo $correos[“email”].””;
    }

    #Muestra la lista de chistes *********************************
    $consulta3 = mysql_query(“SELECT joketext,aid FROM jokes WHERE jokes.aid=$autor”);
    while ($chistes = mysql_fetch_array($consulta3)) {
    echo ““.$chistes[“joketext”].”“;
    }

    echo “”;
    } Proceso de una base de datos con varias tablas relacionales.

    Jokes:
    id, joketext, aid

    Authors:
    id, name, aid

    Email:
    id, email, aid

    Este ejemplo posee un bucle exterior y 2 interiores.

    El exterior($consulta) recorre todos los autores. El interior de Email ($consulta2) muestra todas las direcciones de email del autor. Y el interior de Chistes ($consulta3) muestra todos los chistes enviados por ese autor.
    // Apertura de la base y Consulta ****************************
    $conexion = @mysql_connect(“localhost”,”rodo1968″, “20503214”);
    if (!$conexion) {
    echo( “No se puede conectar con la base” );
    exit();
    }
    if (!@mysql_select_db(“notas”)) {echo( “No se puede abrir la base Notas” );
    exit();
    }
    $consulta = mysql_query(“SELECT * FROM redaccion”);

    $busqueda = SPLIT(” “,strtolower(trim($texto)));
    echo “Registros encontrados”;
    echo “*********************”;

    WHILE ($campo = mysql_fetch_array($consulta)) {

    $registro = SPLIT(” “,strtolower($campo[“claves”]));
    $mark=0;

    FOREACH( $registro AS $numero) {
    FOREACH( $busqueda AS $valor) {
    if ($valor==$numero) {
    $mark++;
    }
    }
    }

    if (($mark==count($busqueda) and $opcion==1) or ($mark and $opcion==0)) {
    echo ““.$campo[“titulo”].” “.$campo[“fecha”].” * “.$campo[“claves”].””;
    echo $campo[“nota”].””;
    echo ““.$campo[“autor”].”“;
    echo “”;
    if ($campo[“foto”]) {
    echo “”;
    }
    echo “”;
    }
    } Este es un ejemplo de Buscador:

    Un formulario permite ingresar un texto que será buscado y comparado con el campo Palabras-Clave de una base de datos para así acceder al artículo de nuestro interés.

    Se podrá seleccionar la búsqueda usando OR o AND en el formulario de búsqueda.

    La búsqueda por AND será cierta cuando la cantidad de palabras ingresadas sea igual a la cantidad encontradas en la búsqueda.

    Y la búsqueda será exitosa por OR cuando el resultado de las coincidencias sea mayor que 0.

    Las sentencias FOREACH anidadas son las encargadas de recorrer los 2 vectores, el del registro de la base y el del campo del formulario.

    Este ejemplo muestra una fotografía anexada con la nota encontrada. Se logra incluyendo una variable (un campo de la base que indica el nombre de archivo .GIF) dentro del tag de imagen html: IMG.

  8. un ejejmplo de bases de datos php

    En el propio código de la paginación se encuentran las instrucciones para ponerlo en marcha y explicaciones sobre el funcionamiento del script. En este texto se preproducen algunas de las notas ofrecidas para ponerlo en marcha.

    1.- Copiar el fichero busqueda.php en cualquier directorio del servidor web
    2.- Crear una base de datos llamado ‘tpv’ (si es diferente, deberíais cambiar el código)
    3.- Cambiar los datos de conexión si son diferentes.
    4.- Cargar la siguiente tabla en la base de datos:

    CREATE TABLE comercios (
    co_id varchar(10) NOT NULL default ”,
    co_nombre varchar(30) NOT NULL default ”,
    co_pais varchar(30) NOT NULL default ”,
    UNIQUE KEY co_id (co_id)
    ) TYPE=MyISAM;

    5.- Realizar los siguientes insert

    INSERT INTO comercios VALUES (‘ESGR000002’, ‘PRUEBA 2’, ‘ESPAÑA’);
    INSERT INTO comercios VALUES (‘ESGR000001’, ‘PRUEBA 1’, ‘ESPAÑA’);
    INSERT INTO comercios VALUES (‘516’, ‘JUAN PEREZ’, ‘MEXICO’);
    INSERT INTO comercios VALUES (‘984’, ‘ANTONIO RODRIGUEZ’, ‘MEXICO’);
    INSERT INTO comercios VALUES (‘996’, ‘INDALECIO TRAVIANNI’, ‘ARGENTINA’);
    INSERT INTO comercios VALUES (‘975’, ‘ABELARDO SAINZ’, ‘PERU’);
    INSERT INTO comercios VALUES (‘111’, ‘JOSE TOLTACA’, ‘PERU’);
    INSERT INTO comercios VALUES (‘332’, ‘RAIMUNDO ALONSO’, ‘ARGENTINA’);
    INSERT INTO comercios VALUES (‘123’, ‘JUN JUANES’, ‘BRASIL’);
    INSERT INTO comercios VALUES (‘585’, ‘JOAO PAMINHIO’, ‘BRASIL’);
    INSERT INTO comercios VALUES (‘23432432’, ‘JOAQUIN DIAZ’, ‘ESPAÑA’);

    Por supuesto estos datos pueden ser los que queráis, solo sirve de ejemplo.

    Una vez realizados todos estos pasos, ejecutar el fichero busqueda php… y a probar… 😀

    Nota: Al ser este un pequeño ejemplo, en el formulario de busqueda he dejado que busque el valor introducido en todos los campos.

    El código del script se puede ver a continuación:

    ejemplo de paginación de resultados

    function muestra(queCosa)
    {
    alert(queCosa);
    }

    Paginación
    de Resultados de una consulta SQL (sobre MySQL)http://www.pclandia.com

    <?
    //inicializo el criterio y recibo cualquier cadena que se desee buscar
    $criterio = “”;
    $txt_criterio = “”;
    if ($_GET[“criterio”]!=””){
    $txt_criterio = $_GET[“criterio”];
    $criterio = ” where co_id like ‘%” . $txt_criterio . “%’ or co_nombre like ‘%” . $txt_criterio . “%’ or co_pais like ‘%” . $txt_criterio . “%'”;
    }

    $sql=”SELECT * FROM tpv.comercios “.$criterio;
    $res=mysql_query($sql);
    $numeroRegistros=mysql_num_rows($res);
    if($numeroRegistros<=0)
    {
    echo “”;
    echo “No se encontraron resultados”;
    echo “”;
    }else{
    //////////elementos para el orden
    if(!isset($orden))
    {
    $orden=”co_id”;
    }
    //////////fin elementos de orden

    //////////calculo de elementos necesarios para paginacion
    //tamaño de la pagina
    $tamPag=5;

    //pagina actual si no esta definida y limites
    if(!isset($_GET[“pagina”]))
    {
    $pagina=1;
    $inicio=1;
    $final=$tamPag;
    }else{
    $pagina = $_GET[“pagina”];
    }
    //calculo del limite inferior
    $limitInf=($pagina-1)*$tamPag;

    //calculo del numero de paginas
    $numPags=ceil($numeroRegistros/$tamPag);
    if(!isset($pagina))
    {
    $pagina=1;
    $inicio=1;
    $final=$tamPag;
    }else{
    $seccionActual=intval(($pagina-1)/$tamPag);
    $inicio=($seccionActual*$tamPag)+1;

    if($pagina$numPags){
    $final=$numPags;
    }
    }

    //////////fin de dicho calculo

    //////////creacion de la consulta con limites
    $sql=”SELECT * FROM tpv.comercios “.$criterio.” ORDER BY “.$orden.”,co_id ASC LIMIT “.$limitInf.”,”.$tamPag;
    $res=mysql_query($sql);

    //////////fin consulta con limites
    echo “”;
    echo “encontrados “.$numeroRegistros.” resultados”;
    echo “ordenados por “.$orden.”“;
    if(isset($txt_criterio)){
    echo “Valor filtro: “.$txt_criterio.”“;
    }
    echo “”;
    echo “”;
    echo “”;
    echo “Código“;
    echo “Nombre“;
    echo “País“;
    while($registro=mysql_fetch_array($res))
    {
    ?>

    <tr bgcolor=”#CC6666″ onMouseOver=”this.style.backgroundColor=’#FF9900′;this.style.cursor=’hand’;” onMouseOut=”this.style.backgroundColor=’#CC6666′”o”];” onClick=”javascript:muestra(”);”>



    <?
    }//fin while
    echo “”;
    }//fin if
    //////////a partir de aqui viene la paginacion
    ?>

    1)
    {
    echo ““;
    echo “anterior”;
    echo “
    “;
    }

    for($i=$inicio;$i<=$final;$i++)
    {
    if($i==$pagina)
    {
    echo ““.$i.” “;
    }else{
    echo ““;
    echo “”.$i.”
    “;
    }
    }
    if($pagina<$numPags)
    {
    echo ” “;
    echo “siguiente
    “;
    }
    //////////fin de la paginacion
    ?>

    ::Inicio::

    Criterio de búsqueda:

    Se puede descargar aquí.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s