【PHP】くだらねぇ質問はここに書き込みやがれpart5
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/04/30(土) 00:12:53ID:OJfc9xBuここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
0343nobodyさん
2005/05/14(土) 09:05:24ID:???0344nobodyさん
2005/05/14(土) 09:22:33ID:OEZ8BJ6LじゃあPHPにします。�dクス!
0346nobodyさん
2005/05/14(土) 10:07:45ID:???Mojaviを使用したWebアプリでフレームで分割されたページを作るにはどうしたら良いですか?
最初はフレーム部分はHTMLで作って、左右それぞれの部分をMojaviで作った
メニューとコンテンツを表示していました。
ログイン機能をつけようとしていまして、フレームが表示される前にログインさせたいのです。
それと、皆さんはどういう単位でModuleとActionを分けていますか?
例えば、商品の発注システムとかだと、在庫の確認機能なり発注機能、請求書の発行機能、
顧客管理などなど幾つかの機能に別れると思いますが、
その機能別にModuleに分割した方がいいのでしょうか?
それとも、1つのシステムをModuleにして後はActionで分割した方がいいのでしょうか?
0347nobodyさん
2005/05/14(土) 10:38:37ID:???�dクス!
っておい!
VBでググちゃったじゃないか
有効範囲と寿命って感じか?
まあなんとなく理解でき(ry
結果的に
�dクス!
0348nobodyさん
2005/05/14(土) 12:16:52ID:???フレームは普通にデフォルトのアクションとかでフレーム表示させるようにすればいいだけじゃ・・・
ModuleとActionの分け方はその時その時のような気がする。
ただ、俺は○○システムという単位で1つのMojaviを使う形にしてる。
というのはConfigが1つだから、デフォルトの設定を変えられない。
ログインやらデフォルトのモジュールやらエラーやら、
複数のシステムで共有するにはちょっと無理が出てくる。
各Module毎にConfigが設定できれば良いんだけど・・・
ひょっとして出来るのかなぁ・・・そこまでは分からないや。
0349nobodyさん
2005/05/14(土) 13:25:47ID:???0351nobodyさん
2005/05/14(土) 14:41:38ID:???マニュアルより
関数コールの際には、リファレンス記号がないことに注意して下さい。関 数定義にのみリファレンス記号があります。リファレンスで正しく引数を 渡すには、関数定義のみで十分です。
0352nobodyさん
2005/05/14(土) 16:07:01ID:a9dccOHastr_replaceで("\n", "<br>", $com)つーのよく見かけるんだけど
\n=改行は分かるんですが\tや\rってのは何を指してるんでしょう?
0353nobodyさん
2005/05/14(土) 16:12:46ID:???エスケープ文字の扱いは、C言語と一緒。
\tはタブ。
\rは復帰。
ちなみに、OSによって改行は\nだけじゃない。
Windowsなんかは\r\nで改行。
0354nobodyさん
2005/05/14(土) 16:19:48ID:???Windowsも\nに復帰は含まれないぞ
0355352
2005/05/14(土) 16:21:46ID:???とりあえず復帰ってなんぞやw Googleに飛び込んでくるw
0356nobodyさん
2005/05/14(土) 16:27:15ID:???Windowsでメモ帳開いて改行して、そのファイルをバイナリエディタで見てみな。
0x0D 0x0A ってなってるから。
Windowsでの改行は\r\nの2つ使う。
0357nobodyさん
2005/05/14(土) 16:29:26ID:???放っておいてやれよ。
>>354はWebプログラム書く奴にとっての常識を知らないで、この板に居るんだろうから。
0358354
2005/05/14(土) 16:34:28ID:???fputs()で\nしても復帰ははいりませんぞってことが言いたかった
0359nobodyさん
2005/05/14(土) 16:46:27ID:???自分で書いてて、馬鹿だな・・・って思わないのかなぁ・・・
\nしか入れてないなら\rが入る訳無いのに・・・
0360nobodyさん
2005/05/14(土) 16:57:29ID:???0361nobodyさん
2005/05/14(土) 17:23:12ID:???0362nobodyさん
2005/05/14(土) 18:20:54ID:3PEPLp0Fhttp://www.google.co.jp/search?hl=ja&q=ntaomr017141.aomr.nt.adsl.ppp.infoweb.ne.jp:80
0363nobodyさん
2005/05/14(土) 20:09:15ID:???0364nobodyさん
2005/05/14(土) 20:15:00ID:???0365nobodyさん
2005/05/14(土) 20:54:40ID:???たとえば、QRL.jpで圧縮した後のURLって http://qrl.jp/?189637 みたいになる。
ここでは「?189637」が引数だけど、この引数をスクリプトで取得するにはどうすれば…??
「?id=189637」みたいになってれば「$id=$_GET['id']」で取得できるけど、
「?189637」の場合は・・・???
0366nobodyさん
2005/05/14(土) 21:10:27ID:???0367nobodyさん
2005/05/14(土) 21:11:39ID:???その類の質問って、ちょくちょく出て来てるとは思うんだけどね。
phpinfo() だけを実行する PHP ファイルに対して ?189637 付けてリクエスト
してみて、どの環境変数に ?189637 がセットされているか、確認するといい。
0368nobodyさん
2005/05/14(土) 21:14:57ID:???0369nobodyさん
2005/05/14(土) 21:40:36ID:???ありがとうございます!!
そんな確認の仕方があるとは気が付きませんでした。orz
実際にやってみたら理解できました。マジでありがとうございます。
ところで、「?189637」でさらに「?」を抜いた場合は、引数じゃなくて
URLに含まれるディレクトリとしてブラウザが解釈しちゃいますよね?
これを「189637」だけで引数だと解釈させるには、サーバ(Apache)の設定を変更
しないと実現でき・・・ませんよね?
>>368
ありがとうございます。たしかに$_SERVER["QUERY_STRING"] と確認できました!
0371nobodyさん
2005/05/14(土) 22:01:42ID:???画像の容量を下げたいときはどうすればよいのでしょうか?
0372nobodyさん
2005/05/14(土) 22:09:24ID:???画像の容量を減少させるような処理を行いましょう。
画像の縦横サイズ、利用カラーパレット数、画像品質 等々。
0374nobodyさん
2005/05/14(土) 22:34:59ID:jUn5DTgYレスポンスを待たずに次のphpに移行する方法があったと思うんですが
分かりますでしょうか
0376nobodyさん
2005/05/14(土) 22:45:42ID:???処理結果を気にしない場合は、プログラム実行関数 + 各OSでのバックグラウンド実行。
処理結果を気にする(シグナルをどうにかする)場合は、プロセス制御関数。
>>375
mod_rewriteやPATH_INFO
0378nobodyさん
2005/05/14(土) 23:01:48ID:???おおぅ。。。なるほど、「l50」も引数!? 今までディレクトリ名だと思ってた。
でもどうやんだろ?
mod_rewriteはちょっとググったけど相当難しそうだ。。。
サーバーに関する知識がないと実現できなそうね。
あと、これってphpと直接関係ない話。だよね?
0379nobodyさん
2005/05/15(日) 00:27:28ID:???環境変数で取得。
0380nobodyさん
2005/05/15(日) 04:13:16ID:???PHP4とどう違うのかわからないんですけど、PHP4の方にしといた方がよさそうですか
0381nobodyさん
2005/05/15(日) 04:19:22ID:???369も書いてるように、普通の環境で引数が「?」抜きだと
PATH_INFOでも引数の部分がディレクトリ名だとみなされるよね?
たとえば「http://hoge.com/?引数」ならいいけど、
「http://hoge.com/引数」だと最後にスラッシュが足されて
「http://hoge.com/引数/(index.htm)」って感じになるよね。
0382nobodyさん
2005/05/15(日) 08:27:34ID:???http://hoge.com/で呼び出されるindex.htmlを
.htaccessでindex.phpに指定する。
index.phpでPATH_INFOを取得し、URL以降部分を
引数として処理すればいい。
0383nobodyさん
2005/05/15(日) 09:58:55ID:???PHP5とPHP4ではオブジェクト指向の書き方が違う
まあネットで検索したときの情報量はPHP4の方が多いけど
迷うなら4の方が無難
0384nobodyさん
2005/05/15(日) 12:06:12ID:???0385nobodyさん
2005/05/15(日) 12:13:59ID:???0386nobodyさん
2005/05/15(日) 12:34:05ID:???0387nobodyさん
2005/05/15(日) 12:54:17ID:???ごめんなさい
0388nobodyさん
2005/05/15(日) 14:51:14ID:???0389nobodyさん
2005/05/15(日) 15:02:44ID:???隣の浮江お姉さんが優しく教えてくれました。
0390nobodyさん
2005/05/15(日) 19:17:15ID:SkLBQSTLa.phpだと
session_name("abcdef");
session_start();
$_SESSION['test'] = 'abcdef';
b.phpだと
session_name("123456");
session_start();
$_SESSION['test'] = '123456';
で、$_SESSION['test']がどちらかのデータに上書きされてしまいます。
どうすれば同一サーバ内で2つのセッションを保持できるのでしょうか?
0391nobodyさん
2005/05/15(日) 19:24:38ID:???0392390
2005/05/15(日) 19:56:40ID:SkLBQSTL僕の勉強不足でした orz
えーと、ということはセッション(session_start())で、複数のスクリプトで
$_SESSION['test']の変数を2種類使い分けるのは無理ということですか?
0393nobodyさん
2005/05/15(日) 20:17:01ID:???複数のスクリプトの間で引き継ぐか、引き継がないか
0394nobodyさん
2005/05/15(日) 20:23:43ID:???そういうのはしたことないけど、多分標準のセッション関数じゃ出来ないんじゃないの。
1つのセッションを名前で分けて使うか($_SESSION['sess1'][test] $_SESSION['sess2'][test)、
pearのライブラリにそういうのがないか探すか、自前でセッションを実装するか。
0395nobodyさん
2005/05/15(日) 22:14:41ID:???"hoge2.com/"を得るためにPATH_INFOでやってみましたが
index.phpで取得しようとすると↓のように"/"を余分につけないと取得できません
http://hoge.com//hoge2.com/
なにか良い案があれば教えてください
0396390
2005/05/15(日) 22:32:13ID:???にしたら出来たっぽいです。
0397nobodyさん
2005/05/15(日) 22:33:51ID:???WindowsXP上でMySQLとApacheを動かそうと思っているのですが
日本語の取り扱いは、
php.iniの
default_charset = "Shift_JIS"
mbstring.language = Japanese
mbstring.func_overload = 7
extension=php_mbstring.dll
でよろしいんでしょうか?
0398nobodyさん
2005/05/15(日) 23:13:48ID:dziYZJyDa -> b
c -> d
e -> f
のように複数の変換はできないのでしょうか。
…正規表現はマッチした/しないの2通りしかないから無理かなぁ
0399nobodyさん
2005/05/15(日) 23:19:35ID:???ereg_replaceを使わずにstr_replaceで。
$arr1 = array('a','c','e');
$arr2 = array('b','d','f');
echo str_replace ($arr1,$arr2, $string);
0401398
2005/05/15(日) 23:37:30ID:dziYZJyDありがとうございます
0402nobodyさん
2005/05/15(日) 23:52:16ID:???preg_replace() のところに配列の例があるよ
http://jp2.php.net/manual/ja/function.preg-replace.php
0404nobodyさん
2005/05/16(月) 00:16:27ID:???0406nobodyさん
2005/05/16(月) 00:55:18ID:???どうしたらよいでしょうか
0407nobodyさん
2005/05/16(月) 01:09:56ID:1b4tK92/どっちが推奨なんですかね?
0408nobodyさん
2005/05/16(月) 01:14:25ID:???0409nobodyさん
2005/05/16(月) 01:27:27ID:???どこまで自分でできたのか、ちょいと書いてごらん。
>>407
困った時のハンガリアン。
ム板に、クラス名・変数名に迷ったら書き込むスレもあり。
http://pc8.2ch.net/test/read.cgi/tech/1109330204/
0410406
2005/05/16(月) 01:37:39ID:???<BODY>foreach($text as $str){ echo $text; }</BODY>
みたいな感じで出力してて
echo文の後ろで flush(); 読んでみたけどダメでした
$textの前に、無駄なスペース256バイトとか入れてもダメでした
0411nobodyさん
2005/05/16(月) 01:37:42ID:???助言ください
0412406
2005/05/16(月) 01:39:24ID:???ここを読んでやっているのですが
悪いのがブラウザなのかApacheなのかPHPなのか
切り分けが出来ませんです
切り分ける方法のヒントをください
0415406
2005/05/16(月) 02:12:24ID:???ob_start()とかつかってるとだめみたいでした
<?
mb_http_output('SJIS');
ob_start('mb_output_handler');
$str=array("あ","い","う");
foreach($str as $text){
echo $text;
ob_end_flush();
sleep(5);
ob_start();
}
?>
あいう がひとつずつ5秒おきに出力されるようにしたいです
0416nobodyさん
2005/05/16(月) 02:38:24ID:???JavaScriptかFLASHでどうぞ。
0418nobodyさん
2005/05/16(月) 04:26:22ID:???0419406
2005/05/16(月) 04:33:11ID:???IE,Opera,Firefoxで確認したのでたぶん大丈夫だと思います
0420nobodyさん
2005/05/16(月) 06:24:36ID:Mf9AQ7/Cどんな感じなんでしょう
0421nobodyさん
2005/05/16(月) 07:35:21ID:???0422421
2005/05/16(月) 07:42:35ID:???0423nobodyさん
2005/05/16(月) 07:43:12ID:???0424nobodyさん
2005/05/16(月) 08:18:07ID:WsRbPHFD例えば、abc.phpってファイルが20kb以上になったときに異常な動きになるとか。
DB操作のところのコードは変更していないにも関わらず、
abc.phpのサイズが25kb過ぎたあたりから、DB操作のところでエラーが起きるようになりました。
試しにファイルを分けてみたら、正しく動作するようになりました。
ひとつのファイルで済ませたいのですが、対処法があれば教えてください。
環境:Apache2、PHP5、Mysql3.23.58、WinXP
0425nobodyさん
2005/05/16(月) 10:10:00ID:???$result = mysql_query("SELECT フィールド FROM テーブル名 WHERE フィールド = $_POST['hogehoge']";
な感じで、$_POSTを使うと何も結果が出てきません。
SQL文で使う場合は、一度変数に入れなければならないのでしょうか?
0426nobodyさん
2005/05/16(月) 10:38:20ID:???0428425
2005/05/16(月) 10:57:41ID:???POSTで取ってきたデータを変数に入れて、
$hogehoge = $_POST["hogehoge"];
$result = mysql_query("SELECT フィールド FROM テーブル名 WHERE フィールド = $hogehoge)";
しか頭に浮かびません。
これでもダメなコードなのでしょうか?
0429nobodyさん
2005/05/16(月) 11:08:32ID:???0430nobodyさん
2005/05/16(月) 11:16:02ID:???とりあえず以下で。
mysql_query("SELECT フィールド FROM テーブル名 WHERE フィールド = " . $_POST['hogehoge']);
>>427 が指摘しているように、$_POSTや$_GETみたいに外部からくる値をチェックせずに、そのまま
使用するのはやめたほうがいい。
SELECTでデータベースが破壊できるかどうかはさておき、外部から来る値は「汚れている」可能性を
考えておかないと危険。
SQLインジェクションあたいりでググってみそ。
0431nobodyさん
2005/05/16(月) 11:17:27ID:???$result = mysql_query($query, $this->Connect) or die ("error:$query");
ってやったらどうだぼけぇ
0432425
2005/05/16(月) 11:22:44ID:???>>430
・・・ググって見て寒気がしました。
こんなやり方があるのですね。
掲示板等にタグ防御があるように、SQLを扱うフォームデータは、
厳重に不要なものを取り除いたり、注意深く扱わなくてはだめなのですね。
勉強になりました、ありがとうございます。
0433nobodyさん
2005/05/16(月) 12:21:00ID:???0435nobodyさん
2005/05/16(月) 15:05:55ID:???データを受け取ったブラウザはそのHTML部をどうやってパースしているか。を考えればおのずと分かること。
0436nobodyさん
2005/05/16(月) 15:41:23ID:2P24wsbpアドバイスあればください。
0438nobodyさん
2005/05/16(月) 15:49:38ID:2P24wsbp0439nobodyさん
2005/05/16(月) 16:11:48ID:???PHPやJavaよりもまず社会人のマナーを学んでこい。
0440nobodyさん
2005/05/16(月) 17:20:52ID:2P24wsbp>>わかる人を雇う。まともな請負に頼む。自分で努力する。
他いろいろ…
アドバイスありがとうございます。ですが、JavaとPHPという側面では
どんなもんでしょうか?
0441nobodyさん
2005/05/16(月) 17:41:38ID:???真面目レスすると、言語だけではなんともいえない。
まずは、そのシステムの規模。
お金はどれぐらい掛けられるのか。(サーバも含む)
周囲(社内や良く使っている外注)などにJavaやPHPの技術者がどれだけいるか。
などなど、色々な要素が絡みます。
例えば客が「絶対にPHP」とか「絶対にJava」と言えば、それで開発するしかないのです。
言語という側面だけで見た場合、中規模までであればどちらでもOK。
小規模ならJavaを使うまでも無いのでPHP。(別にJavaでもいいけど)
大規模ならJava。PHPの技術者が多く、技術力も高いならPHPでもOK。
結局の所、言語レベルでは判断がつきません。
周囲の技術者が多い方。
担当者が得意な方。
そういったもので全然OKです。
技術者が多いとか得意というのはそれだけで強みです。
■ このスレッドは過去ログ倉庫に格納されています