[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/05 02:47 / Filesize : 235 KB / Number-of Response : 906
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】下らねぇ質問はID出して書き込みやがれ 74



1 名前:nobodyさん mailto:sage [2008/09/20(土) 20:23:08 ID:???]
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 73
pc11.2ch.net/test/read.cgi/php/1220440493/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ

804 名前:754 [2008/10/10(金) 02:55:06 ID:uSuuZHDd]
>>802
配列をシャッフルしてarray_popで取り出す

805 名前:802 [2008/10/10(金) 03:03:14 ID:6LvKpYRu]
>>804
あー、頭いいな〜。
if文も使わないし非常にスマートですね。

で調べていたらarray_randというまさにそのためにあるような
関数で解決しました。
マニュアルには明記されていませんが、
どうやら重複せずに配列からランダムで取り出すみたいです。
PHPは関数が豊富ですな。

806 名前:nobodyさん mailto:sage [2008/10/10(金) 05:13:24 ID:???]
そんなんどこに書いてあったんだよ
マジレスすると種次第。
>>804は切り出さなくても先頭10だけ使うって方法でも良いね

807 名前:nobodyさん mailto:sage [2008/10/10(金) 09:17:06 ID:???]
ttp://www.php.net/manual/ja/function.array-rand.php
種は自動で生成する

808 名前:nobodyさん [2008/10/10(金) 09:56:30 ID:Mjn4nOqX]
2chぽい掲示板を作っています。データの保存形式も同じです。
最新30レスだけ読み込みたい場合、今のところ全部読み込んで抜き取っているのですが
全部読み込まずにファイルの後方から読み込むような方法はないでしょうか
負荷に困ってるわけではないのですが、負荷を軽くする方法を知っておきたくて。よろしくおねがおします。

809 名前:nobodyさん mailto:sage [2008/10/10(金) 09:58:37 ID:???]
>>808
tail -fでやるのは如何でしょうか?

810 名前:nobodyさん mailto:sage [2008/10/10(金) 11:09:14 ID:???]
fopenして
fseek(ファイルのケツ)して1行づつ戻して読めば?

アッー!

811 名前:nobodyさん mailto:sage [2008/10/10(金) 12:13:05 ID:???]
ケツにseekしても行単位で戻せんし、どうしてもバイト単位になるす
行単位でseek出来れば最初からヤっとるわ!

アッー!

812 名前:nobodyさん mailto:sage [2008/10/10(金) 16:28:36 ID:???]
わがまま言わずに行区切りくらい自分で見付けなさい

行単位でシークしたけりゃおとなしく固定長レコードか、データベース使えば?
負荷が問題になるならキャッシュの導入を先に考えればいいよ。




813 名前:nobodyさん [2008/10/10(金) 18:31:41 ID:Yvgf2UGi]
php4とphp5をくらべて、php4でしか使えない関数ってありますか?

814 名前:nobodyさん mailto:sage [2008/10/10(金) 18:34:30 ID:???]
>>813
たとえば、mb_系の関数やwhile文やexit、functionなどが使えない。

815 名前:nobodyさん [2008/10/10(金) 18:45:41 ID:Yvgf2UGi]
ありがとうございます
以下のサイトを参考にしたのですが、このページに掲載されている関数は全部php5で使えるということでしょうか?
ttp://php.benscom.com/manual/ja/indexes.php

816 名前:nobodyさん mailto:sage [2008/10/10(金) 18:57:59 ID:???]
>>815
釣られんな、>>814に書いてるヤツが使えなかったらヤバいだろ

ttp://www.php.net/manual/ja/indexes.php
同じ内容だが本家見ような、余裕あれば原語も

ttp://www.php.net/manual/ja/about.prototypes.php
マニュアルを見る前にここチェック
関数の説明にはちゃんと対応バージョン書いてあるからな

817 名前:nobodyさん [2008/10/10(金) 19:23:21 ID:Yvgf2UGi]
ありがとうございます
これからは本家で見るようにします。
php4を切り捨てるため、php5で使える関数をテキストエディタの補完色分けに作ろうと思ってます。
関数の説明ページをひとつずつ開いて対応バージョンを調べるしかないですよね・・・
時間との戦いになりますが、地道にやっていきます。

818 名前:nobodyさん mailto:sage [2008/10/10(金) 20:02:39 ID:???]
いくつあると思ってるんだw

819 名前:nobodyさん [2008/10/10(金) 20:19:02 ID:Mjn4nOqX]
>>809-812
試してみます。
ありがとうございました。

820 名前:nobodyさん [2008/10/11(土) 02:23:25 ID:Dg304RS1]
いいってことよ
無料人力検索ボランティアをこき使ってくれたまえ

821 名前:nobodyさん [2008/10/11(土) 02:25:45 ID:Dg304RS1]
1.質問があがる

2.質問を読んだ者が検索して答えをみつけてくる

3.検索してみつけたページに書いてあることをコピペ(文章改ざん)して偉そうに回答

そんなスレだからがんばれよ

822 名前:nobodyさん mailto:sage [2008/10/11(土) 02:26:39 ID:???]
そんな今さらなこと言われてもなぁ



823 名前:nobodyさん mailto:sage [2008/10/11(土) 02:47:43 ID:???]
これいいなと思う質問回答はwikiにまとめようぜ
ttp://wikiwiki.jp/

824 名前:nobodyさん mailto:sage [2008/10/11(土) 04:35:19 ID:???]
一人でやってろ

825 名前:nobodyさん mailto:sage [2008/10/11(土) 07:43:55 ID:???]
>>830がwikiwiki登録してくれます

826 名前:nobodyさん [2008/10/11(土) 16:02:58 ID:hw8joz8b]
すみません。このようなエラーが出ていますが、何が原因ですか?

Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
--------------------------------------------------------------------------------

Apache/1.3.34 Server at www.mannanlife.co.jp Port 80

827 名前:nobodyさん mailto:sage [2008/10/11(土) 16:03:54 ID:???]
www.mannanlife.co.jp/

828 名前:nobodyさん mailto:sage [2008/10/11(土) 16:33:13 ID:???]
>>826
いつから、こうなるの?
あなたは誰?単なる訪問者、それともHP設置者とか。

829 名前:nobodyさん mailto:sage [2008/10/11(土) 21:20:05 ID:???]
フッターを外部ファイルで一括管理したいのですが、
ググってみてもあまり情報が出てきません。

phpのインクルードの方法について教えてください。

830 名前:nobodyさん mailto:sage [2008/10/11(土) 21:21:11 ID:???]
include 'footer.html';

831 名前:nobodyさん [2008/10/11(土) 22:21:44 ID:4K6Y3Waq]
バッチファイルにftpコマンド書いておいて
サイト閲覧者に開かせれば
そいつのパソコンのデータを自動で俺のサーバーに移せますか?


832 名前:nobodyさん mailto:sage [2008/10/11(土) 22:23:32 ID:???]
無理



833 名前:nobodyさん [2008/10/11(土) 22:53:19 ID:8WtsmSV0]
PEARのMDB2を使用してTCP/IPを使用しているMySQL5の環境で
接続しようと試みているのですが、接続できません。
ご教授願えますか?

834 名前:nobodyさん mailto:sage [2008/10/11(土) 23:07:58 ID:???]
>>833
localhostじゃないならポートが開いてるか確認する必要がある
MySQL接続ユーザのhostに接続元のホスト名(または%)が指定されてるか確認する必要がある

あと、「接続出来ません」では分からん
MDB2ならデバッグでエラーメッセージを取れるから、何が原因で接続出来ないか見ような

835 名前:nobodyさん [2008/10/11(土) 23:20:16 ID:G3J1VtlX]
PHPエディタなんだけど、
ファイルを2つ開いておいて、
タブで切り替えるってできないの?

836 名前:nobodyさん [2008/10/11(土) 23:29:26 ID:8WtsmSV0]
エラーメッセージを取得しましたら下記のようなエラーです。
Access denied for user: 'username@hostname' (Using password: YES)]

ポートの開閉確認とは??レンタルサーバーを使用しております。どのように
行えばよいでしょうか?お恥ずかしい質問ですが、よろしくおねがいします。

837 名前:nobodyさん [2008/10/11(土) 23:29:53 ID:4K6Y3Waq]
>>832
回答ありがとうございます。
余談ですが
delコマンドを使うと閲覧者のPCのデータを消せますか?

>>835
メモ帳二つ開けばいいよ。漢(おとこ)ならメモ帳だろ。


関係ないけど、さっきすっきりデフラグってソフト使ったら、
PHPのセッションのフォルダごと自動で削除されてセッション使えなくなった。

838 名前:nobodyさん mailto:sage [2008/10/11(土) 23:31:23 ID:???]
>>836
IDかパスが間違ってる

839 名前:nobodyさん [2008/10/11(土) 23:37:11 ID:8WtsmSV0]
ソースに記述したIDとパスでphpMyAdminはログインできるんです・・・。

840 名前:nobodyさん mailto:sage [2008/10/11(土) 23:37:45 ID:???]
じゃ接続の仕方がおかしい

841 名前:nobodyさん [2008/10/11(土) 23:41:28 ID:8WtsmSV0]
$mdb2 =& MDB2::connect("mysql://username:pass@hostname/tablename");
と記述しております。どこか間違えておりますでしょうか?

