www.webdeveloper.com
Results 1 to 5 of 5

Thread: PHP + SQLite

  1. #1
    Join Date
    Jan 2013
    Posts
    20

    PHP + SQLite

    Hello, I've written a code that menat to do the following:
    I've got the form where users enters an URL link and a keyword. The website should be accessed and occurence of the keyword is counted and then the result is sent to a SQLite database. But the problem is the following:
    every time I enter URL link, I receive a message:
    Warning: file_get_contents(www.google.com) [function.file-get-contents]: failed to open stream: No such file or directory in E:\wwwroot\add.php on line 33
    Could not open URL!
    Any ideas on how to fix this bug? Thanks in advance.

    Code:
    <?php
    
    //Open connection with a database
    $db=sqlite_open("search.db", 0666, $sqliteerror);
    
    $URL = $_POST['URL'];
    $keyword = $_POST['keyword'];
    
    //If no URL entered:
    if( !$URL )
    {
       die( "You need to define a URL to process." );
    }
    
    //Check whether entered URL is already recorded: 
    $handle = sqlite_query($db,"SELECT page_id FROM page WHERE page_url = \"$URL\"");
    $row = sqlite_fetch_array($handle, SQLITE_ASSOC );
    
    if( $row['page_id'] )
    {
    
    //if yes, use old page_id:
       $page_id = $row['page_id'];
    }
    else
    {
    //If not, a new line containing URL is created:
    sqlite_query($db,'INSERT INTO page (page_url) VALUES ("$URL")');
    $page_id = sqlite_last_insert_rowid($db);
    }
    
    //Open URL contents and start parsing through the text for creating index in a database:
    if( !($fd = file_get_contents($URL,"r")))
     die( "Could not open URL!" );
    
    while( $buf = fgets($fd,1024) )
    {
       
     //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++ )
          {
             //Checking whether a current word already has a record in the database:
            $cur_word = addslashes( strtolower($words[$i][$j]) );
    		 
    		$handle = sqlite_query($db,"SELECT word_id FROM word WHERE word_word = '$cur_word'");
    		$row = sqlite_fetch_array($handle, SQLITE_ASSOC );
    		 
            if( $row['word_id'] )
             {
                //if yes, the old word id is used:
                $word_id = $row['word_id'];
             }
             else
             {
                //if not, a new word is created:
                sqlite_query($db,'INSERT INTO word (word_word) VALUES (\"$cur_word\")');
    $page_id = sqlite_last_insert_rowid($db);
             }
    
             //Registering the occurence of the word into a database:
             
    sqlite_query($db,'INSERT INTO occurrence (word_id,page_id) 
                          VALUES ($word_id,$page_id)');
            
          }
       }
    }
    
    fclose($fd);
    
     //Searching the database of URL, keywords and occurencies of keywords:
       $handle = sqlite_query($db," SELECT p.page_url AS url,
                               COUNT(*) AS occurrences 
                               FROM page p, word w, occurrence o
                               WHERE p.page_id = o.page_id AND
                               w.word_id = o.word_id AND
                               w.word_word = \"$keyword\"
                               GROUP BY p.page_id
                               ORDER BY occurrences DESC
                               LIMIT $results" );
    						   
    						    //Display of search results:
       print "<h2>Search results for '".$_POST['keyword']."':</h2>\n";
       for( $i = 1; $row = sqlite_fetch_array($handle); $i++ )
       {
          print "$i. <a href='".$row['URL']."'>".$row['URL']."</a>\n";
          print "(occurrences: ".$row['occurrences'].")<br><br>\n";
       }
    						   
    ?>
    ____________________________________________
    Don't confuse your path with your destination ...

  2. #2
    Join Date
    Apr 2013
    Posts
    56
    Try adding http:// infront of your url. You are passing in invalid url address and because of it, you get an error response that such file or directory does not exist.

  3. #3
    Join Date
    Jan 2013
    Posts
    20
    Well I actually type in http://www.google.com every time. And I get the mentioned error message.
    ____________________________________________
    Don't confuse your path with your destination ...

  4. #4
    Join Date
    Apr 2013
    Posts
    56
    Try to determine if your url really is correct by printing it out just before you open file stream. Because if you use file_get_contents function with http://www.google.com it will work.

  5. #5
    Join Date
    Jan 2013
    Posts
    20
    Did that as well, still not working. Maybe the problem is in system permissions? I am using windows 7.
    ____________________________________________
    Don't confuse your path with your destination ...

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center

"

"

X vBulletin 4.2.2 Debug Information

  • Page Generation 0.35027 seconds
  • Memory Usage 2,881KB
  • Queries Executed 15 (?)
More Information
Template Usage (33):
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (1)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (5)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (70):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • bbcode_parse_start
  • postbit_imicons
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates