Comunidad de diseño web y desarrollo en internet online

PHP que modifica un TXT (no me funciona)

Citar            
MensajeEscrito el 09 Abr 2009 04:17 pm
Hola amigos,

Tengo este código PHP, el cual quiero utilizar para modificar un archivo .TXT cómodamente sin tener que utilizar el FTP. No funciona ¿Alguna sugerencia? GRACIAS!!

Código :

<?php
// Define el usuario y la contraseña de acceso
$username = "admin";//Aqui el nombre de usuario
$password = "mipassword";// Aqui la contraseña
if ($_POST['txtUsername'] != $username || $_POST['txtPassword'] != $password) {
?>
<h2>Logueate</h2>
<form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<p><label for="txtUsername">Username:</label>
<br><input type="text" title="Introduce nombre de usuario" name="txtUsername"></p>
<p><label for="txtpassword">Password:</label>
<br><input type="password" title="Introduce la contraseña" name="txtPassword"></p>
<p><input type="submit" name="Submit" value="Login"></p>
</form>
<?php
}else {
?>
<p><?php
$fichero = "texto.txt";
$texto = $_POST["texto"];
if($texto != ''){
   if($fp = fopen($fichero,"w+")){
      fwrite($fp,stripslashes($texto));
      echo 'Archivo modificado<br><br>';
   }
   fclose($fp);
}
$fp = fopen($fichero,"r"); 
$contenido = fread ($fp, filesize ($fichero));
fclose($fp);
echo "<form method='POST'><textarea name='texto'>$contenido</textarea><br><input type='Submit' value='Guardar'></form>";
?></p>
<?php
}
?>

Por Hucles

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Abr 2009 07:35 pm

Hucles escribió:

Hola amigos,

Tengo este código PHP, el cual quiero utilizar para modificar un archivo .TXT cómodamente sin tener que utilizar el FTP. No funciona ¿Alguna sugerencia? GRACIAS!!

Código :

<?php
// Define el usuario y la contraseña de acceso
$username = "admin";//Aqui el nombre de usuario
$password = "mipassword";// Aqui la contraseña
if ($_POST['txtUsername'] != $username || $_POST['txtPassword'] != $password) {
?>
<h2>Logueate</h2>
<form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<p><label for="txtUsername">Username:</label>
<br><input type="text" title="Introduce nombre de usuario" name="txtUsername"></p>
<p><label for="txtpassword">Password:</label>
<br><input type="password" title="Introduce la contraseña" name="txtPassword"></p>
<p><input type="submit" name="Submit" value="Login"></p>
</form>
<?php
}else {
?>
<p><?php
$fichero = "texto.txt";
$texto = $_POST["texto"];
if($texto != ''){
   if($fp = fopen($fichero,"w+")){
      fwrite($fp,stripslashes($texto));
      echo 'Archivo modificado<br><br>';
   }
   fclose($fp);
}
$fp = fopen($fichero,"r"); 
$contenido = fread ($fp, filesize ($fichero));
fclose($fp);
echo "<form method='POST'><textarea name='texto'>$contenido</textarea><br><input type='Submit' value='Guardar'></form>";
?></p>
<?php
}
?>


Bueno amigo, la respuesta a tu problema es simple, el archivo no es modificado por que al enviar el formulario de modificacion, vuelve a pedir usuario y contraseña, para que no te suceda esto, necesitaras crear una pequeña session, para que deje de pedir que te vuelvas a logear.

Por anarkes

2 de clabLevel



 

Mexico

firefox
Citar            
MensajeEscrito el 13 Abr 2009 04:17 pm
Hola anarkes
Por desconocimiento y experiecnia en PHP, soy incapaz de implementar esa sesión que mencionas ¿Podrías ayudar?
Gracias

Por Hucles

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Abr 2009 03:57 pm
help, help, help...

Por Hucles

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Abr 2009 05:51 pm
Quita eso de usuario y contraseña de tu archivo, despues haces un nuevo archivo llamado "login.php" con el siguiente contenido

Código :

<?php
function loginHTTP(){
   header('WWW-Authenticate: Basic realm="Introduce los datos :D"');
   header('HTTP/1.0 401 Unauthorized');
   die('<center>Para tener acceso debe iniciar sesion.<hr size=1><a href="'.$_SERVER['PHP_SELF'].'">Iniciar Sesion</a></center>');
}

$adminname = 'r00t'; // Usuario
$adminpass = '31337'; // Contraseña
$username = $_SERVER['PHP_AUTH_USER'];
$userpass = $_SERVER['PHP_AUTH_PW'];
if ( $username != $adminname || $userpass != $adminpass ) {
   loginHTTP();
   die();
}
?>


