Ir para conteúdo
Mateus_Jp

Problema com Upload de Arquivos

Recommended Posts

Boa Tarde Senhores,

 

Estou iniciando meus estudos em PHP e já consegui fazer várias coisas hehe...

 

Meu sistema de Upload de Arquivos está funcionando tudo OK, copiando a imagem do PC para a pasta img dentro do www.

Porém essa mensagem de erro está me incomodando e não sei como solucionar, já vi algumas sugestões na internet mas nada resolveu ainda.

Não queria meu sistema funcionando mas com uma mensagem de erro.

 

Warning: copy(): Filename cannot be empty in C:\AppServ\www\login\pags\cadastro.php on line 48

 

Meu código (cadastro.php):

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>   
<script>
    $(document).ready(function(){
    $('#showPassword').on('click', function(){
    
    var passwordField = $('#password');
    var passwordFieldType = passwordField.attr('type');
    if(passwordFieldType == 'password')
    {
        passwordField.attr('type', 'text');
        $(this).val('Ocultar');
    } else {
        passwordField.attr('type', 'password');
        $(this).val('Mostrar');
    }
  });
});
</script>
</head>

<body>

<h4>Cadastre-se</h4>
<hr>

<link href='https://fonts.googleapis.com/css?family=Ubuntu' rel='stylesheet' type='text/css'>
<div class="container">
  <form action="" id="loginForm" method="POST" enctype="multipart/form-data">
    <p><label for="nome">Nome *</label><br><input type="text" name="nome" placeholder="Nome Completo" class="form-control"/></p><br>
    <p><label for="usuario">Usuário *</label><br><input type="text" name="usuario" placeholder="Nome do Usuário" class="form-control"/></p><br>
    <p><label for="password">Senha *</label><br><input type="password" name="senha" id="password" placeholder="Senha" /> <img id="showPassword" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABDUlEQVQ4jd2SvW3DMBBGbwQVKlyo4BGC4FKFS4+TATKCNxAggkeoSpHSRQbwAB7AA7hQoUKFLH6E2qQQHfgHdpo0yQHX8T3exyPR/ytlQ8kOhgV7FvSx9+xglA3lM3DBgh0LPn/onbJhcQ0bv2SHlgVgQa/suFHVkCg7bm5gzB2OyvjlDFdDcoa19etZMN8Qp7oUDPEM2KFV1ZAQO2zPMBERO7Ra4JQNpRa4K4FDS0R0IdneCbQLb4/zh/c7QdH4NL40tPXrovFpjHQr6PJ6yr5hQV80PiUiIm1OKxZ0LICS8TWvpyyOf2DBQQtcXk8Zi3+JcKfNafVsjZ0WfGgJlZZQxZjdwzX+ykf6u/UF0Fwo5Apfcq8AAAAASUVORK5CYII="
/><br><br>
    <p><label for="email">E-Mail *</label><br><input type="email" name="email" placeholder="Endereço de E-Mail" class="form-control"/></p><br>
    <p><label for="avatar">Avatar</label><br><input type="file" name="avatar" id="avatar"><br><br><input type="reset" value="Apagar"><br><br><br><br>
    <input type="submit" value="Cadastrar" class="btn btn-primary btn-lg btn-block">
    <input type="hidden" name="cadastrar" value="register">
  </form>
</div>
    
</body>
</html>



<?php 
    $nome_temporario=$_FILES["avatar"]["tmp_name"];
    $nome_real=$_FILES["avatar"]["name"];
    copy($nome_temporario,"img/$nome_real");
    cadastro($con);
?>

Esse cadastro($con) é uma function que efetua o cadastro e está em outro php, mas creio que ele não será necessário.

O erro está informando que é esta linha: copy($nome_temporario,"img/$nome_real");

 

Alguém teria alguma luz pra me ajudar???

 

Grato, Mateus.

Editado por Gabriel Heming
adicionar marcação de código

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, não entendi muito bem mas vamos lá

 

9 minutos atrás, Mateus_Jp disse:

<input type="submit" value="Cadastrar" class="btn btn-primary btn-lg btn-block">

troque por:

