2009/4/7 Chris <dmag...@gmail.com>:
>
>> I guess there are multiple ways to engage this problem. It depends how
>> "deep" you want to log the traffic. If you just want to count the
>> traffic of each image, video etc you could just wrap up each image and
>> video to go through php first with file_get_contents() (look in the
>> php manual there are some examples how to work with this), count how
>> many bytes of data will be sent out and log this in a database or
>> however you want to do this.
>
> While it's a good suggestion, don't use file_get_contents because it reads
> the whole file in to memory.
>
> If you use it on a 200Meg movie, it uses > 200Meg of memory.
>
> Use filesize() to work out the size.
>
> Then use fpassthru to shove the data through.
>
> http://www.php.net/fpassthru
>
> --
> Postgresql & php tutorials
> http://www.designmagick.com/
>
>

Just another small addition I just got from the php manual:

You can use readfile() instead of fpassthru() so you don't have to use fopen().

pseudo code updated:

if ( used_bandwith + filesize > allowed_bandwidth)
 error_message()
else
 write_in_database(used_bandwith = used_bandwith + filesize)
 readfile(file)

Theres always something to learn in PHP Land.

-- 
Currently developing a browsergame...
http://www.p-game.de
Trade - Expand - Fight

Follow me on twitter!
http://twitter.com/moortier

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to