This is a matter of figuring out why the variable isn't a
valid file handle resource. To do so, find where it should
be made such a resource (the line that says $fp =
fsockopen...etc... is probably it), and add some error
checking. I believe this function has its own way of
returning what's wrong; check php.net/fsockopen and take a
look at additional arguments... Then you must simply output
the resulting error message (which is assumed to be
resulting because the file handle is not being created).

--Toby

----- Original Message -----
From: "K.Simon" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Saturday, January 13, 2001 11:07 AM
Subject: [PHP] Wondering whats wrong?


Hello,
running the following script (exec.php) on telnet account i
get this error:
Warning: Supplied argument is not a valid file handler
resource in exec.php on line 21
Can anybody tell me whats wrong with it? Normally it should
fetch the newsgroups on my local news server and insert them
into rows on a mysql database. This script is part of
myPHPusenet-0.9.9.
I hope the script was not too long.

THE SCRIPT:
*********************************************************

#!/usr/bin/php -q

<?

$start = gettimeofday();

include("conf.inc.php");
include("newsgroups.inc.php");

@mysql_connect($hostname, $username, $password) OR DIE
("Could not connect");
@mysql_select_db("$database") OR DIE ("Could not open
database");

$i = 0;
$j = 0;

while($i < sizeof($groups) ) {

        $fp = fsockopen("$server", 119);
        set_socket_blocking($fp, true);
        $response = fgets($fp, 256);
        fputs("$fp", "GROUP $groups[$i]\n");
        $gruppe = fgets($fp, 1024);
$range = split(" ", $gruppe);
$range_start = $range[2];
$range_end = $range[3];

$db_ng_name[$i] = ereg_replace("\.","_", $groups[$i]);

$query1 = "UPDATE last SET last.last = '$range_end' WHERE
newsgroup = '$db_ng_name[$i]'";
$query2 = "SELECT last FROM last WHERE (newsgroup LIKE
'$db_ng_name[$i]')";
$runit2 = MYSQL_QUERY($query2);
$result = @MYSQL_RESULT($runit2,0,last);

IF (@MYSQL_NUMROWS($runit2) == 1) {

$range_start = $result;

while($range_start < $range_end) {

system("parse.php $server $groups[$i] $range_start");

$range_start++;
$j++;

}

}

ELSE {
PRINT "No new posts in $groups[$i]\n";
}

$runit1 = MYSQL_QUERY($query1);

$i++;
}

$tables = MYSQL_LIST_TABLES($database);
$k = 0;

WHILE ($k < MYSQL_NUM_ROWS ($tables)) {
$area_names[$k] = MYSQL_TABLENAME ($tables, $k);
$query = "SELECT count(*) AS total_nr FROM $area_names[$k]";
$q_string = @MYSQL_QUERY($query);
$fundet = @MYSQL_RESULT($q_string,0,total_nr);

$total += $fundet;
$k++;
}


$date = date("d");
$month = date("F");
$shortmonth = date("M");
$year = date("Y");
$hour = date("H");
$min = date("i");
$sec = date("s");

$end =  gettimeofday();

$exec_time = number_format( (($end["sec"] +
$end["usec"]/1000000) - ($start["sec"] +
$start["usec"]/1000000)), 3);

$contents = "Hi!\n\nThe newsparser was run $date $month
$year at $hour:$min:$sec, and it inserted $j posts in
the\ndatabasen, there are now $total posts in the
\n\nDatabase the update took $exec_time seconds.\n\n--
\n\nYours Truly.\n\tmyPHP usenet";

mail("$email", "$subject", "$contents",
"From:$USER@$HOSTNAME\nReply-To: [EMAIL PROTECTED]");

$fp = fopen($logname, "a") or die ("Could not open
logfile");
$logmess = "$shortmonth $date $hour:$min:$sec the newsparser
inserted $j posts, there are now $total total\n";
$write = fputs($fp, $logmess);
fclose($fp);

?>


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail:
[EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]
To contact the list administrators, e-mail:
[EMAIL PROTECTED]




-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to