Is there any way of taking a screenshot of a website in PHP, then saving it to a file?
webkit2html works on Mac OS X and Linux, is quite simple to install and to use. See this tutorial.
For Windows, you can go with CutyCapt, which has similar functionality.