FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Failed to write to a text file (text file is RW)
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: Failed to write to a text file (text file is RW) [message #171416 is a reply to message #171415] Sun, 02 January 2011 21:07 Go to previous messageGo to previous message
justaguy is currently offline  justaguy
Messages: 16
Registered: December 2010
Karma:
Junior Member
On Jan 2, 3:35 pm, Jerry Stuckle <jstuck...@attglobal.net> wrote:
> 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.
> jstuck...@attglobal.net
> ==================

Well, on "where it could be downloaded by anyone", how come? The
processPoll.php file or a similar process php script is a server
script,
average user can't mess up with it.

On file permission, sorry, I forgot to mention, it's Read and Write.
A similar php script executes fine.

On your last point of " this is totally unsafe. There is nothing
stopping two
> different people from opening the file at the same time, potentially
> corrupting your date."
Once we fix the above two problems what could we do about it? I'm
totally new to php btw.

Many thanks.
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Print PHP Manual
Next Topic: Fetching an external web page
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Sat Nov 30 11:36:00 GMT 2024

Total time taken to generate the page: 0.04729 seconds