<input type="submit" value="Cadastrar" name="confirmar" class="btn btn-primary btn-lg btn-block">

troque isso

9 minutos atrás, Mateus_Jp disse:

<?php 
    $nome_temporario=$_FILES["avatar"]["tmp_name"];
    $nome_real=$_FILES["avatar"]["name"];
    copy($nome_temporario,"img/$nome_real");
    cadastro($con);
?>

por


<?php 
if (isset($_POST['confirmar'])){
    $nome_temporario=$_FILES["avatar"]["tmp_name"];
    $nome_real=$_FILES["avatar"]["name"];
    copy($nome_temporario,"img/$nome_real");
    cadastro($con);
}
?>

acho que isso resolve 

  • Obrigado! 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ver se ajuda... Ha muito tempo criei essa classe de upload tenta ela para ver.

 

 

  • Obrigado! 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
22 horas atrás, igu disse:

Olá, não entendi muito bem mas vamos lá

 

troque por:


<input type="submit" value="Cadastrar" name="confirmar" class="btn btn-primary btn-lg btn-block">

troque isso

por



<?php 
if (isset($_POST['confirmar'])){
    $nome_temporario=$_FILES["avatar"]["tmp_name"];
    $nome_real=$_FILES["avatar"]["name"];
    copy($nome_temporario,"img/$nome_real");
    cadastro($con);
}
?>

acho que isso resolve 

 

Meu amigo, muito obrigado, resolveu sim 100%!

 

Sem erros e funcionando 100%.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apenas um adendo, não utilize copy. Utilizee move_uploaded_file.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Mateus

 

Tenta assim:

    <?php

    //Função que define o tamanho dos arquivos
    include "tamanhoArquivo.php";

      if( isset($_POST['executar']) && $_POST['executar'] == 'Adicionar' ){

        $clientes_clienteId = "$userClientes_clienteId";   

        $nomeDoclie   = strip_tags(trim($_POST['nomeDoclie']));             
        $validaDoclie = strip_tags(trim($_POST['validaDoclie'])); 
     
        // arquivo
        $arquivo = $_FILES['arquivo'];
     
        // Tamanho máximo do arquivo (em Bytes) = 2Mb
        $tamanhoPermitido = 1024 * 1024 * 2; 
     
        //Define o diretorio para onde enviaremos o arquivo
        $diretorio = "admin-cliente/docClie/";
     
        // verifica se arquivo foi enviado e sem erros
        if( $arquivo['error'] == UPLOAD_ERR_OK ){
     
            // pego a extensão do arquivo
            $extensao = extensao($arquivo['name']);
     
            // valida a extensão
            if( in_array( $extensao, array('pdf') ) ){
     
                // verifica tamanho do arquivo
                if ( $arquivo['size'] > $tamanhoPermitido ){
                  echo '<div class="alert alert-warning alert-dismissible">
                        <h4>"O arquivo enviado é muito grande, envie arquivos de até '.$tamanhoPermitido/MB.' MB."</h4>
                        </div>';

                  //Redirecionando para Caixa de Enrada do Cliente
                  echo '<meta http-equiv="refresh" content="3, URL=painel.php?exe=admin-cliente/clientes/clientes" />';
     
                }else{
     
                    // atribui novo nome ao arquivo
                    $novo_nome = 'cliente['.$clientes_clienteId.']-'.md5(time()).".".$extensao;
     
                    // faz o upload
                    $executar = move_uploaded_file($_FILES['arquivo']['tmp_name'], $diretorio.$novo_nome);
     
                    if($executar){
              
                      $sql_documento = 'INSERT INTO docCliente (nomeDoclie, pastaDoclie, validaDoclie, clientes_clienteId) ';
                      $sql_documento .= 'VALUES (:nomeDoclie, :novo_nome, :validaDoclie, :clientes_clienteId)';

                      try{
                        $query_documento = $conecta->prepare($sql_documento);
                        $query_documento->bindValue(':nomeDoclie',$nomeDoclie,PDO::PARAM_STR);
                        $query_documento->bindValue(':novo_nome',$novo_nome,PDO::PARAM_STR); 
                        $query_documento->bindValue(':validaDoclie',$validaDoclie,PDO::PARAM_STR);   
                        $query_documento->bindValue(':clientes_clienteId',$clientes_clienteId,PDO::PARAM_STR);     
                        $query_documento->execute();
                        
                         echo '<div class="alert alert-success alert-dismissible">        
                              <h4>Documento Cadastrado com Sucesso!</h4>        
                             </div>';                 

                        //Redirecionando para Caixa de Enrada do Cliente
                        echo '<meta http-equiv="refresh" content="3, URL=painel.php?exe=admin-cliente/clientes/clientes" />';

                         } catch(PDOexception $error_novoDocumento) {
                    
                        echo '<div class="alert alert-warning alert-dismissible">
                              <h4>Erro o Documento.</h4>
                              </div>'; 

                        }           

                    }else{

                      echo '<div class="alert alert-warning alert-dismissible">
                            <h4>Erro ao enviar o Documento.</h4>
                            </div>'; 
                      
                      //Redirecionando para Caixa de Enrada do Cliente
                      echo '<meta http-equiv="refresh" content="3, URL=painel.php?exe=admin-cliente/clientes/clientes" />';                                         
                    }
                }
     
            }else{

              echo '<div class="alert alert-danger alert-dismissible">
                     <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
                     <h4><i class="fa fa-warning"></i> Atenção!</h4>
                     Somente arquivo com a extensão: <strong>.PDF</strong> é permitido.
                    </div>';


            }
     
        }else{

          echo '<div class="alert alert-info alert-dismissible">
                  <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
                  <h4><i class="icon fa fa-info"></i> Atenção!</h4>
                  Por favor selecione um arquivo .PDF para ser enviado.
                </div>';
        }
      }

    ?>
 <?php
    //tamanhoArquivo.php
	function extensao($arquivo){

		$arquivo = strtolower($arquivo);
		$explode = explode(".", $arquivo);
		$arquivo = end($explode);

	 return ($arquivo);
	 
	}
	 
	define('KB', 1024); // 1024
	define('MB', 1048576); // 1024 * 1024
	define('GB', 1073741824); // 1024 * 1024 * 1024
	define('TB', 1099511627776); // 1024 * 1024 * 1024 * 1024
	
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por santans
      Desejo saber como crio um gerador PHP de paginas html.
      Por exemplo quando alguém cria um perfil no meu site, o gerador criaria uma pagina no sistema a partir de uma pagina pre molde já feita.
      no caso seria para um e-comerce.
      Outro exemplo quando eu cadastro um produto e é gerada uma pagina para este tal produto.
      Se houver algum sistema mais simples para me indicarem fiquem a vontade.
      Nota: Não sou um programador experiente.
    • Por Snowden
      A empresa que trabalho está contratando Desenvolvedor Wordpress, com foco em front-end para criação e customização de sites. 
      Necessário conhecimento em PHP e MYSQL.
       
      Experiência em:
      Temas filhos, Plugins Hooks CSS jQuery PHP MYSQL GIT (Caso não tenha aprenderá com nós) DOCKER (Caso não tenha aprenderá com nós)  
      A vaga é apenas presencial, na cidade de São Paulo capital, bairro do Jardim Paulista próximo metrô Brigadeiro.
      Salário: Á Combinar.
      Contratação: CLT ou PJ.
       
      Interessados contactar-me por mensagem privada.
    • Por DKannel
      Olá pessoal, estou tentando criar um formulario de cadastro para meu projeto.
       
      Mas ele não está registrando no BD...  o arquilo SQL até então parece ok, mas se alguem puder ajudar eu agradeço
       
      index.html
      <body> <form id="cadastro" name="cadastro" method="post" action="cadastro.php" onsubmit="return validaCampo(); return false;"> <table width="650" border="0"> <tr> <td width="169">Nome:</td> <td width="461"><input name="nome" type="text" id="nome" size="70" maxlength="60" /> <span class="style1">*</span></td> </tr> <tr> <td>Email:</td> <td><input name="email" type="text" id="email" size="70" maxlength="60" /> <span class="style1">*</span></td> </tr> <tr> <td>Sexo:</td> <td><input name="sexo" type="radio" value="Masculino" checked="checked" /> Masculino <input name="sexo" type="radio" value="Feminino" /> Feminino <span class="style1">*</span> </td> </tr> <tr> <td>Data Nasc.:</td> <td><input name="datanasc" type="text" id="datanasc" maxlength="10" />EX. 11/11/2006 <span class="style1">*</span></td> </tr> <tr> <td>Estado Civil:</td> <td><select name="estadocivil" id="estadocivil"> <option>Selecione...</option> <option value="C">Casado(a)</option> <option value="E">Desquitado(a)</option> <option value="D">Divorciado(a)</option> <option value="S">Solteiro(a)</option> <option value="V">Viúvo(a)</option> </select> <span class="style1">*</span></td> </tr> <tr> <td>Escolaridade:</td> <td><select name="escolaridade" id="escolaridade"> <option>Selecione...</option> <option value="fuin">Fundamental Incompleto</option> <option value="fuco">Fundamental Completo</option> <option value="enme">Ensino Médio</option> <option value="suin">Superior Incompleto</option> <option value="suco">Superior Completo</option> </select> <span class="style1">*</span></td> </tr> <tr> <td>DDD:</td> <td><input name="ddd" type="text" id="ddd" size="4" maxlength="2" /> Telefone: <input name="telefone" type="text" id="telefone" /> <span class="style3">Apenas números</span> </td> </tr> <tr> <td>Endereço:</td> <td><input name="endereco" type="text" id="endereco" size="70" maxlength="70" /> <span class="style1">*</span></td> </tr> <tr> <td>CEP:</td> <td><input name="cep" type="text" id="cep" size="8" maxlength="8" /> <span class="style1">*</span></td> </tr> <tr> <td>Bairro:</td> <td><input name="bairro" type="text" id="bairro" maxlength="20" /> <span class="style1">*</span></td> </tr> <tr> <td>Cidade:</td> <td><input name="cidade" type="text" id="cidade" maxlength="20" /> <span class="style1">*</span></td> </tr> <tr> <td>Estado:</td> <td><select name="estado" id="estado"> <option>Selecione...</option> <option value="AC">AC</option> <option value="AL">AL</option> <option value="AP">AP</option> <option value="AM">AM</option> <option value="BA">BA</option> <option value="CE">CE</option> <option value="ES">ES</option> <option value="DF">DF</option> <option value="MA">MA</option> <option value="MT">MT</option> <option value="MS">MS</option> <option value="MG">MG</option> <option value="PA">PA</option> <option value="PB">PB</option> <option value="PR">PR</option> <option value="PE">PE</option> <option value="PI">PI</option> <option value="RJ">RJ</option> <option value="RN">RN</option> <option value="RS">RS</option> <option value="RO">RO</option> <option value="RR">RR</option> <option value="SC">SC</option> <option value="SP">SP</option> <option value="SE">SE</option> <option value="TO">TO</option> </select> <span class="style1">*</span></td> </tr> <tr> <td>País:</td> <td><input name="pais" type="text" id="pais" maxlength="20" /> <span class="style1">*</span></td> </tr> <tr> <td>-----------------</td> <td>-----------------------</td> </tr> </table> </form> </body> </html>  n
      cadastro.php
       
      $host= 'meu.host.com.br'; $bd= 'meu BD'; $userbd = 'Meu User'; $senhabd= 'Minha senha'; // RECEBENDO OS DADOS PREENCHIDOS DO FORMULÁRIO ! $nome = $_POST ["nome"]; //atribuição do campo "nome" vindo do formulário para variavel $email = $_POST ["email"]; //atribuição do campo "email" vindo do formulário para variavel $sexo = $_POST ["sexo"]; //atribuição do campo "sexo" vindo do formulário para variavel $datanasc = $_POST ["datanasc"]; //atribuição do campo "datanasc" vindo do formulário para variavel $estadocivil = $_POST ["estadocivil"]; //atribuição do campo "estadocivil" vindo do formulário para variavel $escolaridade = $_POST ["escolaridade"]; //atribuição do campo "escolaridade" vindo do formulário para variavel $ddd = $_POST ["ddd"]; //atribuição do campo "ddd" vindo do formulário para variavel $tel = $_POST ["telefone"]; //atribuição do campo "telefone" vindo do formulário para variavel $endereco = $_POST ["endereco"]; //atribuição do campo "endereco" vindo do formulário para variavel $cep = $_POST ["cep"]; //atribuição do campo "cep" vindo do formulário para variavel $cidade = $_POST ["cidade"]; //atribuição do campo "cidade" vindo do formulário para variavel $estado = $_POST ["estado"]; //atribuição do campo "estado" vindo do formulário para variavel $bairro = $_POST ["bairro"]; //atribuição do campo "bairro" vindo do formulário para variavel $pais = $_POST ["pais"]; //atribuição do campo "pais" vindo do formulário para variavel $cid = $_POST ["cid"]; //atribuição do campo "cid" vindo do formulário para variavel $tipodefi = $_POST ["tipodefi"]; //atribuição do campo "tipodefi" vindo do formulário para variavel $aperelho = $_POST ["aperelho"]; //atribuição do campo "aperelho" vindo do formulário para variavel $aperelhodefina = $_POST ["aperelhodefina"];//atribuição do campo "aperelhodefina" vindo do formulário para variavel $esta_trabalhando = $_POST ["esta_trabalhando"]; //atribuição do campo "esta_trabalhando" vindo do formulário para variavel //Gravando no banco de dados ! //conectando com o localhost - mysql $conexao = mysql_connect($host,$bd, $userbd, $senhabd); if (!$conexao) die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysql_error()); //conectando com a tabela do banco de dados $banco = mysql_select_db($bd,$conexao); if (!$banco) die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error()); mysql_query($query,$conexao); $query = "INSERT INTO `clientes` ( `nome` , `email` , `sexo` , `datanasc` , `estadocivil` , `escolaridade` , `ddd` , `telefone` , `endereço` , `cep` , `cidade` , `estado` , `bairro` , `pais` , `cid` , `tipodefi` , `aperelho` , `aperelhodefina` , `esta_trabalhando` , `id` ) VALUES ('$nome', '$email', '$sexo', '$datanasc', '$estadocivil', '$escolaridade', '$ddd', '$tel', '$endereco', '$cep', '$cidade', '$estado', '$bairro', '$pais', '$cid', '$tipodefi', '$aperelho', '$aperelhodefina', '$esta_trabalhando', '')"; echo "Seu cadastro foi realizado com sucesso!<br>Só para reiterar, o cadastro NÃO LHE DÁ A GARANTIA de recebimento de aparelhos ou equipamentos, Agradecemos a atenção."; ?> valew, obrigado gente até logo menos
    • Por Andrelirasp
      Tenho uma página onde exibe livros registrados, eu gostaria de fazer uma outra focada em busca para buscar dados nas tabelas.
       
      Gostaria de fazer um sistema de busca onde buscaria dados digitados de acordo com a categoria selecionada, porém não sei por onde começo.
      Eu gostaria de adicionar a opção de **filtrar** por **categoria** seguida de um `_<input type="text">_` para o usuário selecionar a categoria e escrever o que ele quer buscar, a categoria no caso seriam as tabelas:
          <select name="opcao_filtro">
                     <option value="nulo">--</option>                
                     <option value="titulo">Título</option>
                     <option value="autor">Autor</option>
                     <option value="tema">Tema</option>
                     <option value="editora">Editora</option>
                     <option value="indice">Índice</option>
          </select>

      Logo abaixo teria o input:
          <input type="text" name="busca" id="busca"> // Procurar em tabela tal, tal coisa
          <input type="submit" value="Procurar">
       
      E depois(opcional para o usuário) buscar por letras(funcionaria junto com o filtro de categorias):
          <a href="url">A</a>
          <a href="url">B</a>
      **Exemplo**: Usúario escolheu filtrar por título e quando ele clica na letra _" A "_ buscasse entre a categoria e exibisse os resultados dos títulos que comesse com a letra selecionada.
×

Informação importante

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