Ir para conteúdo

POWERED BY:

Arquivado

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

gmps

problema com logica + expode

Recommended Posts

Galera...me ajudem numa "logica" aqui..eu tenho assim:

 

http://palavra/200.200.200.200_1.html

OU

http://palavra/texto/200.200.200.200_1.html

 

antes no meu code eu tinha:

$k1=explode("/",$w1[1]);

 

onde $w1[1] = palavra/200.200.200.200_1.html

 

Agora, me surgiu esse problema de AS VEZES ter um /texto/ la, entao eu pensei assim, eu dou um explode na /, SE a primeira letra da variavel que recebeu o resultado do explode for diferente de algum numero, dou mais um explode na /...

 

 

porque oq eu tenho que fazer é: chegar ate o .html, para abrir esse arquivo e imprimir as linhas que eu preciso, entao o script so funciona sem o "/texto/", caso tenha esse "/texto/" o script nao funciona, sendo assim, nao encontra o .html

 

nao sei se voces entenderam...

=/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera...me ajudem numa "logica" aqui..eu tenho assim:http://palavra/200.200.200.200_1.htmlOUhttp://palavra/texto/200.200.200.200_1.htmlantes no meu code eu tinha:$k1=explode("/",$w1[1]);onde $w1[1] = palavra/200.200.200.200_1.htmlAgora, me surgiu esse problema de AS VEZES ter um /texto/ la, entao eu pensei assim, eu dou um explode na /, SE a primeira letra da variavel que recebeu o resultado do explode for diferente de algum numero, dou mais um explode na /...porque oq eu tenho que fazer é: chegar ate o .html, para abrir esse arquivo e imprimir as linhas que eu preciso, entao o script so funciona sem o "/texto/", caso tenha esse "/texto/" o script nao funciona, sendo assim, nao encontra o .htmlnao sei se voces entenderam...=/

O nome do arquivo será sempre o último?, se for é só pegar a última posição da array criada:$arq = $k1[count($k1)-1];

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao consegui ainda galera....vamos la:

vamos supor que eu tenho:

 

$link= xx.xx.xx.xx:8080/mrtg/botucatu/wifi/200.200.200.100_2.html

 

$w1=explode("mrtg/",$link);

 

*entao:

$w1[1] = botucatu/wifi/200.200.200.100_2.html

 

AGORA, se eu mandar um link assim: xx.xx.xx.xx:8080/mrtg/botucatu/200.200.200.100_2.html - ai funciona

 

<?include("mysql.php");$equipamento = $_GET["equipamento"];$empresa = $_GET["empresa"];$cidade = $_GET["cidade"];$query1 = "SELECT * FROM monitoramento where empresa='$empresa' and cidade='$cidade' and equipamento='$equipamento' ORDER BY nome_link ASC";$resultado1 = mysql_query($query1,$conexao);while ($loop1 = mysql_fetch_array($resultado1)) {$link1 = $loop1["link"];$nome_link = $loop1["nome_link"];$link = $link1;$lines = file ($link);	$w1=explode("mrtg/",$link);	foreach ($lines as $line_num => $line) {   if ($line_num == 107){  	$a = htmlspecialchars($line);	$b = html_entity_decode($a);	$k1=explode("/",$w1[1]);		$x1=explode("src=\"",$b);		echo $x1[0];	echo "src=\"";	echo $w1[0];	echo "mrtg/";	echo $k1[0];	echo "/";	echo $x1[1];	echo "<br>";   }}}?>
esse é o script atual...onde como eu ja disse, o "link", pode ser ex.:

xx.xx.xx.xx:8080/mrtg/botucatu/wifi/200.200.200.100_2.html

OU

xx.xx.xx.xx:8080/mrtg/botucatu/200.200.200.100_2.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao consegui ainda galera....vamos la:vamos supor que eu tenho:$link= xx.xx.xx.xx:8080/mrtg/botucatu/wifi/200.200.200.100_2.html$w1=explode("mrtg/",$link);*entao:$w1[1] = botucatu/wifi/200.200.200.100_2.htmlAGORA, se eu mandar um link assim: xx.xx.xx.xx:8080/mrtg/botucatu/200.200.200.100_2.html - ai funciona

<?include("mysql.php");$equipamento = $_GET["equipamento"];$empresa = $_GET["empresa"];$cidade = $_GET["cidade"];$query1 = "SELECT * FROM monitoramento where empresa='$empresa' and cidade='$cidade' and equipamento='$equipamento' ORDER BY nome_link ASC";$resultado1 = mysql_query($query1,$conexao);while ($loop1 = mysql_fetch_array($resultado1)) {$link1 = $loop1["link"];$nome_link = $loop1["nome_link"];$link = $link1;$lines = file ($link);	$w1=explode("mrtg/",$link);	foreach ($lines as $line_num => $line) {   if ($line_num == 107){  	$a = htmlspecialchars($line);	$b = html_entity_decode($a);	$k1=explode("/",$w1[1]);		$x1=explode("src=\"",$b);		echo $x1[0];	echo "src=\"";	echo $w1[0];	echo "mrtg/";	echo $k1[0];	echo "/";	echo $x1[1];	echo "<br>";   }}}?>
esse é o script atual...onde como eu ja disse, o "link", pode ser ex.:xx.xx.xx.xx:8080/mrtg/botucatu/wifi/200.200.200.100_2.htmlOUxx.xx.xx.xx:8080/mrtg/botucatu/200.200.200.100_2.html
Tá meio confuso o que você quer, não consegui entender, você quer tirar o texto que vier depois de botucatu? será sempre botucatu, tenta explicar melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza..no banco de dados eu tenho um campo chamado "link", nesse link SEMPRE vai ter um endereço de um "html", que pode ser por ex.: xx.xx.xx.xx:8080/mrtg/botucatu/wifi/200.200.200.100_2.html OU xx.xx.xx.xx:8080/mrtg/botucatu/200.200.200.100_2.html. Não se prenda a "Botucatu", é apenas um exemplo, onde pode vir outro nome, e no "wifi" pode vir outro nome tambem. No script que eu postei ele so funciona com: xx.xx.xx.xx:8080/mrtg/botucatu/200.200.200.100_2.html. Como no banco de dados pode ter o link com mais uma pasta, ex: xx.xx.xx.xx:8080/mrtg/botucatu/WIFI/200.200.200.100_2.html, ai nao funciona.

 

Porque o script funciona assim, nesse html existe na linha 107 um codigo de imagem, que é: <img src="imagens/arquivo.jpg">, o que eu tenho que fazer é: colocar o link no src, ficando assim por ex: <img src="xx.xx.xx.xx:8080/mrtg/botucatu/imagens/arquivo.jpg">, para ai sim a imagem aparecer quando eu dou o echo. Agora, caso haja MAIS uma pasta, ela é desconsiderada, se eu tiver o link: xx.xx.xx.xx:8080/mrtg/botucatu/wifi/200.200.200.100_2.html, a imagem vai sair: <img src="xx.xx.xx.xx:8080/mrtg/botucatu/imagens/arquivo.jpg"> e nao <img src="xx.xx.xx.xx:8080/mrtg/botucatu/wifi/imagens/arquivo.jpg">

 

 

O script precisaria funcionar tendo ou nao mais uma pasta do tipo "wifi"

 

bom..pensei aqui..se eu dou um explode na / no $k1, entao eu tenho "3 pedaços" certo? ai tentei:

 

echo $x1[0];	echo "src=\"";	echo $w1[0];	echo "mrtg/";	echo $k1[0];echo "/";echo $k1[1];	echo "/";	echo $x1[1];

Issó só ira funcionar SE tiver mais uma pasta dentro de botucatu por ex...

=/

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza..no banco de dados eu tenho um campo chamado "link", nesse link SEMPRE vai ter um endereço de um "html", que pode ser por ex.: xx.xx.xx.xx:8080/mrtg/botucatu/wifi/200.200.200.100_2.html OU xx.xx.xx.xx:8080/mrtg/botucatu/200.200.200.100_2.html. Não se prenda a "Botucatu", é apenas um exemplo, onde pode vir outro nome, e no "wifi" pode vir outro nome tambem. No script que eu postei ele so funciona com: xx.xx.xx.xx:8080/mrtg/botucatu/200.200.200.100_2.html. Como no banco de dados pode ter o link com mais uma pasta, ex: xx.xx.xx.xx:8080/mrtg/botucatu/WIFI/200.200.200.100_2.html, ai nao funciona.Porque o script funciona assim, nesse html existe na linha 107 um codigo de imagem, que é: <img src="imagens/arquivo.jpg">, o que eu tenho que fazer é: colocar o link no src, ficando assim por ex: <img src="xx.xx.xx.xx:8080/mrtg/botucatu/imagens/arquivo.jpg">, para ai sim a imagem aparecer quando eu dou o echo. Agora, caso haja MAIS uma pasta, ela é desconsiderada, se eu tiver o link: xx.xx.xx.xx:8080/mrtg/botucatu/wifi/200.200.200.100_2.html, a imagem vai sair: <img src="xx.xx.xx.xx:8080/mrtg/botucatu/imagens/arquivo.jpg"> e nao <img src="xx.xx.xx.xx:8080/mrtg/botucatu/wifi/imagens/arquivo.jpg">O script precisaria funcionar tendo ou nao mais uma pasta do tipo "wifi"=/

