Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/05/2007, 10:24
Avatar de xyro
xyro
 
Fecha de Ingreso: agosto-2006
Ubicación: Granada
Mensajes: 31
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: subir archivo y guardar ruta en bd

Hola gabrisa.

2 cosas son la que pides, pues bien, vamos a ver si esto va bien.

1ª. Subir un archivo. Con esta rutina yo subo archivos sin problemas.

Código PHP:
<?php 
function subirarchivo($var_name$var_size$var_tmp$var_tipo$location$filename$maxfilesize){
   
$ok false;
   
   
$archivo_name strtolower($var_name);
   
$archivo_size $var_size;
   
$archivo_tmp  $var_tmp;
   
$archivo_tipo $var_tipo;
   
// 1 - Chequea el tipo de archivo.
    
if($archivo_tipo=="application/vnd.ms-excel" || $archivo_tipo=="application/pdf" || $archivo_tipo=="application/msword" || $archivo_tipo=="text/plain" || $archivo_tipo=="image/jpeg" || $archivo_tipo=="image/pjpeg" || $archivo_tipo=="image/gif" || $archivo_tipo=="image/x-png" || $archivo_tipo=="image/png"){
        
// Si tipo de archivo es correcto.
        
$ok true;
    } 
    else{
        
// Si el tipo de archivo no es correcto.
        
echo "Error 1 - El archivo $archivo_name, no es un documento valido.";
    }
    
// 2 - Chequea Tamaño.
   
if(isset($maxfilesize)){
     if(
$archivo_size $maxfilesize){// Si Tamaño de archivo mayor de lo permitido.
       
$ok false;
       echo 
"Error 2 - El archivo es mayor de tamaño maximo.";
     }
   }
// 3 - Si el archivo pasa todas las verificaciones anterioes ok = true.
   
if($ok==true){
     
$tempname $archivo_tmp;
     if(isset(
$filename)){$uploadpath $location.$filename;}
     else{
$uploadpath $location.str_replace(" ","_",$archivo_name);}

     if(
is_uploaded_file($archivo_tmp)){  
       while(
move_uploaded_file($tempname$uploadpath)){
           
chmod($uploadpath0775);
           echo 
"Archivo añadido,";
       }
     }
     return 
true;
   }
   else{return 
false;}
}
?>
2ª. En la funcion anterior pasa una variable que se llama $location, pues bien esa variable es la ruta del archivo, solo tienes que grabarla en la base de datos y listo.