Ir para conteúdo

POWERED BY:

Arquivado

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

Gans

[RESOLVIDO] Abrir um site fazer explode por linhas pegando variav

Recommended Posts

Pessoal to com um probleminha com fopen e explode

 

eu preciso que meu script abra uma pagina de um site que é +/- assim:

200300100-1-1-1-1-1-1

ai preciso obter os valores como variaveis

tipo

$var1 = "200";$var2 = "300";$var3 = "100";
só os três primeiros

e o resto não preciso

esse valor vou usar em outro lugar...

 

meu script ta assim

<?php$url = "http://www.site.com/file.asp";$handle = fopen ($url, "r");while (!feof ($handle)) {	$buffer = fgets($handle, 4096);}fclose ($handle);?>

tentei por um codigo assim:

 

$arr = explode(" ", $buffer);$var1 = "$arr[0]";$var2 = "$arr[1]";$var3 = "$arr[2]";
so q num deu certo

eu acho q como ta dividido por linhas e não espaço

ele num pega a var

 

alguem tem uma solução ?

 

e uma outra duvida

dpois de conseguir as variaveis

eu gostaria q a variavel com o numero mais ficace na cor verde

eu penso em fazer +/- assim mas acho q tem jeito mais facil...

 

if ($var1 > $var2 AND $var1 > $var3) {$var1 = "<font color\'green\'>200</font>";}if ($var2 > $var1 AND $var2 > $var3) {$var2 = "<font color\'green\'>200</font>";}if ($var3 > $var2 AND $var3 > $var1) {$var3 = "<font color\'green\'>200</font>";}
obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

gans,

 

se a sequencia da página que você quer abrir for sempre a mesma

200300100-1-1-1-1

 

 

somente isso aqui resolveria:

 

 

<?php$url = "http://www.site.com/file.asp";$handle = fopen ($url, "r");$limite = 3;$ini	  = 1;while (!feof ($handle)) {	if( $i <= $limite ){	   $n[$i] = fgets($handle, 4096);	   $i++;	}else{	   break;	}}fclose ($handle);// os dados estão no array n[]?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo soh os 3 numeros de cima q mudam..

 

345511587-1-1-1-1
ele atualiza por segundos

e eu preciso ter a variavel dele

pra mostrar esses numeros separados na minha pagina

tipo

 

$var1 = "345";

$var2 = "511";

$var3 = "587";

 

echo "Nº 1: $var1";

echo "Nº 2: $var2";

echo "Nº 3: $var3";

 

vlw..

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja tentou por pra explodir em vez de " "(espaço), "\n" ou "<br>"?não sei como resolver, mas a primeira coisa que eu tentaria seria isso..

Compartilhar este post


Link para o post
Compartilhar em outros sites

O arquivo que você quer abrir é um arquivo local ou uma url externa? O problema pode estar ai. Olha só (exatamente como está no help do PHP):

resource fopen (string filename, string mode [, int use_include_path [, resource zcontext]])fopen() conecta um recurso nomeado, especificado em filename para um stream. Se filename está na forma "protocolo://...", é assumido que seja uma URL e o PHP irá procurar por um manipulador de protocolo (também conhecido como wrapper) conforme o prefixo. Se nenhum wrapper para o protocolo estiver registrado, o PHP irá emitir um alerta para ajudá-lo a rastrear problemas potenciais em seu script, presumindo que filename é um nome de arquivo comum. Se o PHP decidir que filename se refere a um arquivo local, então ele tentará abrir o stream para aquele arquivo. Esse arquivo precisa ser acessível pelo PHP, então você precisa certificar-se que as permissões de acesso que garantam esse acesso. Se você está com safe mode ativado ou open_basedir, essas restrições serão aplicadas. Se o PHP decidir que filename se refere a um protocolo registrado, e que o protocolo está registrado como um URL de rede, o PHP irá verificar se allow_url_fopen está ativado. Se ele estiver desligado, o PHP irá emitir um alerta e a chamada a fopen irá falhar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se é externo e você tem acesso a este servidor, verifique se a diretiva allow_url_fopen está On. Se não tiver acesso, faz um teste apenas lendo o arquivo e exibindo o conteúdo retornado, apenas para atestar se é possível mesmo fazer a leitura a partir desse servidor ;)[]sAnderson Mello

Compartilhar este post


Link para o post
Compartilhar em outros sites

tp

eu consigo abrir

pela url

eu consigo por include no phpe assim eu tb consigo exibir-lo

 

<?php$url = "http://www.site.com/file.asp";$handle = fopen ($url, "r");while (!feof ($handle)) {	$buffer = fgets($handle, 4096);		echo $buffer;}fclose ($handle);?>
mas ele mostra na pagina XXX XXX XXX -1 -1 -1 -1 -1 -1 -1

e eu qro ter os valores pra eu fazer aparecer assim

 

Valor 1: XXX

Valor 2: XXX

Valor 3: XXX

 

soh os 3 primeiros numeros eu preciso pois os outros sempre vaum estar -1-1-1.....

e os 3 primeiros se atualizam...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se consegue abrir então, não é problema de permissão :)

Você precisa apenas usar um limitador no loop, como o hinom sugeriu. Tente:

 

<?php$url = "http://www.site.com/file.asp";$handle = fopen ($url, "r");$i = 1;$limite = 3;while (!feof ($handle)) {	if ($i <= $limite) {		$valor = fgets($handle, 4096);		echo "$valor<br />";	} else {		break;	}	$i++;}fclose ($handle);?>

[]s

Anderson Mello

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça isso

 

algo assim ó

 

<?php$url = "http://www.site.com/file.asp";$handle = fopen ($url, "r");while (!feof ($handle)) {	$buffer = fgets($handle, 4096);		$vars[] = $buffer;}fclose ($handle);print_f($vars);?>

 

assim você terá os valores em

 

$vars[0] = XXX

$vars[1] = XXX

$vars[2] = XXX

...

Compartilhar este post


Link para o post
Compartilhar em outros sites

mtoo obrigado pessoal...deu certo...usei esse script q o ScornInPC poismas tava dando um erro ai eu tirei a parte print_f($vars);e funciono....Vlw pessoal do Imasters por mais uma vez me ajudar!!qnd eu aprender mais vou ajudar tb ^^auheauehuaehuae

Compartilhar este post


Link para o post
Compartilhar em outros sites

poxa Gans, desculpa, é "r" ali, escrevi sem testar, e naum percebi que coloquei "f"a função é print_r() ela "imprime" na tela o conteudo de vetores

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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