Jump to content
Artur Mendonça

Imagem vertical fica na horizontal

Recommended Posts

Olá amigos,

tenho um sistema para registar fotos e fazer o upload das mesmas com o seguinte código

<?php

ini_set('display_errors',1);
ini_set('display_startup_erros',1);
error_reporting(E_ALL);
	session_start();
	include_once("../../conexao.php");

	//$titulo_artigo 		= $_POST['titulo_artigo']; //$nome
	$imagem2 			= $_FILES['imagem']['name']; //$foto
	$imagem 			= $_FILES['imagem'];
	$adate 				= date('Y-m-d H:i:s');
	$status				='process';
	$albumid			= $_REQUEST['id'];	
	$pasta				='../../fotos/';
	$resulta=mysqli_query($conectar,"SELECT * FROM tbl_album WHERE albumid='$albumid'");
	$linhas = mysqli_fetch_assoc($resulta);

	$local= $linhas["local"];
	
	$numfile = count(array_filter($imagem['name']));
	
	$msg = array();
	$errormsg = array(
		1=> 'O arquivo é maior que o limite',
		2=> 'O arquivo ultrapassa o limite de tamanho',
		3=> 'O upload do arquivo foi feito parcialmente',
		4=> 'Não feito o upload do arquivo'
	);

		for($i = 0; $i < $numfile; $i++){
		$name = $imagem['name'][$i];
		$type = $imagem['type'][$i];
		$size = $imagem['size'][$i];
		$error = $imagem['error'][$i];
		$tmp = $imagem['tmp_name'][$i];
		$imagem2 = $_FILES['imagem']['name'][$i];
		$extensao = @end(explode('.',$name));
		
		//var_dump($nomefoto);




			//Validar extensão da imagem
	switch($type):
		case 'image/jpeg';
		case 'image/pjpeg';
			//Criar a imagem temporaria a ser manipulada
			ini_set('memory_limit', '-1');
			$imagem_teporaria = imagecreatefromjpeg($tmp);
		
	break;
		case 'image/png';
		case 'image/x-png';
			//Criar a imagem temporaria a ser manipulada
			ini_set('memory_limit', '-1');
			$imagem_teporaria = imagecreatefrompng($tmp);
			
		break;
		default:
			$_SESSION['msg'] = "<h3 style='color: red;'>Extensão ou tamanho da imagem inválida. A extensão deve ser JPG ou PNG 
			e o tamanho máximo de 5mb</h3>";
			//header("Location: ../addgimages2.php");
endswitch;


	//Importar a logo
	if ($local=='1'){
	$logo = imagecreatefromgif("../../img/festivallogo.gif");

					} else 
	{
	$logo = imagecreatefromgif("../../img/logotipo.gif");

	}
	//Obter a largura da logo
	$largura_logo = imagesx($logo);


	//Obter a altura da logo
	$altura_logo = imagesy($logo);

	//echo "$altura_logo - $largura_logo";
	
	//Calcular posição x sendo 10px da lateral direita
	$x_logo = imagesx($imagem_teporaria) - $largura_logo - 10;

	//Calcular posição y sendo 10px do rodape
	$y_logo = imagesy($imagem_teporaria) - $altura_logo - 10;

	imagecopymerge($imagem_teporaria, $logo, $x_logo, $y_logo, 0, 0, $largura_logo, $altura_logo, 70);
	


	$imagemnome= time()."-".rand(). "-" .$imagem2;
	
	imagejpeg($imagem_teporaria, $pasta. $imagemnome);
	

	$query = mysqli_query($conectar,"INSERT INTO tbl_gallery
	( aid, gimages, date, status) 
	VALUES
	('$albumid','$imagemnome', '$adate', '$status')") or die(mysqli_error($conectar));
	
	}


echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://www.gfmonteverde.com/administrar/addgallery.php''>
					<script type=\"text/javascript\">
					   alert(\"imagens guardadas com sucesso.\");
				   </script>
";
}

?>

Este foi um código que encontrei na internet, mas já não lembro onde foi...
O código funciona perfeitamente.

 

Acontece que no pc tenho algumas fotos que estão na vertical, quando vejo no pc fica tudo bem, mas quando faço o upload as mesmas ficam na horizontal.

Já tentei diversas formas, mas todas sem sucesso, até com o exif_read_data....

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Artur Mendonça
      Olá amigos.
      espero que estejam todos bem.
       
      Estou tentando criar uma galeria de imagens e colocar nestas um botão para votação (Gosto como no Facebook).

      Já consegui criar a galeria e colocar o Like nas imagens, mas acontece que quando  as imagens passam para a linha de baixo o botão Like não acompanha a imagem.
       
      Junto uma imagem para exemplificar como está e como deveria ser.
       
      O CSS está assim
      h1 { text-align: center; color: forestgreen; margin: 30px 0 50px; } .container h2 { text-align: center; color: rgb(8, 8, 8); margin: 30px 0 50px; } .gallery { margin: 10px 50px; padding-right: 0px; padding-left: 0px; } .gallery img { width: 230px; padding: 0px; opacity: 0.5; filter: grayscale(10%); transition: 1s; margin-top: 10px; margin-left: 10px; margin-bottom: 10px; margin-right: 0px; border: 2px solid #ccc; border-radius: 10%; } .ilike { display: grid; border-radius: 10%; box-sizing: border-box; text-align: left; padding: 15px; font-size: 20px; vertical-align: top; position: absolute; z-index: 1000; margin-top: 10px; margin-left: 10px; overflow: hidden; color: white; } O código da página da galeria de fotos está assim:
      <div class="gallery"> <?php $sql = "SELECT * FROM tbl_gallery where aid=$aid"; $num_rows = mysqli_num_rows(mysqli_query($conectar, $sql)); $result = mysqli_query($conectar, $sql); while ($row = mysqli_fetch_array($result)) { $gimage = $row['gimages']; $fotoid = $row['gid']; $likes = $row['likes']; ?> <a href="páginapararegistarovoto" ?> "><i class="far fa-thumbs-up ilike" alt="Vote"> <?php echo $likes; ?> </i></a> <i class="inum" > <?php echo "Foto " . $fotoid; ?> </i> <?php echo "<a href='../fotos/$gimage' data-lightbox='mygallery' data-title='Foto n.º: $fotoid'><img src='../thumbnails/$gimage' class='pic'></a>"; } ?> </div>  
       
       

    • By Alberto Nascimento
      Como consigo salvar o "novo nome" da imagem que foi enviada para o servidor por meio de UPLOAD no mesmo registro em que estão sendo salvos os dados do formulário no banco de dados através do PHP.
      Consigo salvar os campos do formulário, mas o nome que é gerado ao enviar a imagem, não estou conseguindo.
       
      <?php include 'conecta_mysql.inc'; if(isset($_FILES['arquivo']['name']) && $_FILES["arquivo"]["error"] == 0) { echo "<center>Você enviou o arquivo: <strong>" . $_FILES['arquivo']['name'] . "</strong><br /></center>"; echo "<center>Seu tamanho é: <strong>" . $_FILES['arquivo']['size'] . "</strong> Bytes<br /><br /></center>"; $arquivo_tmp = $_FILES['arquivo']['tmp_name']; $nome = $_FILES['arquivo']['name']; $extensao = strrchr($nome, '.'); $extensao = strtolower($extensao); if(strstr('.jpg;.jpeg;.gif;.png', $extensao)) { $novoNome = md5(microtime()) . '.' . $extensao; $destino = 'imagens/' . $novoNome; if( @move_uploaded_file( $arquivo_tmp, $destino )) { echo "<br>"; echo "<img src=\"" . $destino . "\" />"; echo "<br>"; } else echo "Erro ao salvar o arquivo. Aparentemente você não tem permissão de escrita.<br />"; } else echo "Você poderá enviar apenas arquivos \"*.jpg;*.jpeg;*.gif;*.png\"<br />"; } else { echo "<center><h1>Você não enviou nenhum arquivo!</h1></center>"; echo "<center><br><h3><a href='javascript:window.history.go(-1)'>Clique aqui para volta.</a></h3></center>"; } $codphoto = $_POST['codphoto']; $nome = $_POST['nome']; $datafotografia = $_POST['datafotografia']; $photography = $_POST['novoNome']; $sql = "INSERT INTO photograph VALUES"; $sql .= "( '$codphoto', '$nome', '$datafotografia', '$photography' )"; if ($conexao->query($sql) === TRUE) { echo "<center> <h2> Obrigado !! Envio realizado com sucesso !! </h2></center>"; echo "<center><br><h3><a href='LINK_SITE'>ENVIAR OUTRA FOTOGRAFIA</a></h3></center>"; } else { echo "Erro: " . $sql . "<br>" . $conexao->error; } $conexao->close();  
    • By Koromon
      Olá galera,
      Criei um arquivo .bat para rodar comandos do MySQL automaticamente, com o agendador de tarefas do computador.
      Nesse arquivo .bat tem dois tipos de comandos:
      1. Inserir dados .txt em uma primeira tabela (I) no MySQL;
      2. Inserir os dados da primeira tabela (I) em outra (II) (para criar tipo um histórico de dados);
      O problema é que esse .bat só faz um dos comandos (inserir dados .txt na primeira tabela) o outro ele ignora.
      Se eu fizer manualmente pelo MySQL Workbench, roda tudo tranquilo. Alguém imagina o que pode estar acontecendo?

      Antigamente, eu tive esse mesmo problema em outro projeto, mas o motivo é que eu não colocava ponto e virgula (;) no comando problemático. Nisso, manual rodava, automático não.
      Mas aconteceu novamente (agora com o insert into), mas dessa vez eu coloquei o (;) e mesmo assim não resolveu.

      Código utilizado:
      insert into tabela1 (coluna1, coluna2, coluna3) 
      select coluna11, coluna22, coluna33 from tabela2;
    • By Kaio Kdesigner
      Oi Pessoal!
       
      Estou editando um tema, e ai as imagens dos thumbsnails estão ficando distorcidas.
       
      Cada categoria tem um tamanho diferente de imagem, mas ai elas ficam destorcidas dentro do tamanho (meio confuso né?)
       
      ta ficando assim: https://screenshot.net/gxvqc9y
       
      Como que faço para colocar a imagem dentro do tamanho, ex: 150x150, sem q ela fique distorcida??
    • By alexdcarvalho
      Como colocar uma imagem no html/css sem que a qualidade dela não decaia? Eu fiz os procedimentos abaixo, achando que a coisa pudesse melhorar, porém a imagem horizontalmente fica esticada, toda a resolução se perde. O que eu quero é justamente fazer com que o width fique completo e o height no 300px, porém com uma qualidade boa.
       
       A resolução original da imagem é de 1920x1279.
       
      .img {     width: 100%;     height: 300px;     background-size: cover;     background-position: center right; }
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.