Filer
Jeg har et script som modtager to input fra querrystring:1) Directory variabel hedder $site (Dir. boeger)
2) Filnavn uden extention (eks. bog) var. hedder $page. Scriptet tilføjer .txt til filnavn
Selve scriptet skal nu.
Scriptet skal groft sagt:
- undersøge om filen $site/page => /boeger/bog.txt
* Hvis JA indlæses variable $count_no, og addere denne med +1, og overskrive filen.
* Hvis ikke sæt count_no = 1, og oprette filen.
Jeg anvender fopen( filnavn, "w+") til at oprette og overskrive filer med. Mit problem ligger i sti navnet.
Jeg kan se jeg laver en fejl, da det ikke virker, men jeg fatter det ikke.
Eks. kan jeg godt indlæse værdien fra en fil, men jeg kan ikke overskrive filen senere.
Nedenfor er mit script:
-------
<?php
$workdir="./$site";
$workpage="$workdir/$page.txt";
if (!$file=fopen( $workpage , "r")) // Open file
// File does not exist. Create file
{
if (!$file=fopen( $workpage ,"w+")) // Cant create file.
{
echo("Error: Could not create file object: $errormsg\n");
echo("Dir: $workdir<br>");
echo("Loc: $workpage<br>");
}
else
{ // Create file - value 1
fputs($file, 1);
fclose($file);
echo("Visit created");
fclose($file); // Close file obj.
}
}
Else
// File exist.
{
$count_no = (fread($file,100)) + 1; // Read string
fclose($file); // Close file obj.
if (!$file=fopen( $workpage , "w+")) // New file object - overwrite old file
{
echo("Count no.:$count_no<br>");
echo("Error: Could not open file object. <br>");
echo("Path: $workpage <br>");
}
else
{
fputs($file, $count_no);
fclose($file);
echo("Visit updated");
}
}
?>