Toby Butzon wrote:
> 
> 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
> 

That is good advice, but i don't think that's the poster's problem.

The problem is the following code:

fputs("$fp", "GROUP $groups[$i]\n");

You cannot stringify a resource (with PHP 4).  Therefore the offending code must
look like:

fputs($fp, "GROUP $groups[$i]\n");

In order to work...

-Sterling


> ----- 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]

-- 
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