Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2008, 09:08
jlillo
 
Fecha de Ingreso: mayo-2008
Mensajes: 36
Antigüedad: 16 años
Puntos: 0
Problemas al subir video

Hola que tal¿?

La cuestión es que estoy intentando subir un video en localhost a la bd y no consigo que me funcione. He estado mirando por google y no e encontrado solución. La cuestión es que he tocado el php.ini aumentado el tamaño para subir el archivo y no consigo que funcione.
Este es el codigo php que utilizo:
Código PHP:
function subirArchivo($db,$id,$dirArchivos,$nombre_archivo,$tipo_archivo,$tamano_archivo,$tmp_name)
{
    
$auxInfo=pathinfo($nombre_archivo);
    
$extension=$auxInfo["extension"];
    
$auxNombre=basename($nombre_archivo,".".$extension);
    
    if (
$tipo_archivo == "video/avi"){
        echo 
"video avi";
    }

    
//comprobamos que es un fichero de imagen/video
    
if (!(((strpos($tipo_archivo"jpeg")) || strpos($tipo_archivo"jpg") || strpos($tipo_archivo"bmp") || strpos($tipo_archivo"gif") || strpos($tipo_archivo"avi") || strpos($tipo_archivo"mpg") || strpos($tipo_archivo"mov")) && ($tamano_archivo 100000000)))
    {
        echo 
"La extensión o el tamaño de las fotos o video no es correcta. <br>
        <table><tr><td><li>Se permiten fotos jpeg, jpg, bmp, o gif<br>
                       <li>se permiten fotos de 1 MB máximo.</td></tr>
                       <li>Se permiten videos avi, mpg o mov<br>
                       <li>se permiten videos de 100 MB máximo.</td></tr>
        </table>"
;
        echo 
"Nombre Archivo: ".$nombre_archivo."    Tipo Archivo: ".$tipo_archivo."   Tamaño Archivo :".$tamano_archivo."<br>";

    } else {
    
        
$nombreFinal=$dirArchivos.$id."_".$auxNombre.".".$extension;
        
//calculamos el nombre final
        
$i=0;
        while (
file_exists($nombreFinal))
        {
            
$nombreFinal=$dirArchivos.$id."_".$auxNombre."_".$i.".".$extension;
            
$i++;
        }
//if
        
if (move_uploaded_file($tmp_name$nombreFinal)){
            
//echo $HTTP_POST_FILES['userfile']['tmp_name'];
        
}else{
           echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse.";
           return 
null;
        }
//if
        //echo "Nombre Archivo: ".$nombre_archivo."    Tipo Archivo: ".$tipo_archivo."   Tamaño Archivo :".$tamano_archivo."   Nombre Final :".$nombreFinal."<br>";
        
        //Obtenemos el tamaño (ancho x alto) de la imagen
        
$size getimagesize($dirArchivos.$id."_".$nombre_archivo);
        
$tamaño_final=$size[0]." x ".$size[1];
        
        if (((
strpos($tipo_archivo"jpeg")) || strpos($tipo_archivo"jpg") || strpos($tipo_archivo"bmp") || strpos($tipo_archivo"gif")))
        {
            
//Creacion del thumbnails
            
$nombreThumb $id."_".$nombre_archivo;
            
$dirThumbs="./archivos/thumbs/"//directorio donde se almacenan los thumbs    
                
            
if(!thumbnail($nombreThumb,$dirThumbs,150,113,true))
            { 
                echo 
"Error en la creacion de thumbnail <br>";
            }else{ 
                echo 
"Creacion thumbnail exitosa <br>"
            }
//if
                
            
$urlThumb $dirThumbs.$nombreThumb;
            
$tamañoThumb="150 x 113";
        } else {
            
            
$urlThumb null;
            
$tamañoThumbnull;
        }
                
        
//Ahora insertamos la info del archivo
        
$strSQL="INSERT INTO archivos (id,url,mime,size,nombre,tamaño, urlThumb, tamañoThumb) VALUES (null, '".urlencode($nombreFinal)."', '"$tipo_archivo ."', " $tamano_archivo ",'" $nombre_archivo."','" .$tamaño_final"', '".urlencode($urlThumb). "', '" .$tamañoThumb."' );";
        echo 
"++++++++++++++++++".$strSQL."++++++++++++++";
        
        
$result=$db->query($strSQL);
        
$result=$db->insert_id();
        
        echo 
"<br><br>";
        if(
$db->affectedRows==0)
        {
            echo 
"Error insertando en la tabla de archivos: ".strSQL;
            return 
null;
        } else {
            
//si todo ha ido bien, devolvemos el id del archivo que se acaba de insertar
            
return $result;
        }
//if
        
    
}//if

        
return null;

La cuestion es que me sale el if de la comprobación del archivo y ya no se que hacer.
El codigo de html que utilizo es este:

Código HTML:
         //Aqui es donde subo el video
	<tr>
	<td>Video (max 100MB):</td>
    	<td>
		<input name="<? echo 'userfile6'; ?>" type="file" >
		<input type="hidden" name="MAX_FILE_SIZE" value="100000000" >
			
		<?
			if (isset($nombre_archivo6))
			{
				print_r("Video: ".$nombre_archivo6." ");
			}//if
		?>
			
	</td>
	</tr>

        //Aqui donde trato el archivo y llamo a la funcion subirarchivo
	//subimos el video
	if(isset($HTTP_POST_FILES['userfile6']) && $HTTP_POST_FILES['userfile6']['name']!="")
		{		
			$nombre_archivo6 = $HTTP_POST_FILES['userfile6']['name'];
			$tipo_archivo6 = $HTTP_POST_FILES['userfile6']['type'];
			$tamano_archivo6 = $HTTP_POST_FILES['userfile6']['size'];
			$tmp_name6=$HTTP_POST_FILES['userfile6']['tmp_name'];

			echo "VIDEO: ".$HTTP_POST_FILES['userfile6']['name']."\n";
			echo "<br>";		
				$idvideo=subirArchivo($db,$id,$dirArchivos,$nombre_archivo6,$tipo_archivo6,$tamano_archivo6,$tmp_name6);
			echo "----".$tipo_archivo6. "----";
			if($idvideo==null)
			{
				//No se ha insertado los contenido
				echo "ERROR Insertanto Info del Video del Ejemplar ";
				rollback();
			} else {
				echo "Video insertada correctamente";
				echo "<br>";
				commit();
				//$insertado=true;
			}//if
		}//if
Espero que me podais ayudar.
GRacias y un cordial saludo