Foros del Web » Programando para Internet » PHP »

adjuntar archivos en un formulario

Estas en el tema de adjuntar archivos en un formulario en el foro de PHP en Foros del Web. Buenas amigos Estoy con un proyecto en el que tengo un formulario, uno de los campos debe ser para adjuntar un archivo, cuando envie el ...
  #1 (permalink)  
Antiguo 02/10/2008, 07:08
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 9 meses
Puntos: 5
adjuntar archivos en un formulario

Buenas amigos

Estoy con un proyecto en el que tengo un formulario, uno de los campos debe ser para adjuntar un archivo, cuando envie el formulario éste archivo,si se ha seleccionado alguno, debe guardarse en una carpeta, p.e archivos_personal, que estará en el raiz de la pagina web.
¿Se puede hacer con PHP? si es asi ¿Como puedo hacer esto?

muchas gracias de antemano
  #2 (permalink)  
Antiguo 02/10/2008, 07:16
 
Fecha de Ingreso: abril-2008
Ubicación: Posadas
Mensajes: 49
Antigüedad: 16 años
Puntos: 0
Respuesta: adjuntar archivos en un formulario

Hola, si se puede hacer, usando
Código PHP:
move_uploaded_file 
acuerdate de que si vas a subir un archivo tu formulario debe ser
Código PHP:
enctype="multipart/form-data" 
y que tu carpeta tenga los permisos 777.
Saludos.

Revisa otros post ya que hay varios parecidos.
Ve tambien a la pagina de php.net alli hay mas info sobre las funciones
http://ar2.php.net/manual/es/functio...oaded-file.php
__________________
Adrian Weiss
  #3 (permalink)  
Antiguo 02/10/2008, 07:40
Avatar de davico_tico  
Fecha de Ingreso: marzo-2007
Mensajes: 27
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: adjuntar archivos en un formulario

Talves te sirva esto:
Primero, el formulario sería así:
Código HTML:
<form action="guardar.php" enctype="multipart/form-data" method="POST" name="Form1">
<table  width="470">
	<tr>
		<td align="right">* Cod. libro </td><td>:</td>
		<td><input type="text" name="cod_libro"  size=30> </td>
	<tr>
	    <td align="right">Imagen</td><td>:</td>
		<td><input type="file" name="foto"><br>(.jpg)
      		</td>
	</tr>
	<tr>
    	<td colspan="3" align="center">
      	<button type="submit" name="Accion">Guardar</button> <a href="libros.php" title="Cancelar">Cancelar</a></br>
    	</td>
   </tr>
  </table>
 </form> 
El archivo guardar.php
Código PHP:
<?php
session_start
();
require_once(
"../db/bv_Libros.inc.php");
require_once(
"../conexion.php");
$reg=array();
$reg["cod_libro"]=strtoupper$_POST["cod_libro"]);
//valores de la foto
$fotoname     $HTTP_POST_FILES['foto']['name'];
$fototipo     $HTTP_POST_FILES['foto']['type'];
$fototamano   $HTTP_POST_FILES['foto']['size'];
$directorio   $HTTP_POST_FILES['foto']['tmp_name'];
//========
$grabar=lrsInsertarLibros($db$reg);
if(
$grabar){
    
$subirfoto=lrsSubirFoto($_POST["cod_libro"], $directorio$fotoname$fototipo$fototamano);
    
header("Location: libros.php"); //Redirecciona a otra pagina
}
?>
El archivo "../db/bv_Libros.inc.php" :
Código PHP:
<?php
function lrsInsertarLibros($db$arreglo) {
  
$rs $db->AutoExecute("bv_libros"$arreglo"INSERT");
  return (
$rs);
}

function 
lrsSubirFoto($cod_libro$directorio$foto_name$foto_tipo$foto_tamano){  
    if((
$foto_tamano>0) and (ereg(".jpg",$foto_name)) ){
    
$dir_foto="/opt/lampp/htdocs/bv/fotos/";
        if(
is_file($dir_foto.$foto_name)){
        
unlink($dir_foto.$foto_name);
        
chdir($dir_foto);
        
copy($directorio$cod_libro.".jpg") or die("No Se Puede Renovar la Foto"); 
        return 
true;
    }
    else{
        
chdir($dir_foto);
            
copy($directorio$cod_libro.".jpg") or die("No Se Puede Copiar La Foto"); 
            return 
true;
    }  
    }
    else{
    return 
null;
    }
}
Este ejemplo sube una archivo JPG al servidor y le coloca el nombre al archivo. Para manejar la base de datos estoy usando AdoDB (no tiene nada que ver con el Ado de microsoft). Puedes readecuar este codigo segun veas conveniente.

Suerte...
  #4 (permalink)  
Antiguo 02/10/2008, 09:43
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: adjuntar archivos en un formulario

Una observación utiliza el array superglobal $_FILES, ya que $HTTP_POST_FILES, esta bastante descontinuada.




Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #5 (permalink)  
Antiguo 02/10/2008, 10:05
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 9 meses
Puntos: 5
De acuerdo Respuesta: adjuntar archivos en un formulario

Muchisimas gracias a todos...

Entre los códigos que me habeís puesto, los enlaces de info y navegando por el foro pude adeuarlo todo a mi proyecto.

Saludos y mucha suerte, ah! y gracias de nuevo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:32.