842 名前:nobodyさん [2008/10/11(土) 23:57:24 ID:8WtsmSV0]
記述ミスです。
$mdb2 =& MDB2::connect("mysql://username:pass@hostname/databasename");
です。



843 名前:nobodyさん mailto:sage [2008/10/12(日) 00:10:26 ID:???]
そのレン鯖のMySQLは外部接続を許可しているのか?
そうでないならlocalhostしか接続出来んだろ
phpMyAdminはレン鯖提供か、自スペースに置いたものだろ?(レン鯖ないで動くアプリはlocalhost接続)


844 名前:843 mailto:sage [2008/10/12(日) 00:14:23 ID:???]
ちょっと言い方が悪かったかもしれん
つまりホスト名に「localhost」以外を指定出来る設定になってるかどうか
普通は「mysql://username:pass@localhost/databasename」にする
(MySQLはユーザ名だけでなくホスト名もチェックする認証方式)


845 名前:nobodyさん [2008/10/12(日) 00:16:43 ID:cg/RVdaY]
セッションを利用するWEBページを見て回ってるときに、
そのセッションIDが自分のパソコンの中のクッキーに保存されていて、
そのクッキーを盗み出されたら、セッションIDがばれてしまって
なりすましされてしまうの?

846 名前:nobodyさん mailto:sage [2008/10/12(日) 00:40:17 ID:???]
サイトの対策次第
セッションIDと共にIPでのチェックもしてる場合は抑制されるし
サイトが未対策で、IDバレたらなりすまし可能(ヘッダーにIDを仕込むだけだし)


847 名前:nobodyさん mailto:sage [2008/10/12(日) 00:43:36 ID:???]
>>845
セッションハイジャックは都市伝説。
存在しないよ。

848 名前:nobodyさん mailto:sage [2008/10/12(日) 00:57:13 ID:???]
>>846
セッションIDが分かっても、鯖はコネクションが切れた時点でセッション内容を破棄するから
盗んだセッションでアクセスしても既に内容が無いんと違うか?

>>847
同意。セッションのフォルダは隠しフォルダだから外からアクセスできないし、外部から見るのは不可能だよな。

