Foros del Web » Programando para Internet » PHP »

subir varios archivos

Estas en el tema de subir varios archivos en el foro de PHP en Foros del Web. holanecesito una ayudita con este tema tengo el siguiente codigo para un formulario que incluye subir imagenes al servidor y guardar la direccion de las ...
  #1 (permalink)  
Antiguo 03/09/2008, 19:48
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
subir varios archivos

holanecesito una ayudita con este tema tengo el siguiente codigo para un formulario que incluye subir imagenes al servidor y guardar la direccion de las imagenes en una base de datos esto me funciona perfecto pero necesito ahora es poder subir tambien un pdf en el mismo formulario y nose como arreglar este codigo para q me haga ambas cosas..por fa alguna ayuda mil gracias

Código PHP:
<?php //recibe valores
$titulo=$_POST['titulo'];
$descripcion=$_POST['descripcion'];
$mensaje=$_POST['mensaje'];

require_once(
'scripts/convertirnoticia.php');
require_once(
'../conexion.php');?>
<title>Crear Noticia</title>
<?php  
//datos del arhivo  
$nombre_archivo $HTTP_POST_FILES["userfile"]["name"];  
$tipo_archivo $HTTP_POST_FILES["userfile"]["type"];  
$tamano_archivo $HTTP_POST_FILES["userfile"]["size"]; 
//echo $nombre_archivo;
//verificar que no exista la identificación en la base de datos
$consultar="select * from noticias where titulo='$titulo'";
$resultado=mysql_query($consultar,$cnx);

$num_filas mysql_num_rows($resultado);
if(
$num_filas==1)
{
    
?>
        <script language="javascript">
        alert("El Titulo ya existe");
        window.history.back();
        </script>                  
    <?php
    
exit;
}
else
{    
//compruebo si las características del archivo son las que deseo  

if (!((strpos($tipo_archivo"bmp") || strpos($tipo_archivo"gif") || strpos($tipo_archivo"jpeg") || strpos($tipo_archivo"png")) && ( $tamano_archivo 2000000))) 
{  
   echo 
"<center><span class='Estilo3'>";
    echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br></span><table><tr><td><div class='Estilo3'><li>Se permiten archivos .gif .jpg .png ó .bmp<br><li>se permiten archivos de 2Mb máximo.</div></td></tr></table></center>"
?> 
    <script language="javascript"> 
        setTimeout("url()",2000); 
        function url() 
        { 
        window.history.back(); 
        } 
    </script>            
<?php     

    
else 
{  
    
$nom_img$nombre_archivo;    
    
$directorio 'fotos/'

    if (
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'],$directorio "/" $nom_img)) 
    {  
        
$diaactualdate("d");  
        
$mesactualdate("m");  
        
$anoactualdate("Y"); 
        
$fecha$anoactual "/" $mesactual "/" $diaactual
                                  
 
$query="INSERT INTO noticias (titulo,mensaje,foto,fecha) VALUES ('$titulo','$mensaje','$nom_img','$fecha')";  

        
$result=mysql_query($query,$cnx);
        
        if(
mysql_affected_rows($cnx)) 
        {  
           echo 
"<br><br><br><br><br><br><div align='center'><span class='Estilo3'>Noticia Ingresada correctamente </div><br><br><br>";
          
?>
     <script language="javascript"> 
        setTimeout("url()",500); 
        function url() 
        { 
        window.location="noticia.htm"
        } 
    </script>          
<?php 
                          
        
} else  
        {  
            echo 
"Error introduciendo la Noticia";  
        } 
/* Cierre del else */  

    

    else 
    { 
        echo 
"error al subir la foto"
    } 

}
mysql_close($cnx);
?>
__________________
paty :adios:
  #2 (permalink)  
Antiguo 04/09/2008, 01:00
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: subir varios archivos

deseas subir 2 archivos a la vez ???
  #3 (permalink)  
Antiguo 04/09/2008, 06:08
 
Fecha de Ingreso: septiembre-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: subir varios archivos

En el Manual de PHP:
http://www.php.net/manual/es/features.file-upload.multiple.php

"Se pueden enviar multiples ficheros usando diferentes nombres (name) para los input. También es posible enviar varios archivos simultáneamente y tener organizada en arrays la información".

En noticia.htm

<form id="frmNoticia" name="frmNoticia" method="post" action="subir_noticia.php" enctype="multipart/form-data">
………
………
Foto: <input name="userfile[]" type="file" />
Pdf: <input name="userfile[]" type="file" />
………
………
<input type="submit" name="Submit" value="ENVIAR" id="Submit" />
</form>


En subir_noticia.php

………
………
$nombre_archivo_pdf = $HTTP_POST_FILES["userfile"]["name"][1];
$tipo_archivo_pdf = $HTTP_POST_FILES["userfile"]["type"][1];
$tamano_archivo_pdf = $HTTP_POST_FILES["userfile"]["size"][1];
………
………
$nom_pdf= $nombre_archivo_pdf;
$directorio_pdf = 'pdfs/';
………
………
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'][0],$directorio_foto . "/" . $nom_img);
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'][1],$directorio_pdf . "/" . $nom_pdf);
………
………
$query="INSERT INTO noticias (titulo,mensaje,foto,pdf,fecha) VALUES ('$titulo','$mensaje','$nom_img','$nom_pdf','$fech a')";
  #4 (permalink)  
Antiguo 04/09/2008, 10:32
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: subir varios archivos

hola mira hice lo que tu me dijiste..me sale q noticia ingresada correctamente....me sube la imagen y el pdf a las carpetas pero no me ingresa los datos a la base de datos......en el move_uploaded_file para que no me ppresentara error yo le puse && entre los dos nose si este bien o q estoy haciendo mal

en noticia.htm
Código HTML:
<input name="userfile[]" type="file" class="cajatexto1" style="float: left"  size="33" id="userfile">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input name="userfile[]" type="file" class="cajatexto1" style="float: left" size="33" id="userfile">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000"> 
subir noticia.php
Código PHP:
<?php  
//datos del arhivo  
$nombre_archivo $HTTP_POST_FILES["userfile"]["name"][0];  
$tipo_archivo $HTTP_POST_FILES["userfile"]["type"][0];  
$tamano_archivo $HTTP_POST_FILES["userfile"]["size"][0]; 
//echo $nombre_archivo;
/////////////////
$nombre_archivo_pdf $HTTP_POST_FILES["userfile"]["name"][1]; 
$tipo_archivo_pdf $HTTP_POST_FILES["userfile"]["type"][1]; 
$tamano_archivo_pdf $HTTP_POST_FILES["userfile"]["size"][1]; 
//////////
//verificar que no exista la identificación en la base de datos
$consultar="select * from noticias where titulo='$titulo'";
$resultado=mysql_query($consultar,$cnx);
$num_filas mysql_num_rows($resultado);
if(
$num_filas==1)
{
?>
    <script language="javascript">
        alert("El Titulo ya existe");
        window.history.back();
        </script>                  
    <?php
    
exit;
}
else
{    
//compruebo si las características del archivo son las que deseo  
if (!((strpos($tipo_archivo"pdf") || strpos($tipo_archivo"bmp") || strpos($tipo_archivo"gif") || strpos($tipo_archivo"jpeg") || strpos($tipo_archivo"png")) && ( $tamano_archivo 2000000))) 
{  
echo 
"<center><span class='Estilo3'>";
echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br></span><table><tr><td><div class='Estilo3'><li>Se permiten archivos .pdf .gif .jpg .png ó .bmp<br><li>se permiten archivos de 2Mb máximo.</div></td></tr></table></center>"
?> 
 <script language="javascript"> 
        setTimeout("url()",2000); 
        function url() 
        { 
        window.history.back(); 
        } 
    </script>            
<?php     

else 
{  
$nom_img$nombre_archivo
$nom_pdf$nombre_archivo_pdf

$directorio_pdf 'pdf/'
$directorio 'fotos/'

if (
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'][0],$directorio "/" $nom_img)&&
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'][1],$directorio_pdf "/" $nom_pdf)) 
    {  
        
$diaactualdate("d");  
        
$mesactualdate("m");  
        
$anoactualdate("Y"); 
        
$fecha$anoactual "/" $mesactual "/" $diaactual
                           
$query="INSERT INTO noticias (titulo,descripcion,mensaje,foto,documento,fecha) VALUES ('$titulo','$descripcion','$mensaje','$nom_img','$nom_pdf,'$fecha')";  

$result=mysql_query($query,$cnx);
        
        if(
mysql_affected_rows($cnx)) 
        {  
echo 
"<br><br><br><br><br><br><div align='center'><span class='Estilo3'>Noticia Ingresada correctamente </div><br><br><br>";
          
?>
     <script language="javascript"> 
        setTimeout("url()",500); 
        function url() 
        { 
        window.location="noticia.htm"
        } 
    </script>          
<?php                  
        
} else  
        {  
            echo 
"Error introduciendo la Noticia";  
        } 
/* Cierre del else */  
    

    else 
    { 
        echo 
"error al subir la foto"
    } 

}
mysql_close($cnx);
?>
__________________
paty :adios:
  #5 (permalink)  
Antiguo 04/09/2008, 10:37
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: subir varios archivos

oye mil y mil gracias...ya encontre el error ...me faltaba una comilla.....muchisismas gracias por tu ayuda
__________________
paty :adios:
  #6 (permalink)  
Antiguo 04/09/2008, 12:55
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: subir varios archivos

tengo un problemilla ahora quisiera poder hacer q el si solo sube una imagen ingrese los campos asi no haya seleccionado pdf....he intentado me ingresa lso datos pero ahora no me sube la imagen el codigo lo qestoy haciendo asi no se q estoy haciendo mal o q estoy poniendo mal

Código PHP:
<?php
//datos del arhivo  
$nombre_archivo $HTTP_POST_FILES["userfile"]["name"][0];  
$tipo_archivo $HTTP_POST_FILES["userfile"]["type"][0];  
$tamano_archivo $HTTP_POST_FILES["userfile"]["size"][0]; 
//echo $nombre_archivo;
/////////////////
$nombre_archivo_pdf $HTTP_POST_FILES["userfile"]["name"][1]; 
$tipo_archivo_pdf $HTTP_POST_FILES["userfile"]["type"][1]; 
$tamano_archivo_pdf $HTTP_POST_FILES["userfile"]["size"][1]; 
//////////
//verificar que no exista la identificación en la base de datos
$consultar="select * from noticias where titulo='$titulo'";
$resultado=mysql_query($consultar,$cnx);

$num_filas mysql_num_rows($resultado);
if(
$num_filas==1)
{
    
?>
        <script language="javascript">
        alert("El Titulo ya existe");
        window.history.back();
        </script>                  
    <?php
    
exit;
}
else
{    

if(
$nombre_archivo_pdf!=""){//if para decidir q hacer cuando no selecciona documento
//compruebo si las características del archivo son las que deseo  
if (!((strpos($tipo_archivo"pdf") || strpos($tipo_archivo"bmp") || strpos($tipo_archivo"gif") || strpos($tipo_archivo"jpeg") || strpos($tipo_archivo"png")) && ( $tamano_archivo 2000000))) 
{  
   echo 
"<center><span class='Estilo3'>";
    echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br></span><table><tr><td><div class='Estilo3'><li>Se permiten archivos .pdf .gif .jpg .png ó .bmp<br><li>se permiten archivos de 2Mb máximo.</div></td></tr></table></center>"
?> 
    <script language="javascript"> 
        setTimeout("url()",2000); 
        function url() 
        { 
        window.history.back(); 
        } 
    </script>            
<?php     

    
else 
{  
    
$nom_img$nombre_archivo
    
$nom_pdf$nombre_archivo_pdf

    
$directorio_pdf 'pdf/'
    
$directorio 'fotos/'

    if (
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'][0],$directorio "/" $nom_img)&&
        
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'][1],$directorio_pdf "/" $nom_pdf)) 
    {  
        
$diaactualdate("d");  
        
$mesactualdate("m");  
        
$anoactualdate("Y"); 
        
$fecha$anoactual "/" $mesactual "/" $diaactual
         
                         
 
$query="INSERT INTO noticias (titulo,descripcion,mensaje,foto,documento,fecha) VALUES ('$titulo','$descripcion','$mensaje','$nom_img','$nom_pdf','$fecha')";  

        
$result=mysql_query($query,$cnx);
        
        if(
mysql_affected_rows($cnx)) 
        {  
           echo 
"<br><br><br><br><br><br><div align='center'><span class='Estilo3'>Noticia Ingresada correctamente </div><br><br><br>";
          
?>
     <script language="javascript"> 
        setTimeout("url()",500); 
        function url() 
        { 
        window.location="noticia.htm"
        } 
    </script>          
<?php 
                          
        
} else  
        {  
            echo 
"Error introduciendo la Noticia";  
        } 
/* Cierre del else */  

    

    else 
    { 
        echo 
"error al subir la foto"
    } 


}
//if!=0

else{//aqui ingreso sin documento
$insertar="INSERT INTO noticias (titulo,descripcion,mensaje,foto,fecha) VALUES ('$titulo','$descripcion','$mensaje','$nom_img','$fecha')";
$result=mysql_query($insertar,$cnx);
        
        if(
mysql_affected_rows($cnx)) 
        {  
           echo 
"<br><br><br><br><br><br><div align='center'><span class='Estilo3'>Noticia ingresada Correctamente </div><br><br><br>";
          
?>
     <script language="javascript"> 
        setTimeout("url()",500); 
        function url() 
        { 
        window.location="noticia.htm"
        } 
    </script>          
<?php 
                          
        
} else  
        {  
            echo 
"Error ingresando la Noticia"
        } 
/* Cierre del else */  

}//else
}//cierre else de arribaa
mysql_close($cnx);
__________________
paty :adios:
  #7 (permalink)  
Antiguo 04/09/2008, 13:01
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: subir varios archivos

¿Ese no es el codigo completo, o si?

Última edición por Ronruby; 04/09/2008 a las 13:06
  #8 (permalink)  
Antiguo 08/09/2008, 09:15
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: subir varios archivos

a q te refieres con todo el codigo????? este es el codigo importante el q recibe las imganees y los documentos lo unico q falta es la parte html, los encabezados y eso pero el resto todo esta ahi
__________________
paty :adios:
  #9 (permalink)  
Antiguo 19/09/2008, 09:10
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: subir varios archivos

alguien me puede ayudar por fa nose olviden de mi
__________________
paty :adios:
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 13:16.