Ir para conteúdo
Fórum Script Brasil

eduardomenezes.a

Membros
  • Total de itens

    8
  • Registro em

  • Última visita

Sobre eduardomenezes.a

  • Data de Nascimento 24/07/1996

Perfil

  • Gender
    Male

eduardomenezes.a's Achievements

0

Reputação

  1. Olá. Recebo fotos tiradas pela câmera de celular via formulário/upload que serão exibidas em um "Feed de Notícias". Na exibição desse Feed, posso ter 5, 10, 40 imagens carregadas na mesma página, e se todas estiverem com tamanho original/grande, 7MB por exemplo (4000x4000), o carregamento e consequentemente utilização ficaria inviável. Devido a isso, utilizo uma função para redimensiona-las proporcionalmente com limite de largura e altura de 1200px. A questão é que imagens grandes verticalmente estão sendo rotacionadas, aparentemente no carregamento imagecreatefromjpeg(). Pesquisei e testei inúmeros códigos/funções por aí. Testei vários exemplos desse site e todos continuam rotacionando: https://hotexamples.com/pt/examples/-/-/imagecopyresampled/php-imagecopyresampled-function-examples.html Aqui no fórum, encontrei esse tópico de 2015 onde esse usuário passou pelo mesmo problema, inclusive ele cita a mesma questão que ocorre por aqui. A imagem original tem 3472 de largura, 4624 de altura, mas a função getimagesize() retorna invertido, 4624 de largura x 3472 de altura. Minha função: function redimensionarImagem($largura_max = null, $altura_max = null, $caminho = null) { if($largura_max != null && $altura_max != null && $caminho != null) { $maxDimW = intval($largura_max); $maxDimH = intval($altura_max); $file_name = $caminho; list($width, $height, $type, $attr) = getimagesize($file_name); if($width > $maxDimW || $height > $maxDimH) { // Com o tipo de imagem $type // Carrega imagem com funcao especifica switch ($type) { case IMAGETYPE_JPEG: $src = imagecreatefromjpeg($file_name); break; case IMAGETYPE_GIF: $src = imagecreatefromgif($file_name); break; case IMAGETYPE_PNG: $src = imagecreatefrompng($file_name); break; default: return "TIPO DE ARQUIVO não SUPORTADO"; } // Define medidas da nova imagem a ser criada // Calculando a proporção $ratio_orig = $width / $height; if ($maxDimW/$maxDimH > $ratio_orig) $maxDimW = $maxDimH * $ratio_orig; else $maxDimH = $maxDimW / $ratio_orig; $new_width = round($maxDimW); $new_height = round($maxDimH); $dst = imagecreatetruecolor($new_width, $new_height); // Para png, corrige background 'black' switch ($type) { case IMAGETYPE_PNG: // integer representation of the color black (rgb: 0,0,0) $background = imagecolorallocate($dst, 0, 0, 0); // removing the black from the placeholder imagecolortransparent($dst, $background); // turning off alpha blending (to ensure alpha channel information // is preserved, rather than removed (blending with the rest of the // image in the form of black)) imagealphablending($dst, false); // turning on alpha channel information saving (to ensure the full range // of transparency is preserved) imagesavealpha($dst, true); // break; default: break; } // imagecopyresampled($dst, $src, 0, 0, 0, 0, $new_width, $new_height, $width, $height); imagedestroy($src); // Conforme o tipo de imagem enviada // Salva a nova imagem por cima da foto original switch ($type) { case IMAGETYPE_JPEG: imagejpeg($dst, $file_name); break; case IMAGETYPE_GIF: imagegif($dst, $file_name); break; case IMAGETYPE_PNG: imagepng($dst, $file_name); break; default: return "ERRO - FORMATO DE SAIDA não IDENTIFICADO"; } imagedestroy($dst); return "CONVERSAO OK"; } else return "SEM NECESSIDADE DE CONVERSAO"; } else return "PARAMETROS não INICIADOS"; } Alguém tem uma luz? rs
  2. Olá. Tentarei exemplificar o problema. Tenho uma tabela com duas colunas e seus respectivos conteúdos: VALOR (int), DATA (datetime) 1, 2018-12-10 20:50:00 5, 2018-12-13 12:00:00 4, 2018-12-13 13:00:00 3, 2018-12-13 17:00:00 2, 2018-12-15 06:00:00 9, 2018-12-15 08:00:00 Consulto as informações, por exemplo: SELECT * FROM TABELA WHERE DATA BETWEEN '2018-12-13 00:00:00' AND '2018-12-13 23:59:59' Está me trazendo somente os valores 4 e 5, o 3 ele não trás, porém todos estão dentro do período. Com isso, estou perdendo registros nas consultas. Buscando somente o valor 3 direto, (SELECT * FROM TABELA WHERE VALOR = 3), ele trás a informação normalmente. Adicionei e removi os índices, tentei otimizar a tabela, porém nada resolve. Não sei se envolve o tamanho da tabela, pois há 2.782.219 registros na mesma. Estrutura da tabela: InnoDB Formatação da tabela: utf8_general_ci Se alguém tiver uma luz...
  3. Boa tarde. Estou pesquisando uma forma de consultar via PHP que me retorne, através da chave de acesso da danfe, as informações relativas a nota como destinatário, remetente, etc, mas não encontro nada do tipo. É possível? Alguém conhece algum código aberto para esse tipo de consulta?
  4. Problema solucionado. O tipo de campo na base é BLOB. Para ler esse tipo de campo em PHP, há duas formas: $row = ibase_fetch_object($query, IBASE_TEXT); echo $row['OBS']; ou $row = ibase_fetch_object($query); $binfo = ibase_blob_info($row['OBS']); $bopen = ibase_blob_open($row['OBS']); echo ibase_blob_get($bopen, $binfo[0]); Obrigado.
  5. O problema é o tipo de dado do campo. Está definido como TEXTO LONGO. É possível realizar alguma conversão ao ler esse tipo de campo? Outros campos como TEXTO CURTO são lidos normalmente.
  6. Alterei, mas continua dando o mesmo erro. Teria outra sugestão? Obrigado.
  7. Olá pessoal. Preciso de ajuda com a seguinte questão. Consulto banco de dados Firebird e estou tendo problemas ao trazer algumas informações com o PHP. Tenho uma tabela OS com várias colunas como EMAIL, TEL, OBS, OBS2, etc. Ao trazer as informações, os campos OBS e OBS2 exibem a informação 0x00266b6e0000018f e 0x0027dd2c0000018f. Na base, esses campos estão como TEXTO LONGO e possuem conteúdo como "DEFEITO NO EQUIPAMENTO TAL TAL TAL". Os demais campos EMAIL, TEL, exibem a informação normal. Alguém saberia me ajudar? Desde já agradeço. index.php <?php if (!($dbh=ibase_connect('XX', 'XX', 'XX'))) die(ibase_errmsg()); $SEQOS = 999; $a = "SELECT EMAIL, TEL, OBS, OBS2 FROM OS WHERE SEQOS = '$SEQOS'"; $query = ibase_query($dbh, $a); $row = ibase_fetch_object($query); if ($row != 0) { echo "EMAIL: " . $row->EMAIL; echo "TEL: " . $row->TEL; echo "OBS: " . $row->OBS; echo "OBS2: " . $row->OBS2; } ibase_free_result($query); ibase_close($dbh); ?>
×
×
  • Criar Novo...