849 名前:nobodyさん [2008/10/12(日) 01:44:14 ID:kzFvqNLy]
おう、わいや、清原や。
お前ら、他のやつが作ったフリーのライブラリとか使う時に
自分のサイトで「○○さんのを使わせてもろたで」とか書くんか?
書かんでええやろ。どないやねん。はよ答えろや。

850 名前:nobodyさん mailto:sage [2008/10/12(日) 02:30:18 ID:???]
>>848

…こんな奴がいるからいつまでたってもPHPが馬鹿にされる

851 名前:nobodyさん [2008/10/12(日) 04:54:47 ID:kzFvqNLy]
おう、わいや、清原や。
PDF作ろうと思うとるねんけどFPDFは文字化けしてよう作られへんわ。

PHPのマニュアルに個人利用フリーで商用有料のモジュールあるんやけど
個人でアフィリエイトするサイトは商用になるんか?
そもそも商用って何やねん。
ウェブプログラマーになって他人のサイト作る事が商用?
会社で自社のサイト作るんが商用?
どないやねん。はよ教えろや。
というか外部の奴からは関数なんて分からんから商用やってもバレへんのちゃうか?

852 名前:nobodyさん [2008/10/12(日) 04:59:49 ID:LpzkFgnx]
     ____
   /__.))ノヽ
   .|ミ.l _  ._ i.)  
  (^'ミ/.´・ .〈・ リ   そんなこと知らんわ
  .しi   r、_) |  
    |  `ニニ' /   
   ノ `ー―i




853 名前:nobodyさん mailto:sage [2008/10/12(日) 05:14:04 ID:???]
>>851
ちんちん舐めて

854 名前:nobodyさん mailto:sage [2008/10/12(日) 06:31:27 ID:???]
>>852
星野に似てるな。

855 名前:nobodyさん [2008/10/12(日) 09:01:37 ID:B7DkksYv]
すいませんopenlab.ring.gr.jp/k16/htmllint/tagslist.cgi?HTMLVersion=XHTML11
タグ名とそのタグの属性名を正規表現で抜き出したいのですがうまくいきません
どなたかご教授おねがいします

$file = file_get_contents("openlab.ring.gr.jp/k16/htmllint/tagslist.cgi?HTMLVersion=XHTML11");

preg_match_all("/<dl>.*</dl>/",$file, $ary);

856 名前:845 mailto:age [2008/10/12(日) 09:50:14 ID:???]
うぜえ回答者はだまってろ!
わかるかた回答おね

857 名前:nobodyさん mailto:sage [2008/10/12(日) 10:20:47 ID:???]
>>855
正規表現で/使う場合はエスケープ
オプションで改行も全て含むやりかたがあるからやってみろ(mだかUだか忘れたけど)
.*を(.*?)にしてみろ、.*は最長マッチだが.*?は最短マッチだ

858 名前:nobodyさん mailto:sage [2008/10/12(日) 10:30:37 ID:???]
>>845
なりすましはセッションではなくSSLで使う言葉じゃね。
Session Fixationでググれ。

859 名前:nobodyさん mailto:sage [2008/10/12(日) 12:57:38 ID:???]
>>856
俺のチンコなめ回したら教えてやる。

860 名前:nobodyさん mailto:sage [2008/10/12(日) 13:30:21 ID:???]
>855
もうDOM使っちまえよ

861 名前:nobodyさん [2008/10/12(日) 13:53:51 ID:UTQYH/CT]
php.ini の以下の設定のコメントを外してもociドライバが認識されません(phpinfo()で確認)
extension=php_oracle.dll
extension=php_oci8.dll
extension=php_pdo_oci.dll

Oracle Database 10g Express Editionを使用してます。
どうしたら、認識されるのでしょうか?

862 名前:211 [2008/10/12(日) 13:59:14 ID:fXLt5ZTj]
>>861
Oracleのクライアントを入れていないんじゃない?



863 名前:211 [2008/10/12(日) 14:06:40 ID:fXLt5ZTj]
おっと。うっかり想像で書いてしまったぜ。

