Foros del Web » Programando para Internet » PHP »

script sencillo, ayuda

Estas en el tema de script sencillo, ayuda en el foro de PHP en Foros del Web. Hola. Creo que es algo sencillo, pero no tengo mucha idea. Se trata de un script que me permita escribir en un .txt y remplace ...
  #1 (permalink)  
Antiguo 09/07/2003, 01:10
 
Fecha de Ingreso: julio-2003
Mensajes: 22
Antigüedad: 14 años, 5 meses
Puntos: 0
Pregunta script sencillo, ayuda

Hola.
Creo que es algo sencillo, pero no tengo mucha idea.

Se trata de un script que me permita escribir en un .txt y remplace el texto que haya en él.
Me explico, es para un pequeño apartado en el que poder mostrar una noticia de interés y que pueda ir variando, sin necesidad de que las anteriores se muestren.

A ver si alguien puede echarme una mano...

Gracias
  #2 (permalink)  
Antiguo 09/07/2003, 01:31
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 15 años, 10 meses
Puntos: 1
gurada el archivo como texto plano en tu servidor y luego dede quieras mostrarlo lo llamas con una linea como esta:

include 'archivo.txt';

Cuando quieras hacer alguna modificacion editas el txt como cualquier otro.

Si no era esto lo que buscabas solo pregunta.
  #3 (permalink)  
Antiguo 09/07/2003, 01:39
 
Fecha de Ingreso: julio-2003
Mensajes: 22
Antigüedad: 14 años, 5 meses
Puntos: 0
Gracias Dj

Sí, pero lo que me gustaría es un script desde el que se pueda hacer mediante el navegador, sin tener que acceder mediante ftp. He visto por aquí algunos scripts de noticias, pero esos te van añadiendo las que vayas incorporando y yo no necesito tanto... (al menos de momento) y como no tengo muchos conocimientos me gustaría encontrar alguno hecho.
Seguire buscando y aprendiendo, y si alguien sabe de alguno le estaré muy agradecido.

Saludos.
  #4 (permalink)  
Antiguo 09/07/2003, 03:11
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 15 años, 10 meses
Puntos: 1
Acá te escribi algo bien sencillo, despues le puedes dar un poco mas de forma:

Código PHP:
// si se envio el formulario procesamos los datos
if($_POST['procesar']=1) {
$filename "noticias.txt";
$fd fopen ($filename"w");
fwrite($fd$_POST['texto']);
fclose($fd); 
}else{

// de lo contrario imprimimos el formulario
echo "<form method=POST action\"$PHP_SELF\">\n";
echo 
"<input type=HIDDEN name=\"procesar\" value=\"1\">\n"
echo 
"<textarea name=\"texto\"></textarea><br><br>\n";
echo 
"<input type=submit value=\"Enviar\">";
echo 
"</form>";


Recuerda darle permisos de escritura al txt donde se guardaran los datos.
Espero que te sirva.

(en la primera linea puede que necesites reemplazar "=1" por "==1" chequealo. Saludos)

Última edición por ||Dj||; 09/07/2003 a las 03:17
  #5 (permalink)  
Antiguo 09/07/2003, 03:18
Avatar de davidMS  
Fecha de Ingreso: abril-2003
Ubicación: Chepe
Mensajes: 202
Antigüedad: 14 años, 7 meses
Puntos: 0
Si te entiendo bien creo que seria asi:
1ro: para remplazar el texto en el archivo nada mas le pones "w" al fwrite.
2do: podrias hacer un file_get_contents para jalar lo que tiene el archivo en un string..
despues de ahi un echo a la variable que tiene asignada el file_get_contents.....
  #6 (permalink)  
Antiguo 09/07/2003, 03:18
Avatar de Sexma  
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 109
Antigüedad: 14 años, 6 meses
Puntos: 0
Dj que pasaria si en tu script el fichero noticias.txt ya tuviera una noticia y la noticia que quisieras insertar fuera mas corta que la que hay? Se borraria la parte de la noticia viaje que sobra???. Ahora no me acuerdo si cuando haces el fopen de un fichero se borra todo su contenido, si hace lo que digo entonces el script tendria que funcionar correctamente.
__________________
CLUB ESPORTIU UNIVERSITAT DE VALENCIA

Visita la pagina de la UV-O



  #7 (permalink)  
Antiguo 09/07/2003, 03:25
 
Fecha de Ingreso: julio-2003
Mensajes: 22
Antigüedad: 14 años, 5 meses
Puntos: 0
Gracias !

Voy a ver qué consigo, mis conocimientos en php son muyyy cortos.

Muchas gracias.
Saludos
  #8 (permalink)  
Antiguo 09/07/2003, 03:34
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 14 años, 7 meses
Puntos: 0
Hola, cuando pones w el contenido se borra cuando escribes por encima, cuando pones a enonces cada vez que escribas el puntero se pone al final de la cadena anterior, haciendo así que no se borre la anterior cadena.

Yo le daria la oportunidad, de que si quiere guardar la anterior noticia de poner a o w a su elección así:


Código PHP:
// si se envio el formulario procesamos los datos
if($_POST['procesar']==1) {
$filename "noticias.txt";
$fd fopen ($filename"$_POST['mododeescritura']");
fwrite($fd$_POST['texto']);
fclose($fd); 
}else{

// de lo contrario imprimimos el formulario
echo "<form method=POST action\"$PHP_SELF\">\n";
echo 
"<input type=HIDDEN name=\"procesar\" value=\"1\">\n";
echo 
"Aquí pon w para borrar la anteriores noticias por la nueva o pon a para guardar la anteriores noticias incluyendo la nueva";
echo 
"<input type=text name=\"mododeescritura\">\n";
echo 
"<textarea name=\"texto\"></textarea><br><br>\n";
echo 
"<input type=submit value=\"Enviar\">";
echo 
"</form>";



Un saludo
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #9 (permalink)  
Antiguo 09/07/2003, 07:18
 
Fecha de Ingreso: julio-2003
Mensajes: 22
Antigüedad: 14 años, 5 meses
Puntos: 0
Bueno, ya lo voy consiguiendo gracias a su ayuda.
Espero que a alguien más le sirva, al menos a principiantes como yo


Otra cosilla, intentando mejorarlo para que me permita modificar lo que ya he escrito ¿qué habría que poner para que mostrará lo que ya contiene el txt?

echo "<textarea name=\"texto\"> ??? </textarea><br><br>\n";
  #10 (permalink)  
Antiguo 09/07/2003, 08:59
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 14 años, 7 meses
Puntos: 0
Hola, donde quieras mostrarlo pones
Código PHP:
include("archivo.txt"); 
o creo que esto también te vale
Código PHP:
$abrir fopen("archivo.txt","r");
fpassthru($abrir);
fclose($abrir); 
Un saludo
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #11 (permalink)  
Antiguo 09/07/2003, 09:21
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 15 años, 1 mes
Puntos: 7
de metido no mas

Si sólo quieres volcar el contenido de un fichero puedes puedes volcar el contenido del fichero a una salida estandar y usar la funcion readfile($fichero), la cual te libra de la llamada a fopen().
__________________
=PoWeReD By MySeLf!=
  #12 (permalink)  
Antiguo 12/07/2003, 07:05
 
Fecha de Ingreso: julio-2003
Mensajes: 22
Antigüedad: 14 años, 5 meses
Puntos: 0
vale, lo reconozco... soy un "negao"

He estado probando pero no lo consigo. Lo que me gustaría es que una vez que se abre el formulario, muestre el texto que ya está escrito para que permita modificarlo.

echo "<textarea name=\"texto\"> ???</textarea><br><br>\n";

He probado con include y también con readfile... pero nada.
A ver si alguien me ayuda...
  #13 (permalink)  
Antiguo 12/07/2003, 11:13
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 889
Antigüedad: 16 años
Puntos: 4
Mira, algo sencillo, para una sóla noticia, puedes hacer algo como:
Código PHP:
<?
//El archivo en dnd escribiremos y leeremos
$archivo "noticias.txt";
if(
$procesar){
//Abrimos el archivo de modo que sobreescribirá lo que en él se encuentre
$fp=fopen($archivo,"w");
//Escribiremos lo que rellenemos en el textarea
fwrite($fp,$texto);
//Cerramos el archivo xD
fclose($fp);
//Convertimos los intros de texto "\n" en intros web "<br>"
$texto ereg_replace("\n","<br>",$texto);
//Leemos lo que hemos escrito
echo $texto;
$procesar "no";
?>
<form method="post" action="<?=$PHP_SELF?>">
<input type="submit" value="Modificar">
</form>
<?
}else{
//Abrimos el archivo como lectura
$abrir fopen($archivo,'r');
//Recorremos el archivo para mostrar TODO lo que hay en el
$txt fread($abrirfilesize($archivo));
?>
<form method="post" action="<?=$PHP_SELF?>">
<input type="hidden" name="procesar" value="yes">
<textarea rows="10" cols="50" name="texto">
<?
//Mostramos dentro del Textarea lo que hay en el archivo de texto
echo $txt;
?>
</textarea><br>
<input type="submit" value="Enviar">
</form>
<?
}
?>
¡Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:40.