Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Amigos me deram o desafio de criar um sistema em php para abrir determinadas paginas Ex: terra.com.br; g1.com, e copiar os conteudos internos e salvar em banco de dados, e a cada 20 segundos verificar se teve alguma atualizaçao no site, se tiver trocar o conteudo do banco de dados.
É possivel isso? http://forum.imasters.com.br/public/style_emoticons/default/sick.gif
>
Se o servidor tiver a diretiva do PHP.INI allow_url_fopen, você pode com file_get_contents() obter o conteúdo de uma página Web.
Depois armazena normal no BD. Para comparar tem N maneiras.
Você pode, na nova requisição, comparar com === o a variável que deterá o resultado do novo file_get_contents() com a já armazenada no BD.
Você pode gerar um hash MD5 do conteúdo de ambos e compará-los novamente com ===
E por aí vai. Para executar a cada 20 segundos, acredito que a função sleep() te ajude. Se não, pode tentar com CronJobs, mas aí já teria domínio perfeito para ajudar.
Valeu irmao, voce quiz dizer assim para acessar pegar os conteudos:Voce quiz dizer assim:
file_get_contents("http://g1.com/")so que desse jeito ele nao pega nada pois eu nao sei o nome do arquivo principal, eu dei o caminho para ele, mas nao sei o nome do arquivo principal, pode ser .html, ou .php por exemplo, e outra apos entrar existe os links e iframes, que tambem tem que ser analizados, Sera que tem mesmo como fazer isso???
Bem amigos eu achei um codigo na documentaçao do php que ja me deu uma luz, agora da para tocar o barco!
Esta ai o codigo!
$arquivos = file ('http://php.net/');
foreach ($arquivos as $linhas => $arquivo)
{
echo htmlspecialchars($arquivo) . "<br>\n";
}
Se o servidor tiver a diretiva do PHP.INI allow_url_fopen, você pode com file_get_contents() obter o conteúdo de uma página Web.
Depois armazena normal no BD. Para comparar tem N maneiras.
Você pode, na nova requisição, comparar com === o a variável que deterá o resultado do novo file_get_contents() com a já armazenada no BD.
Você pode gerar um hash MD5 do conteúdo de ambos e compará-los novamente com ===
E por aí vai. Para executar a cada 20 segundos, acredito que a função sleep() te ajude. Se não, pode tentar com CronJobs, mas aí já teria domínio perfeito para ajudar.