>>861
エラーログみたらなんか出てるんじゃない?
ロードに失敗しているなら、DLLをロードする時必要なファイルに
パスが通ってないとかそもそも必要なものがインストールされてないとか、、、

www.php.net/manual/ja/book.oci8.php


864 名前:nobodyさん [2008/10/12(日) 15:12:01 ID:kzFvqNLy]
おう、清原やけど、
数字を16進数や2進数にするんわ分かってんけど
文字を16進数や2進数にするんわどうしたらええの?
文字かて2進数にできるんちゃうか?
教えろや。はよしてや。急いでるねん。

865 名前:nobodyさん mailto:sage [2008/10/12(日) 15:15:31 ID:???]
asciiコードってこと?
全角だと文字コードによって変わっちゃうんだけど

866 名前:211 [2008/10/12(日) 15:20:51 ID:fXLt5ZTj]
要するに… 「文字」を「数字」にできればいいんだよね。
この変見ればやりたいこと書いてあるんじゃない?
www.php.net/manual/ja/language.types.type-juggling.php


867 名前:nobodyさん mailto:sage [2008/10/12(日) 15:32:26 ID:???]
>>864
急いでるなら、俺のチンチンを今すぐ舐めろ!

868 名前:nobodyさん [2008/10/12(日) 16:32:51 ID:ZWInd4bd]
変数展開をその場でなく任意の場所で行う
標準的な関数か方法はないでしょうか?

通常の変数展開は
$foo = 'bar';
echo "foo: {$foo}"; // => foo: bar

ですが
$hoge = 'foo: {$foo}'; // ここでは展開しない
$foo = 'bar';
echo func($hoge); // ここで展開する
// または echo func($hoge, array('foo' => $foo)); など

のような形にしたいです。
sprintf()の%sに名前を指定できる感じのものと言えばいいでしょうか。
よろしくお願いします。

869 名前:nobodyさん mailto:sage [2008/10/12(日) 16:36:35 ID:???]
そういうときのためにsprintfがあると思うんだが
もしくはeval

870 名前:861 mailto:sage [2008/10/12(日) 16:56:09 ID:???]
>>863
Oracle Instant Clientを落としてきて、中身をsystem32フォルダに入れたらうまくいきました。
ありがとうございました。たすかりました。

871 名前:nobodyさん mailto:sage [2008/10/12(日) 17:14:38 ID:???]
>>869
ありがとうございます。
sprintfは展開する順序が固定なのが少し困るところです。
evalは思いつかなかったので
初心者なりにevalを使って期待する関数をつくってみました。
こういった感じの標準的な関数・方法はないでしょうか?

function interpolate($str, $args) {
extract($args);
return eval('return "' . $str . '";');
}

$hoge = 'foo: {$foo}';
$foo = 'bar';
echo interpolate($hoge, array('foo' => $foo)); // foo: bar

872 名前:868 [2008/10/12(日) 17:16:11 ID:ZWInd4bd]
すみません。>>871は868です。



873 名前:211 [2008/10/12(日) 17:19:51 ID:fXLt5ZTj]
標準的かどうかはよくわからないけど、変数を展開させることに拘らなければ
str_replace かその関係の関数が簡単なんじゃないかな?
echo str_replace(array('$foo'),array('bar'),$hoge);
みたいな。
jp2.php.net/manual/ja/function.str-replace.php


874 名前:868 [2008/10/12(日) 18:18:51 ID:ZWInd4bd]
>>873
ありがとうございます。
str_replace()やpreg_replace()はすべての引数で配列を指定できるのですね。
1つずつの文字列しか引数に取れないと思い込んでいたので
勉強になりました。

配列の中身の展開("{$baz[0]}"など)が必要にならない限り
これを使っていきたいと思います。
皆さんありがとうございました。

