Ver Mensaje Individual
  #9 (permalink)  
Antiguo 12/07/2011, 06:34
Avatar de sven_uri
sven_uri
 
Fecha de Ingreso: mayo-2011
Mensajes: 109
Antigüedad: 12 años, 11 meses
Puntos: 4
Pregunta Subir Videos FLV VS. PHP.INI

Buenas gente,

Hace poco encontré y adapte un código para subir archivos de video FLV. Actualmente no me funciona por que me da el error de:
Notice: Undefined index: cliente in C:\xampp\htdocs\validar.php on line 24

Notice: Undefined index: title in C:\xampp\htdocs\validar.php on line 25

Notice: Undefined index: director in C:\xampp\htdocs\validar.php on line 26

Notice: Undefined index: video in C:\xampp\htdocs\validar.php on line 27

Notice: Undefined index: video in C:\xampp\htdocs\validar.php on line 29

Notice: Undefined index: video in C:\xampp\htdocs\validar.php on line 30

Notice: Undefined index: video in C:\xampp\htdocs\validar.php on line 31

Notice: Undefined index: action in C:\xampp\htdocs\validar.php on line 42


Asi que se lo pasé a un amigo para ver si a él le funcionaba, lo sorprendente fue que si que le funcionaba y sin tener desactivados los notice. Por lo que pensé que puede que mi fallo estubiera en una mala configuración del PHP.INI.

Vosotros que creeis? Es un error de que me falta declarar algo o realmente es algo que falta por configurar en php.ini?

Para prevenir, os enseño mi código(son 2 archivos, uno es un formulario para subir el video y el otro es para validar la información):


form.php:
Código PHP:
Ver original
  1. <html>
  2. <head>
  3.     <title>Video Upload con PHP | COLORATE</title>
  4.     <link rel="stylesheet" href="estilo.css" type="text/css" media="screen" />
  5. </head>
  6. <body>
  7.     <div id="container">
  8.    
  9.     <div id="top">
  10.     <h1>UPLOAD VIDEO EN PHP | COLORATE</h1>
  11.   </div>
  12.  
  13.     <div id="leftSide">
  14.   <fieldset>
  15.         <legend>Upload Video</legend>
  16.         <form action="validar.php" method="POST" class="form" enctype="multipart/form-data">
  17.            
  18.            <!-- CLIENTE -->
  19.             <label for="cliente">Cliente</label>
  20.         <div class="div_texbox">
  21.             <input name="cliente" type="text" class="username" id="cliente" />
  22.             </div>
  23.            
  24.             <!-- TITULO -->
  25.             <label for="name">Título</label>
  26.         <div class="div_texbox">
  27.             <input name="title" type="text" class="username" id="title" />
  28.             </div>
  29.            
  30.             <!-- DIRECTOR -->
  31.         <label for="username">Director</label>
  32.         <div class="div_texbox">
  33.             <input name="director" type="text" class="username" id="director" />
  34.             </div>
  35.            
  36.             <!-- SELECCIONAR FICHERO -->
  37.             <label for="username">Video (.mov)</label>
  38.         <div class="div_texbox">
  39.             <input type="file" name="video" class="username"  tabindex="3" />
  40.             </div>
  41.            
  42.             <!-- BOTON ENVIAR -->
  43.             <div class="button_div">
  44.                 <input name="submit" type="submit" value="Enviar" class="buttons" onclick="javascript:bar1.showBar()" />
  45.             </div>
  46.             <input name="action" type="hidden" value="upload" />
  47.            
  48.         </form>
  49.     </fieldset>
  50.     </div>
  51. </div> <!-- Cierra Container -->
  52. </body>
  53. </html>

Y, el otro, validar.php:
Código PHP:
Ver original
  1. <?php
  2.  
  3.     $status = "";
  4.     $error = "";
  5.     $cont_error = 0;
  6.    
  7.     $cliente    = $_POST["cliente"];
  8.     $titulo     = $_POST["title"];
  9.     $director = $_POST["director"];
  10.     $video      = $_FILES['video']['name'];
  11.    
  12.     $tamano     = $_FILES['video']['size'];
  13.     $tipo       = $_FILES['video']['type'];
  14.     $archivo    = $_FILES['video']['name'];
  15.    
  16.     //Tamaño en bytes. Este tamaño son 10mb
  17.     //20mb --> 20479940,23 bytes
  18.     //5mb  --> 5119985
  19.     $limite_tamano = 5119985;
  20.     $tipo_archivo = "video/x-flv";
  21.     $target_path = "uploads/";
  22.    
  23.    
  24.     //Comprobamos que se ha llegado a este punto a través del formulario
  25.     if ($_POST["action"] == "upload"){
  26.      
  27.       //Comprobamos que todos los campos estén informados
  28.       if ($cliente == "" || $titulo == "" || $director == "" || $archivo == "") {
  29.         $cont_error += 1;
  30.         $error .= "Error" . $cont_error . ": Por favor, rellene todos los campos<br>";
  31.       }else{
  32.         //Comprobamos que el tipo de extensión sea .FLV
  33.         if ($tipo != $tipo_archivo){
  34.                 $cont_error += 1;
  35.                 $error .= "Error" . $cont_error . ": Tipo de fichero erróneo: El fichero seleccionado es de tipo " . $tipo . "<br>";
  36.                 $error .= "Por favor, selecciona un fichero de tipo .FLV<br>";
  37.             }else{
  38.                 //Comprobamos que el tamaño del archivo no supere
  39.                 //el que hemos predefinido en $limite_tamano
  40.                 if ($tamano > $limite_tamano ){
  41.                     $cont_error += 1;
  42.                     $error .= "Error" . $cont_error . ": El fichero seleccionado es demasiado grande. Su tamaño debe ser menor de " .  $limite_tamano . "<br>";
  43.             }
  44.             else{
  45.                     //Añadimos el archivo a la ruta "uploads/nombrearchivo.extension"
  46.                         $target_path = $target_path . basename($archivo);
  47.  
  48.                         if (move_uploaded_file($_FILES['video']['tmp_name'],$target_path )){
  49.                         $status = "Archivo subido: <b>".$archivo."</b>";
  50.                             echo "<h4>ENVIO CORRECTO</h4>";
  51.                             echo "<p>Cliente: " . $cliente . "<br>";
  52.                             echo "<p>Título: " . $titulo . "<br>";
  53.                             echo "<p>Director: " . $director . "<br>";
  54.                            
  55.                             echo "<p>Destino: " . $target_path . "<br>";
  56.                             echo "Tamaño: " . $tamano . "<br>";
  57.                         echo "Tipo: " . $tipo . "<br>";
  58.                     } else {
  59.                             $status = "Error al subir archivo";
  60.                     }
  61.                         echo $status . "<br>";
  62.                        
  63.                 }
  64.             }
  65.         }
  66.         //Si existe algún error, los escribimos.
  67.         if ($error != ""){
  68.             echo "<p style=color:red>" . $error . "</p><br>";
  69.         }
  70.            
  71.     }else{
  72.         //Si se ha accedido al script sin pasar por el formulario
  73.         //nos envía al formulario
  74.         echo "<p style=color:red>Por favor, ingrese a esta página
  75.                     desde el formulario: <a href=form2.php>Formulario Uplaod</a></p><br>";
  76.     }
  77.      
  78. ?>
  79.                 </p>
  80.             </fieldset>
  81.         </div> <!-- Cierra div leftSide-->
  82.     </div> <!-- Cierra div container-->
  83. </body>
  84. </html>


Saludos.