Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Spingamer

cURL Não atualiza a URL das páginas

Recommended Posts

Olá Galera!

Eu Tenho um script, que acessa um URL imprime a página na saída só que em outro domínio.

Eu uso o seguinte código

<?php

require_once 'simple_html_dom.php';

$html = file_get_contents('http://sitequeseraimpresso.com.br');

$html = str_get_html($html);

$html->find('link', 0)->href  = 'http://puu.sh/ooTW2/4be444bd27.png';
$html->find('link', 1)->href  = 'http://puu.sh/ooTW2/4be444bd27.png';

echo $html;
?>
<style type="text/css"> #WIX_ADS { display:none; } </style>?

eu gostaria de saber, como eu poderia fazer para atualizar a URL quando eu fosse mudar de página...

Exemplo,

Quando eu clico na pagina Galeria por exemplo ele continua com a url da HOME (www.sitefinal.com.br)

eu gostaria de quando eu fosse acessar as paginas do site, o link mudasse também... e eu descobri que eu preciso fazer algo para que o código atualize automaticamente...

como eu poderia fazer isso?

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

É url amigáveis que você quer fazer?

 

 

eu gostaria de quando eu fosse acessar as paginas do site, o link mudasse também... e eu descobri que eu preciso fazer algo para que o código atualize automaticamente...

como eu poderia fazer isso?

Obrigado

Não entendi amigo. Dê mais exemplos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por exemplo, eu uso esse código para copiar uma página bruta

e imprimir ela automaticamente e passar para o meu host...

O meu problema, é que quando eu mudo de página o link nao atualiza, ele continua o link bruto...

Isso é porque o código não está atualizando quando eu mudo de página no www.sitefinal.com.br

 

Exemplo,

O site que eu estou imprimindo muda a url da página automaticamente, exemplos:

As páginas e os seguintes links ficam mais ou menos assim...

Páginas

HOME» http://sitequeseraimpresso.com.br

CONTATO» http://sitequeseraimpresso.com.br/CONTATO

GALERIA» http://sitequeseraimpresso.com.br/GALERIA

 

Agora após o site ser substituido no link , as páginas www.sitefinal.com.br ele não atualiza as páginas, fica mais ou menos assim...

HOME» http://sitequeseraimpresso.com.br

CONTATO» http://sitequeseraimpresso.com.br/

 

GALERIA» http://sitequeseraimpresso.com.br/

 

Entende? Ele nao muda a URL final quando muda de página... entende?

Compartilhar este post


Link para o post
Compartilhar em outros sites
O seu arquivo PHP ficaria mais ou menos assim:



<?php
// lista de endereços que podem ser passados via GET
$pageList = Array("contato", "galeria");

// deixa a página inicial como padrão (ou seja, vazio = "site.com.br/")
$page = "";

// por segurança, só permite as páginas configurada em $pageList
if(isSet($_GET["page"]) && in_array($_GET["page"], $pageList)){
$page = $_GET["page"];
}

require_once 'simple_html_dom.php';

// busca o conteúdo da página solicitada
// ex: http://sitequeseraimpresso.com.br/contato
// ex: http://sitequeseraimpresso.com.br/galeria
$url = "http://sitequeseraimpresso.com.br/".$page;
$html = file_get_contents($url);

$html = str_get_html($html);

$html->find('link', 0)->href = 'http://puu.sh/ooTW2/4be444bd27.png';
$html->find('link', 1)->href = 'http://puu.sh/ooTW2/4be444bd27.png';

echo $html;
?>
<style type="text/css"> #WIX_ADS { display:none; } </style>?




E a url amigável faria a "camuflagem" desse endereço. Aí ao invés de acessar assim


você poderia acessar assim


que a reescrita de url (url amigável) faria a requisição para o arquivo_curl passando o parâmetro page como necessário.


Sobre url amigável, tem bastante tutorial na internet. Dá uma olhada neste:


Compartilhar este post


Link para o post
Compartilhar em outros sites

AndersonMamede
Então amigo, o código que você adaptou ficaria perfeito para algumas situações se caso eu quisesse camuflar uma URL por exemplo, mas infelizmente acho que essa não é minha situação ou eu não entendi o código que você apresentou por último!...
O que eu gostaria de fazer, é que quando eu mudasse de página dentro do meu código cURL, ele mudasse também a URL depois do '/' , por exemplo, na url bruta que seria impressa, se eu mudar pra página de contato ficaria mais ou menos assim:

 

Página inicial: http://johnmoviesstudio.wix.com/joaopauloramos

Qnd eu navego pra página de contato fica

Página de Contato: http://johnmoviesstudio.wix.com/joaopauloramos#!contato/c1gp1

