Tecnología

Inicio

Cómo leer un archivo de texto desde un cliente Uso de PHP

Hay dos métodos que puede utilizar para el manejo de la carga de archivos desde un cliente a un servidor usando PHP. El método POST, utilizado por los formularios de páginas web, codifica el archivo como parte de la petición HTTP del cliente. El método PUT, utilizado por clientes como Netscape Composer, escribe el archivo directamente a la conexión de socket establecida con el servidor.

Instrucciones

método POST

1 Crear un formulario de carga de archivos en su página web. El atributo de acción es la ruta y el nombre del archivo PHP que será el manejo de la carga del archivo. El valor de entrada MAX_FILE_SIZE es el tamaño máximo en bytes que se permitirán para el archivo de texto cargado.

<Form action = = enctype método "multipart / form-data" "your.php" = "POST">

&lt;input type="hidden" name="MAX_FILE_SIZE" value="64000" />
Upload file: &lt;input name="fileupload" type="file" />
&lt;input type="submit" value="Upload" />

</ Form>

2 Editar el archivo PHP. Establecer la ruta y el nombre del archivo donde se guardará el archivo de texto cargado en el servidor. El array $ _FILES contiene información sobre el archivo cargado, se hace referencia mediante el atributo de nombre de archivo de entrada asignado en forma página Web.

$ Uploaddir = '/ srv / www / uploads /';
$ Archivo = nombre base ($ _ FILES [ 'fileupload'] [ 'nombre']);
$ = $ Uploadfile uploaddir. $ Archivo;

3 Mover el archivo subido desde la ubicación temporal donde el servidor almacena al destino establecido para la carga.

si (move_uploaded_file ($ _ FILES [ 'fileupload'] [ 'tmp_name'], $ uploadfile)) {

echo $filename . " uploaded. Thank you!\n";

}
else {

echo "Error uploading " . $filename . ": " . $_FILES['userfile']['error'] . "\n";

Método PUT

4 Editar el archivo PHP. Establecer la ruta y el nombre del archivo donde se guardará el archivo de texto cargado en el servidor. La matriz $ _SERVER contiene información acerca de la solicitud, incluido el nombre de archivo y la ruta de destino solicitado por el cliente ( 'REQUEST_URI').

$ Uploaddir = '/ srv / www / uploads /';
$ Archivo = nombre base ($ _ SERVER [ 'REQUEST_URI']);
$ = $ Uploadfile uploaddir. $ Archivo;

5 Abrir el flujo de entrada de los datos del archivo que se va a subir.

$ entrantes = fopen ( "php: // input", "r");

6 Abrir un puntero al archivo de destino en la que desea guardar el archivo subido.

$ Guardarpara = fopen ($ uploadfile, "w");

7 Leer los datos del flujo de entrada y escribir en el fichero de destino.

while ($ INDATA = fread ($ entrante, 1024)) {
fwrite ($ Guardarpara, $ INDATA);

8 Cierre los flujos de entrada y de archivo.

fclose ($ Guardarpara);
fclose ($ entrada);

Consejos y advertencias

  • Múltiples archivos pueden ser cargados con un solo envío del formulario con el método POST. En el formulario de una página Web, dar a cada campo de entrada de archivos del mismo nombre, con corchetes después el valor del nombre de entrada (por ejemplo, nombre = "fileupload []"). Hacer referencia a cada archivo en el archivo PHP usando un tercer índice de matriz que coincida con el número de índice del archivo específico (por ejemplo, $ _FILES [ 'fileupload'] [ 'nombre'] [0]).
  • Lo que permite la carga de archivos a su sitio web representa un considerable riesgo para la seguridad. Implementar la autenticación y la seguridad apropiada en la configuración del servidor y dentro de sus archivos PHP para asegurar que sólo los usuarios autorizados pueden cargar archivos, restringir los directorios de destino para la carga de archivos y proporcionar únicamente el acceso necesario a los archivos cargados.