El archivo de configuración php.ini contiene directivas para autorizar o desautorizar el envío de archivos por medio de un formulario y también configurarlo:
Las rutas de los archivos que se deben editar son:
nano /etc/php5/apache2/php.ini
nano /etc/php5/cgi/php.ini
Los campos a editar son los siguientes:
Configuración de PHP para subir archivos
El archivo de configuración php.ini contiene directivas para autorizar o desautorizar el envío de archivos por medio de un formulario y también configurarlo:
file_uploads= On/Off permite autorizar o desautorizar el envío de archivos.
upload_tmp_dir = directorio permite definir el directorio temporal donde se colocará el archivo cargado.
upload_max_filesize = 2M permite definir el tamaño máximo autorizado del archivo. Si este límite es sobrepasado, el servidor enviará un código de error.
post_max_size indica el tamaño máximo de los datos enviados en un formulario. Esta directiva prima sobre upload_max_filesize, por lo que hay que asegurarse de tener post_max_size supeior a upload_max_filesize
Si no tiene acceso a la configuración (caso de un sitio web alojado en el servidor del proveedor de acceso o en el caso de un alojamiento mutualizado), entonces puede verificar la configuración con la función phpinfo():
<?
phpinfo();
?>
file_uploads = On ==> le colocamos ON
upload_tmp_dir = /tmp_name ==> le colocamos la ruta y el nombre de la carpeta donde va subir temporalmente el archivo
upload_max_filesize = 2M ==> le colocamos el tamaño maximo del archivo que se quiere subir
post_max_size = 8M ==> se le coloca el tamaño maximo de los datos enviados en un formulario
Creacion de la carpeta tmp_name
cd /
mkdir tmp_name
Creacion de la carpeta subidas
cd /var/www/subir_archivos
mkdir subidas
Asignacion de todos los permisos para ambas carpetas tmp_name - subidas
chmod -R 777 tmp_name
chmod -R 777 subidas
Codigo del Archivo Subir.html
<html>
<head>
</head>
<body>
<form action="file.php" method="post" enctype="multipart/form-data">
<input type="file" name="archivo" id="archivo"></input>
<input type="submit" value="Subir archivo"></input>
</form>
<div id="tw">Twitter : @kimberling_149
</div>
</body>
</html>
Codigo del Archivo file.php
<?php
/*
tmp_name: Es el nombre del fichero temporal donde se ha hecho el upload.
name: Es el nombre original del fichero, el que le puso el usuario.
type: El tipo mime del fichero. Por ejemplo si es una imagen jpeg el valor de esta clave será "image/jpeg"
error: Indica si ha habido algún error durante la subida.
size: Tamaño del fichero en bytes.
*/
if ($_FILES['archivo']["error"] > 0)
{
echo "Error: " . $_FILES['archivo']['error'] . "<br>";
echo "<br>";
echo "Atencion...!!! hubo un error al subir el archivo $name verifique e intente nuevamente...";
}
else
{
echo "Nombre: " . $_FILES['archivo']['name'] . "<br>";
echo "Tipo: " . $_FILES['archivo']['type'] . "<br>";
echo "Tamaño: " . ($_FILES["archivo"]["size"] / 1024) . " kB<br>";
echo "Carpeta temporal: " . $_FILES['archivo']['tmp_name'];
/*ahora con la funcion move_uploaded_file lo guardaremos en el destino que queramos*/
move_uploaded_file($_FILES['archivo']['tmp_name'], "subidas/" . $_FILES['archivo']['name']);
echo "<br>";
echo "Felicitaciones logro subir el archivo $name exitosamente";
/*subidas es la carpeta que creamos donde se van a guardar los archivos despues que pasan por tmp_name
subidas puedes cambiarlo al nombre que quieras...
*/
}
?>
Por ultimo
Se abre un navegador, coloca el nombre del proyecto en este caso subir_archivos y listo