Jump to content
Sign in to follow this  
Medrakil

fwrite til fil, flere variabler

Recommended Posts

Er ganske fersk på PHP, men jeg prøver. Skal lage et script til siden min som skal vise "Dagens sang-anbefaling". Det som vises skal byttes ut hver dag. For å få til det har jeg en ekstern fil med to variabler, hvilken sang som vises nå, og når den sist ble oppdatert. Denne blir inkludert, men for at oppdateringstiden skal endres, må jeg jo skrive til den.

 

<?php
include ("recommend_var.php");
$songs=array (
"Artist - Sang",
"Annen Artist -  Annen Sang ", );

$songcount=(count($songs));
$day = date("d",time()); 
$updcontent=("<?php $current=".$songno. "; " . "$update=".$day."; ?>");

if ($update!=$day)
{
       	
do {
$songno=(rand(0,$songcount-1));
}
while ($songno==$current);

$f=fopen("recommend_var.php", "w");
fwrite ($f, $updcontent);
fclose ($f)
}

recommend_var inneholder

<?php
$current=1;
$update=14;
?> 

 

 

Jeg får parse error, unexpected ' " ' i linje 26, linjen med $updcontent=osv...

 

Kan noen si meg hvordan jeg skal skrive denne linjen for å få scriptet til å virke?

 

(nei skriptet er ikke ferdig, og jeg vet at det ikke vil virke som det er. Jeg vil bare vite hvordan jeg får teksten til å skrives til fila sånn som jeg vil. )

EDIT: $day = date("d",time());

Edited by Medrakil

Share this post


Link to post

Åh, ok.. Takk!

 

*se om det løser problemet - hvis ikke, var det nyttig anyways*

 

EDIT: Vel, det utrettet ingen mirakler, men det hadde kanskje ikke virket med den gamle så.. takk... Skal man ha mellomrom før og etter likhetstegn?

Edited by Medrakil

Share this post


Link to post

For å teste at variablene var riktige så langt, la jeg inn disse to testene:

echo "$songcount";
echo "<br>";
echo "$songno";

 

Dette ga helt kurant output et par ganger, men plutselig fikk jeg dette:

 

1=; /n14=15; /n5

3

 

 

Noen som skjønner hvorfor?

 

EDIT: Ser nå at det er fordi den skriver nettopp noe sånt til recommend_var.php - men hvorfor?

 

EDIT2: Det ser ut til at den skriver verdiene til $current og $update, i stedet for å skrive navnene på disse som tekst, og verdiene til de andre variablene. Hvordan kan jeg gjøre sånn at den ikke kjenner igjen $current og $update slik at de ikke blir gjenkjent som variabler når det skal skrives til fila, men blir skrevet til fila så de blir gjenkjent når scriptet kjøres?

 

EDIT 3: Det var jo rasende enkelt; \$current, og vips så....

Edited by Medrakil

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...