Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boas! Estou enfrentando um problema bem chato e não consigo resolver. Estou fazendo um upload de arquivos, onde a ideia é aceitar apenas pdf e doc ou docx. O problema é que o php me informa um erro como se o name do input file não existisse, ou se não fosse enviado nada. Quando mando pdf ele funciona, quando mando doc não funciona e aí o pdf começa a dar pau. Eu estou usando a versão atual do WAMP server e já tive problemas esses tempos usando a class upload verot, mas daí eu desabilitei o mime check e deu certo. Porém como esses script não está usando classes prontas, não sei como fazer o mesmo (nem se é aconselhável). Alguém pode me ajudar? Arquivo onde está o form:
<form name="dd" id="dd" action="docs_cad.php?id_imo=<?php echo $_GET['id_est'].?>&funcao=Inserir" method="post" enctype="multipart/form-data"> <input type="file" name="docst" accept="application/msword, application/pdf, text/plain" id="docst"> <input style="width:90px. max-width:90px. min-width:90px. " type="submit" name="submit" id="submit" value="Enviar"> Arquivo que faz o upload: $caminho = "Docs/". $_UP['tamanho'] = 1024 * 1024 * 20. $_UP['erros'][0] = 'Não houve erro'. $_UP['erros'][1] = 'O arquivo no upload é maior do que o limite do PHP'. $_UP['erros'][2] = 'O arquivo ultrapassa o limite de tamanho especificado no HTML'. $_UP['erros'][3] = 'O upload do arquivo foi feito parcialmente'. $_UP['erros'][4] = 'Não foi feito o upload do arquivo'. $documento = $_FILES['docst']['name']. if($_FILES['docst']['error']!= 0) { die("Não foi possível fazer o upload, erro:<br />". $_UP['erros'][$_FILES['docst']['error']]). exit. } // Faz a verificação do tamanho do arquivo if ($_UP['tamanho'] < $_FILES['docst']['size']) { echo "O arquivo enviado é muito grande, envie arquivos de até 20Mb.". } else { $nome_final = md5(uniqid(time())). strrchr($documento, "."). } // Depois verifica se é possível mover o arquivo para a pasta escolhida if (move_uploaded_file($_FILES['docst']['tmp_name'], $caminho. $nome_final)) { } Os scripts não estão com as chaves fechando certo porque eu retirei a parte desinteressante do script para facilitar. Pessoal, desculpa tomar o tempo de vocês.Resolveu ?
Pessoal, resolver, eu resolvi (esse problema). Só não marquei resolvido antes porque tinha que alguém responder.
Mas estou com algum problema sério.
Agora estou usando outro script para upload de imagens (em outra parte) e o formulário está dando falha. E parece ser o MIME mesmo.
O que acontece é que a pagina que recebe os dados diz que não foi passado nada nos inputs (seja FILES ou POST).
Daí a função quebra e o Apache retorna erro (Notice: Undefined index: id_est in) e (Undefined variable: handle in)
Isso acontece geralmente em envios múltiplos.
Qual erro dá?
Outra coisa, o diretório está com as permissoes corretas?