Avatar billede mgn_online Nybegynder
18. januar 2003 - 12:31 Der er 9 kommentarer og
1 løsning

Tagwall, skriv til fil

HEJ!

Sagen er den at jeg har lavet et lille projekt angående en såkaldt tagwall hvor man skriver til en fil i php. Jeg ved godt det er smartere at bruge mySQL men vil gerne lige prøve med Skriv til fil.

Indtil vidre kører det fint nok, man adder en tag og den bliver vist.

Der er bare et minus og det er at den nyeste tag bliver vist forneden, og den nyeste skal jo altid vises øverst i en tagwall.

Script:

<?
$headers .= "navn";
$headers .= "mail";
$headers .= "indhold";
$fil = fopen("tagwall.php", "a+");
fwrite($fil,
"<table border=0 width=65%>
<tr>
    <td><BR>
    <BR>
    <BR><a><font color=#003366><strong>Navn: </strong></font></a><a>$navn</a>&nbsp;&nbsp;&nbsp;<a><font color=#003366><strong>e-mail: </strong></font></a><a>$mail</a></td>
    <tr>
    <td><hr align=left size=2 width=100% color=#003366></td></tr>
    <tr>
    <td><a>$indhold</a></td></tr>   
</tr>
</table>");
fclose($fil);
?>

P.S. Jeg har prøvet og sagt "r+" og "w+" og men så bliver de gamle tags slettet including style koden da r+ og w+ skriver til filen fra starten

Hjælp! Det må ku lad sig gøre!
Avatar billede tangveje Nybegynder
18. januar 2003 - 12:34 #1
Prøv sådan her

<?
$headers .= "navn";
$headers .= "mail";
$headers .= "indhold";
$fil = fopen("tagwall.php", "a+");

$old = implode( "", file( $fil ) ) ;

fwrite($fil,
"<table border=0 width=65%>
<tr>
    <td><BR>
    <BR>
    <BR><a><font color=#003366><strong>Navn: </strong></font></a><a>$navn</a>&nbsp;&nbsp;&nbsp;<a><font color=#003366><strong>e-mail: </strong></font></a><a>$mail</a></td>
    <tr>
    <td><hr align=left size=2 width=100% color=#003366></td></tr>
    <tr>
    <td><a>$indhold</a></td></tr> 
</tr>
</table>" . $old );
fclose($fil);
?>
Avatar billede tangveje Nybegynder
18. januar 2003 - 12:35 #2
Hov, og her skal du nok bruge w+

<?
$headers .= "navn";
$headers .= "mail";
$headers .= "indhold";
$fil = fopen("tagwall.php", "w+");

$old = implode( "", file( $fil ) ) ;

fwrite($fil,
"<table border=0 width=65%>
<tr>
    <td><BR>
    <BR>
    <BR><a><font color=#003366><strong>Navn: </strong></font></a><a>$navn</a>&nbsp;&nbsp;&nbsp;<a><font color=#003366><strong>e-mail: </strong></font></a><a>$mail</a></td>
    <tr>
    <td><hr align=left size=2 width=100% color=#003366></td></tr>
    <tr>
    <td><a>$indhold</a></td></tr>
</tr>
</table>" . $old );
fclose($fil);
?>
Avatar billede mgn_online Nybegynder
18. januar 2003 - 12:43 #3
Den gør det samme som før, viser kun den nyeste tag og de andre bliver slettet- alt fra starten af tagwall.php filen
Avatar billede tangveje Nybegynder
18. januar 2003 - 12:46 #4
Tja, så lige jeg havde lavet en fejl, virker dette?

<?
$headers .= "navn";
$headers .= "mail";
$headers .= "indhold";
$thefile = "tagwall.php" ;
$fil = fopen($thefile, "w+");

$old = implode( "", file( $thefile ) ) ;

fwrite($fil,
"<table border=0 width=65%>
<tr>
    <td><BR>
    <BR>
    <BR><a><font color=#003366><strong>Navn: </strong></font></a><a>$navn</a>&nbsp;&nbsp;&nbsp;<a><font color=#003366><strong>e-mail: </strong></font></a><a>$mail</a></td>
    <tr>
    <td><hr align=left size=2 width=100% color=#003366></td></tr>
    <tr>
    <td><a>$indhold</a></td></tr>
</tr>
</table>" . $old );
fclose($fil);
?>
Avatar billede mgn_online Nybegynder
18. januar 2003 - 12:52 #5
Desværre nej, den gør det samme - fatter de ik'
Avatar billede tangveje Nybegynder
18. januar 2003 - 12:55 #6
Jeg er ikke helt sikker på den der w+ arbejder meget sjældent med filer, har du prøvet at ændre den til noget andet i mit sidste script... Kan ikke lige se hvorfor det ikke skulle virke
Avatar billede mgn_online Nybegynder
18. januar 2003 - 12:57 #7
w+ har jo til opgave at skrivetil filen af starten - det gør den også fint men da den skriver fra starten fjerner den alle html tags og style tags og de gamle tags forsvinder af en mærkelig grund. Har prøvet at ændre til r+ men den gør det samme

Mærkeligt at a+ virker så godt, det skal bare lige fungere omvendt så er den der...
Avatar billede tangveje Nybegynder
18. januar 2003 - 13:00 #8
Hmm, kommer lige i tanke om noget, prøv dette, virker det ikke har jeg vist ikke mange gæt tilbage... Og ja, det er meningen at jeg bruger w+ her :)

<?
$headers .= "navn";
$headers .= "mail";
$headers .= "indhold";
$thefile = "tagwall.php" ;

$old = implode( "", file( $thefile ) ) ;

$fil = fopen($thefile, "w+");

fwrite($fil,
"<table border=0 width=65%>
<tr>
    <td><BR>
    <BR>
    <BR><a><font color=#003366><strong>Navn: </strong></font></a><a>$navn</a>&nbsp;&nbsp;&nbsp;<a><font color=#003366><strong>e-mail: </strong></font></a><a>$mail</a></td>
    <tr>
    <td><hr align=left size=2 width=100% color=#003366></td></tr>
    <tr>
    <td><a>$indhold</a></td></tr>
</tr>
</table>" . $old );
fclose($fil);
?>
Avatar billede mgn_online Nybegynder
18. januar 2003 - 13:03 #9
Flot arbejde tangveje, nu virker det ; )
Avatar billede tangveje Nybegynder
18. januar 2003 - 13:05 #10
Ahh, tænkte det nok :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester