Cargar archivos a sitio web con php

Cargar archivos a sitio web con php

Requerimentos
  • Php
  • MySQL
  • Apache

Configuracion PHP
Para subir archivos por medio de php es necesario configurar las siguientes variables del php.ini
  • post_max_size = 20M          (En este caso se coloco 20 Mb, pero este valor puede cambiar según los requerimientos)
  • file_uploads = On
  • upload_max_filesize = 20M   (En este caso se coloco 20 Mb, pero este valor puede cambiar según los requerimientos)
Archivos necesarios:
  • subir_archivo.php
  • index.php
Base de datos
  • tabla t_documento

=====================================================
index.php
=====================================================
<form action="subir_archivo.php" method="post" enctype="multipart/form-data"> 
   <b>Nota:</b> 
   <br> 
       <input type="hidden" name="c_id_documento" value="<? echo $_GET['c_id_documento'];?>" />
       <textarea name="c_nota"></textarea>
   <br> 
   <b>Archivo: </b> 
   <br> 
   <input name="archivo" type="file">&nbsp;&nbsp;&nbsp;<input type="submit" value="Guardar" name="Guardar"> 
</form> 
=====================================================

=====================================================
subir_archivo.php
=====================================================
<? 
$hostname_localhost = "localhost";
$database_localhost = "archivos";
$username_localhost = "root";
$password_localhost = "****"; 

$localhost = mysql_connect($hostname_localhost, $username_localhost, $password_localhost) or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_select_db($database_localhost, $localhost);

$c_nota = $_POST["c_nota"]; 
//datos del arhivo 
$nombre_archivo  = date("Y_m_d_H_i_s")."_".$_FILES['archivo']['name']; 
$tipo_archivo  = $_FILES['archivo']['type']; 
$tamano_archivo  = $_FILES['archivo']['size']; 
//compruebo si las características del archivo son las que deseo 

if(move_uploaded_file($_FILES['archivo']['tmp_name'], "archivos/".$nombre_archivo))
{
$sql = "insert into t_archivo (,c_nota,c_ruta_archivo,c_tipo, c_fecha) 
values
(
'".$_POST['c_nota']."',
'archivos/".$nombre_archivo."',
'".$_FILES['archivo']['type']."',
now()
)
";
$resultado = mysql_query($sql,$localhost);
if (mysql_error())
{
?>Error al guardar el archivo. <? echo mysql_error();
}
else
{
?>El archivo se guardo correctamente.<?
}
}
else
{
?>Error al cargar el archivo.<?
}
?> 
=====================================================

=====================================================
index.php
=====================================================
<form action="subir_archivo.php" method="post" enctype="multipart/form-data"> 
   <b>Nota:</b> 
   <br> 
       <textarea name="c_nota"></textarea>
   <br> 
   <b>Archivo: </b> 
   <br> 
   <input name="archivo" type="file">&nbsp;&nbsp;&nbsp;<input type="submit" value="Guardar" name="Guardar"> 
</form> 
=====================================================

=====================================================
SQL para crear la tabla
=====================================================
create database archivos;
use archivos;
--
-- Definition of table `t_archivo`
--

DROP TABLE IF EXISTS `t_archivo`;
CREATE TABLE `t_archivo` (
  `c_id_archivo` int(10) unsigned NOT NULL auto_increment,
  `c_nota` text NOT NULL,
  `c_ruta_archivo` text NOT NULL,
  `c_tipo` varchar(50) NOT NULL,
  `c_fecha` datetime NOT NULL,
  PRIMARY KEY  (`c_id_archivo`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

=====================================================


No hay comentarios:

Publicar un comentario

Gracias por tus comentarios!