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等)・フレームワークは各該当スレへ
791 名前:nobodyさん mailto:sage [2008/10/09(木) 20:26:55 ID:???] $key = "arr$i"; $$key = $arr[$i];
792 名前:790 [2008/10/09(木) 20:49:00 ID:HNHF0bWh] >>791 $$keyの様にやってみたのですが、 ループ2周目で$$keyが上書きされてしまうで、$$keyが配列になりません。 ($arrXに複数入れたいのです) そこで $$key[] = arr[$i]; にしたのですがエラーになってしまうのです。 他に方法はないでしょうか?
793 名前:nobodyさん mailto:sage [2008/10/09(木) 20:51:36 ID:???] 教えてもらったやり方から色々工夫してみれ
794 名前:nobodyさん mailto:sage [2008/10/09(木) 21:31:39 ID:???] LPO対策クラス作って設置し実際に効果があった、需要があればさらす。
795 名前:nobodyさん mailto:sage [2008/10/09(木) 21:48:48 ID:???] むしろ効果のほうを晒してくれ
796 名前:nobodyさん mailto:sage [2008/10/09(木) 22:15:58 ID:???] >>739 お前分からんだけやろw
797 名前:nobodyさん mailto:sage [2008/10/09(木) 22:41:31 ID:???] お前は誰と戦ってるんだ
798 名前:nobodyさん [2008/10/09(木) 22:44:13 ID:HNHF0bWh] >>796 お分かりでしたら教えて下さい。 変数はできたのですが変数が配列になりません。
799 名前:nobodyさん [2008/10/09(木) 22:59:01 ID:ZnuIQjgo] イラレ+phpのgdでアバター機能作成をしています。 パーツ画像種類はPNGで、合成後jpgに変換して表示しています。 アンチエイリアスをかけて画像を保存して、下記を実行すると、絵がある部分の背景が黒くなってしまいます。 アンチエイリアスをかけずに画像を保存すると、画像がぎざぎざになってしまいます。 どうにか、うまい按配で合成することはできないでしょうか? /**/$imgpro[0]=array("../img/abt/base/w2.png","0","0"); $imgpro[1]=array("../img/abt/huku/w2.png","0","0"); $imgpro[2]=array("../img/abt/hair/w2.png","0","0"); $imgpro[3]=array("../img/abt/eye/w2.png","0","0"); $imgpro[4]=array("../img/abt/hana/w2.png","0","0"); $imgpro[5]=array("../img/abt/kuti/w2.png","0","0"); $imgpro[6]=array("../img/abt/mayu/w2.png","0","0"); $src = imagecreatefrompng($imgpro[0][0]) or die("error!1\n"); foreach($imgpro as $value){ $mrg1 = imagecreatefrompng($value[0]) or die("error!2\n"); list($mrg1_width, $mrg1_height) = getimagesize($value[0]); // イメージをマージ imagecopymerge($src, $mrg1,$value[1],$value[2],0, 0,$mrg1_width,$mrg1_height,100) or die("error!3\n"); }
800 名前:nobodyさん mailto:sage [2008/10/09(木) 23:14:45 ID:???] 白背景の画像用意してマージすりゃいいのと違うのか
801 名前:nobodyさん mailto:sage [2008/10/10(金) 01:04:15 ID:???] >>798 $$key = array($arr[$i]) でできますよ。
802 名前:nobodyさん [2008/10/10(金) 02:23:46 ID:6LvKpYRu] phpの質問と言うよりはプログラミングの基本な質問で悪い。 いま仮に100個あるデータの中からランダムで重複せずに(←重要) 10個のデータを取り出したい場合なんだが スマートな書き方ってどうするんだろ? $arr = array(100個のデータ); $random = mt_rand(0, $arr-1); $random を以前取り出したデータと重複していないかチェックして 新たな配列に入れるみたいな作業になると思う。
803 名前:nobodyさん mailto:sage [2008/10/10(金) 02:33:05 ID:???] 上からこられるといらっとするよね
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