J'ai un petit chat en fichier texte qui me permet de papoter avec mes inscrit
cepenant dans le chat jai un probleme j'ai limiter la taille du fichier a 1000 octet qui se sommme chat.dat et mes ligne inserer sont de cette forme :
Code : Tout sélectionner
$lib="<b>" . $time . " - " . $pseudo . "</b> dit : <br /><div style=\"margin-left:50px\">" . $_POST[text] . "</div>\n{*}";Car actullement si qlq inscrit des ligne le troncage se fait defois la ou il se faut pas et sa met des chose comme ceci dans le fichier chat.dat
Code : Tout sélectionner
<b>23:16:04 - pseudotest</b> dit : <br /><div style="margin-left:50px">le texte du chat bla bla bla </div>
{*}<b>23:11:11 - pseudotest</b> dit : <br /><div style="margin-left:50px">le texte du chat bla bla bla</div>
{*}<b>23:07:37 - pseudotest</b> dit : <br /><div style="margin-left:50px">le texte du chat bla bla bla</div>
{*}<b>23:07:35 - pseudotest[ICI TEXTE TRONQUEZ DONC PAS BON!!!]Voila mes code
le script avec le formulaire :
Code : Tout sélectionner
<?php
function fChat ($a) {
?>
<center>
<iframe src="chat.php?act=1" width="96%" height="500" name="chat" SCROLLING="no" border="0" frameborder="0"></iframe></center>
<?
$temp= "tmp/";
$fchat=$temp . "chat.dat";
$fcom=$temp . "auto.dat";
$pseudo=$a;
$capa="1564";
@chmod($fchat, 0777);
@chmod($fcom, 0777);
$fp = @fopen($fcom,'rt');
if ($fp) $auto=@fgets($fp, $capa);
@fclose($fp);
?>
<script>
function clearmsg(){
document.post.text.value="";
document.post.charsleft.value="150";
document.post.text.focus();
}
function ShowCharsLeft(post) {
maxLength = 150
if (post.text.value.length > maxLength) {
post.text.value = post.text.value.substring(0,maxLength)
charleft = 0
}
else {
charleft = maxLength - post.text.value.length
}
post.charsleft.value=charleft
}
</script>
<form method="post" target="chat" name="chat" action="chat.php?act=1#sol">
<?php
if ($auto=="1") {
?>
<input type="text" name="charsleft" style="text-align: center;" value="150" size="3" readonly>
<input type="hidden" size="15" value="<?php print $a; ?>" name="pseudo" />
<input type="text" size="80" name="text" onClick="text.value=''" onKeyUp="ShowCharsLeft(this.form);" wrap="physical" />
<input type="submit" value="Ajouter" name="b" />
<?php
} else print "Dialogue interdit";
?>
<br />
</form>
<?
}
?>
Code : Tout sélectionner
<body id="bg2">
<?php
define('C_ABSOLU', '/le chemin en absolu');
$temp=C_ABSOLU . "tmp/";
$fchat=$temp . "chat.dat";
$fcom=$temp . "auto.dat";
$nompage="./";
$pseudo=$_POST[pseudo];
$capa="1024";
$refresh="180";
@chmod($fchat, 0777);
@chmod($fcom, 0777);
$fp = @fopen($fcom,'rt');
if ($fp) $auto=@fgets($fp, $capa);
@fclose($fp);
if($_POST[b] && $_POST[text] && $auto=="1") {
$_POST[text]=str_replace("<","<",$_POST[text]);
$_POST[text]=str_replace(">",">",$_POST[text]);
$fp = @fopen($fcom,'rt');
if ($fp) $autoa=@fgets($fp, $capa);
@fclose($fp);
if($autoa=="1") {
$fp = @fopen($fchat,"r");
$OldData = @fread($fp,$capa);
@fclose($fp);
}
$time = @date("H:i:s");
$lib="<b>" . $time . " - " . $pseudo . "</b> dit : <br /><div style=\"margin-left:50px\">" . $_POST[text] . "</div>\n{*}";
$new="$lib$OldData";
$fd = @fopen($fchat,'w+');
@fwrite($fd, $new);
@fclose($fd);
}
if($_GET[act]=="1") {
print "<META HTTP-EQUIV=\"Refresh\" content=\"" . $refresh. ";\">\n";
$fp = @fopen($fchat,"r");
$Data = @fread($fp, $capa);
@fclose($fp);
$Data = @stripslashes($Data);
$flip=explode("{*}",$Data);
$nbflip=count($flip);
$nbbflip=$nbflip-15;
$a=array_reverse($flip);
for($i=$nbbflip; $i<=$nbflip; $i++) {
print_r($a[$i]);
}
exit;
}
?>