IgorC 0 Denunciar post Postado Maio 11, 2014 Como posso restringir um input type="file" apenas para o upload de imagens e não todos os arquivos? Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
mau rs 37 Denunciar post Postado Maio 11, 2014 Você pode restringir ao receber os arquivos via post e validar pelo mime-type Compartilhar este post Link para o post Compartilhar em outros sites
IgorC 0 Denunciar post Postado Maio 11, 2014 Sim eu acabei de achar artigos sobre mime types... Obrigado. Porém, como eu posso utilizar este mimetype? Estou com um pouco de dificuldade de entender, você pode me mostrar um exemplo de como ficaria o código com o html...? Segue o link do mimetype: http://forum.imasters.com.br/topic/447451-como-definir-os-mime-types-validos-de-um-tipo-de-arquivo/#entry1768587 Compartilhar este post Link para o post Compartilhar em outros sites
Dian Carlos 29 Denunciar post Postado Maio 11, 2014 <input type="file" accept="image/*"> Compartilhar este post Link para o post Compartilhar em outros sites
IgorC 0 Denunciar post Postado Maio 11, 2014 Olá Dian Carlos, primeiramente obrigado por responder, eu já havia pesquisado e encontrado resultados sobre o accept, porém pelo que eu li se você renomear um executável para .jpg por exemplo ele aceita sem problemas, e se eu escolher um arquivo qualquer que não for imagem ele não retorna nenhum erro do tipo: "somente imagens do tipo ... são aceitas." O que eu quero mesmo e vi que se adepta as minhas necessidades são os MimeTypes mas estou com dificuldades pra implementar em meu código pois o autor do post não fez nenhum exemplo e estou meio confuso aqui, rs. http://forum.imasters.com.br/topic/447451-como-definir-os-mime-types-validos-de-um-tipo-de-arquivo/#entry1768587 Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Maio 12, 2014 Cara, não tem muito o que explicar, o que faltou lá foi apenas o html. <?php if( $_SERVER[ 'REQUEST_METHOD' ] == 'POST' ) { function getMimeTypes( array $extensions ) { // coloque o caminho para o local onde foi salvo o arquivo MimeTypes $mimes = file_get_contents( 'Mime/MimeTypes', FILE_USE_INCLUDE_PATH ); $mime_types = array( ); foreach( $extensions as $search ) { preg_match_all( sprintf( '/^.%s[^\n\r]+/mi', $search ), $mimes, $matches ); $mime_types = array_merge( $mime_types, preg_replace( '/^[\S]+[[:space:]]+/', null, $matches[ 0 ] ) ); } return $mime_types; } $finfo = new finfo( FILEINFO_MIME_TYPE ); $mime_type_arquivo = $finfo->file( $_FILES[ 'userfile' ] [ 'tmp_name' ] ); // extensões permitidas $mime_types_permitidos = getMimeTypes( array( 'jpg', 'gif', 'png' ) ); if( in_array( $mime_type_arquivo, $mime_types_permitidos ) ) { // Salva os arquivos no servidor e redireciona die( '<h1>Arquivo válido!</h1>' ); } else { // Emite mensagem e redireciona. die( '<h1>Arquivo negado!</h1>' ); } } ?> <form action="./" method="post" id="form" enctype="multipart/form-data"> <div class="box"> <h1>Envio de Imagens</h1> <label> <span>Anexo *</span> <input type="file" class="input_file" name="userfile" id="pictures"> </label> <label> <input type="submit" class="button" value="Enviar"> </label> </div> </form> Agora cabe a vc decidir o que fazer após a validação. Compartilhar este post Link para o post Compartilhar em outros sites