Foros del Web » Programando para Internet » PHP »

No se como ordenar mi upload.. ?

Estas en el tema de No se como ordenar mi upload.. ? en el foro de PHP en Foros del Web. Hola a todos estoy reeditando este mensaje : Tengo un problema yo quiero subir dos archivos al mismo tiempo pero me sube 01, no se ...
  #1 (permalink)  
Antiguo 19/10/2005, 10:35
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 18 años, 10 meses
Puntos: 7
No se como ordenar mi upload.. ?

Hola a todos estoy reeditando este mensaje :
Tengo un problema yo quiero subir dos archivos al mismo tiempo pero me sube 01, no se en que parte o como hacer para que sepa que estoysubiendo los dos archivos.? si me podrian dar una ayuda se los agradeceria mi codigo es el siguiente
Subir archivos
Código HTML:
<form action="archivosubidojpgpdf2.php" method="post" enctype="multipart/form-data" name="form1">
      <table width="351" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td>Subir Imagenes </td>
          <td><input name="archivo" type="file" id="archivo"></td>
        </tr>
        <tr>
          <td>Subir PDf </td>
          <td><input name="archivo" type="file" id="archivo"></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input type="submit" name="Submit" value="Enviar"></td>
        </tr>
      </table>
    </form> 
mI Codigo es el siguiente
Código PHP:
if ( isset ($_FILES['archivo']['tmp_name'])) 
{
     
$tipo=$_FILES['archivo']['type']; 
        if (!((
strpos($tipo"gif") || strpos($tipo"jpg") || strpos($tipo"pdf")) )) 
        {
        echo 
"El archivo no es una imágen JPG, GIF ni PDF <br>";
        echo 
"vuelva a intentarlo";
}else{
      
$uploaddir 'pruebas'//nombre de la carpeta
            
$uploadfile =  $_FILES['archivo']['name'];
            if (
move_uploaded_file($_FILES['archivo']['tmp_name'], $uploadfile))
            {
                print 
'archivo subido correctamente: <br>';
                echo 
"Nombre del archivo :<i>" .$_FILES['archivo']['name']."</i><br>";
                echo 
"Tipo MIME: <i>".$_FILES['archivo']['type']."</i><br>";
                echo 
"Peso: <i>".$_FILES['archivo']['size']." bytes</i><p>";
            } else {
                    print 
'Error, algo no anda bien, no se logro subir al directorio<br>';
            }     
     }

__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura

Última edición por helthon; 19/10/2005 a las 14:26
  #2 (permalink)  
Antiguo 19/10/2005, 14:37
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Consulta las FAQ.

La solución fácil es manejar los fileboxes con diferente name y repetir el proceso de upload para cada uno (obviamente referenciando a cada name). Ningùn elemento de un formulario puede tener el mismo name (salvo radios y es otra cuestión).

Una solución mejor: manejar los name's como una matriz (name="algo[]") y para recojer aplicar un ciclo... no estás haciendo más que agregarle otro índice a $_FILES por lo que tendrías (en tu caso):
$_FILES['tu_archivo']['name'][1] <- Tu primer archivo
$_FILES['tu_archivo']['name'][2] <- El segundo archivo.

Lo verás en las FAQ.

Edito y reedito:
http://www.forosdelweb.com/showpost....&postcount=139
http://www.forosdelweb.com/showthrea...69#post1143869
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 19/10/2005 a las 14:57
  #3 (permalink)  
Antiguo 19/10/2005, 19:04
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 18 años, 10 meses
Puntos: 7
De acuerdo

Gracias jam1138 si k eres un master...

si me sirvio pero cuando trate de validar que solo sean archivos JPG y PDF no me acepta me sale el mensaje que no son ninguno de esos archivos por mas que subo imagenes...

mi codigo es :
Código PHP:

<link href="../css/formato.css" rel="stylesheet" type="text/css">
<?php 

    
for($i=0$i<count($_FILES['file']['name']); $i++) 
    { 
        if(!empty(
$_FILES['file']['name'][$i])) 
        { 
            if (
is_uploaded_file($_FILES['file']['tmp_name'][$i])) 
            { 
                 
$tipo=$_FILES['file']['type'][$i];  //filtro para que solo suba archivos de este tipo uso el mimetype 
                    
if (!((strpos($tipo"gif") || strpos($tipo"pdf") || strpos($tipo"jpg")) )) 
                     {
                    echo 
"El archivo no corresponde al formato habilitado JPG, GIF, PDF";
                    }else{
                
                
$nombre"noticias/01/".$_FILES['file']['name'][$i]; // Conserva su nombre original, se guarda en una carpeta imagenes 
                
if(move_uploaded_file($_FILES['file']['tmp_name'][$i], $nombre)) { 
                     
                print 
'<span class="tituBarraNegro">archivo subido correctamente: </span><br>';
                echo 
"<span class='tituBarraNegro'>Nombre del archivo:" .$_FILES['file']['name'][$i]."</span><br>";
                echo 
"<span  class='tituBarraNegro'>Tipo:".$_FILES['file']['type'][$i]."</span><br>";
                echo 
"<span class='tituBarraNegro'>Peso: <i>".$_FILES['file']['size'][$i]." bytes</i></span><p>";
                    } 
                } 
            } 
        } 
    } 
 
?>

Ahora como seria si necesito que segun la extencion se guarden en diferentes carpetas
jpg = /fotos/
pdf = /articulos/
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #4 (permalink)  
Antiguo 19/10/2005, 21:57
Avatar de jc_moty  
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 477
Antigüedad: 18 años, 6 meses
Puntos: 1
Re

En lugar de complicarte la vida con el strpos porque no probas el codigo asi:
Código PHP:
$pasar=false;
$local $_FILES['file']['name']
$tipo explode("."$local);
$n count($extension)-1;
$jpg="jpg"$gif="gif"$pdf="pdf";
if(
strcasecmp($extension[$n], $jpg))
    
$pasar=false;
else
{
    
$pasar=true;
    
$tipo $jpg;
}
if(
strcasecmp($extension[$n], $gif))
    
$pasar=false;
else
{
    
$pasar=true;
    
$tipo $gif;
}
if(
strcasecmp($extension[$n], $pdf))
    
$pasar=false;
else
{
    
$pasar=true;
    
$tipo $pdf;
}

if(
$pasar==true)
{
    if(
$tipo == $pdf)
    {
        
$folder="/articulos";
    }
    if(
$tipo == $jpg || $tipo == $gif)
    {
        
$folder="/imagenes";
    }
}
else
    echo 
"El archivo no es ni PDF ni imagen";
if(isset(
$folder))
{
    
$ruta $folder.$local;
}
//Por ultimo va la parte del move_uploaded_file, etc, etc, etc.... 
Espero que te sirva; porque realmente no he probado este codigo.
Saludos!!!!

Última edición por jc_moty; 02/11/2005 a las 20:24
  #5 (permalink)  
Antiguo 19/10/2005, 21:58
Avatar de jc_moty  
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 477
Antigüedad: 18 años, 6 meses
Puntos: 1
Ignora lo que dice[indent]
  #6 (permalink)  
Antiguo 20/10/2005, 08:31
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 18 años, 10 meses
Puntos: 7
Hola jc_moty Gracias por responder mi mensaje pero lo probe y me sale error en :
Parse error: parse error, unexpected T_VARIABLE in /home/creativa/public_html/pruebas/pdf8-2.php on line 12

Dime cual es la funcion de[indent] y porque me dice que lo ignore, lo Borro.?
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #7 (permalink)  
Antiguo 20/10/2005, 13:16
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
cual es la funcion de[indent] y porque me dice que lo ignore, lo Borro.?
Ve que es BBcode. Su función seguramente es la de tabular texto.

Una validación por extención no es para nada segura. Es fácilmente adulterable:
- archivo.exe.jpg <- válido
- ejecutable.jpg <- válido; donde el código corresponde a un ejecutable a pesar de su extención.

Para una validación segura es necesario utilizar el valor devuelto por $_FILES['archivo']['type'], osease, por su MIME-TYPE (ojo con los .jpg).

En tu caso prueba utilizar la función strstr()... aunque aún mejor si haces la validación exácta y directa:
Código PHP:
if ($tipo!="image/gif" && $tipo!="image/jpeg" && $tipo!="application/pdf"
... ve que se utiliza menos código, no son necesarias otras funciones y, a mi parecer, es más entendible lo que lo hace más efectivo...

Un saludo!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 19:04.