tomaju の回答履歴
- simplexml_load_fileについて
simplexml_load_fileでrssを読み込んでいるのですが、 rssのxmlファイルが少し特殊でリンクが抜けているitemがあり、 以降ずれ込んで読まれてしまい困っています。 ■xml例 <root> <item> <title></title> <link></link> </item> <item> <title></title> <link></link> </item> <item> <title></title> ←リンクがぬけている </item> <item> <title></title> <link></link> </item> </root> ■php側 抜粋/割愛 $xml = simplexml_load_file($this->xmlPath) or die("ファイルが読み込まれません"); //xpathにて各ノードを取得 $title = $xml->xpath(//title); $link = $xml->xpath(//link); for($i = 0; $i < 3; $i++) { <a href="<?=$link[$i]?>"> <?=$title[$i]?> </a> } のように取得して、html加工して 吐き出しているので、linkがないノードがあると 後のものがどんどんずれて読み込まれてしまいます・・・ どのようにしたら解決できますでしょうか・・・
- Webのデータ転送量の計測ツールを教えて下さい
Webのデータ転送量の計測ツールを探しています。 レンタルサーバー(サイトサーブ2[Eストアー])を使用して、サイトを作成しているのですが先月から急にデータ転送量が増え、超過料金が発生するようになってしまいました。 原因を調べるべく、データ転送量は「1ページの容量×アクセス数」で求められるとあったので、計算したのですがEストアーが教えてくれた数とかなり違う状況です。 [Eストアー]204GB [計算上]120GB 日毎のデータ転送量を調べられるともう少し詳しく調査できると思うので、データ転送量がわかるツールがあればご教授いただけると助かります。 お手数ですが何卒よろしくお願いいたします。
- 締切済み
- ハードウェア・サーバー
- nt4550
- 回答数2
- AUTO_INCREMENTの動作について
mysqlデータベースのAUTO INCREMENT値に関する質問です。 一時的なテーブルにデータを格納し、必要な操作が終わったらほかのテーブルに移し、一時的なテーブルの中のエントリを削除する設定なんですが、AUTO_INCREMENTは30まで登りましたが、29以下のエントリは既に削除しています。そうすると、新しいエントリを挿入すると、信じられないことに、31を識別子として挿入してくれなくて、15挿入されてしまいました! データを移すときに、その番号を識別子として使いますので大問題になっています。それはAUTO_INCREMENTの正常な動作ですか??避けることはできるのでしょうか? 詳しい方がいらっしゃいましたら、ご回答をよろしくお願いいたします。
- PHPのHttpRequestモジュールについて
HttpRequestモジュールを使って以下のようなコードを書いたのですが エラーの「unexpected T_DOUBLE_ARROW 」が出てうまくいきません。 どうやら$request->setHeadersのところの連想配列でエラーが出てるようなんですが どうやれば解決するのか分からず困っています。 ---------------------------------------------------------------------------- require_once 'HTTP/Request.php'; $request = new HTTP_Request(); $request->setURL("http://example.com"); $request->setMethod(HTTP_REQUEST_METHOD_POST); $request->setHeaders("Content-Type"=>"application/x-www-form-urlencoded"); $request->setHeaders("User-Agen"=>"Opera/9.80 (Windows NT 5.1; U; ja) "); print $request->getResponseBody(); ---------------------------------------------------------------------------- http://www.php.net/manual/ja/function.httprequest-setheaders.php のマニュアルを見ても問題が無いように思えます。 どなたかお詳しいかた教えてください
- コウビルド(cobuild)英英辞典の違い
今後長期的に英語を勉強したいと思っており、英英辞典にはコウビルド(cobuild)英英辞典を考えているのですが、同じ年に同じ出版社から出ている2つについて何が違うのかが分かりません。 自分で調べようにも如何せん田舎住まいなもので、店頭には英英辞典すら置いておらず、ネットでどうにか調べたのですがCDが附属しているかどうかの違いしか把握できませんでした。 辞書に詳しい方、ご教授いただけないでしょうか。 http://www.amazon.co.jp/Collins%E3%82%B3%E3%82%A6%E3%83%93%E3%83%AB%E3%83%89%E7%B1%B3%E8%AA%9E%E7%89%88%E8%8B%B1%E8%8B%B1%E5%92%8C%E8%BE%9E%E5%85%B8/dp/4889962549/ref=sr_1_4?s=books&ie=UTF8&qid=1316258572&sr=1-4 http://www.amazon.co.jp/%E3%82%B3%E3%82%A6%E3%83%93%E3%83%AB%E3%83%89%E6%96%B0%E8%8B%B1%E8%8B%B1%E8%BE%9E%E5%85%B8-%E3%82%B3%E3%83%AA%E3%83%B3%E3%82%BA/dp/4889962557/ref=sr_1_3?s=books&ie=UTF8&qid=1316258572&sr=1-3 参考ですが、現在30歳で現役センターでは200点中170点で、その後経年劣化かtoeicスコアは大体リスニング300弱付近でリーディング350付近で平均650程度のものです。どちらが適しているかも可能でしたらご教授いただきたいです。
- MYSQLのDBに大容量のCSVをUPしたいです。
さくらインターネットのMYSQLのDBに大容量(約13MB)のCSVファイルをアップロードする方法を教えて下さい。 下記(1)~(3)のようにいくつかの方法を試しましたが、結果的に全件をアップロードができていません。 (1)最初にレンタルサーバーのさくらインターネットでサーバーを借りましたが、phpMyAdminにCSVファイルをアップロードしようしました。 kuin_mstという名前のテーブルを作成後、このテーブルを選択してインポート画面からインポートするCSVファイルを選択し、設定として「ファイルの文字セット」をutf8に、 「インポートするファイルの形式」のCSV形式のフィールド区切り記号をカンマに、フィールド囲み記号を空白に指定しました。 そして、実行を押すと、しばらくして「Internet Explorerではこのページは表示できません。」が表示されました。 これに対してF5キーを押して再実行すると元の画面に戻り、kuin_mstテーブルの件数を見ると、122915件中58114件がアップロードされてました。 他のインポートするファイルの形式の「LOAD DATA する CSV」や「SQL」も試しましたが、結果として何もアップロードされませんでした。 考察:13MBのデータを3回分に分割してこの作業を行えば目的が達成できるように思いますが、結果として入れるべき全件のデータがアップロードされたのかを検証する方法が分かりません。 (2)さくらはSSHが使えるのでpoderosaをダウンロードしてサーバーにアクセスしましたが、SQLのみ記述されたtest1.txtをアップロードするコマンドを次のように投入したら テーブルの削除や作成は成功しエラーが発生しませんでした。 コマンド 「mysql -h mysql○○○.db.sakura.ne.jp -u アカウント名 -p DB名 < test1.txt」 しかし、このtest1.txt内に「LOAD DATA INFILE './KEN_ALL.CSV' INTO TABLE kuin_mst FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';」 の一行を加えて実行すると「ERROR 1045 (28000) at line 2513: Access denied for user 'ユーザー名'@'%' (using password: YES)」というエラーが発生します。 このエラーを調べると「コンソールからデータベース接続する時にパスワードが間違っている」と説明しているサイトがありましたが、何度確認しても間違えていませんし、間違えていたら「LOAD DATA ~」の行を 追加していない状態の処理で同じエラーが出るはずです。 ちなみに、自宅PCのWEBサーバーで、「LOAD DATA ~」を追加したtest1.txtをコマンドプロンプトで実行するとアップロードが正常に行われるのでCSVファイル自体は問題がないはずです。 ※KEN_ALL.CSVファイルは、郵便番号-住所データ(utf-8保存で約13MB)でレコードはカンマ区切り(例として1レコード抜粋→640941,ホッカイドウ,サッポロシチュウオウク,アサヒガオカ,北海道,札幌市中央区,旭ケ丘) となっています。 ※test1.txtとKEN_ALL.CSVの両ファイルは/home/アカウント名の階層に置いてこの処理を実行しました。 結果として何が原因でアップロードができないのかがよくわかりませんでした。 (3)BIGDUMPという大容量ファイルを分割してDBにアップロードできるツールを見つけたので、いろいろと説明があるサイトを参考にブラウザにて実行したらKEN_ALL.CSVファイルがFilenameの欄に表示されました。 同画面でstart import1をクリックしましたが、「You have to specify $csv_insert_table when using a CSV file. 」というメッセージが出てきました。 結果として、この意味がよくわかりませんでしたが、カンマ区切りのみのCSVファイルだけをアップロードすることはできないのかもと思いました。 以上、悪戦苦闘しても解決できないのでどうかアドバイスを下さい。 宜しくお願いします。 ■環境 UNIX系 OS FreeBSD Apache 1.3.x PHP 5.2.17 phpMyAdmin 3.3.10.3 MySQL 5.1 MySQL 文字コード UTF-8 bigdump ver.0.34b
- phpでフォームの値をフレームに渡す際、&が使えず
こんにちは。 PHPで、メタサーチのようなものを作ろうと思っています。 まず、検索窓に入力した値をGoogle検索に送り、 iframe内に表示するようにしました。 しかし、「PHP 入門」など、通常のキーワードであればうまくいくのですが、 「P&G」など、「&」が入ると、勝手にアンド検索になってしまい、うまく機能しません。 値の送り方に問題があるのでしょうか? ご教示お願い致します。 search1.php <?php $keyword=$_GET["keyword"]; $keyword4url=urlencode($keyword); ?> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> </head> <body> <center> <form action="search1.php" method="get"> キーワード:<input type="text" name="keyword" size="20" value="<?php echo $keyword;?>" onfocus="this.select()"> を <input type="submit" value="検索する"> </form> <br> <iframe src="http://www.google.co.jp/#q=<?php echo $keyword; ?>" name="frame1" frameborder="1" scrolling="auto" width="977" height="600"> </iframe> </center> </body> </html>
- plpgsqlのエスケープ文字について
plpgsqlのエスケープ文字について教えてください tblのテーブルのnameフィールドの値をtitleフィールドに更新する関数を作成してます。 cur cursor for SELECT id, name FROM tbl; rec RECO RD; begin open cur; LOOP FETCH cur INTO rec; EXIT WHEM NOT FOUND; w_sql := ''UPDAT tbl SET title = ''; w_sql := w_sql ll '' ''''タイトル: '' ll rec.name ll '' '''' ''; w_sql := w_sql ll '' WHERE id= '' ll rec.id= '' ll rec.id ; EXECUTE w_sql; END LOOP; ・ ・ ・ ・ ・ 上記のようにnameフィールドの値をset句に設定していますが、 nameフィールドには 「90's」 や「men's」 のような値が入ったレコードがあるためエラーとなってしまいます。 name内の「'」をエスケープする為にはどのように書けばよいでしょうか 教えてください
- ベストアンサー
- PostgreSQL
- noname#141015
- 回答数1
- iis6.1でphp xdebugの使用方法
いつもお世話になっております。 iisでxdebugを設定しようと以下のように C:\Program Files (x86)\php\php.iniに記載したのですが [xdebug] zend_extension_ts="C:\Program Files (x86)\PHP\ext\php_xdebug-2.1.2-5.3-vc9.dll" xdebug.remote_enable=on xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.remote_handler=dbgp phpinfo()関数でxdebugの欄がでてきません。 何か設定が間違っているのでしょうか。 C:\windows\Temp\php-errors.logには、 PHP Warning: phpinfo(): It is not safe to rely on the system's timezone という警告はあったのですが、dllの読み込み失敗のログのようなものはありませんでした。 イベント ビューアを見てみたのですが、特にログはでていませんでした。 環境は下記のようになっております。 os windows7 home premium 64ビット php php-5.3.6-Win32-VC9-x86.msi iis version 6.1(ビルド7600) どなたかご教授よろしくお願いいたします。
- 締切済み
- PHP
- kaoru424233254
- 回答数1
- PHPによるアンケートの項目追加
質問投稿させていただきます。 急遽仕事でPHPのアンケートの項目を追加することになったのですが PHPは全くの素人で困っています。 既存のアンケートに項目を追加したいのですが <h2>アンケートフォーム</h2> <form action="question2.php" method="post"> <dl class="clearfix"> <dt>性別は?</dt> <dd> <?php $male = '男性'; $female = '女性'; $number = array('1', '2'); echo ' <label><input type="radio" name="gender" value="' . $number[0] . '" />' . $male . '</label>' . "\n"; echo ' <label><input type="radio" name="gender" value="' . $number[1] . '" />' . $female . '</label>' . "\n"; ?> </dd> <dt>年齢は?</dt> <dd> <label> <select name="age"> <option value="0" selected="selected">選択してください</option> <?php for ($num = 1; $num <= 4; $num++) { echo ' <option value="' . $num . '">' . $num . '0代</option>' . "\n"; } ?> <option value="5">50代以上</option> </select> </label> </dd> <dt>趣味は?</dt> <dd class="hobby-area"> <?php $hobby = array(1 => '音楽鑑賞', 2 => '映画鑑賞', 3 => 'ドライブ', 4 => '旅行', 5 => 'その他'); foreach ($hobby as $key => $value) { echo ' <label><input type="checkbox" name="hobby[' . $key . ']" value="' . $key . '" />' . $value . '</label>' . "\n"; } ?> </dd> </dl> <p> <input type="submit" value="投票する" /> </p> </form> この文に <dt>趣味は?</dt> <dd class="hobby-area"> <?php $service = array(1 => 'あああ', 2 => 'あああ', 3 => 'あああ', 4 => 'あああ', 5 => 'あああ'); foreach ($service as $key => $value) { echo ' <label><input type="checkbox" name="service[' . $key . ']" value="' . $key . '" />' . $value . '</label>' . "\n"; } ?> </dd> </dl> このように項目を増やしたいのですがなぜか追加した項目の確認ページで Warning: Invalid argument supplied for foreach() in ~ と表示され echo '<dt>サービスは?</dt>'; echo '<dd>'; foreach ($service as $value) { switch ($value) { case 1: echo 'あああ<br />'; break; case 2: echo 'あああ<br />'; break; case 3: echo 'あああ<br />'; break; case 4: echo 'あああ<br />'; break; case 5: echo 'あああ<br />'; break; } } echo '</dd>'; この部分にエラーがあると表示されてしまいます。 これは$serviceに値がうまくいっていないということでしょうか? 素人の質問なので足りない処などあると思いますが よろしければ御回答ください。 よろしくお願い致します。
- ベストアンサー
- PHP
- ideideon-1
- 回答数4
- あゝ勘違い
子供の頃やいままでずっと勘違いしてた事をお聞かせくだちい。 個人的には… 子供の頃… ■中国、四国地方の中国はChinaだと思い、広島やら鳥取などは、外国で中国語が話されてると思ってました。なんで中国地方というのかしら? ■ソ連とソビエトは別の国と思ってました。 ■東名高速は透明高速だと思ってました。うちの町内に通ってますが、見えないと思ってました。車が宙に浮いてるように見えると思ってました。 ■ガムを味が残っているうちに飲み込んでました。その後、吐き出すものと知り、ショック。体のどこかに今までのが溜まって、体に悪影響をおこすのでは?と思い、悩んだこともありました。
- tutorial/funcs.sqlの中のSQL文
の中に CREATE TABLE EMP ( name text, salary integer, age integer, cubicle point ); INSERT INTO EMP VALUES ('Sam', 1200, 16, '(1,1)'); INSERT INTO EMP VALUES ('Claire', 5000, 32, '(1,2)'); INSERT INTO EMP VALUES ('Andy', -1000, 2, '(1,3)'); INSERT INTO EMP VALUES ('Bill', 4200, 36, '(2,1)'); INSERT INTO EMP VALUES ('Ginger', 4800, 30, '(2,4)'); -- the argument of a function can also be a tuple. For instance, -- double_salary takes a tuple of the EMP table CREATE FUNCTION double_salary(EMP) RETURNS integer AS 'SELECT $1.salary * 2 AS salary' LANGUAGE SQL; SELECT name, double_salary(EMP) AS dream FROM EMP WHERE EMP.cubicle ~= '(2,1)'::point; というコードが有るのですが 最後のWHERE EMP.cubicle ~= '(2,1)'::pointの ~= はどういうもので どんなときにつかうのでしょうか? また単なる = ではエラーになるようなのですが=との使い分けはどのようにすれば良いのでしょうか? よろしくお願いします
- ベストアンサー
- PostgreSQL
- reiman
- 回答数1
- ザンプがつながりません。
ザンプについて http://127.0.0.1/securityやhttp://localhost/に繋がりません。 apacheはおかげさまで起動しました。startになっています。 しかし、adminを押してもWEBページがちゃんと表示されません。 ファイヤーウオールを止めてもだめです。 ザンプは下記のようになっています。 C:\xampp\htdocs error.logは下記の通りです。 Sun Aug 28 21:14:15 2011] [notice] Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 configured -- resuming normal operations [Sun Aug 28 21:14:15 2011] [notice] Server built: Oct 18 2010 01:58:12 [Sun Aug 28 21:14:15 2011] [notice] Parent: Created child process 2248 [Sun Aug 28 21:14:16 2011] [notice] Digest: generating secret for digest authentication ... [Sun Aug 28 21:14:16 2011] [notice] Digest: done [Sun Aug 28 21:14:16 2011] [notice] Child 2248: Child process is running [Sun Aug 28 21:14:16 2011] [notice] Child 2248: Acquired the start mutex. [Sun Aug 28 21:14:16 2011] [notice] Child 2248: Starting 150 worker threads. [Sun Aug 28 21:14:16 2011] [notice] Child 2248: Starting thread to listen on port 443. [Sun Aug 28 21:14:16 2011] [notice] Child 2248: Starting thread to listen on port 2080. [Tue Aug 30 11:45:38 2011] [warn] pid file C:/xampp/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run? [Tue Aug 30 11:45:38 2011] [notice] Digest: generating secret for digest authentication ... [Tue Aug 30 11:45:38 2011] [notice] Digest: done [Tue Aug 30 11:45:42 2011] [notice] Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 configured -- resuming normal operations [Tue Aug 30 11:45:42 2011] [notice] Server built: Oct 18 2010 01:58:12 [Tue Aug 30 11:45:42 2011] [notice] Parent: Created child process 2256 [Tue Aug 30 11:45:42 2011] [notice] Digest: generating secret for digest authentication ... [Tue Aug 30 11:45:42 2011] [notice] Digest: done [Tue Aug 30 11:45:42 2011] [notice] Child 2256: Child process is running [Tue Aug 30 11:45:42 2011] [notice] Child 2256: Acquired the start mutex. [Tue Aug 30 11:45:42 2011] [notice] Child 2256: Starting 150 worker threads. [Tue Aug 30 11:45:42 2011] [notice] Child 2256: Starting thread to listen on port 4
- ベストアンサー
- PHP
- noname#252495
- 回答数1
- wordpressのデータベースの変更方法?
こんにちは。 Wordpress3.2.1を使用しています。 使用していたDBが壊れたようなので、新規にデータベースを作成致しました。 新しいデータベースを使用する場合、今まで使用していたデータベースを変更する書き換え設定は、どのファイルを変更したらよいのでしょうか? 宜しくお願いします 失礼致します
- PHPの参考書で分からないとこがあります
PHPによるWebアプリケーションスーパーサンプル第2版のあるページのサンプルファイルにどうしても分からない箇所があります。 <html> <head> <title>文字列中のタグをリンクに置き換える</title> </head> <body> <?php // 変換元の文字列 $temp = " <link>Webアプリケーション</link>はブラウザを使ったアプリケーションです。 <link>Apache</link>などの<link>Webサーバー</link>が必要です。 "; $pattern = "/<link>(.*?)<\/link>/"; $result = preg_replace_callback($pattern, "toLink", $temp); echo "変換結果:" . $result; function toLink($match) { $link = "<a href=\"http://www.google.co.jp/search?lr=lang_ja&q=%s\">%s</a>"; $query = urlencode(mb_convert_encoding($match[1], "UTF-8", "EUC-JP")); $temp = sprintf($link, $query, $match[1]); return $temp; } ?> </body> </html> 上記の $result = preg_replace_callback($pattern, "toLink", $temp); echo "変換結果:" . $result; function toLink($match) { $link = "<a href=\"http://www.google.co.jp/search?lr=lang_ja&q=%s\">%s</a>"; $query = urlencode(mb_convert_encoding($match[1], "UTF-8", "EUC-JP")); $temp = sprintf($link, $query, $match[1]); return $temp; } までも一連の処理が全く理解できません。 $match[1]が何を指すのか? 返り値の$tempはどこに代入されるのか? と訳がわからないことが多すぎて、何が何やら分かりません。 どなたか、このサンプルの解説をお願いします。 よろしくお願いします。
- ベストアンサー
- PHP
- sryou1985kun
- 回答数1
- 携帯からアクセスしているのにpcのページが表示
携帯からアクセスしているのに パソコンのページが表示されてしまう。 phpのページに ”別サーバーにあるページ”をinclude するとパソコンのページが表示されているのですが、携帯からアクセスして携帯ページが表示されるようにするにはどうすれば、よいのでしょうか? 携帯から直で”別サーバーにあるページ”にアクセスすると ちゃんと携帯ページが表示されます!! ”別サーバーにあるページ”に、携帯からアクセスしていると認識させるには、phpページを、どうすれば可能でしょうか? ご存知の方いらっしゃいましたら、ご教授お願いいたします。
- XAMPP設定後PHPのソースファイルはどこに?
はじめて、PHPを学習しています。XAMPPをインストールしてXAMPPのApacheとMySqlは正常に起動できているようですが、PHPのソースファイルをどこのフォルダに入れてどうやって動かすかわかりません。どなたかわかりますか。
- ベストアンサー
- PHP
- nijimasu_2011
- 回答数1