Alex Chande Postado Outubro 5, 2016 Denunciar Share Postado Outubro 5, 2016 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; } } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Outubro 5, 2016 Denunciar Share Postado Outubro 5, 2016 Você não criou a variável $novo_nome. Assim o valor dela fica vazio e imagejpeg() recebe só o nome da pasta em vez do nome da pasta+nome do arquivo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alex Chande Postado Outubro 5, 2016 Autor Denunciar Share Postado Outubro 5, 2016 Desculpa amigo mas você poderia me dar um exemplo sou novo, e cara minha cabeça ta saindo fumaça aqui tentando entender mas ta difícil Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alex Chande Postado Outubro 5, 2016 Autor Denunciar Share Postado Outubro 5, 2016 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); } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Outubro 6, 2016 Denunciar Share Postado Outubro 6, 2016 (editado) 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 Outubro 6, 2016 por Beraldo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alex Chande Postado Outubro 6, 2016 Autor Denunciar Share Postado Outubro 6, 2016 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Outubro 7, 2016 Denunciar Share Postado Outubro 7, 2016 É sem aspas, mesmo. Verifique nome do banco e nome da tabela. Segundo a mensagem de erro, não existe a tabela "fotos" no seu banco de dados "u347838814_foto". Verifique esses dois nomes, pois algum deles está errado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alex Chande Postado Outubro 7, 2016 Autor Denunciar Share Postado Outubro 7, 2016 (editado) então olhei e esta la a tabela fotos e o nome esta certo 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"); } ?> Editado Outubro 7, 2016 por Alex Chande Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Outubro 7, 2016 Denunciar Share Postado Outubro 7, 2016 Verifique as permissões do usuário u347838814_teste. Talvez ele não tenha permissão para consultar essa tabela Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Alex Chande
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
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.