Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Problema variavel


tms.guiri

Pergunta

Bom dia pessoal,

É o seguinte estou com o seguinte codigo abaixo para adicionar foto no banco. O que não estou entendendo é que no meu notebook em casa esta funcionando perfeitamente e agora aqui no trabalho não esta! Segue o codigo:

if (!empty($foto["name"])) {
        
        // Largura máxima em pixels
        $largura = 300;
        // Altura máxima em pixels
        $altura = 300;
        // Tamanho máximo do arquivo em bytes
        $tamanho = 1000;

        // Verifica se o arquivo é uma imagem
        if(!preg_match( '/^image\/(jpeg|png|gif|jpg)+$/', $foto["type"])){
            $error[1] = "Isso não é uma imagem.";
            } 
    
        // Pega as dimensões da imagem
        $dimensoes = getimagesize($foto["tmp_name"]);
    
        // Verifica se a largura da imagem é maior que a largura permitida
        if($dimensoes[0] > $largura) {
            $error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels";
        }

        // Verifica se a altura da imagem é maior que a altura permitida
        if($dimensoes[1] > $altura) {
            $error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels";
        }

        // Verifica se o tamanho da imagem é maior que o tamanho permitido
        if($arquivo["size"] > $tamanho) {
                $error[4] = "A imagem deve ter no máximo ".$tamanho." bytes";
        }

        // Se não houver nenhum erro
        if (count($error) == 0) {
        
            // Pega extensão da imagem
            preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);

            // Gera um nome único para a imagem
            $nome_imagem = md5(uniqid(time())) . "." . $ext[1];

            // Caminho de onde ficará a imagem
            $caminho_imagem = "fotos/" . $nome_imagem;

            // Faz o upload da imagem para seu respectivo caminho
            move_uploaded_file($foto["tmp_name"], $caminho_imagem);
        
            // Insere os dados no banco
          $sql = mysql_query("INSERT INTO usuario VALUES ('', '".$nome."','".$cargo."','".$setor."','".$rg."','".$cpf."','".$titulo."','".$endereco."','".$telefonec."','".$telefoner."','".$cidade."', '".$observacao."','".$nome_imagem."')");
        
            // Se os dados forem inseridos com sucesso
            if ($sql){
                echo "Você foi cadastrado com sucesso.";
                                            echo '<meta HTTP-EQUIV = "Refresh" CONTENT = "2; URL = AddFuncionario.php">';

            }
        }
    
        // Se houver mensagens de erro, exibe-as
        if (count($error) != 0) {
            foreach ($error as $erro) {
                echo $erro . "<br />";
            }
        }
    }
}
?>

Os erros são:

Notice: Undefined index: size in C:\xampp\htdocs\projetos\SistemaCadastro\AddFuncionario.php on line 207

Notice: Undefined variable: error in C:\xampp\htdocs\projetos\SistemaCadastro\AddFuncionario.php on line 212

Notice: Undefined variable: error in C:\xampp\htdocs\projetos\SistemaCadastro\AddFuncionario.php on line 238

Pensei em usar isset, mas se em casa estava funcionando porque agora não? Isso que não estou compreendendo, e também é como se o foreach não encontrasse array de erro. Alguém poderia me ajudar? Agradeço desde já e aguardo resposta

Editado por tms.guiri
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Bom dia pessoal,

É o seguinte estou com o seguinte codigo abaixo para adicionar foto no banco. O que não estou entendendo é que no meu notebook em casa esta funcionando perfeitamente e agora aqui no trabalho não esta! Segue o codigo:

