Jump to content

Carcleo

Members
  • Content count

    1939
  • Joined

  • Last visited

  • Days Won

    1

Carcleo last won the day on October 13 2014

Carcleo had the most liked content!

Community Reputation

4 Comum

5 Followers

About Carcleo

  • Birthday 12/20/1970

Informações Pessoais

  • Localização
    Muriae/MG

Recent Profile Visitors

1854258 profile views
  1. Carcleo

    namespace não funciona

    Pessoal, bom dia! Não estou conseguindo importar uma classe usando composer. O intrigante é que é apenas uma e tudo, aparentemente, esta correto. Árvore do projeto site / /classes /classes/Rotas.php /mvc /mvc/controller /mvc/controller/Contato.php /mvc/view /mvc/view/contato.php /mvc/view/home.php /public /public/config.php /public/index.php /public/router.php /vendor Tenho o index que importa 2 arquivos somente, um de config e outro de router. index.php <?php require_once 'config.php'; require_once 'router.php'; config.php <?php error_reporting(E_ALL); ini_set('display_errors', true); date_default_timezone_set('America/Sao_Paulo'); require_once '../vendor/autoload.php'; router.php <?php use classes\Rotas; $rota = new Rotas; $rota->get("/", function() { require_once '../mvc/view/home.php'; }); $rota->get("/contato", "Contato@form"); Rotas.php <?php namespace classes; use mvc\controller\Contato; class Rotas { public function get (String $rota, $require = null){ if ($_SERVER['REQUEST_URI'] === $rota) { if ( is_string($require) and $require !== "" ){ $require = strtolower($require); $require = explode('@', $require); $class = ucfirst($require[0]); $metodo = $require[1]; $classe = new $class; return $classe->$metodo(); } if ( is_callable ($require) ) $require(); } } } Contato.php <?php namespace mvc\controller; class Contato { public function form () { require_once '../mvc/view/contato.php'; } } Erro: Fatal error: Uncaught Error: Class 'Contato' not found in D:\web\rotas.com\classes\Rotas.php:25 Stack trace: #0 D:\web\rotas.com\public\router.php(11): classes\Rotas->get() #1 D:\web\rotas.com\public\index.php(4): require_once('D:\\web\\rotas.co...') #2 {main} thrown in D:\web\rotas.com\classes\Rotas.php on line 25 Não acho essa falha Detalhe: a Classe Routas.php está sendo carregada normalmente, o que me garante que o autoload está funcionando também!.
  2. Carcleo

    TOKEN JWT e atenticação em diversos níveis

    Amigo, obrigado pelas respostas mas acho que o que eu quero não é nem mesmo viável! O que eu pensei seria o seguinte: A API precisa de um administrador para popular os dados. Mas o /admin não deve ficar em /api/admin. Esse deve ser o meu primeiro erro de pensamento. me corrija se estiver errado! Pois no caso, até o Administrador deverá usar endepoints. Outro problema seria que, se eu envolvesse /admin, teria a seguinte árvore de diretórios /admin /api Fazendo assim de /admin outra API que irá ter o mesmo sistema de autenticação salvo se eu colocar outro JWT nesta API /admin. Isso porque o usuário da API é um cliente com credenciais de cliente e o usuário de /admim terá credenciais de administrador. Imagino que se eu mantiver o mesmo JWT para ambos ambientes terei problemas com autorizações e o cliente comum acabará acessando o /admn se tentar. Nesse caso, terei que fazer: /admin => ambiente de administração da API. Se enpoints de Webservice. /api => ambiente da própria API acesso somente com endpoinds impedindo acesso direto ao MySQL Me corrija se eu estiver errado? Tipo, até que ponto é mesmo necessário usar a SESSION para autenticação de usuário e JWT TOKEN para validação ao mesmo tempo! Isso não está claro para mim!
  3. Pessoal, sobre o JWT Json Web Token, tenho algumas dúvidas. Atualmente faço uso de $_SESSION no PHP para autenticar e validar usuários e seus acessos à API e, logins no site/admin, dentre outras coisas. Mas, estudando aqui sobre API's, percebi a grande utilização do JWT em conjunto com a autenticação. 1 => No form de login o usuário de identifica 2 => Se as credenciais existirem o usuário ganha o retorno OK e cria uma $_SESSION com as credenciais. Mas isso é quando Ambiente Admin e API estão no mesmo domínio. Quando estão em domínios diferentes está sendo usado o JWT. Mas, aí vem a dúvida: É confiável para níveis de acesso e autenticação? Andei pensando em umas coisas: A) Enviar no Token o nível de acesso do usuário. Se é administrador, API, etc... Mas isso pode ser mudado pelo man-in-the-middle. B) Então pensei em enviar via SECRET. Também não dá pois o segredo deve ser 1 para todo e qualquer acesso ficando impossível a verificação do TOKEN pela API C) Pensei enviar via cabeçalho (header). Mas no caso, é a API quem gera o Token. Logo, não dá! Será que não existe saída? Terei mesmo que usar $_SESSION para nível de acesso e JWT para validação da requisição? Será que estou tendo uma visão errada do cenário? Alguém pode me ajudar a enxergar isso? Meu sistema de diretórios é: site/admin //administrador da API site/api // A própria API
  4. Consegui. Segue para alguém que queira usar! Mudanças apenas no jQuery e Css CSS #detalhes { background-image: url("img/1.jpg") !important; height: 300px; } #contato { background-image: url("img/2.jpg") !important; height: 400px; } HTML: <script type="text/javascript" src="jquery.js"></script> <div id="detalhes" class="prlx"></div> <div id="contato" class="prlx"></div> JQUERY $('.prlx').each(function() { var obj = $(this); obj.css('background-position', '50% 0'); obj.css('background-attachment', 'fixed'); $(window).scroll(function() { var offset = obj.offset(); var yPos = -($(window).scrollTop() - offset.top) / 10; var bgpos = obj.css('background-position-x') + ' ' + yPos + 'px'; obj.css('background-position', bgpos); }); });
  5. Pessoal, bom dia! Tenho o código abaixo que faz um efeito de parallax e está funcionando normalmente CSS #top { background: url("img/1.jpg"); height: 300px; } #mid { background: url("img/2.jpg"); height: 400px; } #bot { background: url("img/3.jpg"); height: 500px; } HTML <script type="text/javascript" src="jquery.js"></script> <body> <div id="top" class="prlx"></div> <div id="mid" class="prlx"></div> <div id="bot" class="prlx"></div> </body> JQUERY $('.prlx').each(function() { var obj = $(this); obj.css('background-position', 0); obj.css('background-attachment', 'fixed'); $(window).scroll(function() { var offset = obj.offset(); var yPos = -($(window).scrollTop() - offset.top) / 10; var bgpos = '50% ' + yPos + 'px'; obj.css('background-position', bgpos); }); }); Fui aplicar no meu site https://acweb.net.br/ e o efeito parallax não funcionou embora no inspector dá para ver os cálculos sendo feitos e adicionado às sections Alguém me ajuda a descobrir onde errei? Já estou faz um tempão e não acho! As sections afetadas são as que começam com os textos Fazemos todo o trabalho por você e contato,
  6. Estou fazendo um slide, Nele, tenho 2 problemas que não encontro solução e peço a ajuda de vocês! Problemas que existem agora: A) Quando o slide começa, no arranque, está sem o efeito. Mas só o arranque mesmo, depois tudo sai corretamente e o feito funciona tanto na ida quanto na volta. B) Perceba que eu crio uma UL clone, e, em algumas rodadas a primeira LI dela está sobrepondo um pouco sobre a ultima LI da UL anterior em uma volta. Já em outra volta vai normal e numa outra volta acaba dando um espaço maior entre as LIs. Acho que erro de arredondamento ou de conta! Pode notar no inicio do JS o trecho $(".itens").css('transition','all 1s ease'); Que tecnicamente deveria adicionar o efeito antes mesmo do loop começar. Sendo assim, não consigo ver motivo do arranque não ter o efeito Coloquei no codepen.io para vocês verem os problemas acontecendo!: https://codepen.io/carcleo/pen/RwPGeMN CSS: * { border:0; padding: 0; margin: 0; outline: 0; box-sizing: border-box; } body { display:flex; width: 1040px; margin: 0 auto; justify-content: center; } .slider > * { border:0; padding: 0; margin: 0; outline: 0; box-sizing: border-box; } .slider { position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; height: 130px; border: 0; } .slider > #holder { position: relative; display: flex; overflow: hidden; } .slider > #holder > #uls { position: relative; display: flex; } .slider > #holder > #uls > ul { position: relative; display: flex; } .slider > #holder > #uls > ul > li { position: relative; display: flex; align-items: center; justify-content: center; width: 200px; height: 100px; } .slider > #holder > #uls > ul > li > a { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; } .slider > #holder > #uls > ul > li > a > img { height: 100%; } .slider > #title { position: absolute; align-items: center; justify-content: center; display: none; width: 100px; height: 30px; top: 50px; right: calc(50% - 25px); background: #999; border: 1px solid #ccc; } .slider > #controles { display: flex; align-items: center; justify-content: center; width: 100%; height: 30px; } .slider > #controles > button { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; cursor: pointer; margin: auto 5px; border-radius: 50%; opacity: .2; } .slider > #controles > button:hover { opacity: 1; border: 1x solid #ccc; } HTML: <div class="slider"> <div id="holder"> <div id="uls"> <ul class="itens"> <li><a href=''><img src='img/sites/ctemcasb.png'></a></li> <li><a href=''><img src='img/sites/fielcard.png'></a></li> <li><a href=''><img src='img/sites/funerariasaopedro.png'></a></li> <li><a href=''><img src='img/sites/gasmuriae.png'></a></li> <li><a href=''><img src='img/sites/hotplateprensas.png'></a></li> <li><a href=''><img src='img/sites/mariasvaidosas.png'></a></li> </ul> </div> </div> <span id="title">Pausado</span> <div id="controles"> <button id="back"> < </button> <button id="next"> > </button> </div> </div> <script type="text/javascript" src="scripts/js/jquery.js"></script> JAVASCRIPT $(document).ready( function() { //cria as variáveis NÃO modificáveis; var container = $("div.slider"), holder = $(container).find("div#holder"), uls = $(holder).find("div#uls"), ul = $(uls).find("ul"), lis = $(ul).find("li"), tamanhoLi = Math.round ( $(lis).first().width() ), numeroLis = Math.round ( $(lis).length ), tamanhoUl = Math.round ( tamanhoLi * numeroLis ), controles = $(container).find("div#controles"), span = $(container).find("span#title"), btnVoltar = $(controles).find("button#back"), btnAvancar = $(controles).find("button#next"); //cria as variáveis modificáveis; var numeroSlidesMostra = 4, tempoIntervalo = 2000; //determina a largura da div que abrigará as UL's. $(holder).width(numeroSlidesMostra * tamanhoLi); //determina a largura das ULs partindo do produto entre a largura de cada LI e a quantidade de LI's $(ul).width(tamanhoUl); //acresenta efeito de transição na UL $(".itens").css('transition','all 1s ease'); //fazendo um clone no final da da div de ULs $(ul).clone().appendTo(uls); //função avançar function avancar () { $(".itens").each (function() { console.log ( Math.round ( $(this).position().left ) ); if ( Math.round ( $(this).position().left ) <= -Math.round ( $(ul).width() ) ) $(this).css({ "transition" : "none", "left" : "+=" + ( ( 2 * tamanhoUl ) - tamanhoLi ) }) ; else $(this).css({ "transition" : "all 1s ease", "left" : "-=" + tamanhoLi }) ; }); } //função voltar function voltar () { $(".itens").each (function() { console.log ( Math.round ( $(this).position().left ) ); if ( Math.round ( $(this).position().left ) >= Math.round ( $(holder).width() ) ) $(this).css({ "transition" : "none", "left" : "-=" + ( ( 2 * tamanhoUl ) - tamanhoLi ) }) ; else $(this).css({ "transition" : "all 1s ease", "left" : "+=" + tamanhoLi }) ; }); } //código do onClick no botão avancar btnAvancar.click ( function (e) { clearInterval(loop); avancar(); loop = setInterval( avancar, tempoIntervalo); }); //código do onClick no botão voltar btnVoltar.click ( function (e) { clearInterval(loop); voltar(); loop = setInterval( avancar, tempoIntervalo); }); //dispara o loop na função avançar var loop = setInterval( avancar, tempoIntervalo ); //para e reinicia o loop ao passar/retirar o mouse sobre o slide holder.mouseover(function(){ clearInterval(loop); //mostra a mensagem span.css("display", "flex"); }).mouseout(function(){ loop = setInterval( avancar, tempoIntervalo ); //esconde a mensagem span.css("display", "none"); }); })
  7. Carcleo

    Efeito em insertAfter

    Tenho um botão, que pega a primeira li da ul e joga ela para a ultima posição ininterruptamente e assim eu faço um efeito de slideshow. HTML: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="slider"> <ul> <li> Slide 1 </li> <li> Slide 2 </li> <li> Slide 3 </li> <li> Slide 4 </li> </ul> <button id="back"> BACK </button> <button id="next"> NEXT </button> </div> CSS: * { margin: 0; padding: 0; } body { display: flex; width: 1000px; margin: 0 auto; } .slider { position: relative; display: flex; flex-direction: column; width: 1000px; height: 200px; overflow: hidden; border: 1px solid #000; } .slider > ul { display: flex; flex-wrap: wrap; width: 5000px; } .slider > ul > li { display: flex; justify-content: center; width: 500px; height: 150px; margin: 10px; } .slider > ul > li:hover { cursor: crosshair; } .slider > button { position: absolute; display: flex; justify-content: center; top: calc(45% - 15px); width: 30px; height: 30px; opacity: 0.2; } .slider > button:hover { opacity: 1; cursor: pointer; } .slider > button#back { left: 10px; } .slider > button#next { right: 10px; } .animacao { animation-duration: 4s; animation-name: identifier; } @keyframes identifier { 0% { right: 0; } 50% { right: 50%;} 75% { right: 75%; } 100% { right: 100%; } } JQUERY: function intervalo () { $(".slider > #next").click (); } var interval = setInterval(intervalo,4000); $(".slider > ul > li") .mouseover(function(){ clearInterval(interval); }) .mouseout(function(){ interval = setInterval(intervalo,4000); }) .addClass("animacao"); $(".slider > #back").click ( function(){ var liMover = $('.slider ul li:last-of-type'); // copia o conteudo da última $(liMover).insertBefore('.slider ul li:first-of-type'); // insere antes da primeira }); $(".slider > #next").click ( function(){ var liMover = $('.slider ul li:first-of-type'); // copia o conteudo da primeira $(liMover).insertAfter('.slider ul li:last-of-type'); // insere depois da última }); Tudo funciona bem. Mas estou tentando adicionar um efeito de transição tipo quando as lis mudarem de posição, elas correrem da direita para a esquerda em vez de aparecerem abruptamente. Será que tem como?
  8. Estou tentando criar um slideshow mas personalizado sem depender de biblioteca de terceiros (salvo, jQuery); O objetivo é: A) O slide rodar interminavelmente. B) Ao passar o mouse no slide, ele deve parar; C) Ao deixar o slide, ele deve continuar rodando de onde parou! D) AQUI ESTÁ O PROBLEMA => Ao passar o mouse novamente o interval deve parar. Mas não está parando, function intervalo () { $(".slider > #next").click (); } interval = setInterval(intervalo,4000); $(".slider > ul > li").mouseover(function(){ clearInterval(interval); }).mouseout(function(){ interval = setInterval(intervalo,4000); }); $(".slider > #back").click ( function(){ var liMover = $('.slider ul li:last-of-type'); // copia o conteudo da última $('slider ul li:last-of-type').remove(); // remove a última $(liMover).insertBefore('.slider ul li:first-of-type'); // insere antes da primeira }); $(".slider > #next").click ( function(){ var liMover = $('.slider ul li:first-of-type'); // copia o conteudo da primeira $('.slider ul li:first-of-type').remove(); // remove a primeira $(liMover).insertAfter('.slider ul li:last-of-type'); // insere depois da última }); * { margin: 0; padding: 0; } body { display: flex; width: 1000px; margin: 0 auto; } .slider { position: relative; display: flex; flex-direction: column; width: 1000px; height: 150px; overflow: hidden; border: 1px solid #000; } .slider > ul { display: flex; flex-wrap: wrap; width: 5000px; } .slider > ul > li { display: flex; width: 500px; height: 150px; } .slider > button { position: absolute; display: flex; justify-content: center; top: calc(45% - 15px); width: 30px; height: 30px; opacity: .2 } .slider > button:hover { opacity: 1; cursor: pointer; } .slider > button#back { left: 10px; } .slider > button#next { right: 10px; } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="slider"> <ul> <li> Slide 1 </li> <li> Slide 2 </li> <li> Slide 3 </li> <li> Slide 4 </li> </ul> <button id="back"> BACK </button> <button id="next"> NEXT </button> </div> O que estará errado!?
  9. Carcleo

    vhosts com SSL no Apache Haus

    Fiz o download do Apache Haus 64 bits nesse link: https://www.apachehaus.com/cgi-bin/download.plx#APACHE24VC15 No httpd.conf alterei o diretório do htdocs para o disco C: Habilitei a diretiva LoadModule vhost_alias_module modules/mod_vhost_alias.so para usar Virtuais Hosts Habilitei a diretiva Include conf/extra/httpd-vhosts.conf também para usar Virtuais Hosts No extras/httpd-ahssl.conf, configurei os VirtuaisHosts no final do arquivo da seguinte forma: <VirtualHost _default_:443> SSLEngine on ServerName localhost:443 SSLCertificateFile "D:/Trabalhos/host/htdocs/fielcard.net.br/ssl/server.crt" SSLCertificateKeyFile "D:/Trabalhos/host/htdocs/fielcard.net.br/ssl/server.key" DocumentRoot "D:/Trabalhos/host/htdocs/fielcard.net.br" # DocumentRoot "${SRVROOT}/htdocs" # DocumentRoot access handled globally in httpd.conf CustomLog "${SRVROOT}/logs/ssl_request.log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" <Directory "${SRVROOT}/htdocs"> Options Indexes Includes FollowSymLinks AllowOverride AuthConfig Limit FileInfo Require all granted </Directory> </virtualhost> <VirtualHost *:443> SSLEngine on ServerName serverone.tld:443 SSLCertificateFile "D:/Trabalhos/host/htdocs/fielcard.net.br/ssl/serverone.crt" SSLCertificateKeyFile "D:/Trabalhos/host/htdocs/fielcard.net.br/ssl/serverone.key" DocumentRoot "D:/Trabalhos/host/htdocs/fielcard.net.br" CustomLog "${SRVROOT}/logs/ssl_request.log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" <Directory "${SRVROOT}/htdocs"> Options Indexes Includes FollowSymLinks AllowOverride AuthConfig Limit FileInfo Require all granted </Directory> </virtualhost> <VirtualHost *:443> SSLEngine on ServerName servertwo.tld:443 SSLCertificateFile "D:/Trabalhos/host/htdocs/fielcard.net.br/ssl/servertwo.crt" SSLCertificateKeyFile "D:/Trabalhos/host/htdocs/fielcard.net.br/ssl/servertwo.key" DocumentRoot "D:/Trabalhos/host/htdocs/fielcard.net.br" CustomLog "${SRVROOT}/logs/ssl_request.log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" <Directory "${SRVROOT}/htdocs"> Options Indexes Includes FollowSymLinks AllowOverride AuthConfig Limit FileInfo Require all granted </Directory> </virtualhost> <VirtualHost _default_:443> SSLEngine on ServerName localhost:443 SSLCertificateFile "D:/Trabalhos/host/htdocs/mvc_crud_pdo/ssl/server.crt" SSLCertificateKeyFile "D:/Trabalhos/host/htdocs/mvc_crud_pdo/ssl/server.key" DocumentRoot "D:/Trabalhos/host/htdocs/mvc_crud_pdo" CustomLog "${SRVROOT}/logs/ssl_request.log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" <Directory "${SRVROOT}/htdocs"> Options Indexes Includes FollowSymLinks AllowOverride AuthConfig Limit FileInfo Require all granted </Directory> </virtualhost> <VirtualHost *:443> SSLEngine on ServerName serverone.tld:443 SSLCertificateFile "D:/Trabalhos/host/htdocs/mvc_crud_pdo/ssl/serverone.crt" SSLCertificateKeyFile "D:/Trabalhos/host/htdocs/mvc_crud_pdo/ssl/serverone.key" DocumentRoot "D:/Trabalhos/host/htdocs/mvc_crud_pdo" CustomLog "${SRVROOT}/logs/ssl_request.log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" <Directory "${SRVROOT}/htdocs"> Options Indexes Includes FollowSymLinks AllowOverride AuthConfig Limit FileInfo Require all granted </Directory> </virtualhost> <VirtualHost *:444> SSLEngine on ServerName servertwo.tld:443 SSLCertificateFile "D:/Trabalhos/host/htdocs/mvc_crud_pdo/ssl/servertwo.crt" SSLCertificateKeyFile "D:/Trabalhos/host/htdocs/mvc_crud_pdo/ssl/servertwo.key" DocumentRoot "D:/Trabalhos/host/htdocs/mvc_crud_pdo" CustomLog "${SRVROOT}/logs/ssl_request.log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" <Directory "${SRVROOT}/htdocs"> Options Indexes Includes FollowSymLinks AllowOverride AuthConfig Limit FileInfo Require all granted </Directory> </virtualhost> Os Problemas: A ) http://localhost/site parou de funcionar, ou seja, quando o link começa com localhost B ) Apenas o primeiro site cadastrado (fielcard.net.br) no http-ahssl.conf está abrindo, o outro (mvc_crud_pdo) está abrindo o fielcard.net.br Onde estou errando? O objetivo é configurar Hosts Virtuais
  10. Carcleo

    Ajuda com Apache e .htaccess

    A ideia: toda e entrada no site, seja com link direto do tipo: www.site.com.br/pasta1/pasta2/arquivo.php ou normal url amigável www.site.com.br/categoria/tipo tudo queria que redirecionasse para o index.php da raiz do site. E que, caso o arquivo ou pasta NÃO existisse, abrisse normalmente a pagina 404.php Tentei de tres formas mas nenhuma dá certo. Primeira forma RewriteEngine On ErrorDocument 400 http://www.sortecard.com.br/index.php ErrorDocument 401 http://www.sortecard.com.br/401.php ErrorDocument 403 http://www.sortecard.com.br/403.php ErrorDocument 404 http://www.sortecard.com.br/404.php ErrorDocument 500 http://www.sortecard.com.br/500.php php_value allow_url_fopen on php_value allow_url_include on php_flag mail_filter 0 RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^(.*)$ index.php?page=$1 Segunda forma: Options +FollowSymLinks DirectorySlash On RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f [OR] RewriteCond %{REQUEST_FILENAME} \.php$ RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?request=$1 [L] Terceira forma: RewriteEngine On ErrorDocument 400 http://www.sortecard.com.br/index.php ErrorDocument 401 http://www.sortecard.com.br/401.php ErrorDocument 403 http://www.sortecard.com.br/403.php ErrorDocument 404 http://www.sortecard.com.br/404.php ErrorDocument 500 http://www.sortecard.com.br/500.php php_value allow_url_fopen on php_value allow_url_include on php_flag mail_filter 0 RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteRule ^(.*)$ index.php?page=$1 Problemas: A) Quando acesso a url diretamente não está redirecionando para o index. B) Quando falo que é para redirecionar todos os arquivos ele não me dá os parêmetros.
  11. Carcleo

    Ajuda na instalação da biblioteca cURL no Windows

    Não uso xamp nem wamp. Eu instalei separadamente Apache + PHP + MySQL. Já existe a dll php_curl.dll na pasta ext. Alinha ;extension=php_curl.dll não existe no php.ini do PHP 7.3.4, Eu inseri manualmente. Sim, sem o ; O que tem lá é ;extension=curl apenas
  12. Parece brincadeira, mas estou fazem 3 dias tentando instalar a cURL e não consigo Windows 10 Pro Apache 2.4 Php 7.3.4 MySQL 8.0.15.0 Tentativas: 1) libeay32.dll, msvcr71.dll, ssleay32.dll e php_curl.dll coladas na pasta system32 e adicionadas ao PATH do Windows 2) Baixei a biblioteca cURL do site https://curl.haxx.se/, cliquei em curl.exe e nada acontece. 3) ;extension=CURL e ;extension=php_curl.dll descomentadas no php.ini (Embora a linha ;extension=php_curl.dll não exista nessa versão do PHP eu inserí ela na lista) 4) Confirmado de que o php.ini é o correto. Agora só faltam 2 tentativas A) Apelar para a fé. B) Instalar Apache e PHP antigos pois lembro-me que usei em um projeto fazem uns anos e funcionava de boa. Mas não gostara de voltar no tempo. Claro que essas 2 foram só para descontrair! Alguém me ajuda? Ode estou errando?
  13. Carcleo

    mPDF Rotacionar texto na célula

    Estou tentando rotacionar um texto no PDF com mPDF mas não estou conseguindo. $css = ' <style> ul { } ul li { float: left; list-style: none; /*necessáro width no campo */ } ul li span.vertical { display: block; //transform: rotate(270deg); /*necessáro display: block*/ text-rotate : 270; } </style>'; $html = ' <ul> <li style="width: 150px"><span class="vertical">Elefante</span></li> <li style="width: 150px"><span>Não</span></li> <li style="width: 150px"><span>Come</span></li> <li style="width: 150px"><span class="vertical">Bananada</span></li> </ul>'; require_once "../vendor/autoload.php"; $pdf = new \Mpdf\Mpdf(['debug' => true]); $pdf->AddPage(); $pdf->charset_in = "UTF-8"; $pdf->SetFont('Arial','B',16); $pdf->WriteHTML( $css, 1 ); $pdf->WriteHTML( $html ); $pdf->Output(); Obs.: O restante do estilo funciona normal. O problema é apenas no PDF. No navegador, os spans giram normalmente.
  14. Carcleo

    mPDF não aceita Style

    porque sem ele a tabela vai Como assi a tabela vai: Sem o style tabelas sai deformada, linha por linha, sem as brodas, etc... Não? testa aí pra ver sem essa parte toda do style. Como assim. Não entendi. O Css já está pequeno! Ola como devea ser a saida::No HTML sai assim mas no PDF não
  15. Carcleo

    mPDF não aceita Style

    O meu está assim também. O problema é o HTML. A tabela Por favor, tenta com ela também. Ou ela foi para a folha 2? Parece que sairam 2 folhas no teu PDF. Se foram 2 fohas, Vêja se a tabela saiu perfeita. Tipo, com os textos do cabeçaho na vertial e tals. Outa coisa, sobre o fechamento <style>. realmente havia me esquecido. Mas não fez diferença. É como se o mPDF não estivesse lendo o CSS
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.