y en tu codigo que tienes actualmente ( y los archivos que requieran proteccion) pones

Código :

<?php require("login.php"); ?>


de esta forma los proteges usando sesiones HTTP :D

Por Azielito

79 de clabLevel



 

Frente al PC

firefox
Citar            
MensajeEscrito el 17 Abr 2009 07:52 am
Azielito
Como agradezco tu ayuda! Tan sólo una cosa; el mensaje que trato de imprimir en la pantalla de mi banner, genera un doble espacio entre las dos líneas de texto de que se compone. Por mucho que lo manipulo desde ese formulario, no logro impedir ese salto de carro. Tengo que utilizar un archivo que no haya sido editado de esta forma, para que desaparezca ese espacio interlineal.

¿Alguna pista de por qué puede ser? No es del marco de texto del archivo FLA, porque lo tengo sin espacio interlineal también.

Gracias !!

Por Hucles

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Abr 2009 02:04 pm
aaaaaaaaaaaaa no entendi :oops:

Pon el texto como lo realiza y luego me pones el texto como quieres que salga ^^

Por Azielito

79 de clabLevel



 

Frente al PC

firefox
Citar            
MensajeEscrito el 13 Ago 2009 05:11 am
les platico.

hay un sitio hecho en flash, dicho sitio, "llama" a unos txt que contienen un listado de productos. hasta ahi todo va de maravilla

ahora bien, se me ocurrio, que para evitar la necesidad de enseñar al dueño del sitio a subir y bajar archivos por ftp, seria bueno crear unos php que leyeran los txt de su directorio original, y permitieran modificarlo, aqui les pego los codigos.

php modifica.php
- este codigo lo que hace es leer el directorio de "los txt", coge los nombres de los archvios y rellena un <select> con dichos nombres, para depues enviar ese dato al siguiente archivo. esto funciona bien.
Código:

Código PHP :

<?php 
$dir = "textos"; 
if($directorio=opendir($dir)){
    echo '<form action="prueba.php" method="post" name="modificar productos" id="mod">'; 
     echo '<select name="file">';
    echo '<b>Selecciona la lista de productos a modificar:</b><br>'; 
    while ($archivo = readdir($directorio)) { 
        if ($archivo == '.' or $archivo == '..') { 
            echo ""; 
        }else{
            $txt=$archivo;
            echo "<option>$txt</option>";
            }
    }
    echo '</select>';
    echo '<input type="submit" name="enviar" value="Enviar"></form>'; 
    //echo "<span class='texto_menu_Titulo'>Aplicaciones y Utilerias</span>"; 
    echo "<br><br>";
closedir($directorio); 
}else { 
 echo 'ERROR: No se ha localizado el directorio $dir'; 
} 
?>

archivo prueba.php
- este archivo lo que hace es que recibe el nombre del archivo a modificar, lo abre, rellena un textarea con el contenido, y en teoria deberia guardarlo, pero pues todo va bien, hasta el momento de guardar, no lo hace asi
Código:

Código PHP :

<?php 
$recepcion = $file;
/* con estas lineas compruebo que lo que se recibe, sea la ruta correcta hacia el archivo, puesto que pinta lo que se utilizaria como tal, como ruta*/
echo $recepcion;
echo '<br><br><br>';

/* esta linea se que podria oviarse, pero la puse mas que nada para comprobar que la informacion, de la ruta del archivo, este pasando correctamente, ya que paso la variable a otra y la vuelvo a "pintar" y sigue saliendo lo mismo*/
$fichero = $file;
echo $fichero;
echo '<br><br><br>';
/*
aqui viene lo bueno, el procedimiento si me lee el archivo, me rellena el txt, desde el textarea, puedo modificarlo, pero al momento de guardarlo, no logro recibir el mensaje "Archivo modificado", en cambio, siempre recibo, el de "no se pudo escribir el archivo" */
$texto = $_POST["texto"];
if($texto != ''){
   if($fp = fopen($file,"w+")){
      fwrite($fp,stripslashes($texto));
      echo 'Archivo modificado<br><br>';
       }else{
        echo ' No se pudo escribir el archivo';}
   fclose($fp);
}
$fp = fopen($file,"r"); 
$contenido = fread ($fp, filesize ($file));
fclose($fp);
echo "<form method='POST'><textarea name='texto'>$contenido</textarea><br><input type='Submit' value='Guardar'></form>";
?>


alguna sugerencia??

Por phatum

0 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.