Universidad Bolivariana de Venezuela Informatica para la gestion social Sección 01 Profesor; Gabriel Garcia Hecho por; Gabriel Ascanio Belen Bello Yannizareth Rojas PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Se usa principalmente para la interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+. Cookies en PHP Como bien sabemos, HTTP es el protocolo de transferencia de HiperTextos utilizado en la world wide web. Se transfieren documentos HTML del servidor al cliente, dicha transferencia empieza cuando el cliente hace una petición mediante su navegador al servidor, el cual genera la respuesta y la envía. Para saber las páginas que visita un cliente, se envían las cookies. Las Cookies son bloques de información almacenadas en el cliente, que transfiere el servidor en la cabecera de los mensajes. Para que se puedan enviar,el cliente tiene que tenerlas habilitadas. Las cookies sólo pueden ser textos, y como máximo tienen un tamaño de 1K. Las cookies sólo son válidas desde el servidor que las envió. Las Cookies se utilizan para agilizar algunos procesos de identificación del usuario, a veces también se utilizan de modo comercial, por ejemplo si un usuario entra a menudo en una tienda on-line y suele visitar el catálogo de electrodomésticos, cuando entre un día en otra sección como alimentación, como ven que el cliente ha visitado habitualmente las secciones de electrodomésticos, puede aparecer “casualmente” en la página alguna oferta de elctrodomésticos o algún enlace... Las Cookies se programan de un modo sencillo en PHP. (Son compatibles con las versiones PHP3 PHP4 y PHP5). Las Cookies tienen una serie de campos, como mínimo se envía el nombre y el valor de la cookie. Otros campos de las cookies son:
int setcookie ( string nombre, string valor, int fecha, string path, string dominio, int segura)Para recuperar el valor de las cookies, se utiliza: $_cookie['nombre']; $http_cookie_vars['nombre'];Para borrar la cookie se envía una cookie con el mismo nombre pero sin valor. Veamos un ejemplo para visualizar los campos de las cookies: Ej: /* creamos una cookie que expire el 1 de Enero del 2010 a las 0.0.0 horas */ $fecha=mktime(0,0,0,1,1,2010); setcookie('micookie',$valor,$fecha,' ',' ',0); /*Ahora visualizamos los campos*/ echo $micookie; echo $http_cookie_vars['micookie']; Funciones La función podría ser definida como un conjunto de instrucciones que explotan ciertas variables para realizar una tarea más o menos elemental. PHP basa su eficacia principalmente en este tipo de elemento. Una gran librería que crece constantemente, a medida que nuevas versiones van surgiendo, es complementada con las funciones de propia cosecha dando como resultado un sinfín de recursos que son aplicados por una simple llamada. Las funciones integradas en PHP son muy fáciles de utilizar. Tan sólo hemos de realizar la llamada de la forma apropiada y especificar los parámetros y/o variables necesarios para que la función realice su tarea. Lo que puede parecer ligeramente más complicado, pero que resulta sin lugar a dudas muy práctico, es crear nuestras propias funciones. De una forma general, podríamos crear nuestras propias funciones para conectarnos a una base de datos o crear los encabezados o etiquetas meta de un documento HTML. Para una aplicación de comercio electrónico podríamos crear por ejemplo funciones de cambio de una moneda a otra o de calculo de los impuestos a añadir al precio de articulo. En definitiva, es interesante crear funciones para la mayoría de acciones más o menos sistemáticas que realizamos en nuestros programas. Funciones: echo y print() Estas dos instrucciones se utilizan para mostrar una o varias cadenas en la pantalla. Generalmente se ha venido utilizando la instrucción echo en los ejemplos realizados, pero también es posible utilizar la función print(), con la diferencia de que en esta función, la cadena a imprimir debe estar entre paréntesis, cosa que con la instrucción echo, no es necesario. Ejemplo: echo $Nombre; print ($Domicilio); Funcion: printf() Esta función es similar a la función print(), pero permite dar un cierto formato a lo que se desea imprimir. La Sintaxis de esta función es: printf("Formato", $cadena); Formato debe ser una letra permitida. $cadena es la variable a imprimir. Los tipos de formatos permitidos, son los siguientes:
Ejemplo 1: Este ejemplo almacena el valor del sueldo en la variable $Sueldo, y luego lo muestra de diferente forma: <Html> <Title> Ejemplo1-Printf.php </Title> <Body> <?Php $Sueldo = 2947.3262; printf($Sueldo . "<Br>"); printf("%f", $Sueldo); printf("<Br>"); printf("$ %7.2f",$Sueldo); printf("<Br>"); ?> </Body> </Html> Ejemplo 2: Asignar a una variable, una determinada cadena y posteriormente mostrarla en todos los formatos descriptos.
Es similar a la función printf, con la diferencia de que no imprime el resultado en el navegador, sino que se utiliza para almacenar una cadena en una variable. La sintaxis es la siguiente: variable = sprintf ("Formato", cadena); En este caso, sprintf, devuelve en la variable el valor de la cadena transformado de acuerdo al Formato indicado. El Formato puede ser cualquier letra de las descriptas para la función printf. Ejemplo 3: IDEM al ejemplo 2 utilizando sprintf. <Html> <Title> Ejemplo3-Sprintf.php </Title> <Body> <?Php $cadena = "76.9 minutos"; // Transformacion a binario $variable = sprintf("%b<Br>",$cadena); // Transformación a caracteres $variable .= sprintf("%c<Br>", $cadena); // Transformación a decimal $variable .= sprintf("%d<Br>", $cadena); // Transformación a float $variable .= sprintf("%f<Br>", $cadena); // Transformación a octal: "); $variable .= sprintf("%o<Br>", $cadena); // Transformación a string $variable .= sprintf("%s<Br>", $cadena); // Transformación a hexadecimal (minúscula) $variable .= sprintf("%x<Br>", $cadena); // Transformación a hexadecimal (mayúscula) $variable .= sprintf("%X<Br>", $cadena); echo $variable; ?> </Body> </Html> Funcion: strtoupper() Esta función permite transformar una cadena a mayúsculas. Ejemplo 4: Almacenar una frase en una variable y posteriormente mostrarla en mayúsculas. <Html> <Title> Ejemplo4-StrToUpper.php </Title> <Body> <?Php $frase = "Hoy es un día soleado."; echo "<H3>"; echo "Frase ingresada: " . $frase; echo "<Br><Br>"; echo "Frase en Mayúsculas: " . strtoupper($frase); ?> </Body> </Html> Funcion: strtolower() Es la inversa de la función anterior, es decir que transforma una cadena en minúsculas. Ejemplo 5: Almacenar una frase en una variable y posteriormente mostrarla en minúsculas. <Html> <Title> Ejejemplo5-StroLower.php </Title> <Body> <?Php $frase = "ESTE APUNTE ES DE PHP"; echo "<H3>"; echo "Frase ingresada: " . $frase; echo "<Br><Br>"; echo "Frase en Minúsculas: " . strtolower($frase); ?> </Body> </Html> Funcion: ucwords() Convierte el primer carácter de cada palabra en mayúsculas. Ejemplo 6: Inicializar una variable con el nombre y apellido de una persona y posteriormente mostrarla con sus primeros caraceteres en mayúsculas. <Html> <Title> Ejemplo6-UcWords.php </Title> <Body> <?Php $nombre = "marcelo rodriguez"; echo "<H3>"; echo "Cadena original: " . $nombre; echo "<Br><Br>"; echo "Cadena convertida: " . ucwords($nombre); ?> </Body> </Htm> Funcion: trim() Mediante esta función, se eliminan los espacios en blanco al inicio y al final de una cadena.. También elimina los caracteres de control: “\n”, “\r”, “\t” y “\0”. Ejemplo 7: <Html> <Title> Ejemplo7-Trim.php </Title> <Body> <?Php $profesion = "\n\r\tTécnico Constructor \n\n"; echo "<H3>"; echo "Cadena original: " . $profesion; echo "<Br><Br>"; echo "Cadena convertida: " . trim($profesion); ?> </Body> </Html> Al ejecutar este ejemplo, no se observarán diferencias al visualizarlo en el navegador, pero si se observarán diferencias si se visualiza el código generado por el programa. Funciones: ltrim() y chop() Funcionan de forma similar a trim(), con la diferencia de que ltrim(), elimina espacios en blanco al principio de la cadena, mientras que chop(), elimina espacios en blanco al final de la cadena. Funcion: strlen() Esta función permite obtener la longitud de una cadena de caracteres pasada como parámetro. Ejemplo 8: Almacenar en una variable una cadena de caracteres y luego mostrar la cantidad de caracteres que la constituyen.
Funcion: chr() La función chr() recibe un valor numérico y devuelve el carácter de la tabla ASCII que le corresponde Ejemplo 9: Imprimir la tabla ASCII desde el código 30 en adelante. <Html> <Title> Ejemplo9-Chr.php </Title> <Body> <?Php echo "<H3>"; echo "<Table border=2 align=Center width=100%>"; $c=30; for ($i=1; $i<24; $i++) { echo "<tr>"; for ($j=1; $j<=10; $j++) { echo "<th align=Center>" . $c . "</th>"; echo "<td align=Center>". chr($c) . "</td>"; $c++; } echo "</tr>"; } echo "</Table>" ; ?> </Body> </Html> Funcion: ord() Es la función inversa a la chr(), es decir que dado un carácter como parámetro, la función ord(), devuelve el valor del código que le corresponde. Ejemplo 10: Asignar a una variable un carácter y posteriormente mostrar el código que le corresponde: <Html> <Title> Ejemplo10-Ord.php </Title> <Body> <?Php echo "<H3>"; $c = "L"; echo "El caracter: $c tiene como código: " .ord($c); ?> </Body> </Html> Funcion: number_format() La función number_format permite dar un formato deseado a un valor numérico determinado. La sintaxis es la siguiente: number_format(variable Numerica, Cantidad De Decimales, “Separador de decimales”, “Separador de Miles”) ; Ejemplo 11: Dado un cierto valor numérico, imprimirlo con dos decimales separados por una coma, mostrando también los miles separados por puntos. <Html> <Title> Ejercicio11-NumberFormat.php </Title> <Body> <?Php echo "<H3>"; $valor = 8546921546.4875; echo "El valor corresponde a: "; echo number_format($valor,2,",","."); ?> </Body> </Html> Funcion: substr() Permite extraer una porción de texto de la cadena pasada como parámetro. Su sintaxis es la siguiente: substr(cadenaOriginal, lugarInicial, cantidadDeCaracteres) cadenaOriginal: Es la cadena de donde se extraerá el texto. lugarInicial: Representa la posición desde donde se comenzarán a extraer el texto. CantidadDeCaracteres: Indica cuantos caracteres se extraerán. (Opcional). Ejemplo 12: <Html> <Title> Ejemplo12-Subsrt.php </Title> <Body> <?Php echo "<H3>"; $cadena = "Alicia Martinez"; echo "Cadena Original: " . $cadena; echo "<Br>"; echo "Tres primeros caracteres: "; echo substr($cadena,0,3); echo "<Br>"; echo "Seis caracteres a partir del octavo: "; echo substr($cadena,7,6); echo "<Br>"; echo "Cuatros caracteres comenzando desde el último: "; echo substr($cadena,-4); ?> </Body> </Html> Funcion: ereg() Permite buscar una cadena dentro de otra cadena, devolviendo un valor verdadero si encontró coincidencia, de lo contrario, devuelve falso. Ejemplo 13: <Html> <Title> Ejemplo13-Erg.php </Title> <Body> <?Php echo "<H3>"; $cadena = "Carlos Javier Robles"; echo "Cadena Original: " . $cadena; echo "<Br>"; $clave = "Javier"; echo "<Br>"; if (ereg($clave, $cadena)) { echo "La palabra $clave existe en $cadena"; } else { echo "La palabra $clave No existe es $cadena"; } ?> </Body> </Html> Funcion: eregi() Es similar a la función anterior, con la diferencia de que eregi() ignora las mayúsculas y minúsculas. Funcion: ereg_replace() Esta función ereg_replace permite buscar una cadena dentro de otra y reemplazar la cadena encontrada con una cadena definida. La sintaxis es la siguiente: nuevaCadena = ereg_replace(claveBuscada, nuevoDato, cadenaOriginal); Ejemplo 14: En el ejemplo anterior, buscar y reemplazar el nombre Javier por Martín. <Html> <Title> Ejemplo14-EregReplace.php </Title> <Body> <?Php echo "<H3>"; $cadena = "Carlos Javier Robles"; echo "Cadena Original: " . $cadena; echo "<Br>"; $clave = "Javier"; $nuevoNombre = "Martín"; $nuevaCadena = ereg_replace($clave, $nuevoNombre, $cadena); echo "<Br>"; echo "Nuevo Nombre: " . $nuevaCadena ; ?> </Body> </Html> Es similar a la función anterior, con la diferencia de que eregi_replace() no tiene en cuenta las mayúsculas y minúsculas. Funcion: split() Permite separar una cadena de caracteres, pasándole como parámetro el carácter que actuará como separador. La cadena separada es almacenada en un arreglo. La sintaxis es la siguiente: vector = split(caracter, cadena, cantidadDeElementos) carácter: Es el carácter que actuará como separador. cadena: Es la cadena original. cantidadDeElementos: Es opcional, y determina cuantos elemento contendrá el vector generado. En caso de no indicarse, ajusta la cantidad automáticamente. Ejemplo 15: Dada una cadena de caracteres, generar un arreglo (vector) que contenga como elementos a cada una de las palabras de la cadena. <Html> <Title> Ejemplo15-Split.php </Title> <Body> <?Php echo "<H3>"; $cadena = "El invierno es muy frío"; echo "Cadena Original: " . $cadena; echo "<Br><Br>"; $separador = " "; $v = split($separador, $cadena); $cantidad = count($v); for ($i=0; $i<$cantidad; $i++) { echo "Elemento [$i]: $v[$i] <Br>"; } ?> </Body> </Html> Ejemplo 16: Parecido al anterior, pero guardando únicamente tres elementos en el vector. <Html> <Title> Ejemplo16-Split.php </Title> <Body> <?Php echo "<H3>"; $cadena = "El invierno es muy frío"; echo "Cadena Original: " . $cadena; echo "<Br><Br>"; $separador = " "; $v = split($separador, $cadena, 3); $cantidad = count($v); for ($i=0; $i<$cantidad; $i++) { echo "Elemento [$i]: $v[$i] <Br>"; } ?> </Body> </Html> Funcion: ucfirst() Permite pasar a mayúscula el primer carácter de una cadena. La función ucfirst() es útil cuando se desea imprimir nombres propios. Ejemplo 17: <Title> Ejemplo17-Ucfirst.php </Title> <Body> <?Php echo "<H3>"; $cadena = "alejandra"; echo "Cadena Original: " . $cadena; echo "<Br><Br>"; echo "Cadena procesada: " . ucfirst($cadena); echo "<Br><Br>"; ?> </Body> </Html> Funcion: ucwords() Premite cambiar a mayúsculas el primer carácter de todas las palabras de una cadena. Ejemplo 18: <Title> Ejemplo18-Ucwords.php </Title> <Body> <?Php echo "<H3>"; $cadena = "javier es buen alumno"; echo "Cadena Original: " . $cadena; echo "<Br><Br>"; echo "Cadena procesada: " . ucwords($cadena); echo "<Br><Br>"; ?> </Body> </Html> Funcion: strcmp() Compara dos string (cadenas). Ejemplo: strcmp(<string1>,<string2>) Retorna cero si las dos cadenas son exactamente iguales. Retorna mayor a cero si <string1> es mayor alfabéticamente. Retorna menor a cero en caso contrario $cadena1="lorena"; $cadena2="analia"; if (strcmp($cadena1,$cadena2)>0) { echo $cadena1." es mayor alfabéticamente que ".$cadena2; } De todos modos para comparar si dos string son iguales está permitido utilizar el operador == if ($cadena1=="lorena") { echo 'La variable $cadena1 almacena la cadena lorena'; } Se imprime: La variable $cadena1 almacena la cadena lorena (Recordar que si utilizamos las comillas simples, las variables no se sustituyen por el contenido de las mismas) La función strcmp es sensible a mayúsculas y minúsculas, si queremos ver si dos cadenas son iguales insensible a mayúsculas y minúsculas debemos emplear la función strcasecmp. Funcion: strpos() Esta función devuelve la posición que se encuentra en una cadena fuente una cadena clave. La sintaxis es la siguiente: $Pos = strpos(cadenaFuente, cadenaClave, comienzo); cadenaFuente: Es la cadena que será recorrida. cadenaClave: Es la cadena buscada. comienzo: Es opcional, y determina de que posición comenzará a explorar. Si se ignora, comienza desde el principio, posición cero. Ejemplo 19: Almacenar en una cadena, una frase y luego una palabra clave a buscar su posición. Imprimir la posición que le corresponde. <Html> <Title> Ejemplo19-Strpos.php </Title> <Body> <?Php echo "<H3>"; $cadena = "En un ecosistema conviven diversos tipos de organismos"; $clave = "eco"; echo "Cadena Original: " . $cadena; echo "<Br><Br>"; echo "Clave buscada: " . $clave; echo "<Br><Br>"; $p = strpos($cadena, $clave); if ($p!="") { echo "La clave se encuentra en la posición: $p" ; } else { echo "No existe la clave en la cadena fuente"; } ?> </Body> </Html> Tener presente que la primera posición es Cero. Abrir Archivos Para abrir archivos, se utiliza la función fopen, cuya sintaxis es la siguiente: fopen (nombre_archivo, modo); En donde: nombre_archivo: el nombre del archivo que se quiere abrir o crear. modo: indica de que forma se procederá a la apertura del archivo. Los distintos modos se comentan en los ejemplos siguientes: fopen (archivo.txt, a) Abre el archivo en modo de agregar información. Los datos que se ingresen se agregarán al final del mismo, sin eliminar el contenido que tuviera. En este modo, si el archivo no existe, lo creará en ese momento. fopen (archivo.txt, a+) Abre el archivo en modo de agregar información y además leerlo. Los datos que se ingresen se agregarán al final del mismo, sin eliminar el contenido que tuviera. En este modo, si el archivo no existe, lo creará en ese momento. fopen (archivo.txt, r) Abre el archivo en modo lectura solamente. El archivo debe existir. fopen (archivo.txt, r+) Abre el archivo en modo lectura y escritura. La información que se agregue, será insertada al principio del archivo. fopen (archivo.txt, w) Abre el archivo en modo escritura solamente. Si el archivo no existe, lo crea, y si existe con algún contenido, elimina toda su información, dejándolo en blanco. fopen (archivo.txt, w+) Abre el archivo en modo escritura y lectura. Si el archivo no existe, lo crea, y si existe con algún contenido, elimina toda su información, dejándolo en blanco. Cerrar Archivos Luego de abrir un archivo y realizar las operaciones necesarias en él, se debe cerrarlo. Para cerrar un archivo se utiliza la función fclose() que recibe como parámetro la variable del archivo que se está utilizando. Ejemplo: $f = fopen("archi.txt", r); fclose($f); Escritura en un Archivo Para guardar información en un archivo de texto se utilizan las funciones fputs() y fwrite(), que se detallan a continuación: Función fputs() Permite escribir en un archivo. Recibe tres parámetros, de los cuales los dos primeros son obligatorios y el tercero es opcional. La sintaxis es la siguiente: fputs ( variable_fichero, texto, largo) El primer parámetro es el puntero al archivo, es decir la variable de trabajo. El segundo parámetro es el texto que se desea escribir. El tercer parámetro es el largo de la cadena, si no se coloca, se grabará la cadena entera. Ejemplo 1: El siguiente ejemplo muestra un pequeño programa que graba una cadena de texto en un archivo llamado Texto1.txt. <Htm> <Title> Ejemplo01-Fputs.php </Title> <Body> <?Php $Texto="La materia se transforma consumiendo o liberando energía."; $f = fopen("Texto1.txt",w); fputs($f, $Texto); echo "Texto almacenado correctamente"; fclose($f); ?> </Body> </Htm> Al mismo resultado se hubiera llegado utilizando la función fwrite(), es decir, si en el ejemplo anterior se reemplaza fputs() por fwrite(), el resutado del programa no se alteraría. Lectura de un Archivo Para poder ver el contenido de un archivo de texto se pueden utilizar varias funciones: Función fpassthru() Permite ver el contenido completo de un archivo. Tiene como parámetro la variable archivo utilizada para abrirlo. Ejemplo 2: El siguiente ejemplo lee el archivo de texto grabado en el ejemplo 1. <Htm> <Title> Ejemplo02-Fpassthu.php </Title> <Body> <?Php $nombre="Texto1.txt"; $f = @fopen($nombre,r) or die("Error al abrir el archivo: $nombre"); echo "Texto:" . "<Br>"; fpassthru($f); echo "<Br><Br>"; echo "El texto se ha leído correctamente"; fclose($f); ?> </Body> </Htm> En primera instancia, se abre el archivo en modo lectura (r) y se utiliza la instrucción die() para poder imprimir un mensaje de error cuando el fichero a leer no exista. Con la instrucción fpassthru() se lee y se muestra el archivo. Función fread(). Permite leer parte de un archivo abierto. Esta función tiene dos parámetros y su sintaxis es la siguiente: fread(variable_fichero, cantidad); variable_fichero: es el puntero al archivo abierto de trabajo. cantidad: es la cantidad de caracteres que se pretende leer. Ejemplo 3: En el próximo ejemplo se leen los primeros 24 caracteres del texto grabado en el ejemplo 1. <Htm> <Title> Ejemplo03-Fread.php </Title> <Body> <?Php $nombre="Texto1.txt"; $f = @fopen($nombre,r) or die("Error al abrir el archivo: $nombre"); echo "<H3>"; echo "Texto leido:" . "<Br>"; echo fread($f,24); echo "<Br><Br>"; echo "Se han leído los 24 primeros caracteres"; fclose($f); ?> </Body> </Htm> Función fgetc() Permite leer un archivo de texto carácter por carácter, también se puede recorrer el archivo parcial o totalmente. Ejemplo 4: En este ejemplo se lee el archivo completo utilizando la función fgetc(), mediante un ciclo leyendo carácter por carácter. <Htm> <Title> Ejemplo04-Getc.php </Title> <Body> <?Php $nombre="Texto1.txt"; $f = @fopen($nombre,r) or die("Error al abrir el archivo: $nombre"); echo "<H3>"; echo "Texto leido:" . "<Br>"; while (!feof($f)) { echo fgetc($f); } echo "<Br><Br>"; echo "Texto leído completamente"; fclose($f); ?> </Body> </Htm> Para el ciclo se utilizó la estructura while(), que tiene como condición a la función feof(). Esta función significa fin de fichero (end of file), y se encarga de indicar si se llegó al final del archivo o no. En el ejemplo, la función está negada con el símbolo de admiración delante, por lo tanto, la línea se lee de la siguiente manera: Mientras no sea el fin del fichero, procese. Lo que procesará será la función fgetc(), que leerá caracteres hasta que se termine en archivo, saliendo del ciclo while(). El resultado de este ejemplo es el siguiente: Función fgets() Permite leer una cadena de texto de un archivo, tiene dos parámetros y su sintaxis es la siguiente: fgets (variableFichero, longitud); variable_Fichero: es el puntero al archivo abierto de trabajo. longitud: Es opcional, y es la cantidad de caracteres – 1, que se pretende leer. Es decir que si se pretende leer 24 caracteres por ejemplo, la longitud debería ser de 25. Ejemplo 5: <Htm> <Title> Ejemplo05-Fgets.php </Title> <Body> <?Php $nombre="Texto1.txt"; $f = @fopen($nombre,r) or die("Error al abrir el archivo: $nombre"); echo "<H3>"; echo "Texto leido:" . "<Br>"; echo fgets($f,25); fclose($f); ?> </Body> </Htm> Función file() Esta función permite almacenar un texto en un vector. El almacenamiento se producirá línea por línea, es decir que cada elemento del vector contendrá una línea de texto. Ejemplo 6: Guardar en un archivo, un determinado texto y posteriormente almacenarlo línea por línea en un vector. <Htm> <Title> Ejemplo06-File.php </Title> <Body> <?Php // Almacenamiento del Texto $Texto="En el universo hay materia y energía, la materia se halla en ciertos cuerpos llamados cuerpos celestes. Algunos cuerpos son frios y no emiten energía, otros son calientes y emiten luz y calor."; $f = fopen("Texto2.txt",w); fwrite($f, $Texto); fclose($f); // Generación del vector $nombre="Texto2.txt"; $f = @fopen($nombre,r) or die("Error al abrir el archivo: $nombre"); fclose($f); $v = file($nombre); $cantidad = count($v); echo "<H3>"; echo "Vector Generado:" . "<Br>"; for ($i=0; $i<$cantidad; $i++) { echo "Posición [$i]: $v[$i]" . "<Br>"; } ?> </Body> </Htm> Recorrido de un Archivo Las siguientes funciones muestran como se posiciona en el archivo en un lugar determinado, leer una porción de texto y tomar la posición de donde se encuentra el puntero en el archivo. Función rewind() La función rewind() mueve el puntero al inicio del archivo. Recibe como parámetro a la variable fichero que se abrió previamente. Función fseek() La función fseek() permite situar el puntero en un lugar específico. Tiene dos parámetros, el primero es la variable fichero, y el segundo es el número de carácter donde se quiere posicionar. (Tener presente de que el primer carácter es el número 0). Ejemplo 7: El siguiente ejemplo, se posiciona en el carácter número 19 y lee los 18 caracteres siguientes del Texto2.txt, luego en el próximo renglón, se posiciona en el carácter número 15 y lee los siguientes 4 caracteres y por último, se posiciona al principio con la función rewind() y se leen los primeros 14 caracteres. <Htm> <Title> Ejemplo07-Fseek.php </Title> <Body> <?Php $nombre="Texto2.txt"; $f = @fopen($nombre,r) or die("Error al abrir el archivo: $nombre"); echo "<H3>"; fseek($f, 19); echo fread($f, 18); echo "<Br>"; fseek($f, 15); echo fread($f, 4); echo "<Br>"; rewind($f); echo fread($f, 14); fclose($f); ?> </Body> </Htm> Función ftell() Permite obtener la posición de donde está el puntero en el archivo. Recibe como parámetro la variable fichero y devuelve el valor numérico de la posición en que está el puntero. Ejemplo 8: Leer un archivo y mostrar la posiciones de cada uno de los caracteres que lo constituyen. <Htm> <Title> Ejjemplo08-Ftell.php </Title> <Body> <?Php $nombre="Texto1.txt"; $f = @fopen($nombre,r) or die("Error al abrir el archivo: $nombre"); echo "<H3>"; echo "Archivo: "; echo fgets($f); echo "<Br>"; rewind($f); while (!feof($f)) { echo " Posición (" . ftell($f) . ") : "; echo fgetc($f); echo "<Br>"; } fclose($f); ?> </Body> </Htm> Funciones Útiles para el manejo de Archivos Se describen a continuación funciones útiles para el manejo de archivos, entre ellas se verá como copiar, renombrar y obtener información de los archivos almacenados. Función copy() Esta función permite realizar una copia de un archivo determinado. Necesita dos parámetros, que son: el nombre del archivo origen y el nombre del archivo destino. Si la copia se realiza con éxito devuelve verdadero, de lo contrario devuelve falso. Ejemplo 9: Realizar una copia del archivo Texto1.txt en el archivo Texto1.bak. <Htm> <Title> Ejemplo09-Copy.php </Title> <Body> <?Php $origen="Texto1.txt"; $f = @fopen($origen,r) or die("Error al abrir el archivo: $origen"); echo "<H3>"; echo "Archivo: "; echo fgets($f); echo "<Br>"; fclose($f); $destino="Texto1.bak"; if (copy($origen, $destino)) { echo "La copia se realizó con éxito"; } else { echo "No se pudo realizar la copia"; } ?> </Body> </Htm> Función file_exists() La función file_exists() permite determinar la existencia o no del archivo pasado como parámetro. Devuelve verdadero en caso de existir el archivo, en caso contrario devuelve falso. Generalmente se utiliza esta función cuando se pretende borrar el archivo, renombrarlo o simplemente abrirlo. Ejemplo 10: Verificar si el archivo Texto1.txt existe o no. <Htm> <Title> Ejemplo10-File_Exists.php </Title> <Body> <?Php $nombre="Texto1.txt"; if (file_exists($nombre)) { echo "El $nombre existe"; } else { echo "El $nombre no existe"; } ?> </Body> </Htm> Función rename() Permite cambiar el nombre a un archivo. Acepta dos parámetros, el primero es el nombre actual del archivo y el segundo es el nombre nuevo que se le quiere dar. Ejemplo 11: Cambiar el nombre del archivo Texto1.bak por Archi1.txt. <Htm> <Title> Ejemplo11-Rename.php </Title> <Body> <?Php $nombreActual="Texto1.bak"; $nombreNuevo ="Archi1.txt"; if (file_exists($nombreActual)) { rename($nombreActual, $nombreNuevo); echo "El nombre se cambió correctamente"; } else { echo "No se encontro el archivo $nombreActual"; } ?> </Body> </Htm> Función unlink() Esta función se utiliza para borrar un archivo. Recibe como parámetro el nombre del archivo a borrar. Ejemplo 12: Borrar el archivo Archi1.txt. <Htm> <Title> Ejemplo12-Unlink.php </Title> <Body> <?Php $nombre="Archi1.txt"; if (file_exists($nombre)) { unlink($nombre); echo "El archivo $nombre se borró correctamente"; } else { echo "No se encontro el archivo $nombre"; } ?> </Body> </Htm> fileatime() y filemtime() La función fileatime() devuelve la última fecha de acceso a un archivo determinado y la función filemtime(), devuelve la última fecha de modificación de un archivo. Ambas reciben como parámetro el nombre del archivo. Ejemplo 13: Mostrar las últimas fechas de acceso y de modificación del archivo Texto2.txt. <Htm> <Title> Ejemplo13-Filetime.php </Title> <Body> <?Php $nombre="Texto2.txt"; echo "<H3>"; if (file_exists($nombre)) { echo "Archivo: $nombre" ; echo "<Br><Br>"; echo "Última fecha de acceso: "; echo date("d/m/Y",fileatime($nombre)); echo "<Br><Br>"; echo "Última fecha de modificación: "; echo date("d/m/Y",filemtime($nombre)); } else { echo "No se encontro el archivo $nombre"; } ?> </Body> </Htm> En este ejemplo también se utilizó la función date(), que tiene por finalidad darle un formato a la fecha mostrada. Tiene dos parámetros, el primero es el formato y el segundo es un número entero, que en este caso es el valor devuelto por las funciones fileatime() y filemtime(). Función date() Permite darle un format a una fecha o a una hora. Su sintasix es la siguiente: date( Formato, Fecha_Hora ); Las opciones de Formato que se pueden emplear, son las siguientes:
Ejemplo 14: Mostrar la fecha y la hora actual. <Htm> <Title> Ejemplo14-Date.php </Title> <Body> <?Php function nombreMes($m) { switch ($m) { case 1: return "Enero"; case 2: return "Febrero"; case 3: return "Marzo"; case 4: return "Abril"; case 5: return "Mayo"; case 6: return "Junio"; case 7: return "Julio"; case 8: return "Agosto"; case 9: return "Septiembre"; case 10: return "Octubre"; case 11: return "Noviembre"; case 12: return "Diciembre"; } } echo "<H3>"; echo "La fecha actual en formato (dd/mm/aaaa) es: "; echo date("d/m/Y"); echo "<Br><Br>"; $dia = date("j"); $mes = nombreMes(date("m")); $anio = date("Y"); $fecha = $dia." de ".$mes." de ".$anio; echo "La fecha actual en formato literal es: " ; echo $fecha . "<Br><Br>"; echo "La hora actual es: " . date("H:i:s A"); echo "<Br><Br>"; echo "Han transcurrido: "; echo date("z"). " días del año " . date("Y"); ?> </Body> </Htm> Función filesize() Esta función devuelve el tamaño del archivo que se le pasa como parámetro. El valor devuelto es en cantidad de caracteres. Ejemplo 15: Determinar la cantidad de caracteres que contiene el archivo llamado Texto1.txt. <Htm> <Title> Ejemplo15-Filesize.php </Title> <Body> <?Php $nombre="Texto1.txt"; echo "<H3>"; if (file_exists($nombre)) { echo "Tamaño de $nombre: "; echo filesize($nombre); } else { echo "No se encontro el archivo $nombre"; } ?> </Body> </Htm> |
martes, 13 de diciembre de 2011
Funciones de PHP
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario