14
Lenguaje de programación PHP

Manejo de archivos

Embed Size (px)

DESCRIPTION

Manejo de archivos

Citation preview

Page 1: Manejo de archivos

Lenguaje de programación PHP

Page 2: Manejo de archivos

• Para subir un fichero al servidor se utiliza el elemento de entrada FILE

• Hay que tener en cuenta una serie de consideraciones importantes:

o El elemento FORM debe tener el atributo ENCTYPE="multipart/form-data“

o El fichero tiene un límite en cuanto a su tamaño. Este límite se fija de dos formas diferentes:

• En el fichero de configuración php.ini

• En el propio formulario

Subida de ficheros al servidor

Page 3: Manejo de archivos

<INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="102400">

<INPUT TYPE="FILE" SIZE="44" NAME="imagen">

• La variable $_FILES contiene toda la información del fichero subido:

o $_FILES['imagen']['name']

• Nombre original del fichero en la máquina cliente

o $_FILES['imagen']['type']

• Tipo mime del fichero. Por ejemplo, "image/gif"

o $_FILES['imagen']['size']

• Tamaño en bytes del fichero subido

o $_FILES['imagen']['tmp_name']

• Nombre del fichero temporal en el que se almacena el fichero subido en el servidor

o $_FILES['imagen’]['error'] • Código de error asociado al fichero subido

Manejo de Archivos

Page 4: Manejo de archivos

if (is_uploaded_file

($_FILES['imagen']['tmp_name']))

{

$nombreDirectorio = "img/";

$nombreFichero = $_FILES['imagen']['name'];

move_uploaded_file

($_FILES['imagen']['tmp_name'],

$nombreDirectorio . $nombreFichero);

}

else

print ("No se ha podido subir el fichero\n");

Manejo de Archivos

Page 5: Manejo de archivos

Manejo de Archivos

PHP y el sistema de archivos

Abrir archivos.

$resource = fopen(ruta_archivo, modo);

$archivo = fopen(‘datos.txt’, ‘r’);

Cuando no puede abrir el archivo devolverá false

Page 6: Manejo de archivos

Manejo de Archivos

PHP y el sistema de archivos

Cerrar archivos.

boolean fclose($resource);

fclose($archivo);

Cuando no puede cerrar el archivo devolverá false

Page 7: Manejo de archivos

Manejo de Archivos

PHP y el sistema de archivos

Modos de apertura

r Abrir sólo para lectura.

r+ Abrir para lectura y escritura.

w Abrir sólo para escritura y truncar el archivo en longitud cero. Si el archivo

no existe, intente crearlo.

w+ Abrir para lectura y escritura y truncar el archivo a longitud cero. Si el

archivo no existe, intenta crearlo.

a Abrir sólo para anexar. Si el archivo no existe intenta crearlo.

a+ Abrir para lectura y escritura, comenzando al final del archivo. Si el

archivo no existe intenta crearlo.

x Crear y abrir sólo para escritura. Si el archivo ya existe, fopen devolverá

falso.

x+ Crear y abrir para lectura y escritura. Si el archivo ya existe, fopen

devolverá falso.

Page 8: Manejo de archivos

Manejo de Archivos

PHP y el sistema de archivos

Lectura de archivos

Instrucción Descripción Devuelve

fgets Lee una cadena de texto de un

archivo.

Cadena de

caracteres.

fgetc Lee un carácter de un archivo. Símbolo.

file_get_contents Lee el contenido completo de

un archivo.

Cadena de

caracteres.

file

Abre un archivo y deposita su

contenido completo en un

vector

Un vector

fread Lee un determinado número

de bytes

Bytes leídos

Page 9: Manejo de archivos

Manejo de Archivos

PHP y el sistema de archivos

Lectura de archivos – Ejemplo 1

<?php

$manejador = fopen("datos.txt", "r") or die();

while( ! feof($manejador) ){

$linea = fgets($manejador);

echo $linea;

}

fclose($manejador);

?>

Page 10: Manejo de archivos

Manejo de Archivos

PHP y el sistema de archivos

Lectura de archivos – Ejemplo 2

<?php

$manejador = fopen("datos.txt", "r") or die();

while( $simbolo = fgetc($manejador) ){

echo $simbolo;

}

fclose($manejador);

?>

Page 11: Manejo de archivos

Manejo de Archivos

PHP y el sistema de archivos

Escribir a un archivo.

Función Descripción

fwrite Escribe datos a un archivo. Recibe

como parámetro un manejador de

archivo.

Escribe una cadena a un archivo. fputs

file_put_contents Escribe una cadena a un archivo.

Page 12: Manejo de archivos

Manejo de Archivos

PHP y el sistema de archivos

Escribir a un archivo – Ejemplo 1

<?php

$manejador = fopen("datos.txt", "a");

fwrite($manejador, "\nEsto es una prueba");

fclose($manejador);

?>

Page 13: Manejo de archivos

Manejo de Archivos

PHP y el sistema de archivos

Escribir a un archivo – Ejemplo 2

<?php

$cadena = "Esto es otra prueba de escritura\n";

file_put_contents("datos.txt", $cadena);

?>

En este ejemplo el contenido del archivo es reemplazado

Page 14: Manejo de archivos

Manejo de Archivos

PHP y el sistema de archivos

Escribir a un archivo – Ejemplo 2

En este ejemplo el contenido no es reemplzado gracias

a FILE_APPEND.

<?php

$cadena = "Esto es otra prueba de escritura\n";

file_put_contents("datos.txt", $cadena, FILE_APPEND);

?>