Ir para conteúdo

Gabriel Heming

Moderadores
  • Total de itens

    3986
  • Registro em

  • Última visita

  • Dias vencidos

    90

Gabriel Heming venceu o dia em Julho 2

Teve o conteúdo mais curtido

Reputação

766 Incrível

Sobre Gabriel Heming

  • Classificação
    Especialista em Desenvolvimento de Software
  • Data de Nascimento 05/05/1989

Informações Pessoais

  • Sexo
    Masculino
  • Interesses
    PHP, C#/.NET, Microsoft Dynamics AX, JavaScript, Java, OOP, Padrões de Arquiteturas e de Projeto, Engenharia de Software.

Últimos Visitantes

45322 visualizações
  1. Gabriel Heming

    Atualizar arquivo por hora

    Use o agendador de tarefas do windows. Pode configurar frequência e periodicidade.
  2. Gabriel Heming

    [Resolvido] Jogos - todos contra todos - o placar (rand) está dando repetido

    Adicione as variáveis logo acima de onde você está imprimindo elas: $placar1 = rand(0,5); $placar2 = rand(0,5); echo $jogo." $placar1 x $placar2 ".$adversario."<br />"; Como as variáveis estão fora do loop, elas sempre serão as mesmas.
  3. Gabriel Heming

    Problemas com Collate e Character SET (PHP e MySQL)

    Como você está fazendo a conexão com o banco de dados?
  4. Gabriel Heming

    Pegar valor da URL

    Apenas como complemento, também pode ser usada a função parse_url. Agora outro ponto, o Fragment Identifier (#) não é enviado ao servidor, pois, ele é de uso exclusivo do browser (navegador). Se você já possui a URL completa no PHP, basta utilizá-la, entretanto, se você quer a URL que é utilizada pelo browser, utilizando somente PHP, você não será capaz de obter este trecho da URL. O que normalmente acontece é um pre-processamento da URL e a chamada sendo realizada via JavaScript. É possível recuperar o valor do fragment utilizando o seguinte código: window.location.hash Basicamente, deve-se recuperar o fragment identifier e adicioná-lo como query string em uma requisição GET ou adcioná-lo ao request body de uma requisição POST. Para uma explicação mais completa, pode verificar a resposta abaixo: https://pt.stackoverflow.com/a/298760/5007
  5. Gabriel Heming

    Verificar se número já existe

    Adicione, diretamente no banco de dados, uma unique constraint para os campos que você deseja que sejam único. https://forum.imasters.com.br/topic/564945-duplicação-no-banco-de-dados-mysql/?do=findComment&amp;comment=2250417
  6. Gabriel Heming

    Módulo de PCP

    Somente para contextualizar, você possui um período de trabalho e cada produto possui um período de tempo em que pode ser produzido. E você precisa calcular, baseado no expediente de trabalho, quanto tempo demorará (a quantidade de dias exatos) para produzir a quantidade total do pedido. Dessa forma, você pode dividir a quantidade de produtos entre ordens de produção por dia. É isso? Há alguns anos, eu desenvolvi a classe abaixo para cálculo de horas, em um cenário bem específico de SLA. https://forum.imasters.com.br/topic/578849-módulo-de-pcp/?do=findComment&amp;comment=2268709 Faz tempo que eu não modifico ela, mas posso implementar o cálculo de período necessário para a produção. A não ser que você desejas implementa-lá e fazer uma contribuição no repositório. Caso for utilizar, pegue a versão atualizada e com testes: https://bitbucket.org/harbingerproject/date-time/src/master/ Ou do próprio packgist: https://packagist.org/packages/harbinger/date-time Sempre quis dar continuidade a essas bibliotecas, só me faltam tempo/ideias.
  7. Gabriel Heming

    Como exibir o valor de uma classe

    Está na documentação do WooCommerce: https://docs.woocommerce.com/wp-content/images/wc-apidocs/class-WC_Order.html echo $object->get_shipping_first_name().' '.$object->get_shipping_last_name();
  8. Gabriel Heming

    Download automático

    Além disso, acredito que o nome do arquivo esteja errado: $aquivoNome = 'ebook.pdf'; $arquivoLocal = '/PDFs/ebook.pdf'.$aquivoNome; Esse código está gerando o seguinte caminho/arquivo: /PDFs/ebook.pdfebook.pdf
  9. Gabriel Heming

    Redirecionamento com Apache

    Remova o redirecionamento ([R=302]) e utilize como reescrita. Redirecionamentos não enviam novamente os headers. Caso não funcionar, utilize mod_proxy. ProxyRequests Off ProxyPreserveHost On SSLProxyEngine On ProxyPass "/" "https://site2.com/" Keepalive=On ProxyPassReverse "/" "https://site2.com/"
  10. Gabriel Heming

    [Resolvido] gethostbyaddr() não retorna o nome do host

    Não há muito o que você possa fazer mesmo. REMOTE_ADDR não é confiável. O melhor que você pode fazer é validar se existe algum possível proxy e buscar a informação de HTTP_X_FORWARDED_FOR: $ipAddress = $_SERVER['REMOTE_ADDR']; if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) { $ipAddress = array_pop(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])); } Entretanto, os resultados podem não ser melhores.
  11. Gabriel Heming

    Procuro Recomendação para fazer uma ferramenta

    Veja se alguma dessas bibliotecas não pode lhe ajudar: https://github.com/waynegm/imgNotes https://timseverien.com/taggd/v3/ https://www.jqueryscript.net/zoom/jQuery-Plugin-For-Adding-Notes-Markers-To-An-Image-imgNotes.html Movido: PHP -> JavaScript
  12. Gabriel Heming

    Trabalhando com tempo

    Que tipo de processo estamos falando? Veja se isso pode lhe ajudar: Eu acabei atualizando um pouco, mas, faz basicamente o que foi proposto no tópico: https://bitbucket.org/harbingerproject/date-time/src/master/
  13. Gabriel Heming

    Dúvida na melhor forma de proceder

    Não faz sentido não ter resolvido conforme os dois exemplos. São exemplos funcionais e fazem o que foi solicitado.
  14. Gabriel Heming

    Junção de arrays

    Devido a estrutura que você possui, não vejo outra alternativa a não ser percorrer todo o array. Entretanto, funções nativas tendem a ser mais rápidas, pois, elas são escritas em C executam sem necessidade de interpretação. Existem funções para percorrer o array e executar uma função interna, que podem executar mais rapidamente que o seu código. Entretanto, foreach é uma estrutura de controle extretamente rápida. Logo, o seu código pode ser o mais rápido nesse momento. O que você pode fazer é utilizar as seguintes funções e verificar qual lhe trará uma performance maior: array_walk; array_walk_recursive; array_map; array_merge; array_merge_recursive; array_filter. Por exemplo, array_replace_recusrive, resolve o seu exemplo. Mas, ele não validará os valores (o id_loja e/ou id_subloja). Ele apenas juntará os arrays conforme os índices. Veja aqui: https://3v4l.org/EHDj1
  15. Gabriel Heming

    COMO MOSTRAR NOTIFICAÇÃO COM BASE NA DATA E HORA

    Para resolver a questão, envolve algumas áreas. Basicamente: Executar/Localizar a notificação na hora em que ela deve ser exibida; Enviar a notificação para o browser; Exibir a notificação. Essa ser a ordem dos fatores, entretanto, é mais fácil entender/estudar na ordem inversa. Notificações Primeiro, como exibir a notificação: https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API/Using_the_Notifications_API Essa é aquela notificação que o browser pede autorização e exibe mesmo com o browser minimizado. É a mesma utilizada aqui pelo fórum. Conexão Browser x Servidor Após, o servidor (em consequência o PHP) não consegue enviar nada para o browser sem que este solicite, logo, você precisa manter um canal de conexão do browser com o servidor. Para isso, você pode estudar um destes assuntos abaixo: WebSocket https://pt.stackoverflow.com/questions/105422/como-o-websocket-funciona-no-php http://rafaelcouto.com.br/chat-simples-utilizando-websocket-vue-js-e-php/ http://gustavobeavis.github.io/blog/2014/09/11/web-socket-php/ Long Polling: https://forum.imasters.com.br/topic/514338-conexão-automática-com-ajax-excede-o-limite-de-conexões-do-banco/?tab=comments#comment-2040896 (código funcional) http://rberaldo.com.br/server-push-long-polling-php-ios/ https://imasters.com.br/back-end/dicas-para-melhorar-o-long-polling-com-php WebSocket de longe é o mais recomendado. Entretanto, Long Polling é muito fácil de entender e, se a sua aplicação não espera ter centenas de usuários simultâneos, ela faz o seu trabalho. Localização da notificação Devido ao fato que, a sua aplicação mantem uma conexão aberta com o servidor (seja WebSocket ou Long Polling), basta que você consulte no banco de dados e retorne quando houver uma notificação. Se você olhar o primeiro link de long polling, verá como isso funciona.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.