<?php Instrucciones; ?> Terminacin de las lneas de cdigo PHP. Las lneas de cdigo PHP terminan en punto y coma ;
Comentarios. Una lnea // Multilinea /* */
Variables. Empiezan con $ seguida de un guin bajo o una letra y despus nmeros, letras y giuones bajos.
Variables predefinidas.
Tipos de Datos. Enteros Coma Flotante Cadenas. Entre comillas simples o comillas dobles
Caracteres especiales para variables de tipo cadena:
Array. Puede contener datos de diferentes tipos y empiezan en la posicin 0 del array. Se puede crear una matriz asociativa enumerando los ndices de la misma.
Constantes. Una constante es una variable que mantiene el mismo valor durante toda la ejecucin del programa. Para hacer referencia a la constante no es necesario anteponer el smbolo $.
Operadores. Operadores Aritmticos.
Operadores de Asignacin.
Operadores con cadenas. Operador . permite concatenar cadenas de texto.
Operadores de Incremento y Decremento
Operadores Lgicos
Sentencia echo. Como en la mayoria de los lenguajes de scripting, en php tenemos una sentencia que nos permite "mostrar" algo en pantalla. Imprimir algo. Probemos el siguiente codigo en un archivo php... <?php echo "Bienvenido al tutorial de programacion en php"; ?> Imprime en la pagina, o en el explorador la frase "Bienvenido al tutorial de programacion en php". Asi sin mas, simplemente una frase, sin formato o color.
<?php echo "<font color=red><b>Bienvenidos al tutorial de php</b></font>"; ?> Esto mostraria la frase "Bienvenidos al tutorial de php" en color rojo y en negrita. Esto quiere decir que podemos usar html para mostrar lo que hacemos con nuestro codigo php.
Estructuras de control
Sentencias Condicionales a) If
b) Ifelse
c) If ..elseif
d) If compacto
Estructuras de Control (Continuacin). Sentencias Condicionales a) Switch. La sentencia switch se utiliza para comparar un dato con un conjunto de posibles valores.
Sentencia de Bucles. a) for. Permite ejecutar un conjunto de instrucciones un determinado nmero de veces.
b) foreach. Esta sentencia nos permite recorrer las estructuras de tipo Array de una forma sencilla, obteniendo en cada paso de la iteracin uno de sus elementos componentes.
Para arrays asociativos: foreach ($matriz as $key => $valor) { sentencias; }
c) while. La sentencia while acta de forma muy parecida a la sentencia for, pero se diferencia de sta en que no incluye en su declaracin la inicializacin de la variable de control del bucle ni su incremento o decremento. Por tanto, dicha variable se deber declarar antes del bucle while y su incremento o decremento se deber realizar dentro del cuerpo de dicho bucle.
d) do . . . . . while. Esta sentencia funciona exactamente igual que el bucle while, excepto que la condicin no se comprueba hasta que se ha realizado una iteracin (la condicin se comprueba al final de cada iteracin). Esto garantiza que, al menos, el cuerpo del bucle se realiza una vez, aunque la expresin condicin se evale a falso.
e) break y continue. Break permite salir del bucle y continue salta a la evaluacin de la condicin.
Ejemplo: Mostrar los Numeros pares menores de 10
$valor =10; while (1) { $valor--; if (($valor %2) != 0) { continue; } echo $valor."<br>"; If ($valor<=0) { break; } }
f) include. Permite incluir archivos .php o .html dentro de un fichero php. Si el fichero que se intenta incluir para su ejecucin no existe muestra un error pero continua con la ejecucin del archivo.
include (archivo.php); Cadenas. Delimitadores de Cadenas Los delimitadores de Cadenas son las comillas simples o las comillas dobles. Tambien podemos usar el carcter de escape \ para utilizar las comillas dentro de comillas. Cuando utilizamos comillas dobles, podemos incluir dentro de la cadena nombres variables que sern evaluados (sustituidos por sus respectivos valores) a la hora de mostrar la informacin. Ejemplo: $cadena =esto es una prueba de texto; echo la cadena \$cadena contiene el valor $cadena <br>;
Visualizacin de Cadenas. Se utilizan las funciones echo(cadena) y print(cadena);
Funciones con cadenas. a) strlen(cadena): Devuelve la longitud de la cadena pasada como argumento.
b) strstr(cadena, cadBusq). strchr(cadena, cadBusq): Busca la aparicin de una cadena dentro de otra y devuelve la subcadena comprendida entre la primera aparicin de la cadena buscada (incluyndola) hasta el final de la cadena en la que se realiza la bsqueda.
c) strrchr(cadena, cadBusq): Busca la aparicin de un carcter en una cadena y devuelve la subcadena comprendida entre la ltima aparicin del carcter (incluido) hasta el final de la cadena en la que se realiza la bsqueda.
d) stristr(cadena, cadBusq): Igual a strstr() pero no distingue entre maysculas y minsculas.
e) strpos (cad1, cad2 [, desplz]): Encuentra la primera posicin de aparicin de una cadena a partir de una cierta posicin (si no se indica, el valor por defecto para el desplazamiento es 0). La bsqueda diferencia entre maysculas y minsculas.
f) strrpos (cadena, carcter): Devuelve la posicin de la ltima aparicin de un carcter determinado en una cadena.
g) strcmp(cad1, cad2): Compara dos cadenas y devuelve un valor menor que 0, si la segunda cadena es mayor que la primera: mayor que 0, en caso contrario. Devuelve 0 si ambas cadenas son iguales. h) strcasecmp (cad1, cad2): Se compona igual que strcmp (), excepto en que no diferencia maysculas de minsculas.
Operar con Subcadenas. a) substr(cadena, Inicio , [tamao]): Devuelve la subcadena que se encuentra a partir de una posicin dada y llega hasta el final de la cadena original. pudiendo de forma opcional decidir el tamao de la subcadena a recuperar. b) substr_replace (cad1, cad2, inicio [,tamao]): Devuelve una cadena que es resultado de la sustitucin de parte del contenido de una cadena original (indicado por una posicin de inicio y opcionalmente por un tamao) por el contenido de otra cadena. La cadena original no sufre ninguna modificacin. Distingue entre maysculas y minsculas.
c) strtr(cadena, cadBus, cadRee): Devuelve una cadena que es resultado de la sustitucin de cada carcter buscado por cada carcter de reemplazo. La cadena original no sufre ninguna modificacin. Diferencia entre maysculas y minsculas.
d) substr_count(cadena, patron): Devuelve el nmero de apariciones de una subcadena dentro de una cadena. Diferencia entre maysculas y minsculas.
e) rtrim(cadena) Elimina los espacios sobrantes que se encuentran al final de la cadena.
f) ltrim(cadena) Elimina los espacios sobrantes que se encuentran al principio de la cadena.
g) trim(cadena) Elimina los espacios sobrantes que se encuentran al principio y final de la cadena.
i) str_pad (cadena , long, carcter, mtodo): Rellena una cadena con un carcter de relleno hasta que la cadena resultante tenga la longitud deseada siguiendo un mtodo de relleno entre los siguientes valores: STR_PAD_RIGHT: Rellena por la derecha (opcin por defecto). STR_PAD_LEFT: Rellena por la izquierda. STR_PAD_BOTH: Intenta rellena con el mismo nmero de caracteres por la derecha y por la izquierda.
j) strtolower (cadena): Conviene una cadena de caracteres a minsculas.
k) strtoupper (cadena): Convierte una cadena de caracteres a maysculas.
l) ucfirst(cadena): Convierte en mayscula el primer carcter de una cadena de caracteres.
m) ucwords(cadena): Convierte en mayscula el primer carcter de cada palabra en una cadena de caracteres.
n) explode (patron, cadena): Devuelve un array resultado de dividir una cadena en diferentes subcadenas, en funcin de un carcter patrn.
o) implode(nexo, cadena): Devuelve una cadena resultado de unir todos los elementos de un array en el mismo orden en el que aparecen, pero con una cadena en medio de ellos.
p) strrev (cadena): Devuelve la cadena invertida.
q) str_repeat (cadena, nveces): Recibe como argumento una cadena y un nmero entero para devolver, a continuacin la cadena repetida tantas veces como indique el nmero entero.
INTRODUCCIN AL DISEO DE PGINAS WEB. LENGUAJE HTML
Nociones bsicas de HTML: las etiquetas Para comenzar, se ver que el HTML es un lenguaje en el que todo ir encerrado entre dos etiquetas, normalmente, una que indica el comienzo de algn elemento del documento y otra que indica el final del mismo. Estas son de la forma:
< ETIQUETA parmetros > < / ETIQUETA >
Cada una va entre los signos de "menor que" ( < ) y "mayor que" ( > ). Como podemos ver, para cerrar el elemento ir una "barra" ( / ) despus de la indicacin de comienzo de una etiqueta. Al principio y final del texto tenemos la etiqueta HTML, que indica que estamos ante una pgina Web programada en HTML.
< HTML > Indica el comienzo de un documento en formato HTML.
< / HTML > Indica el final del documento.
Estas dos etiquetas siempre aparecern en los ficheros programados en HTML para indicarle al navegador que lo que est interpretando es lenguaje HTML. El interior de un documento Como se ha comentado en el apartado anterior, toda pgina en HTML tendr al principio la etiqueta < HTML > y al final < / HTML >. El interior del documento se compone de una cabecera (head) y un cuerpo (body). En la cabecera se pondr la informacin relativa a la pgina y en el cuerpo, el contenido de sta. Al igual que sucede con el conjunto de la pgina en HTML, cada una de estas partes tiene su etiqueta de comienzo y fin (ver el ejemplo).
Dentro de la cabecera se puede poner el ttulo de la pgina de la siguiente forma:
< TITLE > Ttulo de nuestra pgina Web < / TITLE >
En el cuerpo ir la informacin que se ver en la pantalla del navegador y por lo tanto, la mayora de las etiquetas que veremos en el resto del seminario.
Ejemplo de una pgina Web bsica:
< HTML > < HEAD > < TITLE > Ttulo de mi pgina < / TITLE > < / HEAD > < BODY > Esta podra ser mi primera pgina Web, creada en HTML.
< /BODY > < /HTML >
Listado de etiquetas para utilizar como referencia en HTML < HTML >< / HTML > Crea un documento HTML. < HEAD >< / HEAD > Muestra el ttulo y otro tipo de informacin que no se muestra en la propia pgina Web. < BODY >< / BODY > Muestra la parte visible del documento. < TITLE >< / TITLE > Sita el nombre del documento en la barra de ttulo. < BODY BGCOLOR="?" > Determina el color del fondo, utilizando un nombre o un valor hexadecimal. Por ejemplo: < body bgcolor="#FFFF99" > < FONT >< / FONT > Los atributos bsicos de la etiqueta FONT son tres: SIZE: tamao de la fuente, de 1 a 7. FACE: fuente que se desea utilizar. COLOR: color de la fuente. Por ejemplo: < font size= "2" face= "Arial, Helvetica, sans-serif" color="#663399" > < B >< / B > Crea un texto en negrita. < I >< / I > Crea un texto en cursiva. < A HREF="URL" > TEXTO DEL ENLACE < / A > Crea un hipervnculo. Por ejemplo: <a href=http://www.elcorteingle.es >Tiendas El Corte Ingles</a> < A HREF="MAILTO:EMAIL "> TEXTO DEL ENLACE < /A > Crea un enlace a un a direccin de correo. Por ejemplo: <a href="mailto:fuentesp@un.org" >Enve un mensaje</a> < A HREF="FICHERO HTML" >TEXTO DEL ENLACE< / A > Enlaza con un documento distinto. Por ejemplo: <a href="becas.html" >IR A BECAS< / a > < BR > Crea una nueva lnea. <CENTER>TEXTO </CENTER> Centrado < OL >< / OL > Crea una lista numerada (ordenada). < UL >< / UL > Crea una lista con smbolos (simple o no ordenada). < LI >< / LI > Precede a cada elemento de la lista y aade un nmero. < IMG SRC="FICHERO DE IMAGEN" > Inserta una imagen. <BGSOUND SRC=FICHERO DE AUDIO> Inserta un sonido de fondo <IMG DYNSRC=FICHERO DE VIDEO> Inserta un Video. Control es de Wi ndows uti l i zados en Formul ari os de Pagi nas Web. (HTML) Control de Windows Forma Instruccin HTML
Eti quetas HTML de comi enzo y fi n de un Formul ari o de Pagi na Web. <FORM ACTION=MAILTO:xxxxxxx@yyyyyyy.zzz METHOD=POST ENCTYPE=TEXT/PLAIN>
</FORM>
Arrays. Entrada de Datos (Matriz $_REQUEST) Cuando se enva un formulario, PHP almacena la informacin recibida en una matriz llamada $_REQUEST. Cualquier control se enva solamente si est establecido su atributo name. Cada control crea un elemento de la matriz $_REQUEST, que se identifica como $_REQUEST[valor_del_atributo_name] y que contiene el valor entregado por el formulario (en su caso). Ejemplo:
<?php if (isset($_REQUEST['dato'])) { $valor=$_REQUEST['dato']; echo "El valor introducido es $valor"; } ?>
Otra manera de definir un array Los arrays se pueden definir tambin con el formato: $matriz = array ( valor1 , valor2 , valor3, ) ;
O tambin podemos indicar una posicin determinada para cada valor: $matriz = array (pos=> valor1 , pos=> valor2 , pos=> valor3, ) ; Los arrrays multidimensional se definen de la siguiente manera: $matriz [0] [0] = Valor1; $matriz [0] [1] = Valor2; $matriz [1] [0] = Valor3; $matriz [1] [1] = Valor4; : : :
O tambin de la siguiente manera: $matriz[0]=array(Valor1,Valor2,) $matriz[1]=array(ValorA,ValorB,..)
Recorrido de arrays secuenciales Para recorrer un array podemos indicar en una variable el numero de elementos de la matriz para usarla dentro de un contador, como por ejemplo $num=5; Para recorrer el array utilizaremos el siguiente bucle:
for ($i=0;$i<$num;$i++) { echo $matriz[$i]."<br>"; }
Otra funcin relacionada con el recorrido de arrays es sizeof (), que obtiene el nmero de elementos del array pasado como argumento en la llamada a la funcin. El ejemplo anterior poda haberse resuelto haciendo uso de esta funcin sin necesidad de utilizar la variable $num:
for ($i=0;$i<sizeof($matriz);$i++) { echo $matriz[$i]."<br>"; }
Recorrido de arrays no secuenciales PHP cuenta con el siguiente conjunto de funciones para el recorrido de arrays no secuenciales: - current (matriz): Devuelve el valor de la posicin actual del puntero dentro del array. Devuelve false cuando el puntero est al final del array o cuando el array no contiene ningn elemento. - pos (matriz): Es idntica a la funcin anterior - key (matriz) : Devuelve el ndice de Ia posicin actual del array pasado como argumento. - next (matriz): Devuelve el valor del elemento siguiente al actual (si existe) y avanza el puntero interno una posicin. En caso de que el elemento actual sea el ltimo del array, devuelve false. - prev(matriz): Devuelve el valor del elemento anterior al actual (si existe) y retrocede el puntero interno una posicin. En caso de que el elemento actual sea el primero del array, devuelve false. - end(matriz): Coloca el puntero interno en el ltimo elemento de un array. - reset(matriz): Devuelve el valor del primer elemento del array y sita el puntero interno en su primera posicin.
Ordenacin de Array. - sort (matriz): Ordena alfanumricamente los valores de los elementos de un array de menor a mayor. - rsort (matriz): Ordena alfanumricamente los valores de los elementos de un array de mayor a menor. - asort (matriz): Ordena alfanumricamente los valores de los elementos de un array de menor a mayor, pero manteniendo la relacin existente entre los ndices y sus valores asociados. - arsort(matriz): Ordena alfanumricamente los valores de los elementos de un array de mayor a menor, pero manteniendo la relacin existente entre los ndices y sus valores asociados. - ksort(matriz): Ordena alfanumricamente las claves de un array de menor a mayor manteniendo las correlaciones entre clave y valor asociado. - krsort(matriz): Ordena alfanumricamente las claves de un array de menor a mayor manteniendo las correlaciones entre clave y valor asociado.
Arrays. Porciones de Arrays array_slice(matriz, desplazamiento [, tamao]): Devuelve los elementos del array que estn situados a partir de una posicin determinada por desplazamiento. Opcionalmente, podemos indicar el total de elementos que queremos. Los parmetros desplazamiento y tamao pueden ser valores positivos o negativos. Esto da lugar a las siguientes interpretaciones reflejadas en la tabla de abajo:
array_splice(matriz, despl [,tam [array sustituto]): Elimina elementos de un array, sustituyndolos opcionalmente por los elementos de otro array (sustituto). Elimina y si est indicado, sustituye los elementos que estn situados a partir de la posicin indicada por despl. Devuelve los elementos eliminados. Los significados de los diferentes valores que pueden tomar despl y tam se especifican en la siguiente tabla:
array_reverse(matriz): Devuelve el array pasado como parmetro pero con sus componentes en orden inverso.
range(limite_inf, limite_sup): Devuelve un array con los valores enteros comprendidos entre el primer argumento y el segundo que recibe la funcin, ambos inclusive.
array_count_values (matriz): Recibe como argumento un array y devuelve otro cuyos ndices son los mismos que los del array original y sus valores asociados son la frecuencia con la que se repiten dichos valores en el array original.
In_array(elementoBusqueda, matriz): Con esta funcin podremos saber si un elemento est comenido dentro de un array. Resumen Ordenar Arrays SORT: ordena los valores en orden ascendente eliminado los ndices. RSORT: ordena los valores en orden descendente eliminado los ndices. ASORT: ordena los valores en orden ascendente respetando los ndices. ARSORT: ordena los valores en orden descendente respetando los ndices. KSORT: ordena los ndices en orden ascendente. KRSORT: ordena los ndices en orden descendente.
Funciones. Declaracindeunafuncin. Llamadaaunafuncin. Parallamar aunafuncin, slo hayqueescribir unasentenciaque contengael nombre dela funciny, entreparntesis, losvaloresdelosargumentosdellamadadeella. nombr eFunci n( [ par amet r o1 [ , ] ] ) ; PasodeParmetros. Enocasiones, necesitaremosdefinir funcionesqueaceptanparmetrosoargumentos. Deesta formaconseguimosquelafuncinseamsutilizabledentrodel propsitogeneral parael que estdefinida. Por ejemplo, podemos querer utilizar unafuncinmltiplesvecesalo largo del programa, pero algunos de sus valores internos pueden variar con cada llamada. La mejor solucinaesteproblemaesdefinir unafuncinquepuedaaceptar argumentosensullamada paracadavalor conel quequeramostrabajar. Parmetrospor valor El parmetro que recibe la funcin es una copia del valor de la variable pasada como parmetro; de esta forma, las modificaciones que puedan hacerse dentro del cuerpo de la funcin a la variable parmetro no afectan al valor final de la variable pasada como argumento. Cal cul o( $val or ) ; Parmetrospor referencia En el caso de que queramos que los cambios que se producen en el cuerpo de la funcin afectenalavariablequesepascomoargumentoenlallamadaalafuncindeberemospasar el parmetro por referencia. Para indicar qu parmetros se pasan por referencia, hay que marcarlosenladefinicindelafuncin, anteponiendoel smbolo&al nombredel parmetro. Cal cul o( &$val or ) ; Parmetrospor defecto Parmetros opcionales en lallamadaalasfunciones. Deestemodo, estetipo deparmetros tomaunvalor predefinido cuando, desde lallamadaalafuncin, no seles haproporcionado ningn argumento. Para definir un parmetro por omisin, hay que, adems de nombrar el parmetro, escribir el operador deasignacin=y, acontinuacin, el valor quevayaarecibir el parmetroencasodenoespecificarseenlallamada. Cuandoseusanparmetrospor defecto, stos tienen que situarse los ltimos en la declaracin, es decir, a la derecha de cualquier parmetronormal. Cal cul o( $val or 1, $val or 2, $val or 3=val or por def ect o) ; Devolucindevalores El valor devuelto desde una funcin puede ser asignado a una variable o utilizado dentro de una expresin. Una funcin devuelve un nico valor: para devolver mltiples valores, deberemos utilizar un array. Para poder hacerlo, se utiliza la palabra reservada return acompaadadeunaexpresin. Enesteinstante, lafuncindejadeejecutarseparadevolver el flujodeejecucinal puntodel programadondesellamalafuncin. Si despusdereturnhay mslneas decdigo, dichas lneasno seejecutarnnunca, por eso, eshabitual queaparezca comoltimainstruccindel cuerpodelafuncin. f unct i on cal cul o( $val or 1, $val or 2) { $r esul t ado = $val or 1 * $val or 2; r et ur n $r esul t ado; } echo cal cul o( 5, 8) ; Funcionesconnmerovariabledeparmetros PHPpermitedefinir funcionesenlasqueel nmerodeparmetrosvariable. Nosenecesitade unasintaxisespecfica, perosufuncionamientosebasaenel siguienteconjuntodefunciones definidasenPHP: func_num_args( ): Devuelveel nmerodeargumentospasadosalafuncin. func_get_args(): Devuelveunarrayconlosargumentospasadosalafuncin. func_get_arg( ): Devuelveunelementodelalistadeargumentospasadosalafuncin, Los argumentoscomienzanenlaposicin0, al igual quelosarrays. Si sesolicitaunargumentode unaposicinquenoexiste, devuelvefalse. FuncionesdeFechayHora. 1. Funciones. time(): Devuelvelamarcadetiempocorrespondienteal instanteenqueseejecuta. checkdate(mes, dia, ao): Verificasi lafechaqueselepasacomoparmetroesunafecha correcta. Si lafechaescorrectalafuncindevuelveverdadero; encasocontrario, lafuncin devuelvefalso. date(formato[, timestamp] ): Estafuncinnospermitedarleunformatoespecficoauna cadenaquecontendrunafechayunahora. Aceptacomoparmetrosunacadenadeformato yunparmetrotimestamp. Loscaracteresdistintosalosqueaparecenenlatabla, queestndentrodelacadenaformato, seimprimirntal cual aparecen. Paraqueloscaracteresutilizadosenlacadenaformatose puedanimprimir, esnecesarioenmascararlos, esdecir, debenir precedidosdel carcter /. getdate([timestamp]): Estafuncindevuelveunarrayasociativoquecontieneinformacin sobrelafechayhoraasociadasalamarcadetiempotimestamp, pasadacomoparmetro. En casodenopasar ningnparmetroalafuncin, staobtendrlamarcadetiempodel instante enqueseejecuta. gettimeofday(): Estafuncinobtienelahoraactual enunarrayasociativo, cuyaestructura contienelossiguientescampos: mktime(hora, min, seg, mes, dia, ao[, is_dst]): Estafuncindevuelvelamarcadetiempo(el nmerodesegundostranscurridosdesdeel 1deenerode1970alas00:00:00), correspondientealafechayhorapasadasalafuncincomoparmetros. Estafuncines especialmentetil pararealizar clculosmatemticosconlasfechasovalidacionesdeellas. strftime(formato, timestamp]): Etaafuncinpermitedar unformatoespecficodehoray fechaalamarcadetiempoqueselepasacomoparmetro. Encasodenoproporcionar este parmetro, se tomar por defecto la marca de tiempo correspondiente al instante en que se ejecuta la funcin. Los formatos posibles a tener en cuenta se especifican en la siguiente tabla:
Ficheros y Directorios. 1.- Operaciones con Ficheros. a) Abrir ficheros. fopen (nombre, modoApertura); El parmetro modoApertura puede tomar los siguientes valores:
La funcin fopen () devuelve un descriptor de fichero, esto es, el canal por el que vamos a poder acceder a l a la hora de realizar operaciones sobre ficheros tales como lectura, escritura, cerrado, etc. En el caso de que el fichero no se pudiera abrir por la causa que sea, fopen() devolver FALSE. Ejemplo: $fichero =fopen("archivo.txt","w"); b) Cerrar un fichero. Con la funcin fclose () cerramos el fichero que est referenciado por el descriptor que pasamos como argumento. fclose (descriptor_fichero); Ejemplo: fclose($fichero); c) Lectura desde un fichero fgetc (descriptor): Devuelve un carcter del fichero referenciado por descriptor. Si se ha llegado al final del fichero, devuelve FALSE. fread (descriptor, total_cars_a_leer): Devuelve una cadena don el total de caracteres a leer. feof (identificador): No es una funcin de lectura propiamente dicha. pero es muy til cuando leemos ficheros: indica si se ha llegado al final (no quedan ms datos por leer) o no.
d) Recorrer un fichero rewind (descriptor): Sita el puntero de lectura/escritura al principio del fichero. fseek (descriptor, desplaz [, desde_donde]) : Desplaza la posicin del puntero de lectura / escritura desplaz posiciones. El tercer parmetro puede tomar los valores SEEK_SET, SEEK_CUR y SEEK_END, lo que significar que los desplazamientos son relativos al principio del fichero, la posicin actual del puntero o al final del fichero (entonces desplaz ser negativo). ftell (descriptor ): Devuelve la posicin del puntero.
e) Escritura en un fichero fwrite(descriptor, cadena [, total_cars]); fputs(descriptor, cadena [, total_cars]); Ambas funciones escriben la cadena (completa) pasada como parmetro. Si se hace uso del tercer parmetro, slo se escribirn los total_cars indicados. Devuelve el total de caracteres escritos o FALSE en caso de producirse algn error.
2- Informacin sobre ficheros. file_exists(nombre_fich): Comprueba si el fichero nombre_fich existe. Devuelve TRUE si nombr_fich existe, en caso contrario, devuelve FALSE. is_file (fichero): Devuelve verdadero si el tipo del fichero es un fichero normal. En caso contrario, devuelve FALSE. is_dir(fichero): Devuelve verdadero si el nombre del fichero pasado como argumento es un directorio. En caso de que no exista o no lo sea, devuelve FALSE. is_executable (fichero): Devuelve verdadero si el nombre del fichero pasado como argumento tiene permisos de ejecucin o es un fichero ejecutable (extensin exe, com o bat). is_readable (fichero): Devuelve verdadero si el fichero tiene permiso de lectura. Si no tiene dicho permiso o no existe, devuelve FALSE. is_writeable (fichero): Devuelve verdadero si el fichero tiene permiso de escritura. Si no tiene dicho permiso o no existe, devuelve FALSE. filemtime (fichero): Devuelve el instante ' timestamp de la ltima modificacin hecha sobre el contenido del fichero. filesize (fichero): Devuelve un nmero entero que indica el tamao en bytes del fichero pasado como parmetro. En caso de error, devuelve FALSE.
3.- Operaciones con Ficheros y Directorios. copy (origen, destino): Copia un fichero destino. Si no ha habido ningn error, devuelve TRUE. rename (nombre_original, nombre_final) : Cambia el nombre a un fichero o directorio. unlink (nom_fichero): Borra un fichero. opendir (nombre): Abre el directorio pasado como parmetro. Devuelve un descriptor de directorio. readdir(descriptor): Lee una entrada del directorio a partir del descriptor devuelto por opendir(). closedir(descriptor): Cierra el directorio indicador por el descriptor. rewinddir (descriptor): Sita el puntero de lectura al principio del directorio. getcwd (): Devuelve el directorio actual de trabajo (tambin llamado activo). chdir(nuevo_dir): Establece nuevo_dir como nuevo directorio de trabajo. Devuelve FALSE en caso de error. mkdir (nombre_dir, permisos): Creamos el directorio nombre_dir con los permisos indicados en el segundo parmetro. rmdir (nombre_dir): Borra el directorio nombre_dir.
PERMI SOS Y UPLOAD DE FI CHEROS
Los per mi sos en PHP consi st e en t r es component es numr i cos oct al es que especi f i can l as r est r i cci ones de acceso par a el pr opi et ar i o, el gr upo de usuar i os al que per t enece el pr opi et ar i o, y par a t odos l os dems, en est e or den. Un component e puede ser comput ado sumando l os per mi sos. El nmer o 1 si gni f i ca que se conceden der echos de ej ecuci n, el nmer o 2 si gni f i ca que se puede escr i bi r en al ar chi vo, el nmer o 4 si gni f i ca que el ar chi vo se puede l eer . Sume est os nmer os par a especi f i car l os der echos necesar i os. Se deben especi f i car en si st ema Oct al poni endo un 0 del ant e de l a codi f i caci n de l os per mi sos.
Establ ecer permi sos: chmod( ar chi vo, per mi sos) ; <?php / / Lectura y escri tura para el propi etari o, nada para l os dems chmod("/ di rectori o/ archi vo", 0600); / / Lectura y escri tura para el propi etari o, l ectura para l os dems chmod("/ di rectori o/ archi vo", 0644); / / Todo para el propi etari o, l ectura y ej ecuci n para l os otros chmod("/ di rectori o/ archi vo", 0755); / / Todo para el propi etari o, l ectura y ej ecuci n para el grupo del propi etari o chmod("/ di rectori o/ archi vo", 0750); ?>
Mostrar permi sos: Muest r a l os per mi sos de un ar chi vo o di r ect or i o. f i l eper ms( ar chi vo) ;
Debemos usar f unci ones par a most r ar l os per mi sos en f or mat o Oct al . ( i nt val ( $var per mi sos, 8) y spr i nt f ( ' %o' , f i l eper ms( $mi ar chi vo) ) ) .
Ej empl o: <formname="formul ari o" acti on=""> Permi sos <i nput type="text" name="permi sos"><br> Archi vo <i nput type="text" name="archi vo"><br> <i nput type="submi t" val ue="Cambi ar Permi sos"> </ form> <?php i f ((i sset($_REQUEST[' permi sos' ])) &&(i sset($_REQUEST[' archi vo' ]))){ $mi spermi sos=$_REQUEST[' permi sos' ]; $mi archi vo=$_REQUEST[' archi vo' ]; chmod($mi archi vo, i ntval ($mi spermi sos, 8)); echo "Los permi sos del archi vo $mi archi vo son ". substr(spri ntf(' %o' , fi l eperms($mi archi vo)), - 4); } ?> Upl oad de fi cheros al servi dor. Debemos ut i l i zar el cont r ol de t i po f i l e en el f or mul ar i o. El f or mul ar i o debe t ener enctype mul ti part/ form- data y method post. Adems, debemos conf i gur ar el ser vi dor apache modi f i cando php. i ni par a admi t i r mayor t amao de ar chi vo:
max_executi on_ti me =120 upl oad_max_fi l esi ze =50M post_max_si ze =50M
Una vez subido el archivo al servidor, podemos accede a los datos mediante la matriz $_FILES. Y con move_upload_file(origen, destino) podemos mover el archivo temporal a la carpeta de destino.
Matriz $_FILES Significado $_FILES["archivo"]["type"] Tipo MIME de archivo $_FILES["archivo"]["size"] Tamao en bytes del archivo $_FILES["archivo"]["error"] Cdigo Error al subir el archivo $_FILES["archivo"]["name"] Nombre del archivo $_FILES["archivo"]["tmp_name"] Nombre temporal del archivo