Jump to content


Photo

Edição Remota


  • Faça o login para participar
22 replies to this topic

#1 pcclaro

pcclaro

    Turista

  • Usuários
  • 29 posts
  • Sexo:Não informado

Posted 03/08/2007, 20:53

Pessoal, sabe aqueles servidores que tem um editor online onde vc cria, deleta e atualiza suas páginas ???? pois bem, criei um arquivo que criará os arquivos e outro arquivo que irá listar o diretório, mas como poderei fazer para atualizar e apagar um arquivo selecionado ?

Edição feita por: pcclaro, 03/08/2007, 20:53.


#2 savior

savior

    Campanha [codebox], use ou morra :D

  • Usuários
  • 1229 posts
  • Sexo:Masculino
  • Localidade:Curitiba, PR - Brasil
  • Interesses:Na vida ;P

Posted 03/08/2007, 22:21

http://en.php.net/ma...ction.fopen.php
http://en.php.net/ma...tion.fwrite.php
http://en.php.net/ma...tion.fclose.php

quem sabe lhe ajude (y)

[lastfm] [blog]

Campanha codebox: use-a ou morra!
bfmaster_duran[at]yahoo.com.br


#3 pcclaro

pcclaro

    Turista

  • Usuários
  • 29 posts
  • Sexo:Não informado

Posted 04/08/2007, 00:33

aiii vc me quebra savior,não entendo em ingles e as paginas não estão funcionando,mas vlw.....

eu achei elas em pt acho que é isso né :
http://www.php.net/m...ction.fopen.php
http://www.php.net/m...tion.fwrite.php
http://www.php.net/m...tion.fclose.php

ja li esse manual de ponta cabeça.rs...mas não to conseguindo fazer
AQUI
me ajudem por favore !

Edição feita por: pcclaro, 04/08/2007, 00:35.


#4 B!ö$

B!ö$

    12 Horas

  • Usuários
  • 129 posts
  • Sexo:Masculino
  • Localidade:Randômico

Posted 04/08/2007, 01:44

<?php
// ler o conteúdo do arquivo para uma string
$arquivo = "arquivo.php";//arquivo que será aberto
$handle = fopen ($arquivo, "r");
$conteudo = fread ($handle, filesize ($arquivo));
fclose ($handle);
print "<textarea>$conteudo</textarea>";

if (is_writable($arquivo)) {

	// Em nosso exemplo, nós estamos abrindo $filename em modo de append (acréscimo).
	// O ponteiro do arquivo estará no final dele desde
	// que será aqui que $conteudo será escrito com fwrite().
	if (!$handle = fopen($arquivo, 'a')) {
		 print "Erro ao tentar abrir $arquivo, verifique se ele realmente existe!";
		 exit;
	}

	// Escrevendo $conteudo para o arquivo aberto.
	if (!fwrite($handle, $conteudo)) {
		print "Erro escrevendo no arquivo ($arquivo)";
		exit;
	}

	print "$arquivo foi atualizado com sucesso!";

	fclose($);

} else {
	print "Não foi possível atualizar o $arquivo!";
}
?>
É nescessário que o arquivo que seja eaplicado este código esteja com permissão para escrita(CMOD 777)

Está pré-construido, falta você dar os toques finais!

Edição feita por: B!ö$, 04/08/2007, 01:47.


#5 pcclaro

pcclaro

    Turista

  • Usuários
  • 29 posts
  • Sexo:Não informado

Posted 04/08/2007, 02:59

Valeu B!ö$ agora...

Na página onde vou listar os arquivos do diretório, como faço para por um checkbox para deletar os selecionados e os bt para alterar e excluir ?
olhem a imagem<<

Edição feita por: pcclaro, 04/08/2007, 03:02.


#6 B!ö$

B!ö$

    12 Horas

  • Usuários
  • 129 posts
  • Sexo:Masculino
  • Localidade:Randômico

Posted 04/08/2007, 14:06

Não entendi muito bem sua pergunta, mas vou postar oque entendi...
Os checkbox você pode denomina-los por arrays...
<input name="check[1]" type="checkbox" />
<input name="check[2]" type="checkbox" />

Depois só criar um loop, para fazer as devidas ações com os checados...
foreach($check as $v){
	//Deleta os arquivos selecionados
	if($v==1){
		unlink($v);
	}
}

Ambos códigos, pré-construídos também.

Bom proveito.

Edição feita por: B!ö$, 04/08/2007, 14:07.


#7 pcclaro

pcclaro

    Turista

  • Usuários
  • 29 posts
  • Sexo:Não informado

Posted 04/08/2007, 15:58

B!ö$, muito obrigado pela força, mas me dê uma mão aqui,,,,não consegui aplicar o array que vc me passou, olha o codigo :


<table width="50%" border="0" align="center">
   <tr bgcolor="#CCCCCC">
	<td width="60%"><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Arquivo</font></strong></div></td>
	<td width="40%"><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Data de Upload</font></strong></div></td>
	 </tr>

<?php
   if ($handle=opendir(".")) {						  
	  $x=0;
	  while (false!==($file=readdir($handle))) {			
		 if ($file!="." && $file!="..") {			   
			   $matriz[$x]=$file;					
			   $x++;
		 } 
	  } 
	  closedir($handle);							  
   } 
   $x=0;
   while(@$matriz[$x]) {							  
	  if($x%2==0) {
		 echo '<tr bgcolor="#FFFFCC">';
	  } 
	  else {
		 echo '<tr bgcolor="#FFFF99">';
	  } 
	  echo '   
 <td><strong><input name="check[1]" type="checkbox" /><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="'.$matriz[$x].'">'.$matriz[$x].'</a></font></strong></td>	
 <td align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">'.date("d/m/Y - H:i", filemtime($matriz[$x])).'</font></strong></td>
  </tr>
	  ';
	  $x++;
   } 
?>

</table>


#8 B!ö$

B!ö$

    12 Horas

  • Usuários
  • 129 posts
  • Sexo:Masculino
  • Localidade:Randômico

Posted 04/08/2007, 16:07

Vê se resolve:
<table width="50%" border="0" align="center">
   <tr bgcolor="#CCCCCC">
	<td width="60%"><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Arquivo</font></strong></div></td>
	<td width="40%"><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Data de Upload</font></strong></div></td>
	 </tr>

<?php
   if ($handle=opendir(".")) {						  
	  $x=0;
	  while (false!==($file=readdir($handle))) {			
		 if ($file!="." && $file!="..") {			   
			   $matriz[$x]=$file;					
			   $x++;
		 } 
	  } 
	  closedir($handle);							  
   } 
   $x=0;
   foreach($matriz as $n => $v){							  
	  if($n%2==0) {
		 echo '<tr bgcolor="#FFFFCC">';
	  } 
	  else {
		 echo '<tr bgcolor="#FFFF99">';
	  } 
	  print "\n<td><strong><input name=\"check[$n]\" type=\"checkbox\" /><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href=\"$v\">$v</a></font></strong></td><td align=\"center\"><strong><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">".date("d/m/Y - H:i", filemtime($v))."</font></strong></td> </tr>";
   } 
?>

</table>

Edição feita por: B!ö$, 04/08/2007, 16:09.


#9 pcclaro

pcclaro

    Turista

  • Usuários
  • 29 posts
  • Sexo:Não informado

Posted 04/08/2007, 17:20

B!ö$, apartir do que vc me passou, acrescentei os input olha como ficou:

<table width="50%" border="0" align="center">
   <tr bgcolor="#CCCCCC">
	<td width="60%"><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Arquivo</font></strong></div></td>
	<td width="40%"><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Data de Upload</font></strong></div></td>
	 </tr>

<?php
   echo"<form action=\"apaga.php?source=\" method=\"POST\">";
  
   if ($handle=opendir(".")) {						  
	  $x=0;
	  while (false!==($file=readdir($handle))) {			
		 if ($file!="." && $file!="..") {			  
			   $matriz[$x]=$file;					
			   $x++;
		 }
	  }
	  closedir($handle);							  
   }
   $x=0;
   foreach($matriz as $n => $v){							  
	  if($n%2==0) {
		 echo '<tr bgcolor="#FFFFCC">';
	  }
	  else {
		 echo '<tr bgcolor="#FFFF99">';
	  }
	  print "\n<td><strong><input name=\"check[$n]\" type=\"checkbox\" /><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href=\"$v\">$v</a></font></strong></td><td align=\"center\"><strong><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">".date("d/m/Y - H:i", filemtime($v))."</font></strong></td> </tr>";
   }

 print "<input type=\"submit\" value=\"apagar\">";
 echo"</form>";


?>

</table>


E no arquivo apaga.php fiz assim:
<?
if(empty($_POST["source"])){

foreach($check as $v){
	//Deleta os arquivos selecionados
	if($v==1){
		unlink($v);
	}
}
}
?>

O que estou fazendo de errado ?? pq não apaga nada :huh:

#10 B!ö$

B!ö$

    12 Horas

  • Usuários
  • 129 posts
  • Sexo:Masculino
  • Localidade:Randômico

Posted 04/08/2007, 17:23

<?
if(empty($_GET["source"])){

foreach($check as $v){
	//Deleta os arquivos selecionados
	if($v==1){
		unlink($v);
		print $v.' apagado!';
	}
}
}
?>

Acho que resolve...

Edição feita por: B!ö$, 04/08/2007, 17:24.


#11 pcclaro

pcclaro

    Turista

  • Usuários
  • 29 posts
  • Sexo:Não informado

Posted 04/08/2007, 22:30

B!ö$, não resolveu não, acho que errei no action ...ve ai se ta certo:

echo"<form action=\"apaga.php?source\" method=\"GET\">";

pq não aparece a mensagem "apagado!".

#12 B!ö$

B!ö$

    12 Horas

  • Usuários
  • 129 posts
  • Sexo:Masculino
  • Localidade:Randômico

Posted 04/08/2007, 22:48

Correções:
1
echo"<form action=\"apaga.php?source=1\" method=\"post\">";
2
<?
if($_GET["source"]==1){

foreach($check as $v){
	//Deleta os arquivos selecionados
	if($v==1){
		unlink($v);
		print $v.' apagado!';
	}
}
}
?>

Aqui funcionou.

#13 pcclaro

pcclaro

    Turista

  • Usuários
  • 29 posts
  • Sexo:Não informado

Posted 05/08/2007, 00:48

Ué, coloquei os dois como GET, e olha o que apareceu:

Notice: Undefined index: source in c:\arquivos de programas\easyphp1-8\www\apaga.php on line 2

pq ?

#14 B!ö$

B!ö$

    12 Horas

  • Usuários
  • 129 posts
  • Sexo:Masculino
  • Localidade:Randômico

Posted 05/08/2007, 02:06

Bom enquanto ao erro não sei :S pos aqui imprimiu normal...

Lembro que o formolário é metodo post mesmo. Copie o código abaixo, exatamente como está.

1
<table width="50%" border="0" align="center">
   <tr bgcolor="#CCCCCC">
	<td width="60%"><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Arquivo</font></strong></div></td>
	<td width="40%"><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Data de Upload</font></strong></div></td>
	 </tr>

<?php
   echo"<form action=\"apaga.php?source=\" method=\"POST\">";
  
   if ($handle=opendir(".")) {						  
	  $x=0;
	  while (false!==($file=readdir($handle))) {			
		 if ($file!="." && $file!="..") {			  
			   $matriz[$x]=$file;					
			   $x++;
		 }
	  }
	  closedir($handle);							  
   }
   $x=0;
   foreach($matriz as $n => $v){							  
	  if($n%2==0) {
		 echo '<tr bgcolor="#FFFFCC">';
	  }
	  else {
		 echo '<tr bgcolor="#FFFF99">';
	  }
	  print "\n<td><strong><input name=\"check[$v]\" type=\"checkbox\" /><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href=\"$v\">$v</a></font></strong></td><td align=\"center\"><strong><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">".date("d/m/Y - H:i", filemtime($v))."</font></strong></td> </tr>";
   }

print "<input type=\"submit\" value=\"apagar\">";
echo"</form>";


?>

</table>
2
<?
if($_GET["source"]==1){	
	foreach($_POST['check'] as $n => $v){
		//Deleta os arquivos selecionados
		if($v==1){
			unlink($v);
			print $v.' apagado!';
		}
	}
}


#15 pcclaro

pcclaro

    Turista

  • Usuários
  • 29 posts
  • Sexo:Não informado

Posted 05/08/2007, 02:59

assim não funciona não cara, tentei e aparece só uma tela branca e os arquivos não são deletados, mas no arquivo "apaga.php", ele não verifica se o comando foi GET ?pq mandando um POST ele não pega, ou falei besteira ?????ainda não funcionou :(




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq