Adjuntar Archivo

Hola:
Resulta que estamos desarrollando un proyecto donde las personas de la parte administrativa de la universidad puedan enviar información al webmaster para que este la publique. Nosotros queremos que la aplicación web nos deje enviar información que sea digitada desde un formulario (existente en la página web de la Universidad) o que estos manden un archivo como tal (ya sea en word, execl o lo que sea) para que este se revise y sea publicado. Nuestro problema reside en que no sabemos como hacer un formulario o una página que nos de la oportunidad de hacer que el usuario pueda adjuntar un archivo existente en su equipo y al ser enviado se almacene en un directorio de nuestro servidor web.

1 Respuesta

Respuesta
1
Lo que vosotros queréis hacer se puede con un formulario POST. Hay que definir el formulario de la siguiente forma:
<form enctype="multipart/form-data" method="post" action="upload.php">
Ese script upload.php es el que recibirá los datos del formulario, incluido el fichero. El fichero se envía al servidor y se copia en un directorio temporal. Es responsabilidad del script PHP el copiarlo realmente al directorio de destino. Dicho directorio puede ser cualquiera del servidor. Pero ojo! Recuerda que dicho directorio y el temporal deben tener permisos de escritura para el usuario bajo el que se ejecuta el servidor web (en linux con apache suele ser "nobody" o "www-data"). Es importante también saber que el intérprete de PHP suele imponer un tamaño máximo de fichero. Si tienes acceso a la configuración de PHP te recomiendo que revises dicho parámetro en el fichero php.ini (upload_max_filesize = tamaño)
Un formulario de ejemplo podría ser el siguiente:
<form enctype="multipart/form-data" method="post" action="upload.php">
<p>Fichero:<br>
<input type="file" name="docu" size="30"></p>
<P><input type="submit" name="submit" value="Upload File"></p>
</form>
Fíjate como la marca <form> no es como en un formulario habitual, ya que hay que añadirle información para que el navegador sepa como enviar el fichero. En el formulario tienes dos campos, uno de ellos es el fichero (tipo file llamado "docu"). Cuando le das a "submit" y la petición llega al script PHP este recibe, entre otras, las siguientes variables:
$docu: fichero temporal en el servidor
$docu_name: nombre real del fichero
$docu_size: tamaño del fichero
$docu_type: tipo mime (p.ej. video/mpeg, image/png, etc)
El script PHP ya tiene entonces toda la información necesaria para procesar el fichero. Lo habitual es copiarlo en un directorio al efecto, aunque puede meterse en una base de datos, o cualquier cosa que se desee.
Por último, te mando un enlace de donde me he "inspirado" para esta pequeña explicación ;-)
http://www.thickbook.com/extra/php_fileupload.phtml
El enlace lo he encontrado poniendo "php form upload file" en el criterio de búsqueda de Google. Si repites la búsqueda te saldrán más de 10 ejemplos con el código completo, por si así te resulta más fácil. Recuerda, Google es tu amigo :-)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas