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ñoThumb= null;
}
//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;
}
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
GRacias y un cordial saludo