Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/11/2007, 14:27
Albertair1
 
Fecha de Ingreso: noviembre-2007
Mensajes: 49
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: subir un archivo y guardar ruta en base de datos

Claro !!!



Este es el codigo.




Código PHP:
//Maximo tamaño en bytes
$MAX_SIZE 3000000000000;
                            
//Array con extensiones           
$FILE_EXTS  = array('.wmv'); 

//URL
$url =  "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

//Directorio de subida 
$upload_dir "archivos/";

if (!
is_dir($upload_dir)) {
  if (!
mkdir($upload_dir))
          die (
"El directorio no existe o no puede crearse");
  if (!
chmod($upload_dir,0777))
      die (
"Fallo el cambio de permisos a 0777.");
}

//Aca hacemos un log.txt con algunos datos como fecha e IP
if ($_FILES['userfile']) {
  
$archivo_log fopen("log.txt","a");
  
fwrite($archivo_log,date("Y.m.d h:i:s")." Subida - $_SERVER[REMOTE_ADDR] "
            
.$_FILES['userfile']['name']." "
            
.$_FILES['userfile']['type']."\n");
  
fclose ($archivo_log); 

  
$file_type $_FILES['userfile']['type']; 
  
$file_name $_FILES['userfile']['name'];
  
$file_ext strtolower(substr($file_name,strrpos($file_name,".")));

//Chequeo que los archivos no excedan el limite
  
if ( $_FILES['userfile']['size'] > $MAX_SIZE
     
$mensaje "El archivo debe pesar menos que 200KB.";
 
//Chequeo la extension
  
else if (!in_array($file_ext$FILE_EXTS))
     
$mensaje "Lo siento, archivos $file_ext no estan permitidos."
  else 
     
$mensaje do_upload($upload_dir$upload_url);
  
  print 
"<script>window.location.href='$url?mensaje=$mensaje'</script>";
}
else if (!
$_FILES['userfile']);
else 
    
$mensaje "Archivo invalido.";

//LISTA DE ARCHIVOS

$handle=opendir($upload_dir);
$filelist "";
while (
$file readdir($handle)) {
   if(!
is_dir($file) && !is_link($file)) {
      
$filelist .= "<a href='$upload_dir$file'>".$file."</a>";
      
$filelist .= "<sub><small><font color=grey>  ".date("d-m H:i"filemtime($upload_dir.$file))
                   .
"</font></small></sub>";
      
$filelist .="<br>";
   }
}

//Aca hacemos el upload
function do_upload($upload_dir$upload_url) {

    
$temp_name $_FILES['userfile']['tmp_name'];
    
$file_name $_FILES['userfile']['name']; 
    
//Aca reemplazo saco las comillas y barras de los nombres
  
$file_name str_replace("\\","",$file_name);
  
$file_name str_replace("'","",$file_name);

//Aca reemplazo los espacios del nombre por guion bajo
  
$file_name str_replace(" ","_",$file_name);
  
$file_path $upload_dir.$file_name;

//Chequeo el nombre del archivo
  
if ( $file_name =="") { 
      
$mensaje "Nombre invalido o vacio";
      return 
$mensaje;
  }

 
$resultado  =  move_uploaded_file($temp_name$file_path);
  if (!
chmod($file_path,0777))
       
$mensaje "Fallo el cambio de permisos a 0777.";
  else
    
$mensaje = ($resultado)?"$file_name subido con exito." :
               
"Hubo un error al subir el archivo.";
  return 
$mensaje;
}

?> 

Última edición por Albertair1; 25/11/2007 a las 14:40