1 名前:nobodyさん mailto:sage [2006/11/27(月) 17:46:42 ID:???] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 PHP使いが優しくコメントを返しますが、 お礼はPHPの布教と初心者の救済をお願いします。 PHP Home Page www.php.net/
109 名前:nobodyさん mailto:sage [2006/12/29(金) 12:27:29 ID:???] この年末年始の休暇で、PHPを勉強したいなあと思っています。 CSVの中身をランダムに表示したりとか、そういうことから始めたいなあと思っています。 が、わたしはプログラマーではないので、プログラムをちゃんと勉強したことはありません。 本家のマニュアルとかユーザ会のページとか見ても「この関数を使えばなんとかなりそうだなあ」 という程度にはわかるのですが、その先、実際にプログラムにすることができません。 こんなわたしに、PHPのおもしろさや便利さがわかる書籍やサイトがあったら、おしえてください。 よろしくお願いします。
110 名前:nobodyさん mailto:sage [2006/12/31(日) 15:29:32 ID:???] 他人の頼ってる時点でダメポ。 そもそも速度求めるならphpって選択肢無いし。 気にせず使うのが良いよ。
111 名前:nobodyさん mailto:sage [2006/12/31(日) 15:41:03 ID:???] >>109 面白さや便利さなんて人それぞれ。 自分のやりたいことが明確なら、それが実現できたときに面白さや便利さを感じるんじゃないかね? なら、そのやりたいことを実現するための方法を見つければいい。 サイトをというなら、PHPのオンラインマニュアルをお勧めするよ。 やりたいことから関数をひける非常に良くできたマニュアルだから。
112 名前:nobodyさん mailto:sage [2007/01/02(火) 16:59:41 ID:???] クラスの概念がイマイチ掴めない。 まぁ使わなくても何とかなるようなのしか書いてないけどさ… やっぱり理解したい。
113 名前:nobodyさん mailto:sage [2007/01/03(水) 08:40:02 ID:???] javaにしとけ。
114 名前:nobodyさん mailto:sage [2007/01/03(水) 14:48:50 ID:???] 日曜プログラマな俺もオブジェ糞指向をマスターしようと、 C++(その前にやるC含む)・Java・Rubyの本をしこたま買い込んだが ほとんど読んでない 今年は頑張って読んでマスター目指すよ('A`)ノシ
115 名前:nobodyさん [2007/01/09(火) 23:27:55 ID:k5CRwMBH] 思いっきりJavaのパクリです しかも中途半端ときてます ほんとうにありがとうございました
116 名前:nobodyさん mailto:sage [2007/01/11(木) 15:36:01 ID:???] $msg_str .= ""; $msg_str .= "<FONT COLOR=RED SIZE=4>"; $msg_str .= "名前が長すぎます。半角20文字(全角10文字)以内で"; $msg_str .= "入力してください。</FONT><BR>"; とある参考書に書いていました。 一行目の意味が分かりません。無くても表示されます。 解説してもらえたらうれしいです。
117 名前:nobodyさん mailto:sage [2007/01/11(木) 15:53:20 ID:???] 1行目は $msg_str .= ""; ではなく $msg_str = ""; でないか? もし上なら出版社のミス。 下なら、$msg_strの値を空にしてる。 もしこの行より前で $msg_strに値が入っていたら、続けて表示されてしまうから一旦空にしてるんじゃない?
118 名前:nobodyさん mailto:sage [2007/01/11(木) 16:20:20 ID:???] >>116 $msg_str = ""; がないとNotice errorになる(未定義の変数を使用しましたとか)
119 名前:nobodyさん mailto:sage [2007/01/11(木) 17:58:19 ID:???] >>117 >>118 お返事ありがとうございます。 仰るとおり、一行目は確かに $msg_str = ""; ですた・・・ なんとなく理解できました。
120 名前:nobodyさん mailto:sage [2007/01/11(木) 18:18:56 ID:???] 例えば、 あいう123えおかきく234けこさ という文字から234の数字の部分だけ取り出したいのですが、 どうすればよいでしょうか。 "きく"と"けこ"の間を取得すればいいということだけはわかるんですが、 どう書けばいいのかわかりません。
121 名前:nobodyさん [2007/01/12(金) 13:34:49 ID:6+bHJUiK] ドメインの範囲を教えてください
122 名前:nobodyさん [2007/01/13(土) 19:39:53 ID:5xFs6m9q] 教えてください。 phpでメール送信をしたいのですがまだ環境を全然整えていません。 というか、どの様な環境を構築すればメール送信できるのでしょうか? 鯖用PCはあります。Win2k/AN HTTPDです。 mail()関数を使ったプログラムは書いたのですけど、 Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\〜\index.php on line 23 というエラーが返ってきました。 additional_headers引数にFromを設定し忘れたので当然だとは思うのですが、 SMTPサーバ?も必要なんですよね? mail()関数とphp標準機能だけでメールって送れないですよね? くだらない質問ですいませんが、よろしくお願いします。
123 名前:nobodyさん mailto:sage [2007/01/13(土) 21:09:08 ID:???] >>120 正規表現
124 名前:nobodyさん mailto:sage [2007/01/14(日) 14:29:07 ID:???] >>122 windows版phpはsmtpが使える マニュアルをmailとかで検索しる
125 名前:nobodyさん mailto:sage [2007/01/14(日) 14:33:39 ID:???] あ・あとその英語のエラーをよく読もうな
126 名前:122 [2007/01/14(日) 23:17:53 ID:3+hBUljF] >>125 ツッコミがいまいち理解できないのですが、ワーニングだから無視できるって事ですか? それともphp.iniの設定してないからだよ、と? それともFromヘッダは、設定をしてないのではなくて設定内容が間違っているのだ、 という部分でしょうか? まさか、sendmail_from≠Fromヘッダなんですかね? もう少しだけ詳しくご指摘いただけると助かります >>124 それよりなにより「smtpが使える」とは、mail関数でsmtpを利用できるという意味ですか? つまりphpとは別にsmtp環境を用意しなきゃいけないという事ですよね? ちょっとズレますが、本によるとPEAR::Mailはmail/sendmail/smtpの3つのバックエンドに 対応しているらしく、これを目にしたが故に、 ここでいうmailならphp標準機能(よく考えるとPEARは標準機能ではないかf(^^;)だけで メールが送信できるのかな?これ以上ソフトウェアを入れなくてもいいのかな? という疑問がわいた次第です。 ご存知の方がおられましたらお願い致します。
127 名前:nobodyさん mailto:sage [2007/01/15(月) 15:09:32 ID:???] ■ おすすめ2ちゃんねる 開発中。。。 by FOX ★ このスレを見ている人はこんなスレも見ています。(ver 0.20) 【桜肉】馬肉大好き【さくら肉】 [珍味] マジ? PHPとどんな関係?
128 名前:nobodyさん [2007/01/15(月) 18:36:46 ID:bXy17Ecq] 配列で指定したNGワードを弾きたいのですが下のように書いても上手くいきません。 $ng = array('/SEX/', '/crap/', '/fuck/'); if(ereg($ng, $coment)){ $ck = 1; $txt .= 'NGワード。<br>'; } 下のように書いても駄目でした。 $ng = array("SEX", "crap", "fuck"); arrayの使い方が間違ってるんでしょうか?
129 名前:nobodyさん mailto:sage [2007/01/15(月) 18:40:49 ID:???] 正規表現つかわずにin_array
130 名前:nobodyさん mailto:sage [2007/01/15(月) 20:48:45 ID:???] >>127 腹が減ってたんじゃね? それともアレか、馬肉のネット通販サイトでも作ってる奴が居r そんなスレ貼るから、馬刺し食いたくなってきたわ・・馬は乗るものじゃなくて食い物だな。
131 名前:128 [2007/01/15(月) 23:19:48 ID:bXy17Ecq] if(ereg($ng, $coment)){ をやめにして、 $ng = array("SEX", "crap", "fuck"); if(in_array($coment, $ng)){ としたら上手くいきましたが、入力されたコメントが「SEX」でなく 「SEX SEX」になると弾かないようです。 正規表現を組み合わせて使う方法はないでしょうか?
132 名前:nobodyさん mailto:sage [2007/01/15(月) 23:50:38 ID:???] log/a.log というファイルの中身が一行しかない(2行以上でない)なら、 そのファイルを消すという動作をしたいのですが、 どのようにすればいいのでしょうか?
133 名前:nobodyさん mailto:sage [2007/01/16(火) 08:50:28 ID:???] >>132 ヒント:改行コードの数を数える
134 名前:154 [2007/01/16(火) 12:33:03 ID:UiU1h66q] a.log 1列ずつ読んで2列目があれば削除でええのでは
135 名前:nobodyさん mailto:sage [2007/01/16(火) 14:55:16 ID:???] ありがとうございます いちおうこれでいけたような気がいます。精進します $file = 'a.log'; $fp = fopen($file, "r"); $count = 0; while(!feof ($fp)) { if ($line = fgets($fp) and substr($line, -1) == "\n") $count++; } fclose($fp); if ($count == 1) unlink($file);
136 名前:nobodyさん mailto:sage [2007/01/16(火) 15:58:40 ID:???] >>135 最後まで読み込み続けるから行数が多いファイルだと無駄が多いな
137 名前:nobodyさん mailto:sage [2007/01/16(火) 18:19:50 ID:???] なるほど while の中で if ($count == 2) { unlink($file); break; }
138 名前:nobodyさん mailto:sage [2007/01/16(火) 18:29:00 ID:???] 違った if ($count >= 2) { break; } 失礼しました。ありがとうございます。
139 名前:nobodyさん mailto:sage [2007/01/17(水) 14:44:03 ID:???] 初心者用の参考書を読んでたら、コードの中に突然見慣れぬ部分が出てきました。 <INPUT TYPE="text" NAME="post_name" MAXLENGTH=20 SIZE=30 VALUE="<?=_hs($post_name)?>> の VALUE 以降です。 「_hs($post_name)」はユーザー定義関数なんですが、 <?= ?>はショートオープンタグって事なんでしょうか? 「=」って必要なんですか?
140 名前:nobodyさん mailto:sage [2007/01/17(水) 17:07:15 ID:???] 今からphpおぼえるなら「php4」と「php5」のどちらが良いですか?
141 名前:nobodyさん mailto:sage [2007/01/19(金) 13:11:51 ID:???] >>139 マニュアルの最初に書いてあるよ >>140 php5
142 名前:nobodyさん mailto:sage [2007/01/19(金) 18:10:13 ID:???] >>141 「<?= expression ?> は "<? echo expression ?>"のショートカットです。」 とありました。ありがとうございます! 突然説明も無く出て来るんだもんなぁ・・ブツブツ
143 名前:nobodyさん [2007/01/21(日) 03:05:55 ID:HMt1hfg+] UDPから情報を取得して表示させたく思い、fsockopenで変数に取り込んでるのですが 表示させると「Resource id #1」と表示されてしまいます 情報を表示させる方法はないでしょうか?
144 名前:nobodyさん [2007/01/22(月) 08:07:10 ID:gxeSGDG4] 正規表現についてお願いします $str = "www.google.com/search?q= エリミネーター タンク 外す&hl=ja&lr=&client=opera&rls=ja&start=50&sa=N"; という文章からpreg_replaceを用いて「エリミネーター タンク 外す」を$wordとして抜き出したいときは $str = preg_replace('/q=.*?&/',"q=".$word."&",$str); これでいいんでしょうか?
145 名前:nobodyさん mailto:sage [2007/01/22(月) 14:51:17 ID:???] >>143 あっちのスレでも言われているけど マニュアル嫁
146 名前:nobodyさん mailto:sage [2007/01/23(火) 05:52:03 ID:???] preg_match("/\?q=(.*)&/", $str, $matches); $word = $matches[1]; では?
147 名前:nobodyさん mailto:sage [2007/01/24(水) 19:36:17 ID:???] register_globals をオンにしたいのですが、方法は php.ini の register_globals = Off を On に 書き換えてPCを再起動すればいいのでしょうか?
148 名前:nobodyさん mailto:sage [2007/01/24(水) 20:55:14 ID:???] >>147 まぁそれでも良いけど…
149 名前:nobodyさん mailto:sage [2007/01/24(水) 21:43:08 ID:???] >>147 PCの再起動でもいいけど、Apacheの再起動でOKだよ
150 名前:nobodyさん mailto:sage [2007/01/24(水) 22:11:14 ID:???] >>147 悪いことは言わないから、今はoffで勉強して、 いろいろなことが理解できてから、onにしてみることを 強くお勧めします。
151 名前:nobodyさん [2007/01/25(木) 22:24:09 ID:Ik6V9suO] <html> <body> <?php $time = data(Y); echo $time; ?> </body> </html> というようにサーバーにアップロードしたんですがエラーになります。 どうしたらいいでしょうか?
152 名前:nobodyさん mailto:sage [2007/01/25(木) 22:41:03 ID:???] >>151 × data(Y) ○ date("Y")
153 名前:nobodyさん [2007/01/25(木) 23:07:05 ID:Ik6V9suO] ありがとうございます。 訂正したんですが、Fatal error: Call to undefined function: data() in /home/crom2580/public_html/test/test.php on line 5 こうなるんんですが・・・^^; 転送モードなどパーミッションは関係ありますか?
154 名前:nobodyさん mailto:sage [2007/01/25(木) 23:15:14 ID:???] >>153 だから、dataではなくてdate 最後は「e」だよ
155 名前:nobodyさん mailto:sage [2007/01/26(金) 03:35:50 ID:???] なんで名前の付け方にいちいちケチつけられないといけないんですか?ダメですか?
156 名前:nobodyさん [2007/01/26(金) 04:58:03 ID:umJam6Iu] a.txt あいうえお(\n) かきくけこ(\n) さしすせそ(\n) ... 上記のような別ファイルの行数を読み込んで、printで表示させたいのですが、 どのような関数を使えば行数をカウントできるのでしょうか?
157 名前:nobodyさん mailto:sage [2007/01/26(金) 04:59:27 ID:???] 関数data()を使いたいなら、まず定義しれ。
158 名前:nobodyさん [2007/01/26(金) 10:21:11 ID:Z+xlHRql] ありがとうございます^^ 次はこのような文をつくったのですがエラーになってしまいます;; <html> <body> <?php $word = "さる"; if($word == "いぬ") { $koe = "ワン!"; } else if($word == "ねこ") { $koe = "ニャン!"; } else if($word == "さる") { $koe = "ウッキー"; } else { $koe = "・・・"; } echo $koe; ?> </body> </html> なにがいけないんでしょうか?
159 名前:nobodyさん mailto:sage [2007/01/26(金) 10:27:30 ID:???] もしかしてインデント(段下げ)を全角の空白で入力してない? インデントはTabキーですよ。
160 名前:nobodyさん [2007/01/26(金) 10:49:20 ID:Z+xlHRql] 空白でやってたよーです;; インデントをいれるべきところはどこでしょうか? おねがいしますm(__)m
161 名前:nobodyさん mailto:sage [2007/01/26(金) 10:59:36 ID:???] <html> <body> <?php ■$word = "さる"; ■if($word == "いぬ") { ■■■$koe = "ワン!"; ■} else if($word == "ねこ") { ■■■$koe = "ニャン!"; ■} else if($word == "さる") { ■■■$koe = "ウッキー"; ■} else { ■■■$koe = "・・・"; ■} ■echo $koe; ?> 上記の(■で表示されている部分=空白)です。 空白を消して、インデントを挿入してください。。
162 名前:nobodyさん mailto:sage [2007/01/26(金) 11:26:23 ID:???] >>158 エラーの内容ぐらい書こうよ Parse error: parse error, unexpected '@' 〜 なら>>159 ,161
163 名前:nobodyさん [2007/01/26(金) 19:15:41 ID:Z+xlHRql] ありがとうございますm(__)m これからそうします・・・。
164 名前:nobodyさん [2007/01/27(土) 12:09:25 ID:bB8XjEV+] str_repalceを使って"ハゲ"というような文字を"(データ無し)"に置換できますが その逆として、フォーム等から送られてきた"(データ無し)"を"ハゲ"に置換する方法はありますか? > $hoge=str_replace("","ハゲ",$hoge); 等と書いてみましたが反応が無くて困りました。
165 名前:nobodyさん mailto:sage [2007/01/27(土) 12:51:41 ID:???] >>164 ??? if ($hoge == "") $hoge = "ハゲ"; ということかな
166 名前:nobodyさん mailto:sage [2007/01/27(土) 16:29:47 ID:???] >>148 >>149 >>150 お返事遅れました。 ありがとうございます。参考にいたします。
167 名前:nobodyさん mailto:sage [2007/01/28(日) 10:56:48 ID:???] PHP6を使ってます。$_ENVの使い方がわかりません。つかってもARRAYとしか表示されませんでした。
168 名前:nobodyさん [2007/01/28(日) 11:59:53 ID:ZCKLGcFE] phpって何ができるの? 一応htmlとcssはできるんだけど、php使えるようになったら 掲示板とか作る以外に何ができるんでしょうか? 自分なりに調べたんですが、 たとえばメニューを左端に全ページにおいて もしメニューに何かを追加したいと思ったらhtmlなら全ページ 自力で直さなきゃいけないところを、phpならひとつ直すだけで 全部に反映する。みたいなのがあったんですが。 他にもサイトつくりに便利なことできるんですか?
169 名前:nobodyさん mailto:sage [2007/01/28(日) 13:15:49 ID:???] これは便利だな サーバサイドスクリプトでやってるんだろうな ってのができるようになります
170 名前:nobodyさん mailto:sage [2007/01/28(日) 13:40:32 ID:???] phpはサーバサイドでは
171 名前:nobodyさん mailto:sage [2007/01/28(日) 14:57:56 ID:???] ある
172 名前:nobodyさん mailto:sage [2007/01/29(月) 11:25:24 ID:???] 以下の質問内容をMySqlスレで質問したらこちらへ誘導されました、、。 如何でしょうか?解決方法をお教え頂ければと思いますm(_ _)m >同一マシンで以下の感じで同時起動を行っています。 >格納ディレクトリはもちろん別々です。 > >【Mysql4.0】 >-- >port=3306 >socket=/tmp/my4.0.sock >-- > >【Mysql4.1】 >-- >port=3307 >socket=/tmp/my4.1.sock >-- > >設定を確認すると別々に起動しています。 >しかし、php経由で接続を試みると、 >どうしても4.0の方にしか接続できません。 >分かった事は、何やら適当なポートで接続を試みてもすべて4.0に接続しているようです。 > >これが原因だとは思うのですが、 >なぜport3306と指定しているのに3306以外でも接続できてしまうのでしょうか? >どうすれば指定された別々のポートでそれぞれのMysqlに接続させることができるのでしょうか? > >どなたかこの解決策をご教授頂ければ嬉しいです!
173 名前:nobodyさん mailto:sage [2007/01/29(月) 12:52:46 ID:???] >>172 「接続を試みた」と言っていますが、 実際にどんなスクリプトで接続を試みたのか判らないと 回答のしようも無いと思いますよ。
174 名前:nobodyさん mailto:sage [2007/01/29(月) 23:00:02 ID:???] php.iniの設定はちゃんとしてるのか?
175 名前:172 mailto:sage [2007/01/30(火) 00:30:34 ID:???] >>173 申し訳ないです。 PEAR::DBを利用して以下のように接続しました。 -- include_once 'DB.php'; $res = DB::connect('mysql://root:*****@localhost:3307/test'); var_dump($res); -- 上記で期待した動作は、Mysql4.1への接続です。 しかし、ルートのパスワードに対するエラーが返るばかりでした。 そこでMysql4.0のルートに設定してあるパスワードに変更してみるとMysql4.0へ接続できてしまいました。 それ以降、ポートを3308、3309と変更するとすべてMysql4.0へ接続できます。
176 名前:172 mailto:sage [2007/01/30(火) 00:31:54 ID:???] >>174 と言いますと、どの辺りの項目になりますか? 見直してみます!
177 名前:nobodyさん [2007/02/01(木) 22:05:46 ID:Ak2sQwef] 解らないので教えてください。 只今、PHP5.2をインストールし、<? phpinfo() ? > で テストしたところ、IE、Operaでは正しく表示されましたが、 Firefoxでは<? phpinfo() ? > とそのまま表示されました。 なぜですか?わかる人おしえてください。 サーバーはアパッチ2.2です。
178 名前:nobodyさん mailto:sage [2007/02/01(木) 22:46:52 ID:???] 質問です。 ちょっと限定的なのですが、プロバイダのWAKWAKでホームページスペースを借りて そこにPHPファイルをアップしてみたのですが、PHPが実行されないです。 WAKWAKのホームページを調べてみたらPHPに関する情報が全くなかったのですが これはPHPに対応していないということでFAでしょうか? WAKWAK使いの方いましたらお願いします。
179 名前:nobodyさん mailto:sage [2007/02/02(金) 08:49:55 ID:???] www.wakwak.com/info/homepage/index.html これ? ここならPHP使えない もしかしたらPHPをCGI形式で実行できるかもしれないが、それは問い合わせてみた方がいい。 PHPをCGI形式で実行ってなに?という質問はしないように。
180 名前:nobodyさん mailto:sage [2007/02/02(金) 15:25:02 ID:???] レスありがとう。 そうですか。やっぱりですね。CGI形式ためしてみます。
181 名前:nobodyさん mailto:sage [2007/02/04(日) 01:36:25 ID:???] >>177 <? phpinfo(); ?> でもやってみた?
182 名前:nobodyさん mailto:sage [2007/02/04(日) 02:09:17 ID:???] >>156 $data = 'a.txt'; //ファイル位置を指定 $file = fule($data); //ファイルを1行ずつ配列に読み込む $count = count($file); //配列の数をカウント echo $count; //行数の出力
183 名前:nobodyさん mailto:sage [2007/02/10(土) 21:29:22 ID:???] 質問です!! ユーザー定義関数とinclude(&require)の違いって何ですか? ユーザ定義関数は使用後関数内の変数は初期化され、 includeは初期化されずに以降も使われる ぐらいの違いしかわかりません。 速度の違い何かがあるのでしょうか。 馬鹿な質問だと思いますがよろしくお願いします!!
184 名前:nobodyさん mailto:sage [2007/02/10(土) 23:36:18 ID:???] >>183 用途が違う、というか、あなたの考えかたからして間違ってる ユーザ定義関数はその名の通り「ユーザが定義した関数」 include(require等も同等)は「他のファイルを読み込むために使う制御構造」 基本的に全く別の概念のもの。混同しないように。 >ユーザ定義関数は使用後関数内の変数は初期化され、 >includeは初期化されずに以降も使われる 任意の関数内でincludeを使用して別のスクリプトを読み込めば (読み込んだスクリプトの)変数のスコープはその関数内のみとなるし、 includeでユーザ定義関数だけを読み込むこともできる(もちろん この読み込んだ関数内の変数のスコープはその関数内だけで、 includeの外からは見えない)。 >ぐらいの違いしかわかりません。 そもそも基本的な事から間違っているから、分かっていないんだと思う。
185 名前:nobodyさん mailto:sage [2007/02/11(日) 11:14:10 ID:???] >>184 ありがとうございます。別の概念ということですね。 元のphp文で参照できるかできないかもですかね。 でもやっぱりよくわかりません。(別の概念ということは わかっても本質的な違いが分からないです) 自分の考えではある値AをA'にするユーザ定義関数&別ファイルのphp文と 読み込むincludeを ユーザー定義関数関数 = ■ include(require) = ロ とすると A→■→A' A→ロ→A' のようになりますがこの二つの違いが変数の処理の違い以外わかりません。 よく自分の書いた文章を読むと質問の仕方が悪かったのではと思います。 「ユーザ定義関数を使って処理をするのと別ファイルにphp文を書いて それをinclude文で処理することの本質的な違いが分かりませんでした。」 自分が理解していないのだとは思いますが、このまま理解せずにやってくのも アレだと思うので、違いが書いてあるサイトをリンクしていただけるだけでも良いので 教えてください。
186 名前:nobodyさん mailto:sage [2007/02/11(日) 12:52:18 ID:???] >>185 >A→■→A' >A→ロ→A' >のようになりますがこの二つの違いが変数の処理の違い以外わかりません。 ↓こういう事かな?(コードは未検証) ---a.php--- <?php $c1=$a1+$b1; ---test.php--- <?php function sub1() { global $a2, $b2, $c2; $c2=$a2+$b2; } $a1=1; $a2=1; $b1=2; $b2=2; sub1(); // $c1の処理 include 'a.php'; // $c2の処理 echo "\$c1={$c1} \$c2={$c2}"; // $c1=3 $c2=3 a.phpとsub1()は同じ処理だが、関数外で処理(何て言うのか失念)しているか、 関数で処理しているか、の違い。
187 名前:nobodyさん mailto:sage [2007/02/11(日) 12:54:13 ID:???] (´-`).。oO("$c1の処理"と"$c2の処理"が逆だ・・・) (続き) そもそもinclude文というのは、includeで読み込まれるファイルの内容を、 include文そのものと置き換える(もう少し厳密に言えば、include文を "?>読まれるファイルの内容<?php"に置き換える)処理をしているに 過ぎないので(でも本当はちょっと違う。returnで抜けられる等)、 読み込むファイルの内容を一旦ペーストして考えてみては? >「ユーザ定義関数を使って処理をするのと別ファイルにphp文を書いて >それをinclude文で処理することの本質的な違いが分かりませんでした。」 個人的には、複数のphpスクリプト内で同じ処理を行う (同じ処理のスクリプトが存在する)場合、その関数を 別ファイルにしてincludeで読み込み、複数のファイル間で 共用する、というパターンがほとんど。 人によってはある程度の処理単位で(関数以外も含んでいる) スクリプトに分割して、それを大元のスクリプトで場合分けして 読み込んで処理、なんて人もいるかも知れない。 この辺は個人の好みのような気がする。 なお速度的にはファイル処理をする関係上悪化してしまう。 参考になりそうなサイト等についてはちょっと分かりません。 個人的には公式マニュアルしか参考にしていないので・・・。
188 名前:nobodyさん mailto:sage [2007/02/11(日) 19:14:50 ID:???] >>186 ,187 ありがとうございます。>>186 そうです そういった時に結局やってることは同じじゃないかと思ったわけです。 説明を読むと理解できました。 例えば漢字交じりの文、 「いい天気です。」 があったとすると includeは 外部ファイル「天気」→「てんき」 いい天気です。 →いいてんきです。 → 実行 でユーザー定義関数は 「天気」→「てんき」と設定 いい天気です → 実行 というように違うということですね。(例えが悪くてすみません) 今までは複数回使う部分(関数)を何でも外部ファイルにして 使ってました。でも>>187 の後半部分の方がスマートですね。 なんにしろいろいろとありがとうございました。精進します。
189 名前:nobodyさん mailto:sage [2007/02/14(水) 12:53:53 ID:???] 全く別の概念だから違いとかいうものじゃないってば。 includeは埋め込むもの functionは何か引数を与えて処理させて返り値を返すもの(それだけじゃないが) その例えもあいまいで論理的になってないし 公式マニュアルかプログラミング入門書を読んだほうがいいと思うよ
190 名前:nobodyさん mailto:sage [2007/02/15(木) 02:48:47 ID:???] 別のファイルに格納されている文字をばらばらで取り出す方法を教えてください。 別ファイルに 2月12日/豚肉のしょうが焼き/1時30分 2月13日/海鮮丼/2時10分 2月14日/魚の煮付け/1時50分 とデータが格納されていて、 それを表にする <table> <tr> <td>日付</td><td>夕食</td><td>就寝時間</td> <td>$day</td><td>$dish</td><td>$night</td> </tr> </table> といった感じでわけて取り出したいのです。
191 名前:nobodyさん mailto:sage [2007/02/15(木) 06:32:56 ID:???] ROOMだとカテゴリ追加や検索を付けるの面倒だから 他に携帯対応のランキングないですか?
192 名前:nobodyさん mailto:sage [2007/02/16(金) 21:15:51 ID:???] >>189 ありがとうございます。 うーん全く別の概念ですか。処理の速さの違いやどんな目的から発展してきたか、 どんな時に有用性があるかは>>188 までで大体理解したつもりでした。 やっぱりまだ理解してないのかな…。とりあえず言葉の行き違いが あると行けないのでもう少し詳しく自分の疑問を説明します。 とりあえず私が言う違いが感じられないとは 使用例や経緯とかではないです。(>>183 は簡単に書きすぎました) 私としてはプログラムはどの一部分をとっても f:a→b のようにaからbへの対応にしか見えないです。 なので埋め込みと関数の違いが判らないのです。 この二つはプログラムを処理する上で、どんな形でどこから(どこを経由して) プログラム文(対応)を持ってくるかの違いだけしかないのではと思うわけです。 その意味で言うなら、print文を使用するのもincludeを入れ子構造で100回 繰り返した後にprint文を使用するのも入力aに対して像bは 違いが無いという意味で違いが無いという言葉を使っていました。 以上から>>183 では「どのような用途で使い分けるのか?」と質問したほうが いいと思いました。反省します。 あまり長々と続けても他の皆さんの迷惑になるのであとは自分で調べてみます。 いろいろとありがとうございました。
193 名前:nobodyさん [2007/02/17(土) 19:06:20 ID:3OVOZ2Sy] リンクされている文字が?に文字化けします。回避方法を 教えてください。 Windows XP PHP 5.0.1
194 名前:nobodyさん mailto:sage [2007/02/17(土) 19:14:32 ID:???] 文字コードがあってないとか・・・ すごいアバウトな質問で答えようがありません
195 名前:nobodyさん [2007/02/17(土) 19:27:16 ID:3OVOZ2Sy] >>194 「この設定方をすればOK」という文字コードの基本的な設定方法を教えてもらえませんか? 本やネットを見たのですがそれぞれ文字コードの設定が異なっているように思います。 いろいろ試してみたんですが上手くいきません・・・。
196 名前:nobodyさん mailto:sage [2007/02/18(日) 01:09:50 ID:???] >>195 つttp://allabout.co.jp/internet/database/closeup/CU20050321A/index.htm これじゃねーの?
197 名前:nobodyさん [2007/02/18(日) 02:03:20 ID:k8UF3L2w] >>196 「phpiniの文字コードの設定」には4つありますが、どれが最適なんでしょう?
198 名前:nobodyさん mailto:sage [2007/02/18(日) 10:04:55 ID:???] >>197 PCが対象だったらEUC→EUCでいいんじゃない?
199 名前:nobodyさん mailto:sage [2007/02/18(日) 13:02:11 ID:???] <?php define('NL',"<br />"); function test(){ static $var = 100; return $var++; } echo test().NL; echo test().NL; ?> という例文を勉強しているのですが、 実行結果が 100 101 でした。returnのところからすると 101 102 と思ってましたがどういうことでしょう? ご教授ください。
200 名前:nobodyさん mailto:sage [2007/02/18(日) 13:24:01 ID:???] $var++ と ++$var の違い。
201 名前:nobodyさん mailto:sage [2007/02/18(日) 14:18:22 ID:???] PHP初心者のSEです。 環境は PHP4 fedora です。 今社内ネットワーク用のファイルアップローダを作っていて、機能拡張として複数ファイルのアップロードに対応することになりました。 search.net-newbie.com/php/feature-fileupload.multiple.html を参考にして フォームには <input name="userfile[]" type="file" /> をいくつか記述し POSTデータを受け取ったPHP側は $_FILES['userfile']['name'][n] で配列として処理すればよいと思って プログラマに訊いてみたら、 「どこでそんなの見たんですか。それはダメです。 name="userfile[]"ではなく、それぞれ固有のnameを指定しないといけません」 と怒られました。 でもどうしてダメなのかわかりません。 input name="userfile[]" を 使ってhいけない理由を教えてください。
202 名前:nobodyさん mailto:sage [2007/02/18(日) 14:58:28 ID:???] >>198 ありがとうございます。設定してみます。
203 名前:nobodyさん mailto:sage [2007/02/18(日) 15:30:09 ID:???] >>200 ををー あざーっすなるほど。
204 名前:nobodyさん [2007/02/18(日) 15:30:41 ID:vTDBy95k] CSVファイルの行数を書き出すために $filename = ("log.csv"); $file = file("$filename"); echo count("$file"); と書いてみましたが、どんなCSVを読み込んでも「1」と表示されてしまいます。 CSVファイルの行数を取得する方法、お教え願えませんでしょうか。
205 名前:nobodyさん mailto:sage [2007/02/18(日) 15:44:35 ID:???] "$file"ってのがマズいんじゃね?なんでも " "でくくりゃいいってもんじゃないよ。
206 名前:nobodyさん [2007/02/18(日) 16:03:16 ID:vTDBy95k] $filename = ("log.csv"); $file = file("$filename"); echo count($file); ""を外してみましたが、やはり「1」と表示され・・・・・
207 名前:nobodyさん [2007/02/18(日) 16:12:15 ID:vTDBy95k] すみません $file = file($filename); echo count($file); と記述したところ、行数が出力されました。 ヒントありがとうございました。 " " や ' ' の使い方がいまいちよく分かってません・・・・
208 名前:nobodyさん [2007/02/18(日) 17:10:57 ID:T5LKQUPj] 質問なのですが,同じPHP内にある関数をHTML上で実行するにはどうしたらいいのでしょうか?
209 名前:nobodyさん mailto:sage [2007/02/18(日) 17:16:06 ID:???] >>207 echo 'クオート、ダブルクオートで調べよ';