Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Luisango en 10 Abril 2007, 21:47 pm



Título: Editor de archivos online
Publicado por: Luisango en 10 Abril 2007, 21:47 pm
Hola!
Vi un codigo para editar archivos online por internet y lo modifique a mi gusto y en algunos aspectos, como para que te leyese archivos de otras carpetas y otras cosillas mas para que funcionase bien, de momento me lee todos los archivos pero no me los guarda, y no se cual es el error (si es que lo hay).
Bien os explico como funciona:
Código:
editar.php?archivo=ARCHIVO.extension
editar.php?archivo=carpeta/carpeta/ARCHIVO.extension
Bien, el problema es que cuando le doy a guardar no sale la otra parte, se va a ella pero sigue saliendo la misma, la de editar el codigo, y no sale la de archivo guardado :S

A ver si me echais una manita, asias :)

Código:
<title>Editar un archivo</title>
<body topmargin="0" rightmargin="0" leftmargin="0">
<?php
$completo  = explode(".", $_GET[archivo]);
$archivo   = $completo[0];
$extension = $completo[1];
$dominio    = "rm.ayudapc.info"; // Bueno, aqui el dominio, pero es solo para hacer de bonito jeje

 function write_fil($arch, $titulo) {
 if ($fp = fopen($arch, "w")) {
        fwrite ($fp, stripslashes($titulo));
        fclose($fp);
        return 1;
        }
 else { return 0; }
        };

if($_GET[action] == ""){
$archi = "$archivo.$extension";
$abrir = @fopen($archi,"r");
$codigo = @fread($abrir, @filesize($archi));
@fclose($abrir);
?>
<style type="text/css">
<!--
.style1 {
color: #FFFFFF;
font-weight: bold;
font-family: Geneva, Arial, Helvetica, sans-serif;
font-size: 11px;
padding: 10px;
}
body {
background-color: #CCCCCC;
}
-->
</style>

<table width="100%" height="100%" border=1 bordercolor="#FFFFFF" cellpadding="0" cellspacing="0">
<tr><td>
<table border="0" width="100%" height="100%" cellpadding="4" cellspacing="1" >
  <tr>
    <td height="29" align="center" valign="top" bgcolor="#003399" >
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="2%" rowspan="2"><img src="http://tbn0.google.com/images?q=tbn:LPNqqdvcWV_H2M:http://www.negative99.com/images/dreamweaver_gray_sm.gif" /></td>
          <td width="98%"><div class="style1"> Editor online - [<?="http://".$dominio."/".$archivo.".".$extension ?>]</div></td>
        </tr>
        <tr>
          <td></td>
        </tr>
      </table>
    </td>
  </tr>
  <tr valign="top">
    <td align="center" bgcolor="#666666" ><div align="left"><form method=post action='editar.php?action=ver&archivo=<?php echo $archivo.".".$extension ?>' id=form1 name=form1 enctype="multipart/form-data">
          <textarea name=descargar rows="42" class='form' style="width: 100%; height:90%;border:0px solid;"><?php echo $codigo ?></textarea>
          <br>
          <br>
          <input type='submit' name='enviar' value='Guardar' class='form'>
    </form>
    </div></td>
  </tr>
</table>
</td></tr>
</table>
<?php
nombre     = $_POST['descargar'];

}
else if($_GET[action] == "ver")
{
if (isset($descargar)&&($descargar!=""))
{
$rs = write_fil($archivo.".".$extension, "$descargar");
$archi = "$archivo.$extension";
$abrir = fopen($archi,"r");
$codigo = fread($abrir, filesize($archi));
fclose($abrir);
?>
<table border="1" width="100%" cellpadding="4" cellspacing="1" >
  <tr>
    <td height="29" align="center" ><div align="left">Editar <?php echo $archivo.".".$extension ?></div></td>
  </tr>
  <tr>
    <td height="2" align="center" ><div align="left">* Archivo modificado satisfactoriamente.</div></td>
  </tr>
</table>
<?php
}  }
?>


Título: Re: Editor de archivos online
Publicado por: Red Mx en 11 Abril 2007, 18:05 pm
El easy News trai un editor de archivos bajatelo igual te sirve

no mas que el server de mi web no sirve ahorita te pongo la descarga provisional

http://ladinastia.webcindario.com/destmp/easynews.zip


Título: Re: Editor de archivos online
Publicado por: Luisango en 11 Abril 2007, 20:00 pm
Ya me lo he bajado, lo miro a ver que tal  y te cuento que tal va por aqui!


Título: Re: Editor de archivos online
Publicado por: programatrix en 11 Abril 2007, 20:33 pm
Yo una vez cree uno.., lo mostraba en un textbox los datos al cargarlos, lo más importante es quitar los caracteres raros que salen por las magic quotes en el textbox, solucionando eso ya sale bien y es facil.
Saludos


Título: Re: Editor de archivos online
Publicado por: Luisango en 13 Abril 2007, 15:01 pm
Ya funciona mas o menos bien, solo tiene un fallo, es que no guarda bien la informacion en el txt, explico: yo guardo bien el archivo (Graficamente), y lo vuelvo a abrir y todas las " y las ' me aparecen con un \ delante, bien ahora lo guardo (Graficamente) de nuevo y me aparecen los \" y los \' de antes con otra barra delante como esta \ :S

Ayuda plis!

PD: Cuando lo termine, lo subire aqui para que podais descargar todo el script entero ;)
PD2: Gracias RedMx!


Título: Re: Editor de archivos online
Publicado por: Luisango en 13 Abril 2007, 18:24 pm
una duda mas, para contar las lineas de un archivo?....

Gracias!


Título: Re: Editor de archivos online
Publicado por: deya en 13 Abril 2007, 20:55 pm
Lo de las barritas:

stripslashes()
http://www.php.net/manual/es/function.stripslashes.php

Para contar las líneas de un archivo (lo más sencillo posible) :

Código:
$contador = 0;
$archivo = file('datos.txt');
foreach($archivo as $line)
$contador++;
echo $contador;

Salu2  ;)


Título: Re: Editor de archivos online
Publicado por: Luisango en 13 Abril 2007, 23:21 pm
Ya he encontrado otra manera jeje:

Código:
<?
$aba = "archivo";
$fp = fopen($aba,'r');
$codigo = fread($fp, filesize($aba));
$array = explode("\n", $codigo);
$cuenta = count($array);
for($i = 0;$i < $cuenta; $i++){
echo $array[$i]."<br>";
}
?>

Me ha costado hacerlo, porque nunca habia hecho un for y es un poco enrevesado pero es eficiente, pero gracias deya