Tá entendi, agora é o seguinte, considerando que com o explode que você faz já pega a string iniciando de onde se quer, você pode colocar assim:<?php$link = 'xx.xx.xx.xx:8080/mrtg/botucatu/wifi/200.200.200.100_2.html';$w1 = explode('mrtg/',$link);$w2 = explode('/',$w1[1]);$arq = $w2[0] . '/' . $w2[count($w2)-1];echo($arq);?>irá imprimir na tela : 'botucatu/200.200.200.100_2.html'

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao é isso....se tem o /wifi/ é porque la dentro que esta a imagem que eu preciso, desse modo que você postou, onde esta a pasta wifi?

 

parece que tenho q dar um explode na ultima / me falaram, n sei..

 

echo "/";echo $k1[1];

como que eu faço um if nesse $k1[1], SE as 4 ultimas letras desse vetor forem igual a html nao acontece esses dois echos, caso contrario sim..

 

tentei:

 

if (substr($k1[1], -4) = html){	echo "/";	echo $k1[1];}

mas nem deu..

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao é isso....se tem o /wifi/ é porque la dentro que esta a imagem que eu preciso, desse modo que você postou, onde esta a pasta wifi?

 

parece que tenho q dar um explode na ultima / me falaram, n sei..

 

echo "/";echo $k1[1];
como que eu faço um if nesse $k1[1], SE as 4 ultimas letras desse vetor forem igual a html nao acontece esses dois echos, caso contrario sim..

 

tentei:

 

if (substr($k1[1], -4) = html){	echo "/";	echo $k1[1];}
mas nem deu..
É não consegui então entender o que quer, mas altera no seu cod:

 

if (substr($k1[1], -4) == 'html'){

echo "/";

echo $k1[1];

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

é..nao deu certo assim..agora nao aparece nenhuma das imagens, nem com /wifi/ nem sem ela...nao entendeu ainda cara?!?com esse script que eu postei, la no começo, se vier do banco um link do tipo: xx.xx.xx.xx:8080/mrtg/botucatu/200.200.200.100_2.html, o script vai fazer isso:- quebrar o link em mrtg/, ficando: botucatu/200.200.200.100_2.html- quebrar na /, ficando: botucatu 200.200.200.100_2.html- ai eu pego o nome da imagem no arquivo e monto um img src, ficando por ex: <img src="xx.xx.xx.xx:8080/mrtg/botucatu/imagens/arquivo.jpg">como no link html pode existir uma pasta dentro de botucatu, exemplo "wifi", se eu fizer tudo o mesmo esquema, o script vai montar: <img src="xx.xx.xx.xx:8080/mrtg/botucatu/imagens/arquivo.jpg"> e o CERTO seria: <img src="xx.xx.xx.xx:8080/mrtg/botucatu/wifi/imagens/arquivo.jpg">se eu conseguir dar um explode na primeira "/" de traz para frente ai fica certinho...=/

Compartilhar este post


Link para o post
Compartilhar em outros sites

é..nao deu certo assim..agora nao aparece nenhuma das imagens, nem com /wifi/ nem sem ela...nao entendeu ainda cara?!?com esse script que eu postei, la no começo, se vier do banco um link do tipo: xx.xx.xx.xx:8080/mrtg/botucatu/200.200.200.100_2.html, o script vai fazer isso:- quebrar o link em mrtg/, ficando: botucatu/200.200.200.100_2.html- quebrar na /, ficando: botucatu 200.200.200.100_2.html- ai eu pego o nome da imagem no arquivo e monto um img src, ficando por ex: <img src="xx.xx.xx.xx:8080/mrtg/botucatu/imagens/arquivo.jpg">como no link html pode existir uma pasta dentro de botucatu, exemplo "wifi", se eu fizer tudo o mesmo esquema, o script vai montar: <img src="xx.xx.xx.xx:8080/mrtg/botucatu/imagens/arquivo.jpg"> e o CERTO seria: <img src="xx.xx.xx.xx:8080/mrtg/botucatu/wifi/imagens/arquivo.jpg">se eu conseguir dar um explode na primeira "/" de traz para frente ai fica certinho...=/

Neste caso então não seria só você retirar a última sequência, no caso '200.200.200.100_2.html' e incluir 'imagens/arquivo.jpg';É isto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você precisa é o diretório onde está seu arquivo html? Se sim, tenta isso:

 

<?php	$url = "xx.xx.xx.xx:8080/mrtg/botucatu/200.200.200.100_2.html";	echo substr($url, 0, strrpos($url, "/")+1);?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mario Helme, é isso mesmo, testei e deu certo..valeue agora como eu faço para pegar o resto "q foi tirado"? ex: 200.200.200.100_2.htmlvaleu a todos que tiveram a pasciencia de ficar lendo e tentando me ajudar..valeu memo galera!!![]´z

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.