PHP - subida de archivos a servidor

 
Vista:
sin imagen de perfil
Val: 480
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

subida de archivos a servidor

Publicado por Alejandro (164 intervenciones) el 22/01/2020 11:35:54
Hola a toda la comunidad, que tal estan?? espero que bien.

Vereis estoy con una intranet, la cual tengo un formulario con un campo input file quiero que los archivos de ese input se guarden en tres carpetas segun su tipo mime o extension. Tambien me valdria guardar esos archivos en una carpeta con un indice cada archivo. A continuación les dejo mi codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$archivo = (isset($_FILES['adjuntos'])) ? $_FILES['adjuntos'] : null;
     $ruta_destino_archivo = null;
if ($archivo) {
   $extension = pathinfo($archivo['name'], PATHINFO_EXTENSION);
   $extension = strtolower($extension);
   $extension_correcta = ( $extension == 'pdf' or $extension == 'txt' or $extension == 'jpeg');
 
   if ($extension_correcta['extension']=="pdf") {
 
      $ruta_destino_archivo = "archivos_adjuntados/PDF/{$archivo['name']}";
 
 
    }elseif ($extension_correcta['extension'] == "txt"){
 
            $ruta_destino_archivo = "archivos_adjuntados/TXT/{$archivo['name']}";
 
    }else{
 
          $ruta_destino_archivo = "archivos_adjuntados/IMG/{$archivo['name']}";
      }
      $archivo_ok = move_uploaded_file($archivo['tmp_name'], $ruta_destino_archivo);
}

El caso es que he conseguido que se guarden dos tipos de archivo PDF e imagen en las dos carpetas que le tocan, pero tengo otra carpeta de archivos txt y no consigo que los archivos de esa extension se guarden ahi, se que es un fallo del condicional if, he probado miles de cosas pero nada. Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 2.907
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

subida de archivos a servidor

Publicado por joel (915 intervenciones) el 22/01/2020 14:15:13
Hola Alejandro, creo que tienes un error en tu código...

En la linea 6, la variable $extension_correcta contiene true o false, en ningún momento contiene la extensión.
Por lo tanto la linea 8 y 13 nunca se cumplirá el condicional!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 480
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

subida de archivos a servidor

Publicado por Alejandro (164 intervenciones) el 23/01/2020 08:09:43
Muchas gracias por la pronta respuesta joel, pero los pdf si los guarda en la carpeta PDF, lo he modificado quitando el array pero nada:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$archivo = (isset($_FILES['adjuntos'])) ? $_FILES['adjuntos'] : null;
     $ruta_destino_archivo = null;
if ($archivo) {
   $extension = pathinfo($archivo['name'], PATHINFO_EXTENSION);
   $extension = strtolower($extension);
   $extension_correcta = ( $extension == "pdf" or $extension == "txt" or $extension == "jpeg");
 
   if ($extension_correcta=="pdf") {
 
            $ruta_destino_archivo = "archivos_adjuntados/PDF/".$archivo['name'];
 
 
    }elseif ($extension_correcta== "txt"){
 
            $ruta_destino_archivo = "archivos_adjuntados/TXT/".$archivo['name'];
 
    }else{
 
            $ruta_destino_archivo = "archivos_adjuntados/IMG/".$archivo['name'];
 
      }
            $archivo_ok = move_uploaded_file($archivo['tmp_name'], $ruta_destino_archivo);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 2.907
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

subida de archivos a servidor

Publicado por joel (915 intervenciones) el 23/01/2020 08:46:17
La verdad, es que no entiendo porque te funciona, ya que no deberia... pero creo que lo tienes un poco liado... haber que parece así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$archivo = (isset($_FILES['adjuntos'])) ? $_FILES['adjuntos'] : null;
$ruta_destino_archivo = null;
if ($archivo) {
    $extension = pathinfo($archivo['name'], PATHINFO_EXTENSION);
    $extension = strtolower($extension);
    if ( $extension == "pdf" or $extension == "txt" or $extension == "jpeg")
    {
        if ($extension=="pdf") {
 
            $ruta_destino_archivo = "archivos_adjuntados/PDF/".$archivo['name'];
 
        } elseif ($extension== "txt"){
 
            $ruta_destino_archivo = "archivos_adjuntados/TXT/".$archivo['name'];
 
        } else {
 
            $ruta_destino_archivo = "archivos_adjuntados/IMG/".$archivo['name'];
 
        }
        $archivo_ok = move_uploaded_file($archivo['tmp_name'], $ruta_destino_archivo);
    } else {
        echo "La extension no es correcta";
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 480
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

subida de archivos a servidor

Publicado por Alejandro (164 intervenciones) el 23/01/2020 10:02:38
Lo he probado, coloca los PDF y los txt bien, pero ahora las imagenes no suben :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 2.907
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

subida de archivos a servidor

Publicado por joel (915 intervenciones) el 23/01/2020 11:12:18
la extensión de las imágenes son jpeg? o jpg?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 480
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

subida de archivos a servidor

Publicado por Alejandro (164 intervenciones) el 23/01/2020 14:21:45
ya esta joel, tenias razon era la extension de la imagen, yo es que tenia entendido que jpg y jpeg eran la misma extensión. Muchas gracias por la ayuda ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 480
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

subida de archivos a servidor

Publicado por Alejandro (164 intervenciones) el 24/01/2020 08:38:25
una ultima pregunta joel, si quiero introducir enlaces también, que extensión pondría, gracias de antemano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 480
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

subida de archivos a servidor

Publicado por Alejandro (164 intervenciones) el 24/01/2020 13:11:25
Tambien quisiera guardar la ruta en un registro existente. Lo hago con un insert a una tabla noticias y después hago update especificando un ID pero sale la palabra "array" en el registro en vez de la ruta. Es como si no leyera lo que paso por el input. Gracias de antemano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 2.907
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

subida de archivos a servidor

Publicado por joel (915 intervenciones) el 24/01/2020 19:01:25
Si la pregunta no tiene nada que ver con el hilo, es recomendable crear un nuevo hilo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 480
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

subida de archivos a servidor

Publicado por Alejandro (164 intervenciones) el 27/01/2020 09:14:10
De acuerdo, a ver esta relacionado porque es guardar la ruta de esos archivos en una bd con motor mysql
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 2.907
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

subida de archivos a servidor

Publicado por joel (915 intervenciones) el 24/01/2020 19:00:57
Enlaces?? pero aquí estas enviando archivos, no?
Puedes comentar con mas detalle?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 480
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

subida de archivos a servidor

Publicado por Alejandro (164 intervenciones) el 27/01/2020 09:15:29
si archivos y enlaces tambien pero eso me imagino que se hara con un input text
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar