トップページ⇒php
1001コメント334KB

【PHP】くだらねぇ質問はここに書き込みやがれpart5

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/04/30(土) 00:12:53ID:OJfc9xBu
PHPに関するくだらない質問用すれです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>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/
0342nobodyさん2005/05/14(土) 09:05:06ID:???
>>340
もし貴方がC言語の経験を少しでも持っているなら、
迷わずPHPですね
0343nobodyさん2005/05/14(土) 09:05:24ID:???
夏の日の1993 by class
0344nobodyさん2005/05/14(土) 09:22:33ID:OEZ8BJ6L
>>342
じゃあPHPにします。�dクス!
0345nobodyさん2005/05/14(土) 09:50:36ID:???
>>341
VBで言うDimみたいなもんだ。
0346nobodyさん2005/05/14(土) 10:07:45ID:???
質問させて下さい。

Mojaviを使用したWebアプリでフレームで分割されたページを作るにはどうしたら良いですか?
最初はフレーム部分はHTMLで作って、左右それぞれの部分をMojaviで作った
メニューとコンテンツを表示していました。
ログイン機能をつけようとしていまして、フレームが表示される前にログインさせたいのです。

それと、皆さんはどういう単位でModuleとActionを分けていますか?
例えば、商品の発注システムとかだと、在庫の確認機能なり発注機能、請求書の発行機能、
顧客管理などなど幾つかの機能に別れると思いますが、
その機能別にModuleに分割した方がいいのでしょうか?
それとも、1つのシステムをModuleにして後はActionで分割した方がいいのでしょうか?
0347nobodyさん2005/05/14(土) 10:38:37ID:???
>>345
�dクス!

っておい!
VBでググちゃったじゃないか
有効範囲と寿命って感じか?
まあなんとなく理解でき(ry

結果的に
�dクス!
0348nobodyさん2005/05/14(土) 12:16:52ID:???
>>346
フレームは普通にデフォルトのアクションとかでフレーム表示させるようにすればいいだけじゃ・・・

ModuleとActionの分け方はその時その時のような気がする。
ただ、俺は○○システムという単位で1つのMojaviを使う形にしてる。

というのはConfigが1つだから、デフォルトの設定を変えられない。
ログインやらデフォルトのモジュールやらエラーやら、
複数のシステムで共有するにはちょっと無理が出てくる。

各Module毎にConfigが設定できれば良いんだけど・・・
ひょっとして出来るのかなぁ・・・そこまでは分からないや。
0349nobodyさん2005/05/14(土) 13:25:47ID:???
varってクラスのメンバ変数じゃないの?
0350nobodyさん2005/05/14(土) 13:39:18ID:???
>>349
別にvarを付けなくても問題無い。
0351nobodyさん2005/05/14(土) 14:41:38ID:???
>>335
マニュアルより
関数コールの際には、リファレンス記号がないことに注意して下さい。関 数定義にのみリファレンス記号があります。リファレンスで正しく引数を 渡すには、関数定義のみで十分です。
0352nobodyさん2005/05/14(土) 16:07:01ID:a9dccOHa
スレタイ通りくだらなくてごめん。
str_replaceで("\n", "<br>", $com)つーのよく見かけるんだけど
\n=改行は分かるんですが\tや\rってのは何を指してるんでしょう?
0353nobodyさん2005/05/14(土) 16:12:46ID:???
>>352
エスケープ文字の扱いは、C言語と一緒。

\tはタブ。
\rは復帰。

ちなみに、OSによって改行は\nだけじゃない。
Windowsなんかは\r\nで改行。
0354nobodyさん2005/05/14(土) 16:19:48ID:???
うそつけ
Windowsも\nに復帰は含まれないぞ
03553522005/05/14(土) 16:21:46ID:???
!?(゚Д゚;≡;゚Д゚)!?

とりあえず復帰ってなんぞやw Googleに飛び込んでくるw
0356nobodyさん2005/05/14(土) 16:27:15ID:???
>>354
Windowsでメモ帳開いて改行して、そのファイルをバイナリエディタで見てみな。
0x0D 0x0A ってなってるから。

Windowsでの改行は\r\nの2つ使う。
0357nobodyさん2005/05/14(土) 16:29:26ID:???
>>356
放っておいてやれよ。

>>354はWebプログラム書く奴にとっての常識を知らないで、この板に居るんだろうから。
03583542005/05/14(土) 16:34:28ID:???
悪い、よく見てなかった

fputs()で\nしても復帰ははいりませんぞってことが言いたかった
0359nobodyさん2005/05/14(土) 16:46:27ID:???
>>358
自分で書いてて、馬鹿だな・・・って思わないのかなぁ・・・
\nしか入れてないなら\rが入る訳無いのに・・・
0360nobodyさん2005/05/14(土) 16:57:29ID:???
Perlじゃ\r入るから間違えた
0361nobodyさん2005/05/14(土) 17:23:12ID:???
\rと\nと\r\nの三つか。
0362nobodyさん2005/05/14(土) 18:20:54ID:3PEPLp0F
http://www.google.co.jp/search?hl=ja&q=ntaomr017141.aomr.nt.adsl.ppp.infoweb.ne.jp:8080
http://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:???
PLESKでサーバのPHPメモリのクリーンアップってどうやるのか教えて
0365nobodyさん2005/05/14(土) 20:54:40ID:???
引数で値だけを書いて、それをPHPスクリプトで取得することって出来ますか??
たとえば、QRL.jpで圧縮した後のURLって http://qrl.jp/?189637 みたいになる。
ここでは「?189637」が引数だけど、この引数をスクリプトで取得するにはどうすれば…??

「?id=189637」みたいになってれば「$id=$_GET['id']」で取得できるけど、
「?189637」の場合は・・・???
0366nobodyさん2005/05/14(土) 21:10:27ID:???
array_keys($_GET)
0367nobodyさん2005/05/14(土) 21:11:39ID:???
>>365
その類の質問って、ちょくちょく出て来てるとは思うんだけどね。

phpinfo() だけを実行する PHP ファイルに対して ?189637 付けてリクエスト
してみて、どの環境変数に ?189637 がセットされているか、確認するといい。
0368nobodyさん2005/05/14(土) 21:14:57ID:???
つ$_SERVER["QUERY_STRING"]
0369nobodyさん2005/05/14(土) 21:40:36ID:???
>>367
ありがとうございます!!
そんな確認の仕方があるとは気が付きませんでした。orz
実際にやってみたら理解できました。マジでありがとうございます。
ところで、「?189637」でさらに「?」を抜いた場合は、引数じゃなくて
URLに含まれるディレクトリとしてブラウザが解釈しちゃいますよね?
これを「189637」だけで引数だと解釈させるには、サーバ(Apache)の設定を変更
しないと実現でき・・・ませんよね?

>>368
ありがとうございます。たしかに$_SERVER["QUERY_STRING"] と確認できました!
0370nobodyさん2005/05/14(土) 21:54:19ID:???
>>369
はい。
0371nobodyさん2005/05/14(土) 22:01:42ID:???
MagickWandについて質問なのですが、
画像の容量を下げたいときはどうすればよいのでしょうか?
0372nobodyさん2005/05/14(土) 22:09:24ID:???
>>371
画像の容量を減少させるような処理を行いましょう。
画像の縦横サイズ、利用カラーパレット数、画像品質 等々。
03733712005/05/14(土) 22:27:19ID:???
>>372

わかりました、ありがとうごさいます!
0374nobodyさん2005/05/14(土) 22:34:59ID:jUn5DTgY
DBやsendmail等、処理待ちが出る場合に
レスポンスを待たずに次のphpに移行する方法があったと思うんですが
分かりますでしょうか
0375nobodyさん2005/05/14(土) 22:39:47ID:???
>>369
「?」抜きってのは実現不可能なんじゃないのか??
漏れはあんま詳しくはないけど。。。
0376nobodyさん2005/05/14(土) 22:45:42ID:???
>>374
処理結果を気にしない場合は、プログラム実行関数 + 各OSでのバックグラウンド実行。
処理結果を気にする(シグナルをどうにかする)場合は、プロセス制御関数。

>>375
mod_rewriteやPATH_INFO
0377nobodyさん2005/05/14(土) 22:55:26ID:???
>>375
このスレのURLよーく見てみろ
0378nobodyさん2005/05/14(土) 23:01:48ID:???
>>377
おおぅ。。。なるほど、「l50」も引数!? 今までディレクトリ名だと思ってた。
でもどうやんだろ?
mod_rewriteはちょっとググったけど相当難しそうだ。。。
サーバーに関する知識がないと実現できなそうね。
あと、これってphpと直接関係ない話。だよね?
0379nobodyさん2005/05/15(日) 00:27:28ID:???
376に書いてる。>PATH_INFO
環境変数で取得。
0380nobodyさん2005/05/15(日) 04:13:16ID:???
ついさっきANHTTPD+PHP5の環境を作った初心者ですが、もしかしてPHP5は一般的じゃありませんか?
PHP4とどう違うのかわからないんですけど、PHP4の方にしといた方がよさそうですか
0381nobodyさん2005/05/15(日) 04:19:22ID:???
>>379
369も書いてるように、普通の環境で引数が「?」抜きだと
PATH_INFOでも引数の部分がディレクトリ名だとみなされるよね?

たとえば「http://hoge.com/?引数」ならいいけど、
「http://hoge.com/引数」だと最後にスラッシュが足されて
「http://hoge.com/引数/(index.htm)」って感じになるよね。
0382nobodyさん2005/05/15(日) 08:27:34ID:???
>>381
http://hoge.com/で呼び出されるindex.htmlを
.htaccessでindex.phpに指定する。
index.phpでPATH_INFOを取得し、URL以降部分を
引数として処理すればいい。
0383nobodyさん2005/05/15(日) 09:58:55ID:???
>>380
PHP5とPHP4ではオブジェクト指向の書き方が違う
まあネットで検索したときの情報量はPHP4の方が多いけど
迷うなら4の方が無難
0384nobodyさん2005/05/15(日) 12:06:12ID:???
C#やJavaをやったことがあるなら5の方がやりやすいかも
0385nobodyさん2005/05/15(日) 12:13:59ID:???
Cはまだ経験がありません。
0386nobodyさん2005/05/15(日) 12:34:05ID:???
C++なら経験済みです
0387nobodyさん2005/05/15(日) 12:54:17ID:???
C++は見たことも無いけどPHPを触ってしまいますた
ごめんなさい
0388nobodyさん2005/05/15(日) 14:51:14ID:???
積極的ねッ♪
0389nobodyさん2005/05/15(日) 15:02:44ID:???
昨日、初めてCを体験しました。
隣の浮江お姉さんが優しく教えてくれました。
0390nobodyさん2005/05/15(日) 19:17:15ID:SkLBQSTL
同じサーバ内で、セッション(くっきー)を2つに分けて保存したいのですが

a.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:???
セッションとクッキーは違います
03923902005/05/15(日) 19:56:40ID:SkLBQSTL
>>391
僕の勉強不足でした orz
えーと、ということはセッション(session_start())で、複数のスクリプトで
$_SESSION['test']の変数を2種類使い分けるのは無理ということですか?
0393nobodyさん2005/05/15(日) 20:17:01ID:???
php.iniにそういう設定なかったっけ
複数のスクリプトの間で引き継ぐか、引き継がないか
0394nobodyさん2005/05/15(日) 20:23:43ID:???
セッションIDを2個持ったユーザ(ブラウザ)を作りたいってこと?
そういうのはしたことないけど、多分標準のセッション関数じゃ出来ないんじゃないの。
1つのセッションを名前で分けて使うか($_SESSION['sess1'][test] $_SESSION['sess2'][test)、
pearのライブラリにそういうのがないか探すか、自前でセッションを実装するか。
0395nobodyさん2005/05/15(日) 22:14:41ID:???
ime.nuみたいにhttp://hoge.com/hoge2.com/で
"hoge2.com/"を得るためにPATH_INFOでやってみましたが
index.phpで取得しようとすると↓のように"/"を余分につけないと取得できません
http://hoge.com//hoge2.com/

なにか良い案があれば教えてください
03963902005/05/15(日) 22:32:13ID:???
session.use_only_cookies On
にしたら出来たっぽいです。
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:dziYZJyD
1つのereg_replace()のみで
a -> b
c -> d
e -> f
のように複数の変換はできないのでしょうか。
…正規表現はマッチした/しないの2通りしかないから無理かなぁ


0399nobodyさん2005/05/15(日) 23:19:35ID:???
>>398
ereg_replaceを使わずにstr_replaceで。
$arr1 = array('a','c','e');
$arr2 = array('b','d','f');
echo str_replace ($arr1,$arr2, $string);
0400nobodyさん2005/05/15(日) 23:21:26ID:???
>>397
細かくいうとキリがないから入門書をまねるといいよ。
04013982005/05/15(日) 23:37:30ID:dziYZJyD
>>3399
ありがとうございます
0402nobodyさん2005/05/15(日) 23:52:16ID:???
>>398
preg_replace() のところに配列の例があるよ
http://jp2.php.net/manual/ja/function.preg-replace.php
0403nobodyさん2005/05/16(月) 00:09:11ID:???
>>400
その入門書によって、書いてある事がマチマチなのでー。
0404nobodyさん2005/05/16(月) 00:16:27ID:???
晒せ
0405nobodyさん2005/05/16(月) 00:21:24ID:???
>>397
どこで悩んでるのか
まず動かしてみるからじゃないのか
0406nobodyさん2005/05/16(月) 00:55:18ID:???
ループ内で、HTMLのテキストを、少しずつ表示したいのですが
どうしたらよいでしょうか
0407nobodyさん2005/05/16(月) 01:09:56ID:1b4tK92/
PHPの変数名の付け方って"_"で区切るのとfooBarみたいな感じのと
どっちが推奨なんですかね?
0408nobodyさん2005/05/16(月) 01:14:25ID:???
どっちでもいいんじゃない。memberNameみたいにしてもいいけど、HTMLフォームのnameとあわせようと思うと、member_nameの方が好まれたりするんだよね。
0409nobodyさん2005/05/16(月) 01:27:27ID:???
>>406
どこまで自分でできたのか、ちょいと書いてごらん。

>>407
困った時のハンガリアン。
ム板に、クラス名・変数名に迷ったら書き込むスレもあり。
http://pc8.2ch.net/test/read.cgi/tech/1109330204/
04104062005/05/16(月) 01:37:39ID:???
>>409
<BODY>foreach($text as $str){ echo $text; }</BODY>
みたいな感じで出力してて
echo文の後ろで flush(); 読んでみたけどダメでした
$textの前に、無駄なスペース256バイトとか入れてもダメでした
0411nobodyさん2005/05/16(月) 01:37:42ID:???
環境作って入門サイトを一通り見ましたが、習作に何を作ればいいか迷っています
助言ください
04124062005/05/16(月) 01:39:24ID:???
http://jp2.php.net/manual/ja/function.flush.php
ここを読んでやっているのですが
悪いのがブラウザなのかApacheなのかPHPなのか
切り分けが出来ませんです
切り分ける方法のヒントをください
0413nobodyさん2005/05/16(月) 01:41:00ID:???
>>410
えーと、、、ちょいととは言いましたが、関係する部分を全て真面目に書いてください。
0414nobodyさん2005/05/16(月) 01:42:14ID:???
>>410
foreachの使い方をもう一度勉強しなおそう。
04154062005/05/16(月) 02:12:24ID:???
>>413
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:???
勉強するならHTTPからですね。

JavaScriptかFLASHでどうぞ。
04174062005/05/16(月) 03:51:50ID:???
>>416
ありがとうございます。
JavaScriptやFlashを使わずに
PHPでの変更のみで無事解決いたしました。
0418nobodyさん2005/05/16(月) 04:26:22ID:???
違うブラウザでも試してみましょう。
04194062005/05/16(月) 04:33:11ID:???
どうもご心配おかけしてすみません
IE,Opera,Firefoxで確認したのでたぶん大丈夫だと思います
0420nobodyさん2005/05/16(月) 06:24:36ID:Mf9AQ7/C
PHPでcrontab生成してる方、いらっしゃいますか
どんな感じなんでしょう
0421nobodyさん2005/05/16(月) 07:35:21ID:???
別のサイト(.html)を取得してその内容について処理をするにはどうすればいいですか
04224212005/05/16(月) 07:42:35ID:???
すみません自己解決しました
0423nobodyさん2005/05/16(月) 07:43:12ID:???
つ [ファイルシステム関数 CURL関数 ソケット関数]
0424nobodyさん2005/05/16(月) 08:18:07ID:WsRbPHFD
phpファイルのサイズ制限ってありますか?
例えば、abc.phpってファイルが20kb以上になったときに異常な動きになるとか。
DB操作のところのコードは変更していないにも関わらず、
abc.phpのサイズが25kb過ぎたあたりから、DB操作のところでエラーが起きるようになりました。
試しにファイルを分けてみたら、正しく動作するようになりました。

ひとつのファイルで済ませたいのですが、対処法があれば教えてください。
環境:Apache2、PHP5、Mysql3.23.58、WinXP
0425nobodyさん2005/05/16(月) 10:10:00ID:???
mysqlに対して、検索するとき

$result = mysql_query("SELECT フィールド FROM テーブル名 WHERE フィールド = $_POST['hogehoge']";

な感じで、$_POSTを使うと何も結果が出てきません。
SQL文で使う場合は、一度変数に入れなければならないのでしょうか?
0426nobodyさん2005/05/16(月) 10:38:20ID:???
つ [マニュアル 言語リファレンス 型 文字列 変数のパース]
0427nobodyさん2005/05/16(月) 10:44:43ID:???
>>425
とりあえず、それは非常に危険なコードだ。簡単にデータベース破壊できる。
04284252005/05/16(月) 10:57:41ID:???
危険なコードなんですか・・・。
POSTで取ってきたデータを変数に入れて、

$hogehoge = $_POST["hogehoge"];
$result = mysql_query("SELECT フィールド FROM テーブル名 WHERE フィールド = $hogehoge)";

しか頭に浮かびません。
これでもダメなコードなのでしょうか?
0429nobodyさん2005/05/16(月) 11:08:32ID:???
つ [SQLインジェクション]
0430nobodyさん2005/05/16(月) 11:16:02ID:???
>>428
とりあえず以下で。
mysql_query("SELECT フィールド FROM テーブル名 WHERE フィールド = " . $_POST['hogehoge']);

>>427 が指摘しているように、$_POSTや$_GETみたいに外部からくる値をチェックせずに、そのまま
使用するのはやめたほうがいい。
SELECTでデータベースが破壊できるかどうかはさておき、外部から来る値は「汚れている」可能性を
考えておかないと危険。
SQLインジェクションあたいりでググってみそ。
0431nobodyさん2005/05/16(月) 11:17:27ID:???
$query = "SELECT フィールド名 FROM TABLE WHERE フィールド = '$hogehoge'";
$result = mysql_query($query, $this->Connect) or die ("error:$query");
ってやったらどうだぼけぇ
04324252005/05/16(月) 11:22:44ID:???
>>429
>>430

・・・ググって見て寒気がしました。
こんなやり方があるのですね。

掲示板等にタグ防御があるように、SQLを扱うフォームデータは、
厳重に不要なものを取り除いたり、注意深く扱わなくてはだめなのですね。
勉強になりました、ありがとうございます。
0433nobodyさん2005/05/16(月) 12:21:00ID:???
久しぶりにすんげーこのスレの有意義さを感じた
0434nobodyさん2005/05/16(月) 13:32:16ID:???
>>416
>>418
必死でワロタ
0435nobodyさん2005/05/16(月) 15:05:55ID:???
WEBサーバがどういう手順でブラウザにデータを送っているか。
データを受け取ったブラウザはそのHTML部をどうやってパースしているか。を考えればおのずと分かること。
0436nobodyさん2005/05/16(月) 15:41:23ID:2P24wsbp
会社の業務システムにPHPを採用するかJavaを採用するかで悩んでます。何か
アドバイスあればください。
0437nobodyさん2005/05/16(月) 15:42:38ID:???
>>436
わかる人を雇う。まともな請負に頼む。自分で努力する。他いろいろ…
0438nobodyさん2005/05/16(月) 15:49:38ID:2P24wsbp
PHPはJavaに比較して業務システムに適さない?
0439nobodyさん2005/05/16(月) 16:11:48ID:???
437をスルーして更に質問を重ねるID:2P24wsbpは、
PHPやJavaよりもまず社会人のマナーを学んでこい。
0440nobodyさん2005/05/16(月) 17:20:52ID:2P24wsbp
失礼しました。
>>わかる人を雇う。まともな請負に頼む。自分で努力する。
他いろいろ…

アドバイスありがとうございます。ですが、JavaとPHPという側面では
どんなもんでしょうか?
0441nobodyさん2005/05/16(月) 17:41:38ID:???
>>440
真面目レスすると、言語だけではなんともいえない。

まずは、そのシステムの規模。
お金はどれぐらい掛けられるのか。(サーバも含む)
周囲(社内や良く使っている外注)などにJavaやPHPの技術者がどれだけいるか。

などなど、色々な要素が絡みます。
例えば客が「絶対にPHP」とか「絶対にJava」と言えば、それで開発するしかないのです。

言語という側面だけで見た場合、中規模までであればどちらでもOK。
小規模ならJavaを使うまでも無いのでPHP。(別にJavaでもいいけど)
大規模ならJava。PHPの技術者が多く、技術力も高いならPHPでもOK。

結局の所、言語レベルでは判断がつきません。
周囲の技術者が多い方。
担当者が得意な方。
そういったもので全然OKです。
技術者が多いとか得意というのはそれだけで強みです。
■ このスレッドは過去ログ倉庫に格納されています