Ir para conteúdo

Arquivado

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

lucaswxp

Editar script em tempo real

Recommended Posts

Tem algum jeito de editar o scipt de uma pagina php em tempo real?

Tipo, tem um formulario com um campo 'textarea' com todo o codigo de uma pagina, ae eu vo la altero oque quero e clico em 'salvar alterações feitas' e pronto, o codigo daquela pagina foi alterado....

Da pra fazer isso de algum jeito?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wow o.o são realmente muitas funçõezinhas :P

Você não teria algo mais especifico, acho que mesmo que aprenda todas estas funções iria precisar de um ponta pé inicial, como por exemplo um tuto ~_~ se tiver serve ingles mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta isso ^_^

 

 

editar.pagina.php

<form method='POST' action='gravar.php'>
Página: <br><textarea name="pg" cols="50">
<?php
$arquivo = @fopen("pagina.teste.php", "r"); 
if ($arquivo) {
	while (!feof($arquivo)) {
		$linhas = fgets($arquivo, 123456);
		echo $linhas;
	}
	fclose($arquivo);
}
?></textarea><br>
<input type='submit' value='Editar Página'>
</form>

gravar.php

$pag = $_POST["pg"];
$arquivo = "pagina.teste.php";
if (!$abrir = fopen($arquivo, "w")) {
		 echo  "deu erro na bagaça  ($arquivo)";
		 exit;
	}
fwrite($abrir, $pag);
echo "<a href='$arquivo'>Arquivo gravado com Sucesso !! </a>";
fclose($abrir);
?>

eu normalmente uso isso que você ta querendo, mas uso em bd e não editar diretamente um arquivo.

 

daí eu montei o codigo acima

 

não comentei o codigo porque ele mesmo se auto explica.

 

espero ter ajudado

 

[edit]obs: tudo que está no codigo acima está aqui:

 

Beraldo disse:

Dá.

veja as funções de manipulação de arquivos.

 

http://www.php.net/filesystem

[/edit]

 

 

 

abraçU

Compartilhar este post


Link para o post
Compartilhar em outros sites

rapah

 

para esse script eu uso o CHMOD 755

 

mas eu não tinha pensado nessa hipotese

 

depois eu vou testar isso :D

 

e então era isso que você quiria ?

 

abraçU

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que deve funcionar com 744 mesmo. Mas essa é a permissão para os arquivos.

O diretório não pode, de forma alguma, ter permissão de escrita para quem não é dono. Pode ser 755

 

Caso seja... então sendo assim qualquer um pode pegar um script deste colocar para rodar no server dele e pegar minha pagina?

Isso ocorrerá se o diretório tiver permissão de execução. Mas isso ocorreria se o usuário tivesse acesso ao terminal de comandos do servidor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@amdoim

Sim, era isso mesmo que eu queria, se bem que ainda nao testei, meu PC ta reiniciando a cada 10 minutos -_-

Testa ae e posta pra nós! :P

 

@beraldo

Hein, você não terei um tutorial (que de para entender bem :P) falando sobre CHMOD? Pois eu nao entendo muito disso -_-

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Amdoim, estou com um problema semelhante , preciso que o arquivo teste.php, seja gerado com mesmo nome das linhas de uma query, tem como fazer isso ?

 

editar.pagina.php

<form method='POST' action='gravar.php'>
Página: <br><textarea name="pg" cols="50">
<?php
$arquivo = @fopen("pagina.teste.php", "r"); 
if ($arquivo) {
	while (!feof($arquivo)) {
		$linhas = fgets($arquivo, 123456);
		echo $linhas;
	}
	fclose($arquivo);
}
?></textarea><br>
<input type='submit' value='Editar Página'>
</form>

gravar.php

$pag = $_POST["pg"];
$arquivo = "pagina.teste.php";
if (!$abrir = fopen($arquivo, "w")) {
		 echo  "deu erro na bagaça  ($arquivo)";
		 exit;
	}
fwrite($abrir, $pag);
echo "<a href='$arquivo'>Arquivo gravado com Sucesso !! </a>";
fclose($abrir);
?>

