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<html>
<head>
<title>Video Upload con PHP | COLORATE</title>
<link rel
="stylesheet" href
="estilo.css" type
="text/css" media
="screen" /> </head>
<body>
<div id="container">
<div id="top">
<h1>UPLOAD VIDEO EN PHP | COLORATE</h1>
</div>
<div id="leftSide">
<fieldset>
<legend>Upload Video</legend>
<form action="validar.php" method="POST" class="form" enctype="multipart/form-data">
<!-- CLIENTE -->
<label for="cliente">Cliente</label>
<div class="div_texbox">
<input name="cliente" type="text" class="username" id="cliente" />
</div>
<!-- TITULO -->
<label for="name">Título</label>
<div class="div_texbox">
<input name="title" type="text" class="username" id="title" />
</div>
<!-- DIRECTOR -->
<label for="username">Director</label>
<div class="div_texbox">
<input name="director" type="text" class="username" id="director" />
</div>
<!-- SELECCIONAR FICHERO -->
<label for="username">Video (.mov)</label>
<div class="div_texbox">
<input type="file" name="video" class="username" tabindex="3" />
</div>
<!-- BOTON ENVIAR -->
<div class="button_div">
<input name="submit" type="submit" value="Enviar" class="buttons" onclick="javascript:bar1.showBar()" />
</div>
<input name="action" type="hidden" value="upload" />
</form>
</fieldset>
</div>
</div> <!-- Cierra Container -->
</body>
</html>
Y, el otro,
validar.php:
Código PHP:
Ver original<?php
$status = "";
$error = "";
$cont_error = 0;
$cliente = $_POST["cliente"];
$titulo = $_POST["title"];
$director = $_POST["director"];
$video = $_FILES['video']['name'];
$tamano = $_FILES['video']['size'];
$tipo = $_FILES['video']['type'];
$archivo = $_FILES['video']['name'];
//Tamaño en bytes. Este tamaño son 10mb
//20mb --> 20479940,23 bytes
//5mb --> 5119985
$limite_tamano = 5119985;
$tipo_archivo = "video/x-flv";
$target_path = "uploads/";
//Comprobamos que se ha llegado a este punto a través del formulario
if ($_POST["action"] == "upload"){
//Comprobamos que todos los campos estén informados
if ($cliente == "" || $titulo == "" || $director == "" || $archivo == "") {
$cont_error += 1;
$error .= "Error" . $cont_error . ": Por favor, rellene todos los campos<br>";
}else{
//Comprobamos que el tipo de extensión sea .FLV
if ($tipo != $tipo_archivo){
$cont_error += 1;
$error .= "Error" . $cont_error . ": Tipo de fichero erróneo: El fichero seleccionado es de tipo " . $tipo . "<br>";
$error .= "Por favor, selecciona un fichero de tipo .FLV<br>";
}else{
//Comprobamos que el tamaño del archivo no supere
//el que hemos predefinido en $limite_tamano
if ($tamano > $limite_tamano ){
$cont_error += 1;
$error .= "Error" . $cont_error . ": El fichero seleccionado es demasiado grande. Su tamaño debe ser menor de " . $limite_tamano . "<br>";
}
else{
//Añadimos el archivo a la ruta "uploads/nombrearchivo.extension"
$target_path = $target_path . basename($archivo);
$status = "Archivo subido: <b>".$archivo."</b>";
echo "<h4>ENVIO CORRECTO</h4>";
echo "<p>Cliente: " . $cliente . "<br>";
echo "<p>Título: " . $titulo . "<br>";
echo "<p>Director: " . $director . "<br>";
echo "<p>Destino: " . $target_path . "<br>";
echo "Tamaño: " . $tamano . "<br>";
echo "Tipo: " . $tipo . "<br>";
} else {
$status = "Error al subir archivo";
}
echo $status . "<br>";
}
}
}
//Si existe algún error, los escribimos.
if ($error != ""){
echo "<p style=color:red>" . $error . "</p><br>";
}
}else{
//Si se ha accedido al script sin pasar por el formulario
//nos envía al formulario
echo "<p style=color:red>Por favor, ingrese a esta página
desde el formulario: <a href=form2.php>Formulario Uplaod</a></p><br>";
}
?>
</p>
</fieldset>
</div> <!-- Cierra div leftSide-->
</div> <!-- Cierra div container-->
</body>
</html>
Saludos.