Re: Failed to write to a text file (text file is RW) [message #171415 is a reply to message #171414] |
Sun, 02 January 2011 20:35 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma:
|
Senior Member |
|
|
On 1/2/2011 3:19 PM, justaguy wrote:
> Hi,
>
> I dig up the following script. Added a simple HTML file with a form
> field named "vote" and have it send to the following php script.
> However, it failed to write to the poll_result.txt file. Why?
>
> Thanks as usual.
>
> <?php
> $vote = $_REQUEST['vote'];
>
> //get content of textfile
> $filename = "poll_result.txt";
> $content = file($filename);
>
> //put content in array
> $array = explode("||", $content[0]);
> $yes = $array[0];
> $no = $array[1];
>
> if ($vote == 1)
> {
> $yes = $yes + 1;
> }
> if ($vote == 0)
> {
> $no = $no + 1;
> }
>
>
> // debug
> echo $yes;
> echo $no;
>
> // output and comments
> /*
> Seed poll_result.txt to read 0||0
>
> It's always 10 even though I checked the YES option several times
> obviously it failed to write to the poll_result.txt file.
>
> Checked the poll_result.txt, it's 0||0
>
> */
>
>
> //insert votes to txt file
> $insertvote = $yes."||".$no;
> $fp = fopen($filename,"w");
> fputs($fp,$insertvote);
> fclose($fp);
> ?>
Are you sure you're looking at the same file you're writing to? You're
using a relative path, after all (which would place the data file in
your web path, where it could be downloaded by anyone - not a good idea).
Does the user (if this is running under the web server, the web server
user) have permission to write to the file?
And finally, this is totally unsafe. There is nothing stopping two
different people from opening the file at the same time, potentially
corrupting your date.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|