• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:こちらのサイトのプログラムの利用方法をご教授願います。)

サイトのプログラムの利用方法をご教授願います。

このQ&Aのポイント
  • こちらのサイトのプログラムの利用方法をご教授願います。使用例とソースコードの二つがありますが、初心者なので具体的な利用法を教えてください。
  • こちらのサイトのプログラムの利用方法を教えてください。使用例とソースコードの二つがありますが、エラーが発生しています。Class 'UrlCollector' not foundというエラーメッセージが表示されています。
  • WindowsXP SP2の環境でVertrigoServを使用しています。こちらのサイトのプログラムの利用方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ソースが書かれていないので、 「class UrlCollector」 を定義したファイルが読み込まれていないのが原因だろうとしか言えません。 > 使用例とソースコードの二つがあると思うのですがこれはどのように使えばよいのでしょうか?  ソースコードの方は「class UrlCollector」を定義してるもので、使用例はその使い方の例です。(としか言えないでしょう)  使用例をそのまま使う(当然、URLの記述等は自分の環境に合わせる必要がありますが)なら、ソースコードの方をUrlCollector.phpとでも名前をつけて保存、使用例の方をSample.phpでも名前をつけて保存。  で、Sample.phpの方で  require('UrlCollector.php'); > $c = new UrlCollector(); // ↑ これの前に追加 > $arr = $c->getUrls('http://example.com/', 'タイトルに共通の部分'); // ↑ のURL部分は自分の環境に合わせる  でもすれば良いかと。読み込む代わりに直接ソースをそこに記述しても同じですが。  もっとも、リンク先のソースコードがそのままで動くかどうかは知りませんが。

shosinn
質問者

お礼

