Gå til innhold

fwrite til fil, flere variabler


Anbefalte innlegg

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());

Endret av Medrakil
Lenke til kommentar
Videoannonse
Annonse

Å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?

Endret av Medrakil
Lenke til kommentar

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å....

Endret av Medrakil
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...