Ir para conteúdo

POWERED BY:

Williams Duarte

Members
  • Total de itens

    3978
  • Registro em

  • Última visita

  • Dias vencidos

    47

Tudo que Williams Duarte postou

  1. Williams Duarte

    URGENTE !!! API do Facebook que puxe os grupos do perfil - Alguem sabe fazer ?

    Segue! Nestes sites você vai encontrar o que precisa, de forma Urgente!
  2. Williams Duarte

    Opinião sobre site

    Hoje o maior consumo de conteúdos, seja para iniciantes ou intermediarios, se vem atráves de videos aulas. Se criar videos para youtube, e indexando ao seu conteudo, pode vir aumentar suas visitas e de cara ainda ganhar monetização dos vídeos. Leitura de textos, você concorre até mesmo com as documentações.
  3. Williams Duarte

    fopen nao cria arquivo em C:

    Já passei o exemplo acima! Isto já corrige para servidores distintos e de forma automática. Seja linux ou Windows.
  4. Williams Duarte

    fopen nao cria arquivo em C:

    De devidas permissoẽs a pasta. https://www.php.net/manual/pt_BR/function.chmod.php chmod ("/arquivo/diretorio", 755); Correto é os arquivos, ficar um nivel acima da public, desta forma você consegue criar uma rotina de backups, que faça até mesmo de seu sistema, se colocar em diretorios muitos especificos, começa a ter problemas.
  5. Williams Duarte

    Salvar dados de uma tabela html no banco de dados mysql

    Depende! É difícil dizer qual seria a maneira mais simples com essas informações, Eu provavelmente pegaria o novo evento de linha, obtendo os dados e fazendo uma solicitação POST com ajax em uma API toda vez que uma nova linha é adicionada. Tente adicionar alguns trechos de códigos, quem sabe a comunidade, ao invés de tentar adivinhar oque está fazendo, mostre uma solução melhor, baseado no que você já fez. Porém, particularmente faria isto com vue.js, ja que é reativo.
  6. Williams Duarte

    fopen nao cria arquivo em C:

    Utilize dirname com a constante mágica __DIR__ dirname ( string $path [, int $levels = 1 ] ) : string Primeiro parametro, é o diretorio, segundo é o nivel que deseja subir. De um print no condigo e vá ajustando a sua necessidade. Depois declare em uma variavel e use na função. echo dirname(__DIR__, 4);
  7. Williams Duarte

    Apagando foto do registro e da pasta

    Aconselho a usar Imagick, bem mais simples. Exemplo para criar as thumbs <?php $image = new Imagick(); $image->thumbnailImage(200, 300); $image->readImage('image.jpg'); $image->setImageFormat('jpeg'); $image->setImageCompressionQuality(85); $image->stripImage(); $image->writeImage('nova_imagem.jpg'); ?> So mova a imagem antes para o servidor $tmp_name = $_FILES["arquivo"]["tmp_name"]; $name = $_FILES["arquivo"]["name"]; move_uploaded_file($tmp_name, "fotos/$name"); Valide o mime type da imagem "Tem inumeros exemplos na net", e senão tiver erros, faça o upload. Segue uma lógica. Obs.: Não copie e cole, entenda a lógica e adapte a sua necessidade. $directory = "fotos"; if ($_FILES["pictures"]["error"] == UPLOAD_ERR_OK) { $tmp_name = $_FILES["arquivo"]["tmp_name"]; $name = $_FILES["arquivo"]["name"]; move_uploaded_file($tmp_name, "$directory/$name"); } $image = new Imagick(); $image->thumbnailImage(200, 300); $image->readImage("$directory/$name"); $image->setImageFormat('jpeg'); $image->setImageCompressionQuality(85); $image->stripImage(); $thumbnail = "thumb_".$name; $image->writeImage("$directory/$thumbnail");
  8. Williams Duarte

    Apagando foto do registro e da pasta

    Disponha! Que bom que deu certo!
  9. Williams Duarte

    calcular distancia googleMaps

    Use querySelector document.querySelector("#distancia").value = calcDistance(p1, p2); <input type="text" id="distancia"> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=geometry"></script> <script> var p1 = new google.maps.LatLng(-20.783562, -51.747614); var p2 = new google.maps.LatLng(-20.775710, -51.685601); //calculates distance between two points in km's function calcDistance(p1, p2) { return (google.maps.geometry.spherical.computeDistanceBetween(p1, p2) / 1000).toFixed(2); } document.querySelector("#distancia").value = calcDistance(p1, p2); </script>
  10. Williams Duarte

    Apagando foto do registro e da pasta

    <?php $result = $sqli->query("SELECT foto FROM clientes WHERE id_clientes =". intval($id_clientes)); $obj = $result->fetch_object(); $path = 'fotos/'. $obj->foto; // atualiza os dados no banco $sql = $sqli->query("UPDATE clientes SET foto = '{$nome_imagem}' WHERE id_cliente =". intval($id_clientes)); // Se os dados forem inseridos com sucesso if ($sqli->error) { echo "<p>Erro ao atualizar.</p>" . $sqli->error; } else { if (file_exists($path)) { unlink($path); } // vai forçar o recarregamento da imagem nova $fotoNova = '?' . microtime(true); } A função die() interrompe o script para ver se esta trazendo o nome da foto. Mas cuidado com abrir e fechar das chaves { } e da tag <?php ?>, faça corretamente ou gerara erros.
  11. Williams Duarte

    Apagando foto do registro e da pasta

    Esqueci do FROM, corrigido! $result = $sqli->query("SELECT foto FROM clientes WHERE id_cliente =". intval($id_cliente)); $obj = $result->fetch_object(); die($obj->foto);
  12. Williams Duarte

    Apagando foto do registro e da pasta

    Você tem que selecionar o path da foto antes de efetuar o update. $result = $sqli->query("select foto clientes where id_cliente = $id_cliente"); $obj = $result->fetch_object(); $path = './fotos/'. $obj->foto; $sql = $sqli->query("update clientes set foto = '$nome_imagem' where id_cliente = $id_cliente"); .... if ($sqli->error) { echo "<p>Erro ao atualizar.</p>" . $sqli->error; } else { if (file_exists($path)) { unlink($path); } // vai forçar o recarregamento da imagem nova $fotoNova = '?' . microtime(true); }
  13. Williams Duarte

    Como criar subdomínios automáticos a partir de um formulário

    Em desenvolvimento ou em um Droplet "nuvem", você pode alterar o VirtualHost, colocando no ServerAlias, um * "coringa" como subdominio. ServerAlias example.com *.example.com <VirtualHost *:80> ServerName domain.com ServerAlias *.domain.com VirtualDocumentRoot /var/www/public </VirtualHost> http://httpd.apache.org/docs/2.4/vhosts/name-based.html Se for usar em hospedagens com CPanel ou outro, você pode criar um subdomínio * apontando para a pasta necessária (você precisará especificar o caminho no campo Raiz do documento ) outro detalhe é especificar o DNS Obs.: No ambiente de desenvolvimento, especifique os hosts no arquivo local, no linux é em /etc/hosts, no Windows C: » Windows » System32 » Drivers » etc PS.: O subdominio que você cadastrou no banco de dados, é só para encontrar o workspace daquele usuario, o restante ficará no automatico.
  14. Williams Duarte

    Problemas ao enviar anexo com PHPMailer

    Entenda o contexto do que eu disse! Nem aqui no Fórum Imasters e, nem no StackOverflow em portugues entenderia, ja que você citou o StackOverflow. Seu problema não é a biblioteca como já disse, mas sim entender Padrões de Projeto. Comece estudando Facade Vai deixar seu codigo mais limpo e esconde a complexidade $facade = new EmailFacade(); $facade->email(getPost('email')) ->attach('...') ->send(); getPost() Com a função, __call, __callStatic() você abstrai todos os metodos de um Serviço "que usa o PHPMailer", mas se parou de funcionar, atualize o biblioteca que envia o email, ou mude para outra. Exemplo com __call e __callStatic <?php class MethodTest { public function __call($name, $arguments) { // Note: value of $name is case sensitive. echo "Calling object method '$name' " . implode(', ', $arguments). "\n"; } /** As of PHP 5.3.0 */ public static function __callStatic($name, $arguments) { // Note: value of $name is case sensitive. echo "Calling static method '$name' " . implode(', ', $arguments). "\n"; } } $obj = new MethodTest; $obj->runTest('in object context'); MethodTest::runTest('in static context'); // As of PHP 5.3.0 ?> Se não forem cobertos por testes, fica dificil mesmo. Praticamente todos os metodos de uso do PHPMailer já foram cobertos por testes, sendo assim, faça uso de testes para cobrir os seus. Mais em: https://phpunit.de/ Senão entender sobre, vai sempre depender de videos aulas, como esta acima, que ao meu ver, vale como aprendizagem, mas tenha em mente que tem um alto acoplamento e baixa coesão. Tornando seu código de dificil manutenção. Para uso de dados sensiveis, um padrão ja bastante difundido e o "environment" .env Existe um pacote para isto https://github.com/vlucas/phpdotenv
  15. Williams Duarte

    Problemas ao enviar anexo com PHPMailer

    O problema acredito não ser no PhpMailer! Pois não sabemos oque este código acima faz. Se você abstraiu as funções do PHPMailer para outra layer. Só Deus e você sabe oque fez, nem aqui e nem no SoPT entenderá. Lá no Stack ja iria ser fechada ou negativada, por nao ser clara e fora do escopo do PHPMailer.
  16. Williams Duarte

    include - Exibir select correspondente

    Vocẽ pode também pode utilizar Closures, vai deixar seu código mais organizado. <?php function createSelect($name) { return function ($data) use ($name) { $html ='<select name="'. $name .'" size="3" required>'; foreach ($data as $value) { $html .='<option>' . $value . '</option>'; } $html .= '</select>'; return $html; }; } $create = createSelect('cores'); $data = $create(array("verde" , "amarelo" , "azul")); print( $data ); $create = createSelect('carros'); $data = $create(array("gol" , "fiat" , "palio")); print( $data ); Bons estudos @Biel.
  17. Williams Duarte

    Dúvida quanto onoffswitch-label

    Há quatro possibilidades de deixar ativado automaticamente. 1 - Se tem acesso ao banco, ja deixa ativado como default 2 - Verique o codigo onde recebe os dados e seta para ativo. 3 - Passe um campo no formulário do tipo hidden com o valor true 4 - Passe um campo do tipo ckeckbox/select, com o valor true Independente de qual forma passar, vai ter que descobrir como esta o nome no banco.
  18. Williams Duarte

    include - Exibir select correspondente

    Crie uma função fábrica e da um include nas paginas que necessita! Porque o que vejo é repitação de códigos e nada mais, existe outros paradigmas de programação, além do procedural, funcional é uma delas! <?php function createSelect($data, $name) { $html ='<select name="'. $name .'" size="3" required>'; foreach ($data as $key => $value) { $html .='<option>' . $value . '</option>'; } $html .= '</select>'; return $html; } $dados = array("verde" , "amarelo" , "azul" ); print(createSelect($dados, 'cores')); $dados = array("gol" , "fiat" , "palio" ); print(createSelect($dados, 'carros')) output <select name="cores" size="3" required> <option>verde</option> <option>amarelo</option> <option>azul</option> </select> <select name="carros" size="3" required> <option>gol</option> <option>fiat</option> <option>palio</option> </select> Você pode controlar inumeras coisas, passando uma queryString pela url. Ou seja nada é impossivel.
  19. Melhor ler a própria documentação para entender sobre os Linters, especificamente no Netbeans, particularmente prefiro o xDebug. E linteres, só uso Eslint para javascript, e xDebug no PhpStorm, porque além de depurar o código corrige com as melhores práticas. Não fica só apontando tipo o VsCode com o Typescript. Tempos atrás era deste jeito, aponta os erros e você tem que se virar pra descobrir os types que a comunidade já tinha criado. Não sei agora com a evolução da linguagem. Abaixo uma forma de resolver seu problema com o Netbeans. https://stackoverflow.com/questions/19767894/warning-do-not-access-superglobal-post-array-directly-on-netbeans-7-4-for-ph
  20. Se seu aplicativo precisar reagir a pedido do tipo post, use o seguinte: if(strtoupper($_SERVER['REQUEST_METHOD']) === 'POST') { // if form submitted with post method // validate request, // manage post request differently, // log or don't log request, // redirect to avoid resubmition on F5 etc }
  21. Williams Duarte

    Alerta Sonoro de Pedidos

    Melhor fazer isto com javascript, utilizando socket Aqui tem um exemplo muito bom com php
  22. Williams Duarte

    Gerar PDF de dados vindo do Mysql

    https://github.com/dompdf/dompdf
  23. Williams Duarte

    Problema com projeto PHP

    Crie um novo arquivo info.php, com as informações abaixo : info.php <?php // Mostra todas as informações, usa o padrão INFO_ALL phpinfo(); // Mostra apenas informações dos módulos. // phpinfo(8) mostra um resultado identico. phpinfo(INFO_MODULES); ?> e rode diretamente pela url http://localhost:8080/info.php Se imprimir na tela as configurações do php, versão etc, não tem erro em seu php Sobre isto aqui Você espera duas variaveis no mesmo ternario, "fat e val" isset($_GET["fat"])?$_GET["val"]:1 Correto $fat = $f = isset($_GET["fat"]) ? $_GET["fat"] : 1; O ternario testa se a var $_GET['fat'] foi iniciada, e retorna o valor, senao retorna false ou seja true === true retorna true else false. Se que testar mais de uma variavel, faça outro ternario. Coloque nos seus codigos php, para reportar erros: <?php ini_set('display_errors', true); error_reporting(E_ALL);
  24. Williams Duarte

    Login incorreto

    $query = "SELECT * FROM users WHERE user_name='$user_name' AND user_pass='$user_pass'"; $results = mysqli_query($db_sys, $query); faz um debug nesta variavel $results print_r($results); exit(); e poste aqui o que retorna!
×

Informação importante

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