Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2015, 01:32
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 1 mes
Puntos: 65
Comprobar si existe o se ha introducido un archivo en el campo tipo "file"

Hola.

Si para comprobar en un formulario que tengo relleno o existe un campo de texto lo hago así:

Código PHP:
Ver original
  1. <?php if(isset($_POST["titulo"])){ echo $_POST["titulo"];} ?>

¿Cómo sería eso mismo pero para el campo de la imagen?

Código PHP:
Ver original
  1. <form method="post" action="enviar.php" enctype="multipart/form-data">
  2. <label>Título:</label><input type="text" name="titulo" value="<?php if(isset($_POST["titulo"])){ echo $_POST["titulo"];} ?>"><br />
  3. <label>Descripción:</label><input type="text" name="descripcion" value="<?php if(isset($_POST["descripcion"])){ echo $_POST["descripcion"];} ?>"><br />
  4. <input type="file" id="archivo" name="archivo" title="Enviar imagen" /><br />  
  5.   <input type="submit" value="Enviar" name="enviar">
  6.                                     </form>

El ejemplo que estoy probando es un formulario de enviar donde el usuario puede hacer el envío con o sin imágenes y entonces hago esto:

Código PHP:
Ver original
  1. <?php
  2.     //Si se ha pulsado enviar
  3.     if(isset($_POST['enviar'])) {
  4.         //Valido los campos del formulario para que no quede nada vacío.
  5.         if(empty($_POST['titulo'])){
  6.             echo "<p class=\"error\">Error: Título de la noticia vacío.</p>";
  7.         }
  8.         elseif(empty($_POST['descripcion'])){
  9.             echo "<p class=\"error\">Error: Descripción de la noticia vacío.</p>";
  10.         }                      
  11.         //Si están todos los campos completos y correctos recogemos los datos de cada campo.                      
  12.         else {//Todo rellenado correctamente, preparar el envío.            
  13.             //Opción con imagen-----------------------------------    
  14.             //Si existe el archivo
  15.             if (isset($_FILES['archivo']))
  16.             {
  17.                 echo 'Existe una imagen para enviar, preparo el envío con imagen';
  18.             }
  19.             //Fin Opción con imagen-----------------------------------
  20.             //Opción sin imagen-----------------------------------  
  21.             else{
  22.                 echo 'No existe una imagen para enviar, preparo el envío sin imágen';
  23.             }
  24.             //Fin Opción sin imagen-----------------------------------      
  25.       }//Todo rellenado correctamente, preparar el envío.          
  26.     }//Fin si se pulsa enviar
  27.     ?>

¿Hay otra manera de comprobarlo?