|
Posted by UKuser on 12/05/07 16:06
On 29 Nov, 17:11, Jerry Stuckle <jstuck...@attglobal.net> wrote:
> UKuser wrote:
> > Hi,
>
> > I have the following script which I'm using to verify that websites
> > exist. However in either FF or IE it only runs for about 60 seconds.
> > I've changed what ini settings I think affect it, but to no avail. Can
> > you tell me how to make it run for longer. I could have quite a few
> > hundred sites and I simply want to make sure they return OK.
>
> > The code will work as is but you'll see it probably won't do quite a
> > long list. (stops at about 10).
>
> > Thanks
>
> > A
>
> > <?php
> > ini_set('max_execution_time',999);
> > ini_set('max_input_time',999);
>
> > if (!(isset($_POST['sites']))){
> > print "<form method=\"post\" action=\"test2.php\"><textarea name=
> > \"sites\" rows=25 cols=25></textarea><input type=\"submit\"></form>";
> > } else {
>
> > $sites = split("\r\n",$_POST['sites']);
>
> > foreach ($sites as $path){
>
> > $http_response_header = array(); // clear arrays in case previous
> > data still held
> > $file = array();
> > $file = @file_get_contents("http://$path");
>
> > if (!(is_numeric(strpos($http_response_header[0],"OK")))){ //
> > Is the website NOT ok
> > if (is_numeric(strpos($http_response_header[0],"30"))){ //
> > Has it been redirected?
> > foreach ($http_response_header as $k=>$value){
> > $value = str_replace("Content-Location","",$value); //
> > Strip out the Content tags which confuse issues
> > if (is_numeric(strpos($value,"Location"))){ //
> > If this one carries the location - use it
> > $value = str_replace("Location: ","",$value);
> > $http_response_header = array();
> > $file2 = @file_get_contents($value); // Connect
> > to the forwarded site just to check
> > if (!(is_numeric(strpos($http_response_header[0],"OK"))))
> > {
> > print "$path <b>IS NOW</b> $value<br>";
> > } else {
> > print "$value redirected but is DEAD<br>";
> > }
> > }
> > }
> > } else {
> > print "$path is not live<br>";
> > }
> > } else {
> > print "$path is ok<br>";
> > }
> > }
> > }
> > ?>
>
> If you can change the PHP timeout parameter (some hosting companies let
> you do so, some don't), you're probably running into a browser timeout.
>
> If so, you might be able to keep the browser from timing out by calling
> ob_flush() and flush() after printing a message. No guarantees - the
> output may still be cached by your server. But then PHP isn't caching
> it, also.
>
> --
> ==================
> Remove the "x" from my email address
> Jerry Stuckle
> JDS Computer Training Corp.
> jstuck...@attglobal.net
> ==================
Just wanted to say thanks guys for both your input. It is a mix of the
max-executiont time, the socket connection time and the browsers. I'm
nearly there - and get better results by running my script with php-
cgi.exe rather than through a browser.
Many thanks
A
Navigation:
[Reply to this message]
|