Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tiagocaus

Como restringir um video?

Recommended Posts

Olá Pessoa,

 

Estou fazendo um uoload de videos, mas gostaria de restringir para que o upload so fizesse o upload de videos com extenção (.wmv).

 

O cod de upload que estou usando é:

//faz o upload do Video$arquivo = $_FILES["video"];$arquivo_nome = $arquivo["name"];$ext = explode('.',$arquivo_nome);$novonome = date('dmYhis').$ext[1];set_time_limit( 0 );$diretorio = "../../imagens/uploads_videos/";$id_arquivo = "video";$nome_arquivo = $_FILES[$id_arquivo]["name"];$arquivo_temporario = $_FILES[$id_arquivo]["tmp_name"];move_uploaded_file($arquivo_temporario, "$diretorio/$nome_arquivo");
Esse cod acima esta fazendo o upload com qualquer estenção

 

 

 

Como se faz a a restrinção para outras extenções que não seja a WMV.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

um if...

//faz o upload do Video$arquivo = $_FILES["video"];$arquivo_nome = $arquivo["name"];$ext = explode('.',$arquivo_nome);if($ext[1] == 'wmv'){	$novonome = date('dmYhis').$ext[1];	set_time_limit( 0 );	$diretorio = "../../imagens/uploads_videos/";	$id_arquivo = "video";	$nome_arquivo = $_FILES[$id_arquivo]["name"];	$arquivo_temporario = $_FILES[$id_arquivo]["tmp_name"];	move_uploaded_file($arquivo_temporario, "$diretorio/$nome_arquivo");}

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Como faço para avisar o usuário que o arquivo esta errado? Ex: se ele manda um .AVI, como se faz para deixar um alerta para ele?Muito obrigado amigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode ser assim:

//faz o upload do Video$arquivo = $_FILES["video"];$arquivo_nome = $arquivo["name"];$ext = explode('.',$arquivo_nome);if($ext[1] == 'wmv'){	$novonome = date('dmYhis').$ext[1];	set_time_limit( 0 );	$diretorio = "../../imagens/uploads_videos/";	$id_arquivo = "video";	$nome_arquivo = $_FILES[$id_arquivo]["name"];	$arquivo_temporario = $_FILES[$id_arquivo]["tmp_name"];	move_uploaded_file($arquivo_temporario, "$diretorio/$nome_arquivo");}else{   echo "<script>alert('msg aqui')</script>";   //....}

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Olha so amigo, deu certo, ele não enviou o arquivo, mas ele registrou no Banco de Dados, como eu faria para não registrar? E outra pergunta, ele depora um ouco para avisar que o video não pode ser enviado, teria algum geito dele aviar mais rápido, é que parece que ele tenta enviar o video e depois da a resposta..rsrs,olha meu cod:
$data = date("d/m/A");if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {$arquivo = $_FILES["video"];$arquivo_nome = $arquivo["name"];$ext = explode('.',$arquivo_nome);if($ext[1] == 'wmv'){	$novonome = date('dmYhis').$ext[1];	set_time_limit( 0 );	$diretorio = "../../imagens/uploads_videos/";	$id_arquivo = "video";	$nome_arquivo = $_FILES[$id_arquivo]["name"];	$arquivo_temporario = $_FILES[$id_arquivo]["tmp_name"];	move_uploaded_file($arquivo_temporario, "$diretorio/$nome_arquivo");}else{   echo "<script>alert('Só é permitido video com extenção .WMV')</script>";   //....}  $insertSQL = sprintf("INSERT INTO videos (id_video, id_cliente, video, legenda, data_cad) VALUES (%s, %s, '$novonome', %s, '$data')",					   GetSQLValueString($_POST['id_video'], "int"),					   GetSQLValueString($_POST['id_cliente'], "text"),					   GetSQLValueString($_POST['legenda'], "text"),					   GetSQLValueString($_POST['data_cad'], "text"));  mysql_select_db($database_conexao, $conexao);  $Result1 = mysql_query($insertSQL, $conexao) or die(mysql_error());  $insertGoTo = "videos.php";  if (isset($_SERVER['QUERY_STRING'])) {	$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";	$insertGoTo .= $_SERVER['QUERY_STRING'];  }  header(sprintf("Location: %s", $insertGoTo));}
Abraços e Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

para não inserir no banco

$data = date("d/m/A");if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {$arquivo = $_FILES["video"];$arquivo_nome = $arquivo["name"];$ext = explode('.',$arquivo_nome);if($ext[1] == 'wmv'){	$novonome = date('dmYhis').$ext[1];	set_time_limit( 0 );	$diretorio = "../../imagens/uploads_videos/";	$id_arquivo = "video";	$nome_arquivo = $_FILES[$id_arquivo]["name"];	$arquivo_temporario = $_FILES[$id_arquivo]["tmp_name"];	move_uploaded_file($arquivo_temporario, "$diretorio/$nome_arquivo");  $insertSQL = sprintf("INSERT INTO videos (id_video, id_cliente, video, legenda, data_cad) VALUES (%s, %s, '$novonome', %s, '$data')",					   GetSQLValueString($_POST['id_video'], "int"),					   GetSQLValueString($_POST['id_cliente'], "text"),					   GetSQLValueString($_POST['legenda'], "text"),					   GetSQLValueString($_POST['data_cad'], "text"));  mysql_select_db($database_conexao, $conexao);  $Result1 = mysql_query($insertSQL, $conexao) or die(mysql_error());  }  else{	 echo "<script>alert('Só é permitido video com extenção .WMV')</script>";   }  $insertGoTo = "videos.php";  if (isset($_SERVER['QUERY_STRING'])) {	$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";	$insertGoTo .= $_SERVER['QUERY_STRING'];  }  header(sprintf("Location: %s", $insertGoTo));}

Compartilhar este post


Link para o post
Compartilhar em outros sites

só toma cuidado que esse codigo pode ser burladoexemplo: se eu salvar um arquivo cicarelli.wmv.AVIele vai deixar passar, mesmo sendo um video em format AVI

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Nossa obrigado amigo pela dica, mas acho que não tera muito problema não... pois é para um ocasião bem simples. Mas como seria o geito certo de fazer?Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

resolvendo o problema sitado....

if($ext[count($ext)-1] == 'wmv'){

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cuidado, pois o cara pode mudar a extensao do arquivo e enviar um PHP ou CGI com script malicioso

 

abaixo a maneira correta de verificar o tipo de arquivo

 

<?$arquivo = $_FILES['arquivo'];if($arquivo[type] != "video/x-ms-wmv"){	echo "Tipo inválido";}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Pessoal,

Agradeço a todos pela ajuda, mas agora esta acontecendo outro problema. O cod esta mandando o nome do arquivo sem o ponto(.), Ex: ( 13072007125414wmv ) o certo seria ( 13072007125414.wmv )

 

//Cod de Upload do Video$arquivo = $_FILES["video"];$arquivo_nome = $arquivo["name"];$ext = explode('.',$arquivo_nome);if($ext[count($ext)-1] == 'wmv'){	$novonome = date('dmYhis').$ext[1];	set_time_limit( 0 );	$diretorio = "../../imagens/uploads_videos/";	$id_arquivo = "video";	$nome_arquivo = $_FILES[$id_arquivo]["name"];	$arquivo_temporario = $_FILES[$id_arquivo]["tmp_name"];	move_uploaded_file($arquivo_temporario, "$diretorio/$novonome");	  $insertSQL = sprintf("INSERT INTO videos (id_cliente, cod_imovel, video, legenda, data_cad) VALUES (%s, %s, '$novonome', %s, '$date')",					   GetSQLValueString($_POST['id_cliente'], "text"),					   GetSQLValueString($_POST['cod_imovel'], "text"),					   GetSQLValueString($_POST['video'], "text"),					   GetSQLValueString($_POST['legenda'], "text"),					   GetSQLValueString($_POST['data_cad'], "text"));  mysql_select_db($database_conexao, $conexao);  $Result1 = mysql_query($insertSQL, $conexao) or die(mysql_error());}else{   echo "<script>alert('Só é permitido video com extenção .WMV')</script>";   //....}  $insertGoTo = "imoveis_lista.php";  if (isset($_SERVER['QUERY_STRING'])) {	$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";	$insertGoTo .= $_SERVER['QUERY_STRING'];  }  header(sprintf("Location: %s", $insertGoTo));}

 

Obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Amigo, preciso novamente de sua ajuda.Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.