875 名前:nobodyさん mailto:sage [2008/10/12(日) 20:15:22 ID:???]
トーシロなんだけど
このページの
www.phppro.jp/school/phpschool/vol12/2


if (isset($_POST["title"]) && $_POST["title"])
って入力確認だけど、なんでissetで事足りるように見えるのに後ろに余計な物付け足してるん?
念のため聞くけど、後ろのは入力されてたらTRUEを返すんだよね?

なんか見苦しくてすまない、回答いただけるとウレシス

876 名前:nobodyさん [2008/10/12(日) 20:19:57 ID:qbuV3HNr]
ごめんID出し忘れた

877 名前:nobodyさん mailto:sage [2008/10/12(日) 20:20:37 ID:???]
>>875
0

878 名前:nobodyさん mailto:sage [2008/10/12(日) 20:28:59 ID:???]
つかissetだけでいいわな

879 名前:211 [2008/10/12(日) 20:29:53 ID:fXLt5ZTj]
「入力されてたらTRUE」の認識は正しいと思います。
何でよけいだと思ったのかな。

880 名前:211 [2008/10/12(日) 20:36:51 ID:fXLt5ZTj]
あ。ごめん。俺間違ってる。
875の書き方も、877の事を考慮すると間違ってる。

881 名前:nobodyさん [2008/10/12(日) 20:37:46 ID:qbuV3HNr]
回答どうもです。
これってissetだけじゃ駄目なんですかね?

882 名前:nobodyさん [2008/10/12(日) 20:38:52 ID:qbuV3HNr]
あ、そういう事か
0だと入っててもFALSEかなんかになるんですよね
回答どうもです



883 名前:nobodyさん mailto:sage [2008/10/12(日) 20:46:54 ID:???]
なんねーよissetは

884 名前:nobodyさん mailto:sage [2008/10/12(日) 20:49:37 ID:???]
0だとisset通るけど後方で引っかかる
array()も同じく

885 名前:nobodyさん [2008/10/12(日) 21:05:30 ID:cg/RVdaY]
WEB系ってある程度きわめると
勉強することなくなるの?

886 名前:nobodyさん mailto:sage [2008/10/12(日) 21:08:42 ID:???]
んなわけねーだろ。

887 名前:nobodyさん [2008/10/12(日) 21:12:53 ID:cg/RVdaY]
wiki.bit-hive.com/tomizoo/pg/PHP%20CLI%2FCGI%20SAPI

ここに、PHPのCGI版は、実行時に
HTTPヘッダを自動で送信している、って
書いてあるけど、
自分はPHPのモジュール版を使っているのだが、
この場合はHTTPヘッダを自動で送信しているのかな?
それともしていないのかな?

888 名前:211 [2008/10/12(日) 21:32:59 ID:fXLt5ZTj]
使っているのなら自分で確認できませんか?

889 名前:nobodyさん mailto:sage [2008/10/13(月) 01:00:05 ID:???]
>>875
そのURLは面倒なので見てないが、変数定義があるかどうかを調べた後にその変数の正当性を調べるのは、
何らおかしい事ではないというかむしろ普通。

PHPはそこら辺いい加減な言語だから別に好きにすりゃいいが、変数が定義されているかどうか分からないケースの場合、
先にisset()で調べた方が、実行速度は上がるケースがある。未定義の変数の参照は遅い。

if (isset($_POST["title"]) && $_POST["title"]) だと、$_POST["title"]が未定義ならその後の処理は実行されない。
if ($_POST["title"]) だと、$_POST["title"]が未定義の時に遅い。まぁマイクロ秒単位の世界だがw

