Ir para conteúdo

Arquivado

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

lucas

essa é sinistra ...

Recommended Posts

Alow!Pessoal, gostaria de saber uma coisa.Digamos que eu tenha um texto de várias linhas.

Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...<img src="minha_imagem1.jpg">Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...Blá ...<img src="file:///C|Meus%20Documentos/minha_imagem2.jpg">

O meu 1º objetivo, é saber quantas tags "<img" existem.Eu fiz: substr_count($texto, "<img "); Tudo funcionando na mais perfeita ordem. Agora, eu quero fazer o upload desta imagem. beleza tb. Mas o meu problema é que eu quero trocar o nome desta imagem.Por exemplo, onde está "minha_imagem1.jpg", gostaria que fosse "pasta/imagens/fotos/3.jpg".O mesmo acontece em "file:///C|Meus%20Documentos/minha_imagem2.jpg", teria de ser "pasta/imagens/fotos/20.jpg"Eu podia dar um str_replace, mas isso apenas mudaria o nome do arquivo e não o caminho.O que eu quero é arrumar um jeito de em um loop, pegar o nome do arquivo que está sendo levado ao server (upload), procurá-lo no meu texto, e alterar seu caminho e o nome.Como posso faze-lo????Desde já agradeço muito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo, as imagens já foram "uploadeadas" pro servidor ??

 

para renomear:

 

http://www.php.net/manual/pt_BR/function.rename.php

 

 

para mudar de diretorio:

 

http://www.php.net/manual/pt_BR/function.copy.php

e

http://www.php.net/manual/pt_BR/function.unlink.php para deletar

 

 

maiorees referências:

 

http://www.php.net/manual/pt_BR/ref.filesystem.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

as imagens ainda naum estaum no server ... mas o ".htm" está.o que eu quero é saber que imagens estaum neste ".htm" para alterar o caminho no código ".htm" e alterar o nome do arquivo.tipo ...$linhas = file($arquivo);$conteudo = join("", $linhas)$totalIMGTags = substr_count($conteudo, "<img ");for ($i=1; $i<=$totalIMGTags; $i++) { altere o nome do arquivo no código para "pasta".$i."/".$i.".jpg"; copy ($arquivo, "pasta".$i."/".$i.".jpg");}sacaram????????????????????

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu naum quero mudar o nome do arquivo a ser uploaded. eu quero mudar no código (a tag <IMG> inteira)

Compartilhar este post


Link para o post
Compartilhar em outros sites

então você pode tentar ler o html linha por linha e em cada linha verificar se existe a tag strong

 

se encontrar, grave num vetor tudo o que vier depois da primeira " até a segunda "

 

daí você vai ter sua imagem, exemplo:

 

 

 

 

<?ini_set("magic_quotes_runtime", "off");?>	<form action="<?=$PHP_SELF;?>" method="POST">	arquivo ou endereço web:<br><input type=text name=arquivo value="" size=50>	<input type=submit value=ok>	</form><hr><?if(isset($arquivo) && trim($arquivo)!=""){	$procurar = "<img src=";	$tam = strlen($procurar);	$retornar = "0";	$txt = fopen($arquivo,"r");	while($linha = fgets($txt,1024)){  $limite = strlen($linha);  for($i=0;$i<$limite-$tam;$i++){ 	 $trecho = substr($linha,$i,$tam); 	 if( $trecho == $procurar ){    $agrupar = "";    $aspa = 0;    for($j=($i+$tam);$j<$limite;$j++){   	 $trecho2 = substr($linha,$j,1);   	 if($trecho2=="\"" || $trecho2=="'"){   	 $aspa++;   	 }   	 if($aspa>0){   	 $agrupar .= $trecho2;   	 }   	 if($aspa==2){      $retornar .= ",".$agrupar;      $agrupar = "";      $aspa = 0;   	 }    } 	 }  }	}	fclose($txt);	$retornar = str_replace("\"","",$retornar);	$retornar = str_replace("'","",$retornar);	$imagem = explode(",",$retornar);	echo "<b>imagens:</b><br>";	for($i=1;$i<sizeof($imagem);$i++){	echo $imagem[$i]."<br>\n";	}}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

hinom,muito obrigado! Era isso mesmo que eu queria. Você apenas se esqueceu de um detalhe: parar o loop que procura as " (aspas). Veja o porquê.

<img src="imagens/minha_imagem.jpg" width="100" height="100"><a href="http://www.meusite.com.br">clique aqui</a>
Se tivermos o código acima em somente uma linha, o código dado por você (hinom) vai me retornar:

imagens/minha_imagem.jpg100100http://www.meusite.com.br

Mas, como o objetivo era somente pegar o caminho da imagem na tag <IMG>, colocamos um "break;" na sequinte parte:
if($aspa==2){     $retornar .= ",".$agrupar;     $agrupar = "";     $aspa = 0;     break;}
Valeu?Eu tb coloquei isso para os futuros leitores.Falow pessoal. T+.

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso mesmo! depois que postei esse script fiquei brincando um pouco com elee dei umas modificadas, segunda-feira coloco aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso mesmo! depois que postei esse script fiquei brincando um pouco com elee dei umas modificadas, segunda-feira coloco aqui

o codigo:
<?ini_set("magic_quotes_runtime", "off");?>	<form action="<?=$PHP_SELF;?>" method="POST">	arquivo ou endereço web:<br><input type=text name=arquivo value="<?if(isset($arquivo) && trim($arquivo)!=""){?><?=$arquivo;?><?}?>" size=50>	<input type=submit value=ok>	</form><hr><?if(isset($arquivo) && trim($arquivo)!=""){	$procurar = "<img";	$tam = strlen($procurar);	$retornar = "0";	$sep = "ð";	$txt = fopen($arquivo,"r");	while($linha = fgets($txt,1024)){  $limite = strlen($linha);  $i=0;  while($i<$limite-$tam){ 	 $trecho = substr($linha,$i,$tam); 	 if( $trecho == $procurar ){    $agrupar = $procurar;    $k = 0;    for($j=($i+$tam);$j<$limite;$j++){   	 $trecho2 = substr($linha,$j,1);   	 if($k==0){   	 $agrupar .= $trecho2;   	 }   	 if($trecho2==">"){   	 $k++;   	 }   	 if($k==1){      $retornar .= $sep.$agrupar;      $agrupar = "";      $k = 0;      break;   	 }    } 	 }  $i++;  }	}	fclose($txt);	$retornar = str_replace("'","\"",$retornar);	$imagem = explode($sep,$retornar);	echo "<b>imagens:</b><br>";	$sep = "src=";	for($i=1;$i<sizeof($imagem);$i++){  $src = explode($sep,$imagem[$i]);  echo $src[1]."<br>\n";  /*  $k = 0;  $agrupar = "";  for($j=0;$j<strlen($src[1]);$j++){ 	 $trecho = substr($src[1],$j,1); 	 if($k==1){ 	 $agrupar .= $trecho; 	 } 	 if($trecho=="\""){ 	 $k++; 	 } 	 if($k==2){    $agrupar = str_replace("\"","",$agrupar);    break; 	 }  }  echo $agrupar."<p>\n";  */	//echo $imagem[$i]."<br>\n";	}}?>

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.