Como pode ver, a url que é impressa é "http://johnmoviesstudio.wix.com/joaopauloramos" e quando mudamos de página ele acrescenta uma '#!' e depois o restante da URL

Etc...

Eu gostaria que quando eu fosse acessar meu site depois de impresso, ele também mudasse a url quando fosse mudar de página.... Entende?

Página Home antes da impressão,

 

c296a32f73.PNG

d

 

Página Home Depois da impressão,

 

85412756b1.PNG

 

 

Agora é que fica estranho...

Observe a URL que depois da impressão ela continua a mesma da HOME.

 

Página Contato antes da impressão,

b5f08a24e7.PNG

 

Página Contato depois da impressão,

12e73a3c69.PNG

 

E em outras páginas é a mesma situação...

 

Página Categorias antes da impressão,

dd1257cd98.PNG

 

Página Categorias depois da impressão,

086c2ea42c.PNG

 

 

É mais ou menos isso amigo, espero que eu consegui explicar mais ou menos minha situação....

a galera se quiser ajudar tambem Fiquem a vontade :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara ainda não entendi oq você pretende.

 

Pelo que entendi você está simplesmente espelhando o conteudo do Wix em outro lugar.

 

Nesse caso não seria simplesmente subtituir o nome de cada substring?

De
'meusite'
Para:
'meunovosite'

 

Ex abaixo:

<?php
//$html seria equivalente ao file_get_content(), só pra simular msm...
$html = '<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title></title>
</head>
<body>
	<p>Link page 2:</p>
	<a href="http://meusite.com.br/page2.php">http://meusite.com.br/page2.php</a>
	
	
</body>
</html>';

$new_html = str_replace("meusite.com.br", "meunovosite.com.br", $html);

echo $new_html;

Ou tentar dar uma navegada na documentação oficial:

http://dev.wix.com/docs/wixhive/http-api

 

As vezes oq você está fazendo de forma manual já tem pronto....

 

 

Uma sugestão Off topic aqui...

Já pensou em sair do Wix?

 

Uma opção gratuita e com mais liberdade seria essa:

http://tableless.com.br/criando-paginas-web-para-seus-repositorios-com-o-github-pages/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que escreveu no outro tópico você contratou o domínio já pela sua postagem e achou uma hospedagem gratuita com suporte a PHP + MYSQL

 

Seguindo essa linha de raciocínio, minha duvida permanece....

Por que não faz o site 100% fora do Wix?

 

Seria mais sensato aprender HTML do que ficar reescrevendo rotas e pedindo script php ao meu ver...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, eu pensei em fazer o seguinte....

Dentro da raiz do meu site, eu criaria um diretório para cada página que está no site wix.

Exemplo:

 

public_html > Contatos

public_html > Galeria

 

E dentro dessas pastas, teria um arquivo galeria.php

dentro dessa galeria.php teria um código que baixaria a pagina desejada do wix e colocaria ali.

mas o problema, é que o meu código, baixa o site completo do wix e não apenas uma página...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguindo essa linha de raciocínio, minha duvida permanece....

Por que não faz o site 100% fora do Wix?

