Ir ao conteúdo
  • Cadastre-se

lgwebforum

Membro Pleno
  • Posts

    51
  • Cadastrado em

  • Última visita

  1. Olá Amigos. Estou usando uma hospedagem compartilhada M da Hostgator. Criei um script php para compactar todas as imagens que começam com "ticker" em uma determinada pasta. Até ai tudo bem, ele faz o que eu preciso. Porém quando mando executar em uma quantidade grande de arquivos ele é encerrado antes de concluir. São 7.800 arquivos. aproximadamente. As vezes ele apresenta o erro "maximum execution time" as vezes não. * Eu consegui acessar as configurações do php.ini no cpanel e defini a opção "max_execution_time" para "0". também tentei aumentar para "600" , "2600" e nada adiantou. * Também adicionei ao inicio do script "set_time_limit(0);" também testei "600" e "2600" e nada. * Já tentei dar uma pausa de 10 segundos a cada 20 arquivos, 10 arquivos, 2 arquivos, e ainda assim ele finaliza. Agora estou fazendo um teste com 1 pausa a casa 1 arquivo. mas desta forma demora muito, pois apesar de ter alguns arquivos que podem demorar mais, a maioria é bem pequena, e tem menos de 1mb, onde o serviços executa vários por segundo. Gostaria de uma forma de evitar que este script se encerrasse. Ou caso encerrasse ele, iniciasse sozinho e continuasse de onde parou. até concluir todos os arquivos. Segue abaixo código como está agora, pausando 10 segundos a cada arquivo. <?php ini_set('memory_limit', '-1'); /*resolvendo o erro de falta de memoria*/ set_time_limit(0); $count = 0; $total = 0; $timestamp = time(); echo date('H:i:s')."<br>"; echo "timestamp: ".$timestamp."<br>"; function compressImage($source_path, $destination_path, $quality) { /* Obtendo informações da imagem */ $size = getimagesize($source_path); /* Verifica a largura da imagem, caso for maior que 800 será reduzida para 800 */ if ($size[0] > 800){ $new_width = "800"; /* Caso seja menor a largura original será mantida */ } else ($new_width = $size[0]); /* Obtendo a altura proporcional a nova largura */ $new_height = ( int )(( $new_width/$size[0] )*$size[1] ); /* Criano a imagem com cores reais e dimensões escolhidas */ $img_true_color = ImageCreateTrueColor( $new_width, $new_height ); /* Verifica o tipo de imagem para usar a função adequada */ if ($size['mime'] == 'image/jpeg') { $image = imagecreatefromjpeg($source_path); } elseif ($size['mime'] == 'image/png') { $image = imagecreatefrompng($source_path); } elseif ($size['mime'] == 'image/gif') { $image = imagecreatefromgif($source_path); } elseif ($size['mime'] == 'image/bmp') { $image = imagecreatefrombmp($source_path); } /* Criando a imagem redimensionada */ ImageCopyResampled( $img_true_color, $image, 0, 0, 0, 0, $new_width, $new_height, $size[0], $size[1] ); /* Salva a imagem em jpg definindo local+nome e qualidade */ imagejpeg($img_true_color, $destination_path, $quality); return $destination_path; /* Limpa da memoria a imagem criada temporáriamente */ ImageDestroy( $img_true_color ); } /* Definindo a pasta das imagens */ $dir_img = "xb/web/midia/"; /* Handler do diretório */ $dh = opendir($dir_img); /* loop que busca todos os arquivos que iniciam com "ticker" */ while (false !== ($filename = readdir($dh))) { /* Verificando se o arquivo inicia com "ticker" */ if (substr($filename,0,6) == "ticker") { echo "$filename - "; /* Fazendo uma pausa */ $count ++; $total ++; echo $count." ----- Total: ".$total." ----- ".time()."<br>"; /*if ($count > 1){*/ echo date('H:i:s')."<br>"; /*echo "<br><br> >>>>>>>>>>>>>>>>>>>> Pausando <<<<<<<<<<<<<<<<< <br><br>";*/ sleep(10); echo date('H:i:s')."<br>"; $count = 0; $timestamp = time(); /*}*/ /* Chama a função para cada arquivo que inicia com "ticker" */ $img = compressImage($dir_img.$filename, $dir_img.$filename, 50); } } ?> E aqui o mesmo código mais limpo, sem os contadores e prints que eu usei para acompanhar o progresso e tentar descobrir o erro: <?php ini_set('memory_limit', '-1'); /*resolvendo o erro de falta de memoria*/ set_time_limit(0); function compressImage($source_path, $destination_path, $quality) { /* Obtendo informações da imagem */ $size = getimagesize($source_path); /* Verifica a largura da imagem, caso for maior que 800 será reduzida para 800 */ if ($size[0] > 800){ $new_width = "800"; /* Caso seja menor a largura original será mantida */ } else ($new_width = $size[0]); /* Obtendo a altura proporcional a nova largura */ $new_height = ( int )(( $new_width/$size[0] )*$size[1] ); /* Criano a imagem com cores reais e dimensões escolhidas */ $img_true_color = ImageCreateTrueColor( $new_width, $new_height ); /* Verifica o tipo de imagem para usar a função adequada */ if ($size['mime'] == 'image/jpeg') { $image = imagecreatefromjpeg($source_path); } elseif ($size['mime'] == 'image/png') { $image = imagecreatefrompng($source_path); } elseif ($size['mime'] == 'image/gif') { $image = imagecreatefromgif($source_path); } elseif ($size['mime'] == 'image/bmp') { $image = imagecreatefrombmp($source_path); } /* Criando a imagem redimensionada */ ImageCopyResampled( $img_true_color, $image, 0, 0, 0, 0, $new_width, $new_height, $size[0], $size[1] ); /* Salva a imagem em jpg definindo local+nome e qualidade */ imagejpeg($img_true_color, $destination_path, $quality); return $destination_path; /* Limpa da memoria a imagem criada temporáriamente */ ImageDestroy( $img_true_color ); } /* Definindo a pasta das imagens */ $dir_img = "xb/web/midia/"; /* Handler do diretório */ $dh = opendir($dir_img); /* loop que busca todos os arquivos que iniciam com "ticker" */ while (false !== ($filename = readdir($dh))) { /* Verificando se o arquivo inicia com "ticker" */ if (substr($filename,0,6) == "ticker") { /* Fazendo uma pausa */ sleep(10); /* Chama a função para cada arquivo que inicia com "ticker" */ $img = compressImage($dir_img.$filename, $dir_img.$filename, 50); } } ?>
  2. Muito obrigado. Consegui fazer funcionar. Aparentemente alguns arquivos jpeg apresentam erro e não conseguem ser lidos como jpeg. Desta forma, a variável $imagem não era preenchida e mais adiante era apresentado o erro pela falta desta informação. Reescrevi o código que agora faz o seguinte: * Reduz proporcionalmente a largura da imagem para 800px caso seja maior. Se for menor mantém as medidas. * Verifica automaticamente se é um dos 4 tipos "jpeg, png, gif, bmp" e usa a função adequada. No caso do gif ele irá perder o movimento. * Define a nova resolução para 50% da original. * Aplica as configurações acima em todas os arquivos que iniciem com "ticker" em meu caso, estes arquivos não tem extensão portando não precisei adicionar. O arquivo compactado irá substituir o original. <?php ini_set('memory_limit', '-1'); /*resolvendo o erro de falta de memoria*/ function compressImage($source_path, $destination_path, $quality) { /* Obtendo informações da imagem */ $size = getimagesize($source_path); /* Verifica a largura da imagem, caso for maior que 800 será reduzida para 800 */ if ($size[0] > 800){ $new_width = "800"; /* Caso seja menor a largura original será mantida */ } else ($new_width = $size[0]); /* Obtendo a altura proporcional a nova largura */ $new_height = ( int )(( $new_width/$size[0] )*$size[1] ); /* Criano a imagem com cores reais e dimensões escolhidas */ $img_true_color = ImageCreateTrueColor( $new_width, $new_height ); /* Verifica o tipo de imagem para usar a função adequada */ if ($size['mime'] == 'image/jpeg') { $image = imagecreatefromjpeg($source_path); } elseif ($size['mime'] == 'image/png') { $image = imagecreatefrompng($source_path); } elseif ($size['mime'] == 'image/gif') { $image = imagecreatefromgif($source_path); } elseif ($size['mime'] == 'image/bmp') { $image = imagecreatefrombmp($source_path); } /* Criando a imagem redimensionada */ ImageCopyResampled( $img_true_color, $image, 0, 0, 0, 0, $new_width, $new_height, $size[0], $size[1] ); /* Salva a imagem em jpg definindo local+nome e qualidade */ imagejpeg($img_true_color, $destination_path, $quality); return $destination_path; /* Limpa da memoria a imagem criada temporáriamente */ ImageDestroy( $img_true_color ); } /*-------------------*/ /*------- Definindo a pasta das imagens */ $dir_img = "pasta/web/midia_test/"; /* Handler do diretório */ $dh = opendir($dir_img); /* loop que busca todos os arquivos que iniciam com "ticker" */ while (false !== ($filename = readdir($dh))) { /* Verificando se o arquivo inicia com "ticker" */ if (substr($filename,0,6) == "ticker") { echo "$filename <br>"; /* Chama a função para cada arquivo que inicia com "ticker" */ $img = compressImage($dir_img.$filename, $dir_img.$filename, 50); } } ?>
  3. Olá washalbano. Obrigado pela ajuda. Veja, na minha explicação não postado o erro por completo: Eu corrigi la em cima, ele diz que o erro estava na linha 10 Warning: imagejpeg() expects parameter 1 to be resource, null given in /home/mucur615/public_html/delaitv.com/imgcompact.php on line 10 01) Seguindo sua dica, adicionei " error_reporting(E_ALL);" no início. logo após a abertura da tag php, e apresenstou estes erros: Notice: Undefined variable: image in /home/mucur615/public_html/delaitv.com/imgcompact.php on line 11 Warning: imagejpeg() expects parameter 1 to be resource, null given in /home/mucur615/public_html/delaitv.com/imgcompact.php on line 11 02) Sobre sua segunda sugestão, eu não compreendi o que deveria fazer exatamente. se puder me ajudar fico grato.
  4. Olá a todos, Estou recebendo um erro estranho ao tentar compactar uma imagem pelo php usando a função "GD". abaixo documentação. http://php.net/manual/pt_BR/book.image.php Vejam o erro: Warning: imagejpeg() expects parameter 1 to be resource, null given in /home/mucur615/public_html/delaitv.com/imgcompact.php on line 10 Este é o código em questão: <?php ini_set('memory_limit', '-1'); /*resolvendo o erro de falta de memoria*/ function compressImage($source_path, $destination_path, $quality) { $info = getimagesize($source_path); if ($info['mime'] == 'image/jpg') { /*mudei de jpeg para jpg*/ $image = imagecreatefromjpeg($source_path); } elseif ($info['mime'] == 'image/png') { $image = imagecreatefrompng($source_path); } imagejpeg($image, $destination_path, $quality); return $destination_path; } $img = compressImage("xb/web/midia/foto.jpg", "xb/web/midia/foto2.jpg", 6); ?> Alguém tem ideia do que pode estar causando o erro?
  5. Parece que já tem lampadas LED de 12v com bocal e27, o padrão comum em casas. http://pt.aliexpress.com/wholesale?catId=0&initiative_id=SB_20160623173541&SearchText=Lampada+e27+12v
  6. O que estou dizendo no texto é que dentro de uma lampada de led de 127volts, existe um inversor para poder ligala na corrente eletrica, pois os leds funcionam em 12volts. Logo, não faz sentido pegar uma bateria de 12volts, transformar em 127 para ligar a uma lampada de 127 que vai transformar em 12 novamente, compreendeu? Então a minha dúvida é se eliminando os transformadores e ligando uma lampada de 12volts diretamente na bateria a autonomia irá ser muito melhorada ou não.
  7. Olá. Tenho uma dúvida e gostaria quem alguém com conhecimento na área me esclarecesse. Estou pensando em montar um sistema de energia solar em minha casa e estou com dúvida se é melhor usar um inversor ou ligar as lampadas diretamente em 12 volts. Imaginem que eu pego uma BATERIA de 12volts e uso um INVERSOR para transformá-la em 127volts. Neste inversor vou ligar uma LAMPADA de Led de 127volts, mas na verdade ela só precisa de 12volts para iluminar, logo dentro dela existe um inversor de 127 para 12 Se eu ligar a bateria diretamente em uma lampada de led da mesma potencia, mas de 12 volts, o consumo seria menor? ou não faz diferença? Grato.
  8. Julio, consegui resolver o erro, Esta linha não estava no início do código. mysql_select_db($database_conSisDtv, $conSisDtv); Sobre as funções MySql, estou pensando em usar PDO, eu consigo fazer tudo que fazia com MySql em PDO?
  9. Olá gente. Pesquisei muito e não achei uma solução para este problema pois não sei nem como descrevê-lo direito. Vou tentar, e fico grato a quem puder ajudar. Minha página estava apresentando o erro: "mysql_fetch_array() expects parameter 1" E a solução foi adicionar "or die(mysql_error()) " e ficou assim: $rs = mysql_fetch_array( $query ) or die(mysql_error()); Perfeito, meu problema se resolveu e o erro sumiu, \o/ Mas outro problema apareceu, Eu tenho uma condição if em meu código que ao ser falsa exibia um alerta, (Linha 142 do pastebin) else{ // Se o usuario não existir, exibe uma mensagem de erro. $erro_usuario_nao_existe = $words["nao existe cadastro com o email informado"]; echo "<script type='text/javascript'>alert('$erro_usuario_nao_existe');</script>"; } Após adicionar "or die(mysql_error()) " ao invés de exibir o alerta é exibida uma página EM BRANCO. Tentei remover o alerta e adicionar um redirecionamento para outra página, mas deu no mesmo. O único aviso que é exibido ainda é o do captcha quando não preencho ou preenho errado. else{ // Se a resposta de sucesso for FALSA exibe um alerta. $message = $words["voce precisa provar que nao e um robo"]; echo "<script type='text/javascript'>alert('$message');</script>"; } Se alguém puder me ajudar ficarei muito grato mesmo. Aqui está o link do pastebin do código completo: http://pastebin.com/jtCDXq7T
  10. Boa ideia. vou entrar em contato e passar a minha n3ssecidade. talvez me enviem uma firmware com esta configuração. obrigado.
  11. A modificação que quero fazer é esta: 01 Liga a tv 02 Verifica se existe pendrive conectado. 03 Se sim Verifica se existe arquivo de video. 04 Se sim Inicia a reprodução automaticamente com o loop ativado. Desta forma nao precisarei comprar um media player so para reproduzir os videos. usaria o proprio sistema da tv.
  12. vtrx. Lógico é muito radical cara. se me apresentar uma fonte que comprove isto eu acredito em você. Tudo é possivel c a ferramenta certa, se alguém tiver alguma informação útil estou aqui aguardando.
  13. Bcpetronzio. Não, elas nao voltam reproduzindo. no maximo voltam no player. São varias marcas diferentes e cada uma age de uma maneira diferente. Voltando a pergunta. Preciso de i formações para saber o que pesquisar, tipo: 01 como fazer download da firmware. 02 qual programa usar para modificala 03 qual linguagem ela usa 04 como fazer upload da firmware. Preciso saber algo relacionado a estas duvidas. Dispenso sugestoes sobre usar outros aparelhos conectados a tv. eu quero alterar a firmware. Obrigado pela tentativa de ajuda cara.
  14. Olá colegas, Tenho uma empresa de sinalização digital e gostaria de modificar a Firmware ( rom ) de minha tv para que ao ligá-la, ela acessasse o pendrive e iniciasse a reprodução automaticamente dos vídeos. Tenho várias marcas, CCE, AOC, SAMSUNG, PHILCO, PHILIPS, BUSTER. Alguém têm ideia de por onde devo começar a pesquisar? toda ajuda é bem vinda Obrigado desde já!
  15. Resolvido aqui: http://www.hardware.com.br/comunidade/auto-abrir/1353533/#post6980545

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...