Foros del Web » Programando para Internet » PHP »

[ Ayuda]Como cojer la extension de un archivo en PHP

Estas en el tema de [ Ayuda]Como cojer la extension de un archivo en PHP en el foro de PHP en Foros del Web. Prueba esto, a ver si tenemos suerte. Código PHP: $bool  =  preg_match ( '/\.[.^avi][.^mov]/' , $_FILES [ 'video' ][ 'name' ]); ...

  #31 (permalink)  
Antiguo 25/08/2008, 02:44
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 6 meses
Puntos: 71
Respuesta: [ Ayuda]Como cojer la extension de un archivo en PHP

Prueba esto, a ver si tenemos suerte.
Código PHP:
$bool preg_match('/\.[.^avi][.^mov]/',$_FILES['video']['name']); 
  #32 (permalink)  
Antiguo 25/08/2008, 03:04
Avatar de Shagraarath  
Fecha de Ingreso: agosto-2008
Mensajes: 151
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: [ Ayuda]Como cojer la extension de un archivo en PHP

con lo anterior no hace nada pero si lo cambio por esto me reconoce solo los .avi

Código PHP:
$bool preg_match('/\.[.^avi][.^mov]/',$HTTP_POST_FILES['video']['name']); 
xD
  #33 (permalink)  
Antiguo 25/08/2008, 06:01
Avatar de Shagraarath  
Fecha de Ingreso: agosto-2008
Mensajes: 151
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: [ Ayuda]Como cojer la extension de un archivo en PHP

Bueno chic@s gracias por ayudarme, creo que va a la perfeccion ( si encontrara algun error ya os lo dire ). Estube acabando el codigo retocando y añadiendo otros aspectos de control de errores.

El codigo en si hace:

>Sube archivos .avi a una carpeta predefinida .
>No permite que un archivo con el mismo nombre se suba.
>Te guarda la ID,Nombre,Ruta del archivo en el server y descripcion en la BBDD.


Dejo el codigo de las 2 paginas por si a alguien le interesa ;)

Mil gracias a Mort20, nx00, jorgivaz, franco190453 y a DooBie


Index.php
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<
html>
<
head>
    <
title>Subir archivos</title>
    <
link rel="STYLESHEET" type="text/css" href="estilos_admin.css">
</
head>

<
body>
<
h1>Subir archivos</h1>
<
br>
    <
form action="subearchivo.php" method="post" enctype="multipart/form-data" name="form1">
        <
b>Nombre del video:</b
        <
br>
        <
input type="text" name="cadenatexto" size="20"  maxlength="100">
       <
p> <b>Descripcion:</b><br>
        <
textarea name="descripcion" cols="20" rows="5">
        </
textarea>
        <
input type="hidden" name="MAX_FILE_SIZE" value="10000000">
        <
br>
        <
br>
        <
b>Enviar un nuevo archivo: </b>
        <
br>
        <
input name="video" type="file">
        <
br>
        <
input type="submit" value="submit">
    </
form>
</
body>
</
html
subearchivo.php
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= ($_POST["cadenatexto"]);
   
$ruta= ($_POST["cadenatexto"]);
   
$descripcion= ($_POST["descripcion"]);
    
   
$uploadfile_temporal=$_FILES['video']['tmp_name'];// en principio aqui me pilla el nombre no? xD
   
   
$bool preg_match('/\.[.^avi][.^mov]/',$HTTP_POST_FILES['video']['name']);    
   
$tamano_archivo $HTTP_POST_FILES['userfile']['size'];
   
$uploadfile_nombre="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<br><li>se permiten archivos de    100Mb máximo.</td></tr></table>";
}else{
         
       
$database="XXXXX"// Cambiad las X por vuestra BBDD
    
$link mysql_connect("XXXX""XXXX"); // Cambiad las X por vuestro server y nombre de usuario, recomendable añadir algun pass
      
$connect=mysql_select_db("XXXX",$link);// Cambiad las X por vuestra BBDD
    
$query="SELECT * FROM videos WHERE Ruta='$uploadfile_nombre'";
            
    
$result=mysql_query($query,$link) or die ("No accede a la BBDD.");
            
    if (
mysql_num_rows($result))
    {
        echo 
"Fallo al subir el archivo, cambie el  nombre por otro .<p>. Consejo: Renombre el archivo añadiendo su nombre de usuario al final.";
                    
            
    }else{
        
$query="INSERT INTO videos (ID,Nombre, Ruta, descripcion) values ('','$nombre', '$uploadfile_nombre','$descripcion')";        
        
mysql_db_query($database,$query,$link) or die ("No ha introducido los datos en la BBDD.");
        
move_uploaded_file($uploadfile_temporal,$uploadfile_nombre);
        echo 
"Archivo subido correctamente";
        
        
        }
   }
 }  
?>
 
<br>
<br>
<a href="index.php">Volver</a>
<br>
</div>
</body>
</html>

Última edición por Shagraarath; 25/08/2008 a las 06:08
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:24.