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

Ajuda com erro no código PHP


Alex Chande

Pergunta

ola estou com este erro neste código e não estou conseguindo arrumar me ajudem pfv

erro que esta dando e este 

Warning: imagejpeg(galerias/): failed to open stream: Is a directory in/home/u347838814/public_html/crop.php on line 15

código é este 

<?php include_once "config.php";?>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Cadastrar Galeria</title>
<link href="css/style.css" rel="stylesheet" type="text/css" media="screen" />
</head>

<body>
   <div id="box_form">
   <h1>Cadastrar nova Imagem</h1>
  <?php
  $id_galery = (int)$_GET['galeria_id'];
  if(isset ($_POST['acao'])  && $_POST['acao'] == 'enviar'):
      $titulo = strip_tags(filter_input(INPUT_POST, 'titulo'));
      $descricao = strip_tags(filter_input(INPUT_POST, 'descricao'));
      $imagem = $_FILES['imagem'];
      $permitido = array('jpg', 'jpeg', 'JPEG', 'JPG');
      
      if($titulo == ''){
          echo '<script>alert("Preencha o Titulo"); location.href="editar_galeria.php?galeria_id='.$id_galery.'"</script>';
            }elseif($descricao == ''){
          echo '<script>alert("Informe a descrição da Imagem"); location.href="editar_galeria.php?galeria_id='.$id_galery.'"</script>';
          }elseif($imagem['error'] == '4'){
          echo '<script>alert("Informe uma Imagem para Upload"); location.href="editar_galeria.php?galeria_id='.$id_galery.'"</script>';
          }else{
            $explode = explode('.', $imagem['name']);
            $ext = end ($explode);
            if(!in_array($ext, $permitido)){
                echo '<script>alert("A Imagem tem que ser jpeg"); location.href="editar_galeria.php?galeria_id='.$id_galery.'"</script>';
                }else{
                    include_once "crop.php";
                    $image_maior = md5 (uniqid(rand(), true)).$imagem['name'];
                    $image_menor = md5 (uniqid(rand(), true)).$imagem['name'];
                    if(crop('galerias', $imagem['tmp_name'], '200', '200', $imagem_menor)){
                    if(move_uploaded_file($imagem['tmp_name'], 'galerias/fotos' .$imagem_maior)){                        
                            $cadastrar_galeria = $pdo->prepare("INSERT INTO 'fotos'(id_ga, titulo, descricao, miniatura, imagem) VALUES(?,?,?,?,?) ");
                            $dados = array($id_galery, $titulo, $descricao, $imagem_menor, $imagem_maior);
                            if($cadastrar_galeria->execute($dados)){
                                echo '<script>alert("Imagem Cdastrada"); location.href="editar_galeria.php?galeria_id='.$id_galery.'"</script>';
                                }
                            }
                        }
                    
                    } 
             
                  
          }
      endif;
  ?>
  
   <form action="" method="post" enctype="multipart/form-data">
    <label>
     <span>Titulo da Galeria</span>
     <input type="text" name="titulo" />
    </label>
    <label>
     <span>Descrição</span>
     <input type="text" name="descricao" />
    </label>
    <label>
     <span>Imagem</span>
     <input type="file" name="imagem" />
    </label>
    <input type="hidden" name="acao" value="enviar" />
    <input type="submit" value="Cadastrar Imagem" />
   </form>
   <div style="clear:both;"</div>
   </div>
</body>
</html>

codigo CROP.php

<?php 
function crop($pasta, $imagem_original, $largura, $altura, $novo_nome){
    list($current_width, $current_height) = getimagesize ($imagem_original);
    
    $left = $current_width/3;
    $top = $current_height/3;
    $width = $current_width/3;
    $height = $current_height/3;
    
    $thumb = imagecreatetruecolor ($largura, $altura);
    $image = imagecreatefromjpeg ($imagem_original);
    
    imagecopyresampled ($thumb,$image, 0,0,$left,$top,$largura,$altura,$width, $height);
    
    if(imagejpeg($thumb, "$pasta/".$novo_nome,100)){
        return true;
        }else{
            return false;
            }
    
    }
?>

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

mudei o arquivo Crop.php ficou assim mas ta dando este erro agora pode me ajudar?

Fatal error: Uncaught exception 'BadFunctionCallException' with message 'Nome vazio.' in /home/u347838814/public_html/crop.php:16 Stack trace: #0 /home/u347838814/public_html/editar_galeria.php(37): crop('galerias', '/tmp/phpIoaaR4', '200', '200', NULL) #1 {main} thrown in/home/u347838814/public_html/crop.php on line 16

Crop.php

<?php 
function crop($pasta, $imagem_original, $largura, $altura, $novo_nome){
    list($current_width, $current_height) = getimagesize ($imagem_original);
    
    $left = $current_width/3;
    $top = $current_height/3;
    $width = $current_width/3;
    $height = $current_height/3;
    
    $thumb = imagecreatetruecolor ($largura, $altura);
    $image = imagecreatefromjpeg ($imagem_original);
    
    imagecopyresampled ($thumb,$image, 0,0,$left,$top,$largura,$altura,$width, $height);
    
    if ( (string)$novo_nome === '' )
          throw new \BadFunctionCallException( 'Nome vazio.' );
    
    return imagejpeg($thumb, "{$pasta}/{$novo_nome}", 100); 
          }
?>

Link para o comentário
Compartilhar em outros sites

  • 0

O erro é por que $novo_nome está vazio. É a exceção que você colocou no if.

Veja como está chamando a função crop(). O último parâmetro deve estar sendo enviado vazio, por isso o erro. 

Ou seja, $imagem_menor está vazia, o que causa o problema

Editado por Beraldo
Link para o comentário
Compartilhar em outros sites

  • 0

Desculpa 

mas ta dando este erro agora 

pelo que entendi ele esta dizendo que a tabela 'fotos' não existe no sql mas ela esta la.

 

 

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table 'u347838814_foto.fotos' doesn't exist' in /home/u347838814/public_html/editar_galeria.php:41 Stack trace: #0 /home/u347838814/public_html/editar_galeria.php(41): PDOStatement->execute(Array) #1 {main} thrown in/home/u347838814/public_html/editar_galeria.php on line 41

 

 

no codigo esta asim ("INSERT INTO fotos (id_ga, titulo, descricao, miniatura, imagem) VALUES(?,?,?,?,?) "); 

 

fotos esta sem aspas  quando coloco aspas da este erro 

 

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''fotos' (id_ga, titulo, descricao, miniatura, imagem) VALUES('0','gabi','Gabriel' at line 1' in /home/u347838814/public_html/editar_galeria.php:41 Stack trace: #0 /home/u347838814/public_html/editar_galeria.php(41): PDOStatement->execute(Array) #1 {main} thrown in/home/u347838814/public_html/editar_galeria.php on line 41

Link para o comentário
Compartilhar em outros sites

  • 0

então olhei e esta la a tabela fotos e o nome esta certo  

Desktop 10.07.2016 - 11.41.29.04.png

este é o config.php

<?php
   try{ 
      $pdo = new PDO('mysql:host=mysql.hostinger.com.br;dbname=u347838814_foto','u347838814_teste','senha');
     $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
   
   }catch(PDOExcepion $e){
       echo $e->getMessage();
       exit("Erro ao conectar");
       
       
       }
   

?>
 

Desktop 10.07.2016 - 11.41.53.05.png

Editado por Alex Chande
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,8k
×
×
  • Criar Novo...