890 名前:nobodyさん mailto:sage [2008/10/13(月) 01:02:20 ID:???]
なんで isset($_POST["title"] だけではだめなの?

891 名前:nobodyさん mailto:sage [2008/10/13(月) 01:48:34 ID:???]
みんな回答ありがとう

892 名前:211 [2008/10/13(月) 07:30:16 ID:2R92n/wD]
>>890
だめかどうかは知らないけど、
isset($_POST["title"])

$_POST["title"]!=""
は意味(結果)が違うからね。
必要に応じて使えばいいと思う。



893 名前:nobodyさん mailto:sage [2008/10/13(月) 07:38:41 ID:???]
じゃstrlenにすれば一発でできんじゃん

894 名前:nobodyさん [2008/10/13(月) 07:46:42 ID:CGfh2V74]
phpファイルで
<html>
<head><title>PHP TEST</title></head>
<body>
<?php
require_once(DB.php);

?>
</body>
</html>
というのを作ってapacheで実行したら
エラーが出ました

Warning: require_once(DB.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\atest.php on line 7

Fatal error: require_once() [function.require]: Failed opening required DB.php (include_path=.;c:\php\includes;c:\smarty\libs) in C:\Program Files\Apache Group\Apache2\htdocs\atest.php on line 7

と書かれていたのでC:\WINDOWS\php.iniの
include_path = .;c:\php\includes;c:\smarty\libs
を確認したのですが違いはなかったようです

どうすればよろしいでしょうか?

895 名前:nobodyさん mailto:sage [2008/10/13(月) 07:50:19 ID:???]
PEAR入れれ

896 名前:nobodyさん [2008/10/13(月) 08:05:13 ID:CGfh2V74]
>>895
え?入ってないってことですか?
入れたはずなんですが

897 名前:nobodyさん mailto:sage [2008/10/13(月) 08:07:59 ID:???]
include_pathがそれでいいのか良く見て考えれ。終了。

898 名前:nobodyさん [2008/10/13(月) 08:20:52 ID:CGfh2V74]
>>895>>897のどっち?
pearは入れたはず
include_pathはとりあえず言われたのをやったんですけども
pear導入のときから少し変えた
なにを入れたらいいの?

899 名前:211 [2008/10/13(月) 08:51:11 ID:2R92n/wD]
>>898
警告メッセージってコピペですか?
require_once の引数はそれで正しいですか?

900 名前:894 [2008/10/13(月) 09:13:10 ID:CGfh2V74]
レスありがとうございます

コピペです
require_onceの引数ですが
c:\php\pear\DBなので間違いではないと思います

901 名前:211 [2008/10/13(月) 09:26:59 ID:2R92n/wD]
>>900
> コピペです
私の理解では、DBとphpが定数定義されていない限り、
require_once(DB.php);

require_once("DB"."php"); つまり require_once("DBphp");
という動きをします。

しかしそうだとすると、894の警告と食い違うので聞きました。
手で打ち直してないですか?

二つめの質問もつまりそういうことです。

もし私の理解が正しくなくて、require_once が DB.php を
開こうとしているなら、DB.phpが include_pathで指定されている
ディレクトリのどこかにあるかどうか確認すればよいと思います。

あるいは、require_onceの引数にパスを含めて指定することも
できると思います。


902 名前:894 [2008/10/13(月) 10:38:31 ID:CGfh2V74]
ありがとうございます
一度帰宅してやってみます
詳しく書いて頂き大変感謝してます

いつもここのスレは丁寧な方が多くて嬉しい限りです



903 名前:nobodyさん mailto:sage [2008/10/13(月) 12:24:01 ID:???]
>>892
もしかすると
gettypeでstringの場合とstrlenで1文字以上をチェックすれば完璧じゃね?

または(string)で強制的にstringに置き換えてstrlenでチェック


904 名前:211 [2008/10/13(月) 12:37:29 ID:2R92n/wD]
>>903

>>889 で書かれていることは知らなかったけど、そういうこともあると思う。
自分で isset($_POST["title"]) && $_POST["title"]!="" とか書くときの
isset は Notice が出ないようにするためだな。

905 名前:nobodyさん mailto:sage [2008/10/13(月) 12:40:44 ID:???]
>>903
>>893






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<235KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef