Foros del Web » Programando para Internet » PHP »

borrar txt

Estas en el tema de borrar txt en el foro de PHP en Foros del Web. Hola: disculpen que busque esto en los faqs pero esque me urge. soy principiante y quiero saber cual es la instrucción para borrar el contenido ...
  #1 (permalink)  
Antiguo 12/08/2003, 03:12
Avatar de pumpkinpie  
Fecha de Ingreso: abril-2002
Mensajes: 309
Antigüedad: 15 años, 8 meses
Puntos: 0
borrar txt

Hola:
disculpen que busque esto en los faqs pero esque me urge.
soy principiante
y quiero saber cual es la instrucción para borrar el contenido de un txt.

Para ser mas exacto, tengo un chat con php y flash y al parecer el txt es demasiado grande y el servidor no me permite seguir escribiendo.
de antemano Gracias!!!
__________________
:pirata: :arriba:
E-ClipseMx Sistemas & Web...Tus ideas en linea!
  #2 (permalink)  
Antiguo 12/08/2003, 08:45
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, yo también tenia ese problema con un script y lo que hice fue que cuando el archivo de texto se pasaba de 50 ks lo borraba y volvia a crear el mismo archivo. La función que borra un archivo cualquiera se llama unlink();

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

Mi cuerpo en windows, pero mi mente pensando en linux.
  #3 (permalink)  
Antiguo 12/08/2003, 09:35
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Quieres borrar EL ARCHIVO o solo SU CONTENIDO???

Para el caso que expones, yo creo que sería mas prudente borrar "X" cantidad de lineas del inicio del archivo y dejar vivas las ultimas 100 por ejemplo.

__________________
Manoloweb
  #4 (permalink)  
Antiguo 12/08/2003, 11:21
Avatar de pumpkinpie  
Fecha de Ingreso: abril-2002
Mensajes: 309
Antigüedad: 15 años, 8 meses
Puntos: 0
gracias a ambos,
manoloweb, como puedo hacer eso que dices???, de hecho creo que mi script tiene esa funcion, pero no funciona, o no se que este mal, voy a poner el script aki, mo podrias hacer el favor de corregirlo si tiene un problema y agregarle la funcion que borre cuando se pase de 100 lineas, pero si se puede que borre las lineas necesarias o algo asi, porque es de un chat y no kiero que se borre derepente todo el mensaje.

Aki esta el codigo: Gracias de antemano!!!


<?
header("Expires: ".gmdate("D, d M Y H:i:s")."GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
?>
<?

?>

<?
$nickname = str_replace ("\n"," ", $nickname);
$nickname = str_replace ("<", " ", $nickname);
$nickname = str_replace (">", " ", $nickname);
$nickname = stripslashes ($nickname);
?>
<?
$chat_file2 = "login.txt";
$lines2 = file($chat_file2);
$count = count($lines2);
echo "&count=$count";
$deleted = unlink($chat_file2);
?>
&output=
<?
$chat_file = "chat.txt";
$chat_lenght = 80;
$max_single_msg_lenght = 100000;
$max_file_size = $chat_lenght * $max_single_msg_lenght;
$file_size= filesize($chat_file);
if ($file_size > $max_file_size) {
$lines = file($chat_file);
$a = count($lines);
$u = $a - $chat_lenght;
for($i = $a; $i >= $u ;$i--){
$msg_old = $lines[$i] . $msg_old;
}
$deleted = unlink($chat_file);
$fp = fopen($chat_file, "a+");
$fw = fwrite($fp, $msg_old);
fclose($fp);
}
$msg = str_replace ("\\","", $message);
//
//IF THE FORGOT TO ADD HTTP:THIS WILL DO IT FOR THEM
$webStart = Array ('WWW', 'www');
$changeWebstart = 'http://www';
$msg = str_replace ($webStart, $changeWebstart, $msg);

//this will take away the double http part
$webDouble = Array ('http://http://www');
$changeWebSingle = 'http://www';
$msg = str_replace ($webDouble, $changeWebSingle, $msg);
// BOLD, ITALICS, UNDERLINE AND PRE PARSER
$searchFor = Array ('', '', '[pre]', '[/pre]', '', '', '', '', '<', '&');
$replaceWith = Array ('<b>', '</b>', '<pre>', '</pre>', '<i>', '</i>', '<u>', '</u>', '', '');
$msg = str_replace ($searchFor, $replaceWith, $msg);
// Swear Word Filtering Section

$badwords = Array ("verga", "puto", "puta", "chinga", "melga","joto", "puñal", "fuck" ,"FUCK","bitch" ,"BITCH","SHIT", "slut", "SLUT", "shit","pendejo", "culo", "panocha", "cabron", "culero", "monda", "pendeja" , "JOTO", "PUÑAL","PUTO","MELGA", "CHINGA", "CABRON", "CULERO" , "PENDEJO", "PUTA", "PANOCHA", "CULO", "MONDA", "PENDEJA","fuck", "shit", "bastard", "fucker", "fucking", "bitch", "cunt", "pussy", "dick", "ass", "nigger", "whore");
$changeto = '<font color="#ff3300">******</font>';
$msg = str_replace ($badwords, $changeto, $msg);

// EMAIL PARSER
$msg = ereg_replace("[[:alpha:]][email protected][^<>[:space:]]+[[:alnum:]]","<font color=\"#0033ff\"><u><a href=\"mailto:\\0\">\\0</a></u></font>", $msg);

//
// URL PARSER FOR MESSAGE
$msg = ereg_replace ("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]]", "<font color=\"#0033ff\"><u><a href=\"\\0\"target=\"_blank\">\\0</a></u></font>", $msg);
//$msg = ereg_replace("\[url\]([^\[]+)\[/url\]", "<font color=\"#FFFF00\"><u><a href=\"\\1\"target=\"_blank\">\\1</a></u></font>", $msg);

//


//
// END PARSING SECTION


$msg = stripslashes($msg);
if ($msg != ""){
$fp = fopen($chat_file, "a+");
$fw = fwrite($fp, "$nickname : <font color=\"$color\"> $msg\n</font>");
fclose($fp);}
$lines = file($chat_file);
$a = count($lines);
$u = $a - $chat_lenght;
for($i = $a; $i >= $u ;$i--){
echo $lines[$i];
}

?>
__________________
:pirata: :arriba:
E-ClipseMx Sistemas & Web...Tus ideas en linea!
  #5 (permalink)  
Antiguo 12/08/2003, 11:30
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Pues efectivamente, tu script ya lo tiene integrado, solo que no hace NADA si el archivo no supera los 8 Mb aprox. (que es demasiado).

Te recomiendo evaluar el largo máximo de cada mensaje (100 kb) y vambiarlo por algo más lógico... tipo 10 o 20 kb, ya que es un chat, no un sistema de foros.

Algo así quedaría bien:

$chat_lenght = 50;
$max_single_msg_lenght = 10000;
$max_file_size = $chat_lenght * $max_single_msg_lenght;

Así te haría la depuración cuando el archivo alcance medio mega (500k)

__________________
Manoloweb
  #6 (permalink)  
Antiguo 12/08/2003, 12:12
Avatar de pumpkinpie  
Fecha de Ingreso: abril-2002
Mensajes: 309
Antigüedad: 15 años, 8 meses
Puntos: 0
Mil gracias
solo una ultima pregunta,
si el archivo ya supero ese tamaño y ahora hago la modifcacion, lo va a borrar o tengo que borrar manualmente el archivo y luego dejarlo funcionar con la modificaciones?????
__________________
:pirata: :arriba:
E-ClipseMx Sistemas & Web...Tus ideas en linea!
  #7 (permalink)  
Antiguo 13/08/2003, 08:35
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
Creo que ahora es todo automatico.

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

Mi cuerpo en windows, pero mi mente pensando en linux.
  #8 (permalink)  
Antiguo 13/08/2003, 09:19
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Asi es, cada que se accesa ese script hace un chequeo de tamaño...

Asi que en cuanto hagas la modificación, la siguiente vez que lo acceses se va a reducir en automático.

__________________
Manoloweb
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 12:18.