Ir ao conteúdo
  • Cadastre-se

Jakson Fischer

Membro Júnior
  • Posts

    15
  • Cadastrado em

  • Última visita

Reputação

2

1 Seguidor

  1. Fala galera, @DiF Obrigado mais uma vez pela sua ajuda meu conterrâneo hahaha Seguinte... Resolvi da seguinte forma: O PHP quando insere alguma coisa ele simplesmente pega o dado, envia pro servidor que por sua vez faz o trabalho cliente side, sendo assim, quando eu mando algo pelo ECHO ou pelo PRINT do PHP ele vai interpretar da forma com a qual ele leu, PORÉM... Quando eu estou trabalhando com alguma função de outra linguagem que tenha caracteres que são usados no PHP, tais como $ ou uma simples " ele vai tentar interpretar isso como se fosse uma variável ou início de string dele, pra resolver esse problema toda vez que eu encontrei algum elemento que ele utilize eu usei a \ na frente para que ele soubesse que aquilo não era pro PHP, mas sim era pra escrever dessa forma.... Ficou assim: echo(" <script> \$('.counter" . $id . "').countdown('" . $data . "', {elapse: true}).on('update.countdown', function(event) { if (event.elapsed) { var \$this = \$(this).html(event.strftime('' + '<div class=\"encerrado\">' + '<span class=\"tex_enc\">ENCERRADO</span>' + '</div>')); } else { var \$this = \$(this).html(event.strftime('' + '<div class=\"tempo\"> ' + '<span class=\"tempo-texto\">%-D</span> ' + '</div>' + '<span class=\"pontos\">:</span>' + '<div class=\"tempo\"> ' + '<span class=\"tempo-texto\">%H</span> ' + '</div>' + '<span class=\"pontos\">:</span>' + '<div class=\"tempo\"> ' + '<span class=\"tempo-texto\">%M</span> ' + '</div>' + '<span class=\"pontos\">:</span>' + '<div class=\"tempo\"> ' + '<span class=\"tempo-texto\">%S</span> ' + '</div>')); } }); </script> "); Sempre que tinha um $ eu colocava no código \$, quando tinha uma " (aspa dupla ou double quote) eu colocava \", assim o PHP entende que aquilo não é pra ele, mas sim para ele escrever aquilo. Eu só descobri isso depois que li sobre as convenções do PHP... @DiF, obrigado novamente pela ajuda cara haha Abraço.
  2. Olá @DiF Então... Eu tentei criar um arquivo js com todos os contadores, são mais ou menos uns 30 contadores, cada um sendo referenciado pela sua classe (counter1, counter2, counter3, etc...), Cada um deles tem o seu parâmetro, tudo certinho, mas eu não consigo fazer a chamada dele... O JQuery está sendo chamado no header, este .js eu tentei colocar depois da DIV, dentro do PHP, no fim do documento, mas ele não consegue entrar lá e pegar estes dados, continua como se nada estivesse acontecendo lá =/ Não sei mais o que fazer para isso funcionar...
  3. Boa tarde galera... Vamos lá... Estou com o seguinte problema no momento... Eu uso um plugin para contador, estou tendo que buscar dados no banco e fazer o insert pelo WHILE do PHP, mas estou com um problema... Por mais que ele interprete e coloque o valor das variáveis, ele não consegue iniciar o contador... O meu código PHP está assim: <?php $busca = "SELECT * FROM `anuncio` WHERE `id` != '0'"; $sql = mysql_query($busca); while($row = mysql_fetch_array($sql)){ $id = $row['id']; $nome = $row['nome']; $img = $row['img']; $localizacao = $row['localizacao']; $avaliado = $row['avaliado']; $inicial = $row['inicial']; $data = $row['data']; $link = $row['link']; $destaque = $row['destaque']; $vendido = $row['vendido']; $ativo = $row['ativo']; $desconto = $row['desconto']; $contador = 1; $data = date($data); if ($destaque == 1) { $destaque = " <div class='destaque-leilao'> <img src='./img/destaque.gif' /> </div> "; } else { $destaque = " <div class='destaque-leilao' style='display: none;'> <img src='./img/destaque.gif' /> </div> "; } if ($vendido == 1) { $vendido = " <div class='faixa'> <span class='faixa-texto'>ARREMATADO</span> </div> "; } else { $vendido = " <div class='faixa' style='display: none;'> <span class='faixa-texto'>ARREMATADO</span> </div> "; } echo(" <!-- Início coluna --> <div class='col-md-4 col-sm-6 hero-feature'> <div class='col-md-12 col-sm-1 hero-feature'> <div class='modal-sup'> <h4>&nbsp;</h4> <h4 class='fonte' style='font-size: 20px;'><b>" . $nome . "</b></h4> </div> </div> <div class='quebrar'></div> <div class='thumbnail'> <a href='#openModal1'> <!-- COLOCA O DESTAQUE SE FOR NECESSÁRIO --> " . $destaque . " </a> <!-- COLOCA A FAIXA DE VENDIDO SE NECESSÁRIO --> " . $vendido . " <img src='img/" . $img . "' alt='" . $nome . "' title='" . $nome . "'> <div class='quebrar'></div> <div class='quebrar'></div> <div class='quebrar'></div> <div class='modulos'> <div class='lhe'> </div> <div class='marker-img'> <img src='img/map-marker.png' width='35%' /> </div> <div class='lhd'> </div> <div class='separator'> </div> <h3>&nbsp;</h3> <p>" . $localizacao . "</p> </div> <div class='quebrar'></div> <div class='quebrar'></div> <div class='caption'> <div class='caixabg'> <p class='avaliado'>Avaliado em:</p> <div class='valor-aval'> <p class='texto'>R$ " . $avaliado . "</p> </div> <div class='circulo'> <span class='texto-circulo'><b>" . $desconto . "%</b></span> </div> <p class='inicial'>Segundo Leilão:</p> <div class='valor-lance'> <p class='texto-metade'>R$ " . $inicial . "</p> </div> </div> </div> <div class='quebrar'></div> <div class='caption'> <span class='termino'><h5><b>Termina em:</b></h5></span> <div class='contador'> <div class='timer-label'> <div class='label-timer'> DIAS </div> <div class='label-timer'> HORAS </div> <div class='label-timer'> MINUTOS </div> <div class='label-timer'> SEGUNDOS </div> </div> <div class='counter" . $id . "'> </div> <script type=\"text/javascript\"> $('.counter" . $id . "').countdown('" . $data . "', {elapse: true}).on('update.countdown', function(event) { if (event.elapsed) { var $this = $(this).html(event.strftime('' + '<div class=\"encerrado\">' + '<span class=\"tex_enc\">ENCERRADO</span>' + '</div>')); } else { var $this = $(this).html(event.strftime('' + '<div class=\"tempo\"> ' + '<span class=\"tempo-texto\">%-D</span> ' + '</div>' + '<span class=\"pontos\">:</span>' + '<div class=\"tempo\"> ' + '<span class=\"tempo-texto\">%H</span> ' + '</div>' + '<span class=\"pontos\">:</span>' + '<div class=\"tempo\"> ' + '<span class=\"tempo-texto\">%M</span> ' + '</div>' + '<span class=\"pontos\">:</span>' + '<div class=\"tempo\"> ' + '<span class=\"tempo-texto\">%S</span> ' + '</div>')); } }); </script> </div> <a href='#openModal1' class='linkpopup' onClick=''> <div class='bt-ver' onclick='document.getElementById('pop').style.display='block';'> <span class='texto-bt'>VER MAIS</span> </div> </a> </div> </div> </div> <!-- FIM DA COLUNA --> "); } ?> Os dados são retornados normalmente... Verificando com o velho e bom inspetor ou com o CTRL + U, o código está aparecendo normalmente, mas não está iniciando o maldito contador... Segue imagem no post... Estou enviando também a imagem de como fica no HTML... Sabem me dizer o porque de não estar iniciando o contador? Eu imagino que possa ser alguma coisa que o javascript não esteja conseguindo interpretar, mas não tenho certeza, infelizmente Fico no aguardo. Abraços.
  4. @DiF O segundo problema eu resolvi de uma forma simples também... Utilizei um IF dentro do Javascript, fazendo com isso que quando ele mudasse o status do evento, trocasse para ENCERRADO, simples e sem mudar muita coisa. <script type="text/javascript"> //Coloquei após a data e horário de término isso ", {elapse: true}", fazendo assim que ele inicie com o elpase "verdadeiro" $('.counter2').countdown('2017/06/07 11:30:00', {elapse: true}).on('update.countdown', function(event) { //Criei o IF e dei a regra para que ele mostre a frase ENCERRADO quando o elapse se tornar "False" (Falso) if (event.elapsed) { var $this = $(this).html(event.strftime('' + '<div class="encerrado">' + '<span class="tex_enc">ENCERRADO</span>' + '</div>')); //Caso o estado esteja como verdadeiro ele irá apresentar o contador. } else { var $this = $(this).html(event.strftime('' + '<div class="tempo"> ' + '<span class="tempo-texto">%-d</span> ' + '</div>' + '<span class="pontos">:</span>' + '<div class="tempo"> ' + '<span class="tempo-texto">%H</span> ' + '</div>' + '<span class="pontos">:</span>' + '<div class="tempo"> ' + '<span class="tempo-texto">%M</span> ' + '</div>' + '<span class="pontos">:</span>' + '<div class="tempo"> ' + '<span class="tempo-texto">%S</span> ' + '</div>')); } }); </script> Comentado e simples, muito obrigado pela dica do plugin @DiF, foi de grande valia para mim e ainda usarei ele muito com toda a certeza haha Abraço.
  5. @DiF O primeiro eu resolvi simples, bastou apenas eu ler melhor o código e ver que a data que ele pega não é da mesma do site, é do código que ele dá: <script type="text/javascript"> //A data vai dentro do .countdown, daí ele faz o contador certinho, resolvi desta forma $('.counter').countdown('2017/06/07 11:30:00').on('update.countdown', function(event) { var $this = $(this).html(event.strftime('' + '<span class="tempo-texto">%-d</span> Dias%!d ' + '<span class="pontos">:</span>' + '<span class="tempo-texto">%H</span> Horas ' + '<span class="pontos">:</span>' + '<span class="tempo-texto">%M</span> minutos ' + '<span class="pontos">:</span>' + '<span class="tempo-texto">%S</span> segundos')); }); </script> O segundo eu estou trabalhando nele pra ver se dá certo... Assim que eu conseguir eu posto a resposta aqui haha
  6. @DiF O problema acima eu resolvi, mas agora estou com outro hahaha Não consigo achar uma maneira de fazer com que quando o contador zerar apareça ENCERRADO Tentei fazer cálculos com o PHP, mas ele incia contando do negativo, então não tenho como fazer com que ele faça essa verificação e coloque a mensagem no lugar do contador... Sabes me dizer alguma forma que consigo isso?
  7. Ola @DiF Então, o problema é que eu preciso que ele não volte ao valor inicial quando a página é recarregada, ele precisa continuar até o limite, por exemplo calcula o tempo restante de hoje até até o dia 07/06/2017 às 11:30, toda vez que a página reinicia, o contador reinicia junto... Tem como me ajudar?
  8. Olá pessoal, Estou com um problema... Consegui um contador de tempo, ele consegue fazer a cronometragem direitinho, quando for em apenas um Quadro... Eu preciso de inúmeros contadores dentro da mesma página, contadores de tempo, para um site de leilão, ele basicamente vai dizer quanto tempo falta pra terminar o leilão... O código que eu tenho do contador é este: ##Este código é o que faz o refresh em uma div específica com o id auto. <script type="text/javascript" src="jquery-3.2.1.min.js"></script> <script type="text/javascript"> $(document).ready( function(){ $('#auto').load('load.php') refresh(); }); function refresh() { setTimeout( function() { $('#auto').load('load.php'); refresh(); }, 200); } </script> O código PHP que tem o contador é este: <?php #Informamos as datas e horários de início e fim no formato Y-m-d H:i:s e os convertemos para o formato timestamp date_default_timezone_set('America/Sao_Paulo'); $fhora = date('H')-4; $fminuto = date('i'); $fsegundo = date('s'); $formatado = $fhora . ":" . $fminuto . ":" . $fsegundo; $data = strtotime(date('Y-m-d ' . $formatado)); $dia_hora_atual = $data; $dia_hora_evento = strtotime(date("2017-06-03 13:13:00")); #Achamos a diferença entre as datas... $diferenca = $dia_hora_evento - $dia_hora_atual; #Fazemos a contagem... $dias = intval($diferenca / 86400); $marcador = $diferenca % 86400; $hora = intval($marcador / 3600); $marcador = $marcador % 3600; $minuto = intval($marcador / 60); $segundos = $marcador % 60; #Exibimos o resultado $total = $dias + $hora + $minuto + $segundos; //echo("Total: " . $total . "<br />"); if ($total > 0) { echo ("<div class='timer-label'> <div class='label-timer'> DIAS </div> <div class='label-timer'> HORAS </div> <div class='label-timer'> MINUTOS </div> <div class='label-timer'> SEGUNDOS </div> </div> <div class='tempo'> <span class='texto-tempo'>".$dias."</span> </div> <span class='pontos'>:</span> <div class='tempo'> <span class='texto-tempo'>".$hora."</span> </div> <span class='pontos'>:</span> <div class='tempo'> <span class='texto-tempo'>".$minuto."</span> </div> <span class='pontos'>:</span> <div class='tempo'> <span class='texto-tempo'>".$segundos."</span> </div>"); } else { echo("<div class='timer-label'> <div class='label-timer'> DIAS </div> <div class='label-timer'> HORAS </div> <div class='label-timer'> MINUTOS </div> <div class='label-timer'> SEGUNDOS </div> </div> <div class='tempo'> <span class='texto-tempo'>00</span> </div> <span class='pontos'>:</span> <div class='tempo'> <span class='texto-tempo'>00</span> </div> <span class='pontos'>:</span> <div class='tempo'> <span class='texto-tempo'>00</span> </div> <span class='pontos'>:</span> <div class='tempo'> <span class='texto-tempo'>00</span> </div>"); } ?> E o meu HTML que recebe este contador é este: <div class="col-md-4 col-sm-6 hero-feature"> <div class="col-md-12 col-sm-1 hero-feature"> <h4>&nbsp;</h4> <h4 class="fonte" style="font-size: 26px;"><b>Galpão Industrial, 3.735m² Barra Funda</b></h4> </div> <div class="thumbnail"> <a href="#openModal"> <div class="destaque-leilao"> <img src="./img/destaque.gif" /> </div> </a> <img src="img/barra-funda.jpg" alt="" style="width: 352px !important; height:184px !important;"> <div class="caption"> <div class="lhe"> </div> <div class="info-img"> <img src="img/info.png" width="50%" /> </div> <div class="lhd"> </div> <div class="separator"> </div> <p>&nbsp;</p> <h3>Galpão Industrial</h3> <p>Barra Funda</p> </div> <div class="caption"> <div class="lhe"> </div> <div class="marker-img"> <img src="img/map-marker.png" width="35%" /> </div> <div class="lhd"> </div> <div class="separator"> </div> <h3>&nbsp;</h3> <p>São Paulo</p> </div> <div class="caption"> <div class="lhe"> </div> <div class="marker-img"> <img src="img/hammer.png" width="35%" /> </div> <div class="lhd"> </div> <div class="separator"> </div> <h3>&nbsp;</h3> <div class="vendas"> <table align="center"> <tr> <td><img src="./img/olho.png" alt="Visualizações" /></td> <td>&nbsp;</td> <td> 1091 </td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td><img src="./img/court.png" alt="Lances" /></td> <td>&nbsp;</td> <td> 82 </td> </tr> </table> </div> </div> <div class="caption"> <div class="caixabg"> <p class="avaliado">Avaliado em:</p> <div class="valor-aval"> <p class="texto">R$ 12.781.209,12</p> </div> <div class="circulo"> <span class="texto-circulo"><b>50%</b></span> </div> <p class="inicial">Lance Inicial:</p> <div class="valor-lance"> <p class="texto-metade">R$ 6.390.604,56</p> </div> </div> </div> <div class="caption"> <span class="termino"><h5><b>Termina em:</b></h5></span> <div class="contador" id="auto"> <!-- CONTADOR DO SITE ESTÁ AQUI --> </div> <div class="caption"> <a href="#openModal" class="linkpopup"> <div class="bt-ver" onclick="document.getElementById('pop').style.display='block';"> <span class="texto-bt">VER MAIS</span> </div> </a> </div> </div> </div> </div> Eu tenho que repetir este bloco acima pelo menos umas 50 vezes dentro da mesma página, mas não estou conseguindo achar uma forma de cada um dos blocos tem um contador independente... Não achei solução por aí =/ Quando eu tento inserir mais de um bloco o primeiro para e o segundo dá umas travadas doidas, quando não para também... Preciso de alguma forma, até um script novo, não sei, para que eu possa colocar mais de 1 contador dentro da mesma página... Como eu disse, o contador está funcionando perfeitamente, quando colocado em apenas uma DIV... Tentei pegar pela classe, mas não deu certo também, infelizmente... Preciso de uma solução pra isso urgente e já não sei mais o que fazer haha Abraços.
  9. Coloquei como disse o seguinte código: mb_internal_encoding("UTF-8"); //mb_internal_encoding('UTF-8'); mb_http_output('UTF-8'); mb_http_input('UTF-8'); mb_language('uni'); mb_regex_encoding('UTF-8'); ob_start('mb_output_handler'); Mas continua dando o mesmo erro :/
  10. Então, acho que o meu maior problema é que eu estou iniciando nesse mundo do PHP, não sei onde colocar isso tudo que me disseram, podem me ajudar em relação a colocar isso tudo dentro deste código?
  11. @DiF Não consegui, o PDF está em UTF-8, sistema, banco, tudo, mas ele não consegue retornar os caracteres especias e nem os acentos :/
  12. Fala galera, Seguinte... Estou com um senhor problema aqui... Estou usando um script PHP para ler o conteúdo do PDF, até aí, funciona que é uma beleza, o problema é que o bendito não consegue ler os acentos e caracteres especiais... Tentei inúmeras coisas para solucionar, até que resolvi apelar para os universitários hahahaha O código que estou usando está abaixo: <? class PDF2Text { // Some settings var $multibyte = 2; // Use setUnicode(TRUE|FALSE) var $convertquotes = ENT_QUOTES; // ENT_COMPAT (double-quotes), ENT_QUOTES (Both), ENT_NOQUOTES (None) // Variables var $filename = ''; var $decodedtext = ''; function setFilename($filename) { // Reset $this->decodedtext = ''; $this->filename = $filename; } function output($echo = false) { if($echo) echo $this->decodedtext; else return $this->decodedtext; } function setUnicode($input) { // 4 for unicode. But 2 should work in most cases just fine if($input == true) $this->multibyte = 4; else $this->multibyte = 2; } function decodePDF() { // Read the data from pdf file $infile = @file_get_contents($this->filename, FILE_BINARY); if (empty($infile)) return ""; // Get all text data. $transformations = array(); $texts = array(); // Get the list of all objects. preg_match_all("#obj[\n|\r](.*)endobj[\n|\r]#ismU", $infile, $objects); $objects = @$objects[1]; // Select objects with streams. for ($i = 0; $i < count($objects); $i++) { $currentObject = $objects[$i]; // Check if an object includes data stream. if (preg_match("#stream[\n|\r](.*)endstream[\n|\r]#ismU", $currentObject, $stream)) { $stream = ltrim($stream[1]); // Check object parameters and look for text data. $options = $this->getObjectOptions($currentObject); if (!(empty($options["Length1"]) && empty($options["Type"]) && empty($options["Subtype"]))) continue; // Hack, length doesnt always seem to be correct unset($options["Length"]); // So, we have text data. Decode it. $data = $this->getDecodedStream($stream, $options); if (strlen($data)) { if (preg_match_all("#BT[\n|\r](.*)ET[\n|\r]#ismU", $data, $textContainers)) { $textContainers = @$textContainers[1]; $this->getDirtyTexts($texts, $textContainers); } else $this->getCharTransformations($transformations, $data); } } } // Analyze text blocks taking into account character transformations and return results. $this->decodedtext = $this->getTextUsingTransformations($texts, $transformations); } function decodeAsciiHex($input) { $output = ""; $isOdd = true; $isComment = false; for($i = 0, $codeHigh = -1; $i < strlen($input) && $input[$i] != '>'; $i++) { $c = $input[$i]; if($isComment) { if ($c == '\r' || $c == '\n') $isComment = false; continue; } switch($c) { case '\0': case '\t': case '\r': case '\f': case '\n': case ' ': break; case '%': $isComment = true; break; default: $code = hexdec($c); if($code === 0 && $c != '0') return ""; if($isOdd) $codeHigh = $code; else $output .= chr($codeHigh * 16 + $code); $isOdd = !$isOdd; break; } } if($input[$i] != '>') return ""; if($isOdd) $output .= chr($codeHigh * 16); return $output; } function decodeAscii85($input) { $output = ""; $isComment = false; $ords = array(); for($i = 0, $state = 0; $i < strlen($input) && $input[$i] != '~'; $i++) { $c = $input[$i]; if($isComment) { if ($c == '\r' || $c == '\n') $isComment = false; continue; } if ($c == '\0' || $c == '\t' || $c == '\r' || $c == '\f' || $c == '\n' || $c == ' ') continue; if ($c == '%') { $isComment = true; continue; } if ($c == 'z' && $state === 0) { $output .= str_repeat(chr(0), 4); continue; } if ($c < '!' || $c > 'u') return ""; $code = ord($input[$i]) & 0xff; $ords[$state++] = $code - ord('!'); if ($state == 5) { $state = 0; for ($sum = 0, $j = 0; $j < 5; $j++) $sum = $sum * 85 + $ords[$j]; for ($j = 3; $j >= 0; $j--) $output .= chr($sum >> ($j * 8)); } } if ($state === 1) return ""; elseif ($state > 1) { for ($i = 0, $sum = 0; $i < $state; $i++) $sum += ($ords[$i] + ($i == $state - 1)) * pow(85, 4 - $i); for ($i = 0; $i < $state - 1; $i++) $ouput .= chr($sum >> ((3 - $i) * 8)); } return $output; } function decodeFlate($input) { return gzuncompress($input); } function getObjectOptions($object) { $options = array(); if (preg_match("#<<(.*)>>#ismU", $object, $options)) { $options = explode("/", $options[1]); @array_shift($options); $o = array(); for ($j = 0; $j < @count($options); $j++) { $options[$j] = preg_replace("#\s+#", " ", trim($options[$j])); if (strpos($options[$j], " ") !== false) { $parts = explode(" ", $options[$j]); $o[$parts[0]] = $parts[1]; } else $o[$options[$j]] = true; } $options = $o; unset($o); } return $options; } function getDecodedStream($stream, $options) { $data = ""; if (empty($options["Filter"])) $data = $stream; else { $length = !empty($options["Length"]) ? $options["Length"] : strlen($stream); $_stream = substr($stream, 0, $length); foreach ($options as $key => $value) { if ($key == "ASCIIHexDecode") $_stream = $this->decodeAsciiHex($_stream); if ($key == "ASCII85Decode") $_stream = $this->decodeAscii85($_stream); if ($key == "FlateDecode") $_stream = $this->decodeFlate($_stream); if ($key == "Crypt") { // TO DO } } $data = $_stream; } return $data; } function getDirtyTexts(&$texts, $textContainers) { for ($j = 0; $j < count($textContainers); $j++) { if (preg_match_all("#\[(.*)\]\s*TJ[\n|\r]#ismU", $textContainers[$j], $parts)) $texts = array_merge($texts, @$parts[1]); elseif(preg_match_all("#T[d|w|m|f]\s*(\(.*\))\s*Tj[\n|\r]#ismU", $textContainers[$j], $parts)) $texts = array_merge($texts, @$parts[1]); elseif(preg_match_all("#T[d|w|m|f]\s*(\[.*\])\s*Tj[\n|\r]#ismU", $textContainers[$j], $parts)) $texts = array_merge($texts, @$parts[1]); } } function getCharTransformations(&$transformations, $stream) { preg_match_all("#([0-9]+)\s+beginbfchar(.*)endbfchar#ismU", $stream, $chars, PREG_SET_ORDER); preg_match_all("#([0-9]+)\s+beginbfrange(.*)endbfrange#ismU", $stream, $ranges, PREG_SET_ORDER); for ($j = 0; $j < count($chars); $j++) { $count = $chars[$j][1]; $current = explode("\n", trim($chars[$j][2])); for ($k = 0; $k < $count && $k < count($current); $k++) { if (preg_match("#<([0-9a-f]{2,4})>\s+<([0-9a-f]{4,512})>#is", trim($current[$k]), $map)) $transformations[str_pad($map[1], 4, "0")] = $map[2]; } } for ($j = 0; $j < count($ranges); $j++) { $count = $ranges[$j][1]; $current = explode("\n", trim($ranges[$j][2])); for ($k = 0; $k < $count && $k < count($current); $k++) { if (preg_match("#<([0-9a-f]{4})>\s+<([0-9a-f]{4})>\s+<([0-9a-f]{4})>#is", trim($current[$k]), $map)) { $from = hexdec($map[1]); $to = hexdec($map[2]); $_from = hexdec($map[3]); for ($m = $from, $n = 0; $m <= $to; $m++, $n++) $transformations[sprintf("%04X", $m)] = sprintf("%04X", $_from + $n); } elseif (preg_match("#<([0-9a-f]{4})>\s+<([0-9a-f]{4})>\s+\[(.*)\]#ismU", trim($current[$k]), $map)) { $from = hexdec($map[1]); $to = hexdec($map[2]); $parts = preg_split("#\s+#", trim($map[3])); for ($m = $from, $n = 0; $m <= $to && $n < count($parts); $m++, $n++) $transformations[sprintf("%04X", $m)] = sprintf("%04X", hexdec($parts[$n])); } } } } function getTextUsingTransformations($texts, $transformations) { $document = ""; for ($i = 0; $i < count($texts); $i++) { $isHex = false; $isPlain = false; $hex = ""; $plain = ""; for ($j = 0; $j < strlen($texts[$i]); $j++) { $c = $texts[$i][$j]; switch($c) { case "<": $hex = ""; $isHex = true; break; case ">": $hexs = str_split($hex, $this->multibyte); // 2 or 4 (UTF8 or ISO) for ($k = 0; $k < count($hexs); $k++) { $chex = str_pad($hexs[$k], 4, "0"); // Add tailing zero if (isset($transformations[$chex])) $chex = $transformations[$chex]; $document .= html_entity_decode("&#x".$chex.";"); } $isHex = false; break; case "(": $plain = ""; $isPlain = true; break; case ")": $document .= $plain; $isPlain = false; break; case "\\": $c2 = $texts[$i][$j + 1]; if (in_array($c2, array("\\", "(", ")"))) $plain .= $c2; elseif ($c2 == "n") $plain .= '\n'; elseif ($c2 == "r") $plain .= '\r'; elseif ($c2 == "t") $plain .= '\t'; elseif ($c2 == "b") $plain .= '\b'; elseif ($c2 == "f") $plain .= '\f'; elseif ($c2 >= '0' && $c2 <= '9') { $oct = preg_replace("#[^0-9]#", "", substr($texts[$i], $j + 1, 3)); $j += strlen($oct) - 1; $plain .= html_entity_decode("&#".octdec($oct).";", $this->convertquotes); } $j++; break; default: if ($isHex) $hex .= $c; if ($isPlain) $plain .= $c; break; } } $document .= "\n"; } return $document; } } ?> Para chamar ele estou usando o código abaixo: <? include('class.pdf2text.php'); $arquivo = "./upload/Pagina 1-1.pdf"; $a = new PDF2Text(); $a->setFilename($arquivo); $a->decodePDF(); echo $a->output(); ?> Até aí, maravilha, tudo que não tenha caractere especial ou acento, vai que vai... Meu problema começa quando ele encontra uma palavra acentuada... Do tipo Coração... O meu quase para, porque ele escreve Cora��o... Tipo assim: Tem como alguém me dar uma ajuda em relação a isso? Preciso apenas que ele leia e retorne os valores acentuados normalmente... Tentei usar uma função para trocar tudo que estivesse acentuado, mas não funcionou...
  13. @JonathanMMachado Obrigado pela dica da endentação, não conhecia ela com MySQL, apenas PHP. Bom, eu não consegui entender direito pra falar a verdade haha Eu tenho que apresentar este resultado: Processo: XXXXXXX - Table processos Cliente: Fulano de tal - Table processos CPF/CNPJ: XXXXXXX - Table processos Advogado: Ciclano - Este campo está recebendo um valor numérico que corresponde ao ID do advogado que está cadastrado na tabela advogados, por exemplo, 1235, preciso que este número seja não visto como número, mas como o nome do advogado, ex.: id: 1235 - Advogado: Jakson Fischer Preciso que ao invés do 1235 apareça o nome Jakson Fischer e com ele os dados seguintes Telefone: (xx) xxxx-xxxx - Table advogados Rua: XXXX - Table advogados Número: XXX - Table advogados Comp: XXX - Table advogados Bairo: XXXXXXX - Table advogados CEP: XXXXX-XXX - Table advogados Cidade: XXXXX - Table advogados Estado: ZZ - Table advogados Email: [email protected] - Table advogados Conseguiu entender? P.S.: o alias eu não havia entendido também antes de tu me explicar, muito obrigado
  14. Estou com uma dúvida em relacinamento entro tabelas... Preciso mesclar os valores de duas tabelas, preciso que a tabela advogados seja chamada pelo id_adv da tabela processos, porém, não estou conseguindo... Podem me ajudar? ----------------- |Table Processos| ----------------- ------------------------------------ |id_proc|proces|cliente|info|id_adv| ------------------------------------ ---- ----------------- |Table advogados| ----------------- --------------------------------------------------------------------- |id|advogado|telefone|rua|numero|comp|bairro|cep|cidade|estado|email| --------------------------------------------------------------------- Processo: Contém os números de processo, o cliente do advogado (correspondente ao processo), CPF ou CNPJ (info) e o id do advogado cadastrado na tabela Advogados Advogados: Contém todos os advogados cadastrados no sistema, todos eles com um número identificador. Preciso fazer uma consulta e apresentar todos os processos cadastrados no sistema, porém não estou conseguindo usar o INNER JOIN direito... Estou usando assim: $query = "SELECT `id`.*, `advogado`. `telefone,`. `rua`. `numero`. `comp`. `bairro`. `cep`. `cidade`. `estado`. `email` FROM `processos` INNER JOIN `advogados` ON `id_proc`. `proces`. `cliente`. `info`. `id_adv` = `advogados`.`id` ORDER BY ASC"; Eu preciso mostrar desde o primeiro processo cadastrado, com o ID 1, até o último, porém não estou conseguindo chamar o processo e relacionar com as informações do advogado cadastrado... Preciso mais ou menos disto aqui: Processo: XXXXXXX Cliente: Fulano de tal CPF/CNPJ: XXXXXXX Advogado: Ciclano Telefone: (xx) xxxx-xxxx Rua: XXXX Número: XXX Comp: XXX Bairo: XXXXXXX CEP: XXXXX-XXX Cidade: XXXXX Estado: ZZ Email: [email protected] Lembrando que de alguma forma eu tenho que chamar as informações do advogado e mesclar com o resto através do id_adv da tabela processos Alguém pode me ajudar com isso? Estou desesperado, não estou conseguindo fazer isto a uns 3 dias, já li inúmeros tutoriais, mas nenhum deu certo para o que eu preciso... Pensei em fazer com um while normal e depois unir simplesmente, mas desta forma fica mais fácil de se trabalhar, pelo que vi... Obrigado desde Já. Jakson Fischer

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...