se precisar de mais detalhes http://forum.imasters.com.br/index.php?showtopic=333401

 

 

abraco !

Compartilhar este post


Link para o post
Compartilhar em outros sites

@lucaswxp

rapah eu ainda ñao testei, mas assim que eu testar, eu posto aki o que aconteceu, mas pelo que o beraldo falou nao vai dar certo ^_^

 

@penso

rapah, eu não intendi o que você quer, é tipo criar paginas com alguns nomes armazenados num BD?

 

se for você tem que setar a variavel $arquivo com o registro no bd.

 

ex: tabela = paginas | coluna = criar_pagina | coluna = id_pagina

 

dai você vai identificar que pagina você ker criar atraves da coluna id_pagina e

 

pegar o nome da pagina na coluna criar_pagina

 

e depois vai setar a variavel $arquivo=campo=criar_pagina

 

mais ou menos assim .

 

se não for me explique melhor, pois não sei muito de php.

 

descupa a demora em responder é que ando um pouco ocupado.

 

 

abraçU

Compartilhar este post


Link para o post
Compartilhar em outros sites

ei penso

 

eu pensei e fiz depois de quase uma hora trabalhando nisso eu consegui ^^

 

é bem o que eu escrivi no post acima

 

eu gostei do que fiz e ainda implantei uma coisinha a mais

 

pode fazer o que eu disse no post anterior

 

olha como ficou no final ^^

 

Imagem Postada

 

se não conseguir, depois eu vou postar lah no laboratorio de script ( não sei quando )

 

pra quem sabe isso é facil fazer, mas pra quem não sabe, como eu,

 

da um trabalho loco ....

 

por que eu não postei o codigo aqui?

 

porque se eu postar ele do jeito que tá

 

nem eu vou intender o que eu fiz nele

 

abraçU

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Amdoim !!

 

acho que não te expliquei direito, o site eu fiz em flash, tipo um catalogo online, e vai ter um admin para o cliene, em xml funciona que é uma maravilha, mais tenho que transformar o xml em php, existem categorias e sub categorias , na cetegotia masculino existe a subCategoria tenis,sapatos,chuteiras, etc.

Então, do jeito que fiz o xml do swf, para gerar em php eu preciso que as sub categorias gerem cada uma um xml diferente ( pois existe cores descrição,tamanho, etc.) o problema agora é fazer com que estes arquivos sejam um xml das respectivas query.

 

arquivo masculino.php não pstei todo o script para não complicar, só coloquei a parte que não to conseguindo resolver.

 

 

 

<?php

$mas = mysql_query($query_mas, $lerxml); // aqui ler a query , tudo Ok

while($dados = mysql_fetch_assoc($mas)){

$arquivo = $dados['nome']; // aqui ele pega a lista da coluna nome, tudo ok

fopen($arquivo,x); // aqui ele gera os arquivos da coluna nome, qual o prximo passo para gerer os xml ( tenis.xml - sapato.xml-chinelo.xml)

?>

 

o arquivo masculino.php gera este xml , tudo ok

 

<calcados>

<Secao>

<data FotoPq="imagens/tenis.jpg" nome="tenis" codigo="12345"><br/>3-cores</data>

<data FotoPq="imagens/sapato.jpg" nome="sapato" codigo="25443"><br/>2 cores</data>

<data FotoPq="imagens/chinelo.jpg" nome="chinelo" codigo="87654"><br/>7 cores</data>

</Secao>

</calcados>

 

obs: tenis gera tenis.xml

sapato gera sapato.xml

chinelo gera chinelo.xml

 

arquivo tenis.xml

<tenis>

<cores>

<data FotoGd="imagens/tenisBranco.jpg"> descrição<br/>Branco-<br/>Numeração-<br/>Valor</data>

<data FotoGd="imagens/tenisAzul.jpg">descrição<br/>Azul-<br/>Numeração-<br/>Valor</data>

<data FotoGd="imagens/tenisMarinho.jpg">descrição<br/>Marinho-<br/>Numeração-<br/>Valor</data>

</teenis>

 

sapato.xml igual tenis.xml

chinelo.xml igual tenis.xml

etc....

 

 

espero que tenha entendido

 

Abração

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso ai foi exatamente o que eu ti disse e fiz

 

só que ao invez de você usar

 

<?php
$mas = mysql_query($query_mas, $lerxml); // aqui ler a query , tudo Ok
while($dados = mysql_fetch_assoc($mas)){
$arquivo = $dados['nome']; // aqui ele pega a lista da coluna nome, tudo ok
fopen($arquivo,x); // aqui ele gera os arquivos da coluna nome, qual o prximo passo para gerer os xml ( tenis.xml - sapato.xml-chinelo.xml)
?>

tente dessa forma

 

<?php
$mas = mysql_query($query_mas, $lerxml); // aqui ler a query , tudo Ok
while($dados = mysql_fetch_assoc($mas)){
$arquivo1 = $dados['nome']; // aqui ele pega a lista da coluna nome, tudo ok
$arquivo = $arquivo1 . ".xml";
if (!$abrir = fopen($arquivo, "w")) {
		 echo  "deu erro na bagaça  ($arquivo)";
		 exit;
	}
fwrite($abrir, $DADOS_PRA_INSERIR_NO_ARQUIVO);
echo "<a href='$arquivo'>Arquivo gravado com Sucesso !! </a>";
fclose($abrir);// aqui ele gera os arquivos da coluna nome, qual o prximo passo para gerer os xml ( tenis.xml - sapato.xml-chinelo.xml)

?>

 

abraçU

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amdoim meu camarada!! já to quase lá, esse codigo seu na deu certo, resolvir então afiar o dedo e vara a madrugada.. rs

 

Bom, este gera os arquivos que eu queria com a extenção xml, só que só ta gravando no ultimo arquivo e mesmo assim não ta lendo a query, garanto que não é a conecxão. olha só o que sai !!!

 

<?xml version="1.0" encoding="utf-8"?>

 

<calcados>

 

<calcados>

 

 

já fiz echo com uma mensagem e saiu em todos, só não to conseguindo com o xml.. pq será?

 

 

<?php
$mas  = mysql_query($query_mas, $lerxml);
while($dados = mysql_fetch_assoc($mas)){
$arquivo = $dados['nome'];
$xml = fopen($arquivo.".xml","x");
}

fwrite($xml, "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n\n<calcados>");
 while($exibir = mysql_fetch_array ($query_consulta))
 {
 $conteudo = "\n\n<secao>\n";
 $conteudo .= "<img>$exibir</img>\n";
 $conteudo .= "<opc>$exibir</opc>\n";
 $conteudo .= "<nav>$exibir</nav>\n";
 $conteudo .= "<marca>$exibir</marca>\n";
 $conteudo .= "<qtd>$exibir</qtd>\n";
 $conteudo .= "\n</secao>";
 
 fwrite($xml.$conteudo);
 }
 fwrite($xml,"\n\n<calcados>");
?>

Vou lançar um desafio!

se me ajudar a resolver essa bagaça, vou compartilhar o projeto com você.

 

ta show de bola !!!

 

Falw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quem é essa variável?

$query_consulta ??? cadê o resorce da consulta ?

while($exibir = mysql_fetch_array ($query_consulta))
{
$conteudo = "\n\n<secao>\n";
$conteudo .= "<img>$exibir['campoImg']</img>\n";
$conteudo .= "<opc>$exibir['campoOpc']</opc>\n";
$conteudo .= "<nav>$exibir['campoNav']</nav>\n";
$conteudo .= "<marca>$exibir['campoMarca']</marca>\n";
$conteudo .= "<qtd>$exibir['campoQtd']</qtd>\n";
$conteudo .= "\n</secao>";
Então... qual é a estrutura dessa tabela, q deveria preencher o xml?

você nem realizou essa query... o fetch_array deveria ter falhado.

 

Coloque isso no começo do teu script:

ini_set('display_errors', 1);
Ai qndo retornar algum erro, você nos diz qual.

http://br2.php.net/ini_set

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.