Sistema de Upload de imagens não da certo.
Bom no codigo abaixo o sistema funciona mais ele só funciona se o campo file tiver selecionado alguma imagem para fazer o upload se não ele não preenche no banco de dados mesmo que o campo status esteja escrito, resumindo, SE NÃO TIVER UMA IMAGEM PARA O UPLOAD ELE NÃO DEIXAR PREENCHER O SÓ O STATUS E LOCALIDADE NO BANCO DE DADOS. SEQUEM OS CODIGOS:
CODIGO DO PHP:
>
<?php
if(isset($_POST['publicar'])){
$pasta = 'imagens_post';
$permite = array('image/jpg','image/jpeg','image/pjpeg','image/png','image/bitmap');
$pegaDadosId = $pdo->prepare("SELECT * FROM cadastro WHERE nome_usuario = '$parteurldesejada'");
$pegaDadosId->execute();
while($PegID = $pegaDadosId->fetch(PDO::FETCH_ASSOC)){
$idPeg = $PegID['id'];
}
$imagem = $_FILES['img'];
$destino = $imagem['tmp_name'];
$nome = $imagem['name'];
$tipo = $imagem['type'];
$nome = 'ibook_'.rand().".png";
$mensagem = $_POST['mensagem'];
$localidade = $_POST['localidade'];
require('funcao.php');
if(empty($mensagem)){
echo "Tem que preenche o seu status!";
}
if(!empty($nome) && in_array($tipo, $permite)){
upload($destino, $nome, 460, $pasta);
$stmt = $pdo->prepare('INSERT INTO postagens(status_id, status, foto, localidade)VALUES(:status_id, :status, :foto, :localidade)');
$stmt->bindValue(':status_id', $idPeg, PDO::PARAM_STR);
$stmt->bindValue(':status', $mensagem, PDO::PARAM_STR);
$stmt->bindValue(':foto', $nome, PDO::PARAM_STR);
$stmt->bindValue(':localidade', $localidade, PDO::PARAM_STR);
$stmt->execute();
if($stmt->rowCount() == true ){
}
}
}else{
echo "Aceitamos somente imagens!";
}
?>
CÓDIGO DA FUNCÃO.PHP:
>
<?php
function upload($destino, $nome, $largura, $pasta){
$img = imagecreatefromjpeg($destino);
$x = imagesx($img);
$y = imagesy($img);
$altura = ($largura * $y) / $x;
$novaImagem = imagecreatetruecolor($largura, $altura);
imagecopyresampled($novaImagem, $img, 0, 0, 0, 0, $largura, $altura, $x, $y);
imagejpeg($novaImagem, "$pasta/$nome");
imagedestroy($img);
imagedestroy($novaImagem);
}
?>Discussão (7)
Carregando comentários...