Ir para conteúdo

POWERED BY:

Arquivado

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

valtinho

Extensão swf

Recommended Posts

Olá, novamente preciso de uma ajuda...

... como faço para que um script reconheça uma extensão ".swf"?

Estou tentando fazer um up de um banner, mas o script não reconhece a extensão.

 

Tenho o form de envio:

 

<body bgcolor="#FFFFFF">   <form action="r_proc_banners.php?acao=salvar" method="post" enctype="multipart/form-data" name="cadastro" id="cadastro" onSubmit="return validaForm(this)">     <table width="70%" border="0" align="center">       <tr>         <td><table width="100%" border="0">             <tr>               <td colspan="2"><div align="center">Cadastro de Banner´s - Administrador</div></td>             </tr>             <tr>               <td> </td>               <td> </td>             </tr>             <tr>               <td width="32%"><div align="right">Data  </div></td>               <td width="68%"><input name="data" type="text" id="data" value="<? echo $data; ?>" size="10" maxlength="10" readonly="readonly">  Horário                                    <input name="horario" type="text" id="horario" onKeyPress="formatar(this,'##:##:##');" value="<? echo $hora; ?>" size="8" maxlength="8" readonly="readonly"></td>           </tr>             <tr>               <td><div align="right">Responsável pelo cadastro  </div></td>               <td><input name="responsavel" type="text" id="responsavel" value="<? echo $_SESSION[nome]; ?>" size="50" readonly="readonly"></td>             </tr>              <tr>               <td><div align="right">Descrição  </div></td>               <td><input name="descricao" id="descricao3" size="50" /></td>             </tr>             <tr>               <td colspan="2"><div align="center" class="style1 style1">Atenção, extensão válida para envio - "swf"</div></td>             </tr>             <tr>               <td><div align="right">Imagem Banner  </div></td>               <td><input name="img_banner" type="file" id="img_banner" size="40"></td>             </tr>             <tr>               <td><div align="right"> Banner Ativo  </div></td>               <td><p>                   <label>                   <input name="ativo" type="radio" id="promocao_0" value="1" checked>                     Sim</label>                   <label>                   <input name="promocao" type="radio" id="promocao_1" value="0">                     Não</label>                   <br>               </p></td>             </tr>             <tr>               <td><div align="right"></div></td>               <td><p>                 <label></label>               </p></td>             </tr>             <tr>               <td colspan="2"><div align="center">                 <input type="submit" name="btn_cadastro" value="Cadastrar" id="btn_cadastro">                 <input type="reset" name="btn_limpar" value="Limpar" id="btn_limpar"></div></td>             </tr>             <tr>               <td><input type="hidden" name="inserte" value="formArquivo" /></td>               <td> </td>             </tr>             <tr>               <td colspan="2"><div align="center"><a href="r_logout.php">Encerrar Sessão</a></div></td>             </tr>         </table></td>       </tr>     </table>     </form></body></html>

e o processo:

 

<?	header("Content-type: text/html; charset=iso-8859-1");	error_reporting(E_ALL);	require_once("conexao.php");	$erro = $config = array();	// Transforma a data para o formato 0000/00/00 para gravação no bd	$dat = explode("-",$data);	$dia = $dat[0];	$mes = $dat[1];	$ano = $dat[2];		$data1 = $ano."-".$mes."-".$dia;	if ( $acao == "salvar" ) {		// verifica se o nome passado pelo formulário já existe no banco de dados	mysql_select_db($db, $conn);	$query_sql = "SELECT descricao FROM roma_banner WHERE descricao = '$descricao'";	$sql = mysql_query($query_sql, $conn) or die(mysql_error());	$row_sql = mysql_fetch_assoc($sql);	$linhas = mysql_num_rows($sql);	if ( $linhas > 0 ){ ?>		<script > 	window.alert("Atenção, o banner <? echo $descricao ?>\njá está cadastrado.");	window.location.href="r_cad_banners.php"; 	</script> 	<?	}		$erro = $config = array();	// Prepara a variável do arquivo	$arquivo = isset($_FILES["img_banner"]) ? $_FILES["img_banner"] : FALSE;	// Tamanho máximo do arquivo (em bytes)	$config["tamanho"] = 819200;	// Formulário postado, executa as ações	if($arquivo)	{      // Verifica se o mime-type do arquivo é de imagem[b]    if(!eregi("^image\/(swf)$", $arquivo["type"]))    {        $erro[] = "Arquivo para Imagem do Produto é um formato não permitido. <br>                   A imagem deve ser um swf. Envie outro arquivo";    }[/b]    else    {        // Verifica tamanho do arquivo        if($arquivo["size"] > $config["tamanho"])        {            $erro[] = "Arquivo para Imagem do Produto é tamanho muito grande. <br>                       A Imagem deve ser de no maximo 800 kb. 		               Envie outro arquivo";        }    }        // Imprime as mensagens de erro    if(sizeof($erro))    {        foreach($erro as $err)        {            echo "<br>";            echo "<br>";            echo "<br>";			echo "<div align='center'>$err</div>";        }            echo "<br>";	        echo "<div align='center'><a href=\"r_cad_produtos1.php\">Voltar</a></div>";    }    // Verificação de dados OK, nenhum erro ocorrido, executa então o upload...    else    {    // Pega extensão do arquivo    preg_match("/\.(swf|){1}$/i", $arquivo["name"], $ext);	if ((isset($_POST["inserte"])) && ($_POST["inserte"] == "formArquivo")) {		$arquivo = $_FILES["img_banner"];	$arquivo_nome = $arquivo["name"];	$img = '/swf/'.$arquivo_nome;		$sql = "insert into roma_banner ( data, horario, responsavel, descricao, img_banner, ativo ) values ('$data1', '$horario', '$responsavel', '$descricao', '$img', '$ativo' )";    // Move o arquivo para o diretório especificado	set_time_limit(0);	$diretorio = "swf";	$id_arquivo = "img_banner";	$nome_arquivo = $_FILES[$id_arquivo]["name"];	$arquivo_temporario = $_FILES[$id_arquivo]["tmp_name"];    move_uploaded_file($arquivo_temporario, "$diretorio/$nome_arquivo");		$sql = mysql_query($sql); 	?>   	<script > 	window.alert("O banner foi cadastrado com sucesso.");	window.location.href="r_cad_banners.php"; 	</script> 		<?	 }   }  } }?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque você não dá um split() no $_FILES["img_banner"]["name"] e verifica se o array [1] é swf

 

/* pega o nome do arquivo 'uploadado' ex: banner.swf */$nome = $_FILES["img_banner"]["name"];/* divide em arrays onde tiver ponto */$verifica = split("." , $nome);/* só pra garantir q a extensão será SWF coloca o ponteiro do array no ultimo indiceevita que algum espertinho tente upar um banner.swf.exe por exemplo */$verificado = end($verifica);if($verificado == "swf" OR $verificado == "SWF"){echo "extensão aceita";}else {echo "extensão nao aceita";}

Acho que é isso..

 

Abraço.

 

Sem Mais[]'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

não faça verificação do tipo de arquivo baseando-se pela nomenclaturaverifique o valor do índice "type"no seu caso:$tipo_mime = $_FILES["img_banner"]["type"];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá hinom, você poderia me ajudar?como ficaria essa verificação no script que passei?Se puder me ajudar agradeço...... fica na paz

Compartilhar este post


Link para o post
Compartilhar em outros sites

Suponho que seja da mesma maneira que eu tentei fazer mas com o type

 

// Verifica se o mime-type do arquivo é de imagem

$tipo_mime = $_FILES["img_banner"]["type"];

 

if($tipo_mime != "image/swf")

{

$erro[] = "Arquivo para Imagem do Produto é um formato não permitido. <br>

A imagem deve ser um swf. Envie outro arquivo";

}

 

Em negrito as modificações.

Espero ter ajudado.

 

Abraço.

 

Sem Mais[]'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, sei que estou enchendo com esse script...... mas agora ele está dizendo que "Arquivo para Imagem do Produto é um formato não permitido. A imagem deve ser um swf. Envie outro arquivo" mesmo com o esquema que o Leandro Barral e hinom me passaram. // Verifica se o mime-type do arquivo é de imagem $tipo_mime = $_FILES["img_banner"]["type"]; if($tipo_mime != "image/swf") { $erro[] = "Arquivo para Imagem do Produto é um formato não permitido. <br> A imagem deve ser um swf. Envie outro arquivo"; }Um dia pensei que conseguiria fazer isso funcionar...... não consigo fazer isso funcionar.Fiquem na paz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que achei!

tenta assim:

 

// Verifica se o mime-type do arquivo é de imagem$tipo_mime = $_FILES["img_banner"]["type"];if($tipo_mime != "application/x-shockwave-flash"){$erro[] = "Arquivo para Imagem do Produto é um formato não permitido. <br>A imagem deve ser um swf. Envie outro arquivo";}

 

P.S.: Agora quem quer ver isso funcionando sou eu.. ^^'

 

Abraço.

 

Sem Mais[]'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bingo, bingo, bingoFuncionou...... Leandro Barral muito obrigado por ter me ajudado.Valeu e fica na paz

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aew Galera... Tudo bem...Só pra emplementar o Código de vcs eu uso esse script para verificar o ARQUIVO:$File_Name = $_FILES['Documento']['name'];// Checa o mime-type do Arquivoif(!eregi('(doc|txt|pdf|xls|htm|html|rtf|gif|jpeg|jpg|png|tiff|swf)',$File_Name)){ // Avisa se o Arquivo é inválido echo 'Documento e/ou Imagem em formato Inválido!'; echo 'O Documento deve ser no formato: doc, txt, pdf, xls, htm, html e/ou rtf.'; echo 'A Imagem deve ser no formato: gif, jpeg, jpg, png, tiff e/ou swf.';}else{ echo "Arquivo aceito.";}Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

fala Alexandre!valeu pela contribuição, mas tem um erro

$File_Name = $_FILES['Documento']['name'];

if(!eregi('(doc|txt|pdf|xls|htm|html|rtf|gif|jpeg|jpg|png|tiff|swf)',$File_Name))

desse modo o script verifica a nomenclatura e não o content-type.isso é uma falha grave que pode implicar na segurança de um sistema

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.