Date: Thu, 24 Mar 2011 22:36:30 -0700 From: Gary Kline <kline@thought.org> To: Ryan Coleman <editor@d3photography.com> Cc: Fr?d?ric Perrin <fred@resel.fr>, freebsd-questions@freebsd.org Subject: Re: why does this simple counter fail? Message-ID: <20110325053630.GA6722@thought.org> In-Reply-To: <89898D0E-B4A9-41E9-B829-DF7CA8D3FF06@d3photography.com> References: <20110323164504.GA25317@thought.org> <kggr59xpv0c.fsf@pc-df-302.priv.enst-bretagne.fr> <20110324230049.GB31958@thought.org> <89898D0E-B4A9-41E9-B829-DF7CA8D3FF06@d3photography.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Mar 24, 2011 at 06:25:39PM -0500, Ryan Coleman wrote: > Gary, you missed the put... fput($fp, $file); means you're dropping the filename INTO the storage file. okay. [maybe]. i think what the script does is create ./countdir/$file ; in this case, ./countdir/index where i create the file named "index\n" and below it the integer count. e.g.: in directory countdir, in file index is: index 60311 to track the hits for my homepage. in defense of this crude hack with no error-checking is that i have used the same script in at least three other virtual thought.org websites. i was wrong is saying that the script bombed; it just failed; the reason was that the initial tag had been "<?" rather than "<?php" gary > > > On Mar 24, 2011, at 6:00 PM, Gary Kline wrote: > > > On Wed, Mar 23, 2011 at 07:11:15PM +0100, Fr?d?ric Perrin wrote: > >> Gary Kline <kline@thought.org> writes: > >>> Can any of you php hackers tell me why this simple self-hacked > >>> counter bomb? > >> > >> As others said, what does 'this simple counter bomb' means? > >> > >>> $fp = fopen($directory.$file, "r+"); > >>> flock($fp, 1); > >> > >> You want an exclusive lock (LOCK_EX, which is 2 is you use some ancient > >> PHP), not a shared lock. > >> > >> When updating the file: > >> > fputs($fp, $count); > >> > fputs($fp, "\n"); > >>> fputs($fp, $file); > >> > >> Why do you feel the need to store the filename inside the file itself? > >> You don't seem to need it after. > > > > > > $file is passed from the calling php file. index.php is by-hand > > set to > > > > $file='index'; > > > > and so on. > > > > Because of my shoulder/typing woes, it was great that I got clued in > > above by Brad's thought that perhaos there were mis-matched "<?" > > and "?>" tags. A simply recursive grepping found out that it some > > places I had "<?" <cr> instead of "<?php"> <cr>. Adding the "php" > > fixed everything. > > > > Finally, you're right; this really, really is ancient php. > > Somthing i found pre-2004 and hacked until it worked. The > > counter is missings lots of features, but I'll fix that pretty > > soon. > > > > thanks to everybody , > > > > > >> > >> -- > >> Frédéric Perrin -- http://tar-jx.bz > >> > >> _______________________________________________ > >> freebsd-questions@freebsd.org mailing list > >> http://lists.freebsd.org/mailman/listinfo/freebsd-questions > >> To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org" > > > > -- > > Gary Kline kline@thought.org http://www.thought.org Public Service Unix > > Journey Toward the Dawn, E-Book: http://www.thought.org > > The 7.98a release of Jottings: http://jottings.thought.org > > > > _______________________________________________ > > freebsd-questions@freebsd.org mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > > To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org" > > -- Gary Kline kline@thought.org http://www.thought.org Public Service Unix Journey Toward the Dawn, E-Book: http://www.thought.org The 7.98a release of Jottings: http://jottings.thought.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110325053630.GA6722>