if (!empty($foto["name"])) {
        
        // Largura máxima em pixels
        $largura = 300;
        // Altura máxima em pixels
        $altura = 300;
        // Tamanho máximo do arquivo em bytes
        $tamanho = 1000;

        // Verifica se o arquivo é uma imagem
        if(!preg_match( '/^image\/(jpeg|png|gif|jpg)+$/', $foto["type"])){
            $error[1] = "Isso não é uma imagem.";
            } 
    
        // Pega as dimensões da imagem
        $dimensoes = getimagesize($foto["tmp_name"]);
    
        // Verifica se a largura da imagem é maior que a largura permitida
        if($dimensoes[0] > $largura) {
            $error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels";
        }

        // Verifica se a altura da imagem é maior que a altura permitida
        if($dimensoes[1] > $altura) {
            $error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels";
        }

        // Verifica se o tamanho da imagem é maior que o tamanho permitido
        if($arquivo["size"] > $tamanho) {
                $error[4] = "A imagem deve ter no máximo ".$tamanho." bytes";
        }

        // Se não houver nenhum erro
        if (count($error) == 0) {
        
            // Pega extensão da imagem
            preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);

            // Gera um nome único para a imagem
            $nome_imagem = md5(uniqid(time())) . "." . $ext[1];

            // Caminho de onde ficará a imagem
            $caminho_imagem = "fotos/" . $nome_imagem;

            // Faz o upload da imagem para seu respectivo caminho
            move_uploaded_file($foto["tmp_name"], $caminho_imagem);
        
            // Insere os dados no banco
          $sql = mysql_query("INSERT INTO usuario VALUES ('', '".$nome."','".$cargo."','".$setor."','".$rg."','".$cpf."','".$titulo."','".$endereco."','".$telefonec."','".$telefoner."','".$cidade."', '".$observacao."','".$nome_imagem."')");
        
            // Se os dados forem inseridos com sucesso
            if ($sql){
                echo "Você foi cadastrado com sucesso.";
                                            echo '<meta HTTP-EQUIV = "Refresh" CONTENT = "2; URL = AddFuncionario.php">';

            }
        }
    
        // Se houver mensagens de erro, exibe-as
        if (count($error) != 0) {
            foreach ($error as $erro) {
                echo $erro . "<br />";
            }
        }
    }
}
?>

Os erros são:

Notice: Undefined index: size in C:\xampp\htdocs\projetos\SistemaCadastro\AddFuncionario.php on line 207

Notice: Undefined variable: error in C:\xampp\htdocs\projetos\SistemaCadastro\AddFuncionario.php on line 212

Notice: Undefined variable: error in C:\xampp\htdocs\projetos\SistemaCadastro\AddFuncionario.php on line 238

Pensei em usar isset, mas se em casa estava funcionando porque agora não? Isso que não estou compreendendo, e também é como se o foreach não encontrasse array de erro. Alguém poderia me ajudar? Agradeço desde já e aguardo resposta

Olá!

Tem certeza que o erro ta nesse trecho do script que você passou?

O php aponta o erro no "addfuncionario.php".Se esse script de upload realmente estiver neste arquivo, pode ser que esteja em outra parte do script, não no trecho que você passou...

Flws!

Link para o comentário
Compartilhar em outros sites

  • 0

Ola Lucke,

Eu fiz uma ação para cadastrar na mesma pagina assim: AddFuncionario.php?acao=cadastrar Então o script de upload esta na mesma pagina sim. Mas o que estou intrigado é que em casa ele funcionou perfeitamente e aqui no trabalho não. Agora coloquei a variavel $error declarada recebendo array aí solucionou o erros dessa variavel, mas ainda continua agora a da variavel $arquivo!

Editado por tms.guiri
Link para o comentário
Compartilhar em outros sites

  • 0

Resolvindo Lucke, obrigado mesmo assim, eu adaptei o codigo, segue:

$erro = $config = array();


$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;


$config["tamanho"] = 100000000;

$config["largura"] = 100000000;

$config["altura"]  = 10000000;


if($arquivo)
{  

   if(!preg_match( '/^image\/(jpeg|png|gif|jpg)+$/', $arquivo["type"]))
    {
        $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, 
            bmp, gif ou png. Envie outro arquivo";
            
    }
    else
    {
        // Verifica tamanho do arquivo
        if($arquivo["size"] > $config["tamanho"])
        {
            $erro[] = "Arquivo em tamanho muito grande! 
        A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. 
        Envie outro arquivo";
        }
        
        // Para verificar as dimensões da imagem
        $tamanhos = getimagesize($arquivo["tmp_name"]);
        
        // Verifica largura
        if($tamanhos[0] > $config["largura"])
        {
            $erro[] = "Largura da imagem não deve 
                ultrapassar " . $config["largura"] . " pixels";
        }

        // Verifica altura
        if($tamanhos[1] > $config["altura"])
        {
            $erro[] = "Altura da imagem não deve 
                ultrapassar " . $config["altura"] . " pixels";
        }
    }
    
    // Imprime as mensagens de erro
    if(sizeof($erro))
    {
        foreach($erro as $err)
        {
            echo " - " . $err . "<BR>";
        }

            }


    else
    {

        preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);

   
        $imagem_nome = md5(uniqid(time())) . "." . $ext[1];

    
        $imagem_dir = "fotos/" . $imagem_nome;

Obrigado mesmo assim!

Editado por tms.guiri
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...