Ver Mensaje Individual
  #26 (permalink)  
Antiguo 22/08/2008, 07:06
Avatar de Mort20
Mort20
 
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 16 años, 9 meses
Puntos: 2
Respuesta: [ Ayuda]Como cojer la extension de un archivo en PHP

Sigues con el error de comparar con el fichero temporal. Debes usar $_FILES['video]['name'] para obtener el nombre "real" con su extensión.
$_FILES['video']['tmp_name'] es un nombre asignado por el PHP para que él lo pueda almacenar, pero es distinto al nombre que tiene el archivo que envía el usuario generalmente - o eso creo según lo que dice la referencia del manual del PHP -.
Código:

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>Subiendo una nueva foto</title>
    <link rel="STYLESHEET" type="text/css" href="estilos_admin.css">
</head>

<body>
<h1>Subiendo un archivo</h1>
<br> 
<div align="center">
<?php
if($_FILES['video']['name']!=NULL)
 {
     
$nombre= ($_GET["cadenatexto"]);
    
$descripcion= ($_GET["descripcion"]);
    
   
$uploadfile_temporal=$_FILES['video']['tmp_name'];// en principio aqui me pilla el nombre no? xD
   
    
$bool preg_match('/(\.avi|\.mov)$/',$_FILES['video']['name']); //aqui esta la funcion de boleano
   
   
$tamano_archivo $HTTP_POST_FILES['userfile']['size'];
   
$uploadfile_nombre="videos/".$_FILES['video']['name'];
   
$ruta_video='videos/'.$_FILES['video']['name'];
   
if (!
$bool || ($tamano_archivo 10000000)) { // aqui esta la comprobacion 
    
echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .avi o .mov<br><li>se permiten archivos de 100Mb máximo.</td></tr></table>";
}else{
     
move_uploaded_file($uploadfile_temporal,$uploadfile_nombre);
     
$ingresar="insert into videos (ID,Nombre, Ruta, descripcion) values ('','$nombre', '$uploadfile_nombre','$descripcion')"
     
$link mysql_connect("localhost""root");
        
mysql_select_db("deporte",$link);
     if(
mysql_query($ingresar))
     {
       echo 
"El video ha sido ingresado correctamente";
     }
     else
     {  
       echo 
"Error al ingresar el video";
     }
   }
 }  
?>
 
<br>
<br>
<a href="index.php">Volver</a>
<br>
</div>
</body>
</html>
Y por cierto, veo que usas unos parámetros $_GET con el mismo nombre que el formulario, pero en el formulario usas post y no get. ¿No es otro error?
__________________
Un Lannister siempre cumple sus promesas