Por que assim fica mais facil pros meus clientes editarem o site, e o wix tem mais opções de personalização... Além de ser mais rapido :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá, tudo bem?
       
      Estou melhorando meu conhecimento em php e mysql e, me deparei com o seguinte. A tabela da base de dados tem um campo do tipo varchar(8) o qual armazena números. Eu não posso alterar o tipo desse campo. O que preciso é fazer um select para retornar o números que contenham zeros a direita ou a esquerda.
      O que tentei até agora
       
      Ex1
      $busca = $conexao->prepare("select campo form tabela where (campo = :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form']);
       
      Se a direita da string $_REQUEST['campo_form'] termina ou inicia com zero ou zeros, a busca retorna vazio.
      Inseri dados numéricos, da seguinte maneira para testar: 01234567;  12345670: 12345678: 12340000... entre outros nessa coluna. Todos os valores que não terminam ou não iniciam com zero ou zeros, o select funciona.
       
       
      Ex2
      $busca = $conexao->prepare("select campo form tabela where (campo = 0340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex3
      $busca = $conexao->prepare("select campo form tabela where (campo = '02340001' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex4
      $busca = $conexao->prepare("select campo form tabela where (campo like 2340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex5
      $busca = $conexao->prepare("select campo form tabela where (campo like '12340000') ");
      Esse número está cadastrado, mas não retorna.
       
      Ex6
      $busca = $conexao->prepare("select campo form tabela where (campo like '"12340000"' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex7
      $busca = $conexao->prepare("select campo form tabela where (campo like :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form'])
      Não retorna dados.
       
      O  $_REQUEST['campo_form'] é envio via AJAX de um formulário. 
      Usei o gettype para verificar o post, e ele retorna string.
      Fiz uma busca com número 12345678 para verificar o que o select retorna, e também retrona como string.
       
      Esse tipo de varchar foi usado porque os números que serão gravados nesse campo,  terão zeros a direita ou na esquerda. Os tipos number do mysql não gravam zeros, então estou usando esse. O problema é a busca.
      Agradeço desde já.
       
       
    • Por daemon
      Boa tarde,
       
      Eu tenho uma rotina que faz uma leitura do arquivo .xml de vários sites.

      Eu consigo pegar o tópico e a descrição, e mostrar a imagem que esta na pagina do link.
      Para isso utilizo esta função:
      function getPreviewImage($url) { // Obter o conteúdo da página $html = file_get_contents($url); // Criar um novo objeto DOMDocument $doc = new DOMDocument(); @$doc->loadHTML($html); // Procurar pela tag meta og:image $tags = $doc->getElementsByTagName('meta'); foreach ($tags as $tag) { if ($tag->getAttribute('property') == 'og:image') { return $tag->getAttribute('content'); } } // Se não encontrar og:image, procurar pela primeira imagem na página $tags = $doc->getElementsByTagName('img'); if ($tags->length > 0) { return $tags->item(0)->getAttribute('src'); } // Se não encontrar nenhuma imagem, retornar null return null; } // Uso: $url = "https://example.com/article"; $imageUrl = getPreviewImage($url); if ($imageUrl) { echo "<img src='$imageUrl' alt='Preview'>"; } else { echo "Nenhuma imagem encontrada"; }  
      Mas estou com um problema, esta funcão funciona quando coloco em uma pagina de teste.php. Preciso mostrar em uma página inicial diversas fotos de todos os links. (No caso acima só funciona 1).
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me permita tirar uma dúvida com os amigos.

      Tenho um Formulário onde o Usuário digita todos os Dados necessários.

      Minha dúvida:
      --> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?

      Grato,
       
      Cesar
    • Por Carcleo
      Tenho uma abela de usuarios e uma tabela de administradores e clientes.
      Gostaria de uma ajuda para implementar um cadastro
       
      users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
      Queria ajuda para extender de user as classes Admin e Client
      Olhem como estáAdmin
      <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User {     use HasFactory;            protected $fillable = [         'name',         'email',         'password',         'registration'     ];      private string $registration;     public function create(         string $name,          string $email,          string $password,         string $registration     )     {         //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]);         parent::$name = $name;         parent::$email = $email;         parent::$password = $password;         $this->registration = $registration;     } } User
      <?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable {     /** @use HasFactory<\Database\Factories\UserFactory> */     use HasFactory, Notifiable;     static string $name;     static string $email;     static string $password;     /**      * The attributes that are mass assignable.      *      * @var list<string>      */     protected $fillable = [         'name',         'email',         'password',     ];          /**      * The attributes that should be hidden for serialization.      *      * @var list<string>      */     protected $hidden = [         'remember_token',     ];     /**      * Get the attributes that should be cast.      *      * @return array<string, string>      */     protected function casts(): array     {         return [             'email_verified_at' => 'datetime',             'password' => 'hashed',         ];     }          public function roles() : BelongsToMany {         return $this->belongsToMany(Role::class);     }       public function hasHole(Array $roleName): bool     {                 foreach ($this->roles as $role) {             if ($role->name === $roleName) {                 return true;             }         }         return false;     }         public function hasHoles(Array $rolesName): bool     {                 foreach ($this->roles as $role) {             foreach ($rolesName as $rolee) {             if ($role->name === $rolee) {                 return true;             }          }         }         return false;     }         public function hasAbility(string $ability): bool     {         foreach ($this->roles as $role) {             if ($role->abilities->contains('name', $ability)) {                 return true;             }         }         return false;     }     } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
      Tentei assim mas é claro que está errado...
      public function store(Request $request, Admin $adminModel) {         $dados = $request->validate([             "name" => "required",             "email" => "required|email",             "password" => "required",             "registration" => "required"         ]);         $dados["password"] =  Hash::make($dados["password"]);                  $admin = Admin::where("registration",  $dados["registration"])->first();                  if ($admin)              return                    redirect()->route("admin.new")                             ->withErrors([                                 'fail' => 'Administrador já cadastrados<br>, favor verificar!'                   ]);                            $newAdmin = $adminModel->create(                                    $dados['name'],                                    $dados['email'],                                    $dados['password'],                                    $dados['registration']                                 );         dd($newAdmin);         $adminModel->save();         //$adminModel::create($admin);                  return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso');     }  
×

Informação importante

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