Re: Wondering whats wrong?

From: Date: Sat, 13 Jan 2001 17:03:13 +0000
Subject: Re: Wondering whats wrong?
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-34375@lists.php.net to get a copy of this message
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" <phpsoft@zabia.net> > To: <php-general@lists.php.net> > 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: martin@nitro.dk"); > > $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: > php-general-unsubscribe@lists.php.net > For additional commands, e-mail: > php-general-help@lists.php.net > To contact the list administrators, e-mail: > php-list-admin@lists.php.net > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net > For additional commands, e-mail: php-general-help@lists.php.net > To contact the list administrators, e-mail: php-list-admin@lists.php.net

« previous php.general (#34375) next »