解決いたしました。 実行後他にもいくつかエラーがでましたが一応の動作確認ができました。 どうもありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • smartyについて

    smartyについて 環境は、windows /php-5 / smarty-2.6.17です。 以下の2つエラーが出てどう対処すればいいか困っています。 【1つめ】 Fatal error: Smarty error: [in **.tpl line 10]: syntax error: unrecognized tag: 文--> 【2つめ】 {$errmsg (Smarty_Compiler.class.php, line 446) in C:\xampp\php\PEAR\Smarty\libs\Smarty.class.php on line 1095 【ソース】 呼び先PGは、 $this->smarty->assign("errmsg","ニックネーム"); $this->smarty->display("**.tpl"); テンプレートでは、 <tr id="" class=""> <td id="" class=""><font color="#ff0000">{$errmsg}を入力してください。</font></td> </tr> よろしくお願いいたします。

    • 締切済み
    • PHP
  • PHP5でSQLiteが接続エラーを出します

    PHPには初心者です(データベースには多少知識有るはず)。 PHPからSQLに商品データを登録するシステムを作っていますが、データベースに接続することができません。 繋げるためにはどこを直したらよいでしょうか。 データベース名はshop、テーブル名はitemです。 SQLite:バージョン 2.8.17 PHP:バージョン 5.1.6 WindowsXPのプロフェッショナル、eclipse3.2、参考にした本は『eclipseではじめるPHP(http://item.rakuten.co.jp/book/4296315/)』と『基礎PHP(http://item.rakuten.co.jp/book/1711777/)』です。 エラーが出る行 if(!$db = sqlite_open('/../SQLiteManager/shop')){ die("データベース接続エラー.<br/>"); } エラー文 Warning: sqlite_open() [function.sqlite-open]: unable to open database: C:\SQLiteManager\shop in C:\Eclipse\workspace\shop\touroku.php on line 23 データベース接続エラー. PHPのフォルダ内にある 『PHP.iniextension=php_pdo_sqlite.dll』 『extension=php_sqlite.dll』 のコロンは外しました。 SQLiteManagerはworkspaceの中です。 設定が悪いのかファイルを置く場所が悪いのか、それともプログラムが悪いのかもわかりません。 宜しくお願いいたします。

    • 締切済み
    • PHP
  • PDOクラスを使いたいが、peclからPDOをインストールできない。

    PDOのクラスライブラリを読み込むために peclからPDOをインストールする必要があるが、インストールができない。エラーと表示される。php.iniをかなりいじり、phpinfoにもPDO,pdo_mysql,PDO_ODBC,pdo_pgsql,pdo_sqliteが表示されているのに、なぜか動かない。 ■下記はコマンドプロンプト >cd c:\ php c:\php>pecl install pdo downloading PDO-1.0.3.tgz ... Starting to download PDO-1.0.3.tgz(52,613 bytes) ..............done:52,613bytes 12 source files,building ERROR: The DSP PDO.dsp does not exist. ■動かしたいプログラムのコード(PHP辞典(山田祥寛著)から参照・引用) <?php require_once("C:\Program Files/Apache Group/Apache2/php_libs/Smarty/libs/Smarty.class.php"); $db=new PDO("sqlite:",dirname(__FILE__)."/sample.sqlite"); $rs=$db->query("SELECT * FROM books"); $o_smarty=new Smarty(); $o_smarty->caching=2; $o_smarty->template_dir="./templates"; $o_smarty->compile_dir="./templates_c"; $o_smarty->cache_dir="./cache"; $o_smarty->assign("data".$rs->fetchAll(PDO::FETCH_ASSOC)); $o_smarty->display("foreach.tpl"); print ($o_Smarty->fetch("foreach.tpl")); ?> ■そして、そのコードがブラウザから表示するエラーメッセージ Fatal error: Uncaught exception 'PDOException' with message 'safe_mode/open_basedir prohibits opening ' in C:\Program Files\Apache Group\Apache2\htdocs\dis.php:4 Stack trace: #0 C:\Program Files\Apache Group\Apache2\htdocs\dis.php(4): PDO->__construct('sqlite:', 'C:\Program File...') #1 {main} thrown in C:\Program Files\Apache Group\Apache2\htdocs\dis.php on line 4 下記のご回答をお願いします。 (1)コマンドプロンプトに表示されるエラーはどんな意味でしょうか。何がいけないとか物足りないことがありますでしょうか。 (2)そのコードのおかしいところがあったらご指摘をお願いします。 (3)コンパイルエラーメッセージを翻訳したのですが、ちょっと意味がわからないので、教えてください。 ご回答をよろしくお願いします。かなり困っています。

    • ベストアンサー
    • PHP
  • VertrigoServの環境でプログラムが動かずに困っています。

    VertrigoServの環境でプログラムが動かずに困っています。 現在、WindowsXP SP2 VertrigoServ_221のヴァージョンで以下 * Apache 2.0.63 * PHP 5.2.6 * Mysql 5.0.51b * Smarty 2.6.19 * SQLite 3.5.9 * PhpMyAdmin 2.11.7 * SQLiteManager 1.2.0 * ZendOptimizer 3.3.3 の環境でPHPの勉強をしています。 phpinfoやHelloを表示させたり、簡単は計算をさせるプログラムなどは問題なく動作します。しかし サンプル:「http://php.s3.to/net/get2.php」 ソース:「http://php.s3.to/net/get2.phps」 のような外にWEBページを取得する、などのプログラムが一切動きません。 動かすと、真っ白になって何も表示しなくなるか、以下のようなエラーがでます。 Warning: file_get_contents(URL) [function.file-get-contents]: failed to open stream: 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。 in C:\Program Files\VertrigoServ\www\test\ファイル名.php on line xx Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files\VertrigoServ\www\test\ファイル名.php on line xx ※現在、大学のパソコンでこのような問題が起きています。プロキシの問題か?? 家の環境では問題なく動作しました。 具体的な解決策または考えられる原因など、どなたお力添えを願います。 補足: ローカルで動かないプログラムが間違っていることも考え、無料のレンタルサーバーにアップして動作確認したところ、プログラムは正常に動作しました。 ポートがバッティングしている恐れもあると知り、以下のサイトを参考に、ポート番号を変更しました。 http://blog.hoorago.com/2009/01/25/first-time-wordpress-part1/ タイムアウトと出たので、時間数を伸ばしましたが結果に変わりはありませんでした。 ファイアーウォールはWindowsにあるものとキングソフトのファイアーウォールが常駐しています。こちらも一度止めてみて動作したこともありましたが解決しませんでした。 phpmyadominの画面やhttp://127.0.0.1:8080/にアクセスしたところ問題なく表示はされます。

    • ベストアンサー
    • PHP
  • headers already sent と言われてしまう。

    [portal.php] で、 <?php require ('Smarty.class.php'); require ('Plan.class.php'); session_start(); $smarty = new Smarty; $schedule = new Plan; if(empty($_SESSION["user"])){ Header("Location: login.php"); } 以下略 というコードを打って、実行したら Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Program Files\Apache Group\*******\Plan.class.php:122) in C:\Program Files\Apache Group\*******\portal.php on line 4 というエラーが出ます。 \Plan.class.php には <?php class Plan{ function __construct(){ $this->Zaikofile="C:Program Files\Apache Group\Apache2\logs\plan.sqlite"; $this->user=$_SESSION["user"]; $this->errorm=""; 以下略 ?>    ←122行目(最終行)です。 となっています。両方のプログラムとも、「<?php」の上の行には何も書いていません。 なぜ、headers already sentとなるのでしょうか? エラーの原因はどこにあるでしょうか?

    • ベストアンサー
    • PHP
  • ディレクトリの書込権限について

    レンタルサーバのSmartyのパーミッションでつまずいています。 とあるAレンタルサーバでsmartyを利用したPHPのプログラムを設置するとなんの問題もなく設置できるのですが 別のBレンタルサーバでsmartyを利用したPHPのプログラムを設置すると以下のようなエラーがでます。 Fatal error: Smarty error: unable to write to $compile_dir '/virtual/xxx/public_html/xxx/templates_c'. Be sure $compile_dir is writable by the web server user. in /virtual/xxx/public_html/xxx/class/Smarty/libs/Smarty.class.php on line 1093 書き込み権限がtemplates_cディレクトリにないということらしいですが、Bレンタルサーバのtemplates_cディレクトリのパーミッションは、0755で、設置が成功したAレンタルサーバのtemplates_cディレクトリのパーミッションも、0755です。 実行しているSmarty.class.phpのパーミッションも、0644で同じです。 同じパーミッションでレンタルサーバごとにエラーが出る出ないが違う理由はなんでしょうか?サーバの設定に詳しくないのでよくわかりません。考えられる原因があれば教えてください。

    • ベストアンサー
    • PHP
  • smartyのdifineについて

    表示するファイルにdefineにてパスを設定すると正常に 表示されるのですが管理が面倒なので別のファイルに defineにてパスを設定するとエラーになってしまいます。 具体的には以下のソースです。 ---Smarty/libs/path.php--- define ('SMARTY_LIBS_DIR', 'C:/Program Files/xampp/htdocs/Smarty/libs/'); ---Smarty/libs/MySmarty.class.php--- require_once dirname(__FILE__) . '/Smarty.class.php'; require_once dirname(__FILE__) . '/path.php'; ---Smarty/index.php--- require_once SMARTY_LIBS_DIR . 'MySmarty.class.php'; 調べてみたのですが表示するファイルに指定する方法しか みつからなかったのですが別ファイルから指定する事は 無理なのでしょうか?

    • 締切済み
    • PHP
  • Smartyでテンプレートが読み込めない

    下記のソースを実行すると、テンプレートが読み込めずエラーになってしまいます。 うーん、何故なのか分からず困っております。 phpのバージョンは4.4.6なのですが、Ver5以降でないとサポートされないのでしょうか。 [source] <?php require_once("Smarty.class.php"); class MySmarty extends Smarty { function _MySmarty() { $this->Smarty(); $this->template_dir="../templates"; $this->compile_dir="../templates_c"; } } $o_smarty=new MySmarty(); $o_smarty->display("hello.tpl"); ?> [error message] Warning: Smarty error: unable to read resource: "hello.tpl"

    • ベストアンサー
    • PHP
  • insertができない。

    insertができない。 はじめまして。PHPとDBについて質問です。 マニュアルなどを読んでいろいろといじっていたのですが、どうにもうまくできません。 詳しい方どうかお助け願います。 現在、任意のサイトからHTMLソースを取得して、それをDBに書き込みたいと考えています。 しかしプログラムを動かすと 「You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'varXYZ' + (varA1)); varABC = ('varP' + (varA1)); if( document.getElementById )' at line 1」のようなエラーが発生します。 プログラムソースはこんな感じです。 _________________________ $url = "http://www.sample.com/"; $html = file_get_contents($url); $source = htmlspecialchars($html); echo $source; ~~~または~~~ $lines = @file($url); foreach( $lines as $source_num => $source ) { $array[] = htmlspecialchars($source); } echo "<pre>"; print_r($array); echo "</pre>"; ~~~~~~~~~ 上記のようなプログラムでソースの取得はできました。 あとは単純にinsertしているのですが。 $sql = "INSERT INTO テーブル名 (source) VALUES ('$source')";  sourceの種別はtextにしてあります。 さきほどのエラーがでて、insertができません。 いろいろ検索して、serializeとかを使うのかな?とも思ったのですが、 いまだに解決には至っておりません。 どうかよろしくお願いいたします。 環境 Windows7 Apache 2.0.63 PHP 5.2.6 Mysql 5.0.51b Smarty 2.6.19 SQLite 3.5.9 PhpMyAdmin 2.11.7 SQLiteManager 1.2.0 ZendOptimizer 3.3.3

    • 締切済み
    • PHP
  • 共通テンプレートを呼ぶ

    src/common/header.tplを src/hoge/hoge.tplから {include file="../common/header.tpl"} として呼びだしたい。 エラーメッセージが Warning: Smarty error: (secure mode) accessing "../common/header.tpl" is not allowed in C:\php\libs\Smarty.class.php on line 1088 です。 #### 設定 php.ini include_path = ".;C:\php\libs;C:\php\PEAR" safe_mode = Off Smarty.class.php $smarty->template_dir="."; {include file}を絶対パスで記述しても同じエラーです。 おそらくこのsecure modeの設定が正しく設定されていないのでしょうが その設定方法がいまいちよくわかりません。 簡単なことなのかもしれませんが、ご存知の方がいらっしゃいましたら ご教授願えないでしょうか。 よろしくお願いいたします。 環境 Windows XP php-5.0.5 Smarty-2.6.10

    • 締切済み
    • PHP