Vivid Lust Posted December 9, 2007 Share Posted December 9, 2007 Heloo Im currently using the following php script: <? /* * populate.php * * Script for populating the search database with words, * pages and word-occurences. */ /* Connect to the database: */ mysql_pconnect("localhost","root","secret") or die("ERROR: Could not connect to database!"); mysql_select_db("test"); /* Define the URL that should be processed: */ $url = addslashes( $_GET['url'] ); if( !$url ) { die( "You need to define a URL to process." ); } else if( substr($url,0,7) != "http://" ) { $url = "http://$url"; } /* Does this URL already have a record in the page-table? */ $result = mysql_query("SELECT page_id FROM page WHERE page_url = \"$url\""); $row = mysql_fetch_array($result); if( $row['page_id'] ) { /* If yes, use the old page_id: */ $page_id = $row['page_id']; } else { /* If not, create one: */ mysql_query("INSERT INTO page (page_url) VALUES (\"$url\")"); $page_id = mysql_insert_id(); } /* Start parsing through the text, and build an index in the database: */ if( !($fd = fopen($url,"r")) ) die( "Could not open URL!" ); while( $buf = fgets($fd,1024) ) { /* Remove whitespace from beginning and end of string: */ $buf = trim($buf); /* Try to remove all HTML-tags: */ $buf = strip_tags($buf); $buf = ereg_replace('/&\w;/', '', $buf); /* Extract all words matching the regexp from the current line: */ preg_match_all("/(\b[\w+]+\b)/",$buf,$words); /* Loop through all words/occurrences and insert them into the database: */ for( $i = 0; $words[$i]; $i++ ) { for( $j = 0; $words[$i][$j]; $j++ ) { /* Does the current word already have a record in the word-table? */ $cur_word = addslashes( strtolower($words[$i][$j]) ); $result = mysql_query("SELECT word_id FROM word WHERE word_word = '$cur_word'"); $row = mysql_fetch_array($result); if( $row['word_id'] ) { /* If yes, use the old word_id: */ $word_id = $row['word_id']; } else { /* If not, create one: */ mysql_query("INSERT INTO word (word_word) VALUES (\"$cur_word\")"); $word_id = mysql_insert_id(); } /* And finally, register the occurrence of the word: */ mysql_query("INSERT INTO occurrence (word_id,page_id) VALUES ($word_id,$page_id)"); print "Indexing: $cur_word<br>"; } } } fclose($fd); ?> /* Start parsing through the text, and build an index in the database: */ if( !($fd = fopen($url,"r")) ) die( "Could not open URL!" ); The error message is: Could not open URL! I'm using the script by http://MY_SITE_HERE.com/populate.php?url=http://SITE_TO_ADD_T0_DATABASE_.COM And it doesnt work. Any help would be apreciated. If i havent explained enough please say Link to comment https://forums.phpfreaks.com/topic/80902-cant-fopen-url/ Share on other sites More sharing options...
rab Posted December 9, 2007 Share Posted December 9, 2007 Check your php.ini settings to see if it allows url_fopen. If not, enable it. Link to comment https://forums.phpfreaks.com/topic/80902-cant-fopen-url/#findComment-410434 Share on other sites More sharing options...
Vivid Lust Posted December 9, 2007 Author Share Posted December 9, 2007 um, im on a free web host? Link to comment https://forums.phpfreaks.com/topic/80902-cant-fopen-url/#findComment-410438 Share on other sites More sharing options...
Vivid Lust Posted December 9, 2007 Author Share Posted December 9, 2007 could you write somthing in a htaccess? Link to comment https://forums.phpfreaks.com/topic/80902-cant-fopen-url/#findComment-410447 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.