【PHP】質問スレッドpart23【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/10/05 17:36:38ID:???・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
過去スレ, 関連スレ等>>2-4
0116nobodyさん
04/10/07 21:45:38ID:eGrZpUzkやっぱC言語風に「"」ですか?
0118nobodyさん
04/10/07 21:52:17ID:???>そんなことは不要かもしれないし、そもそもWebサーバから
>読めるようにしてはいけないのかも知れない。
そんなんじゃ、Webアプリの価値なんてなくなるよ。
必要なら、Webサーバ-DBサーバ間を暗号化すればいいじゃない。
まあ、セキュリティのみに関して言えば、共用サーバという時点で
論外だけどな。
0120nobodyさん
04/10/07 22:13:38ID:???いや、Webアプリの価値は開発から運用まで巷のツールなどが利用できること。
そこで言いたいのは、VPNとかの採用を考慮すべきで情報の内容ではないのかってこと。
0122nobodyさん
04/10/07 23:09:19ID:YIBUt39D>必要なら、Webサーバ-DBサーバ間を暗号化すればいいじゃない。
話が高次元になったところですみませんが、この暗号化は実際にはどうすればできますか?
PHPの関数でcryptみたいなものを使うのでしょうか?
サーバーを適切なところに変えるのが一番安全なのかもしれませんが、
理由あって変えないで済むならなんとか方法を探したいと思っており。。。
012398
04/10/07 23:40:46ID:???レスありがとうございました
【php パーサ バックスラッシュ エスケープ】でぐぐったら
http://php.s3.to/man/ref.info.html
がかかりました。
DB側でなくphp側でエスケープ処理がかかってたんですね。
で、
phpinfoのmagic_quotes_gpc,magic_quotes_runtime,magic_quotes_sybase
はLocal、Masterとも全部Offになっていましたが
それでもエスケープしてしまうものでしょうか?
マニュアルはOnの時にエスケープ処理が入るとありましたが
他にも関係する設定箇所があるのでしょうか?
0127nobodyさん
04/10/07 23:57:13ID:???http://pc5.2ch.net/test/read.cgi/php/1095633323/l50
0128118
04/10/08 00:03:08ID:???>105がどういう内容のアプリを作ってるのか知らんから適当に言うが、
VPNは外部公開せずに拠点間をネットワークで繋ぐエクストラネットだろ?
今回はそういう話じゃないと思うんだがな。
VPNの導入だってめんどくさいし。freeのでなけりゃコストもかかるし。
>>122
phpの関数レベルじゃできないと思うよ。
OpenSSL、OpenSSHのSSHポートフォワーディングでいけるが、
共用サーバなので、root権限を使った設定は無理だろうな・・・。
ということで、どこまでのセキュリティを確保したいかで、
変わってくるけど、その共有サーバでは無理かもよ?
0129nobodyさん
04/10/08 00:17:17ID:???本当に理解してないから、すぐ言えないんだよね
感覚でしか覚えてないから。
0130nobodyさん
04/10/08 00:30:25ID:???>>126が正解だけど、使い分けに関しては慣れだね。
俺の場合は連想配列のキーや文字列リテラルは「'」で
シーケルは「"」で括るのが個人的に見やすいと思ってそうしている。
もちろん、改行・インデント・コメントの三大マナーをきっちりやった上でね。
0132nobodyさん
04/10/08 00:57:34ID:???マニュアルも読めないほど日本語不自由な人は別としても。
0133nobodyさん
04/10/08 01:04:06ID:???パパ「百科事典嫁」
↑ドラえもんでのネタ
0134nobodyさん
04/10/08 01:12:58ID:???痛いところを突かれたからって、いちいちレスするな。見苦しい。
熟練者ならどんな些細な質問にも初心者が一番理解しやすい方法で回答できる。
0135nobodyさん
04/10/08 01:13:57ID:???0136nobodyさん
04/10/08 01:15:57ID:???それは君が実装方法を丸暗記しているだけで概念も含めた総論として
その解決方法を理解できていないからではないかね?
0137nobodyさん
04/10/08 01:18:56ID:???この世界には>>136で挙げたような「なんちゃって習得者」がいかに多いことか。
いいかげんPGはコーディングできる技能を"特別な技能"だとする思い上がりを捨てるべきだ。
0138nobodyさん
04/10/08 01:20:10ID:h9hTVebP0139nobodyさん
04/10/08 01:20:57ID:???少なくとも俺は自分のことを"エンジニア"とは称さない。
0140nobodyさん
04/10/08 01:23:57ID:???SEだからね。
0141nobodyさん
04/10/08 02:20:58ID:???それは同意だが、マニュアル嫁はとても良い回答だと思うよ。
俺は家電のマニュアルもちゃんと読む。、
0142nobodyさん
04/10/08 03:12:11ID:Gf9YwG4zいざ出力されたhtmlを見るとげんなりする。
みなさんどうしてますか?
0143nobodyさん
04/10/08 03:14:19ID:???HTMLのインデント?
0144nobodyさん
04/10/08 03:22:19ID:???0145142
04/10/08 03:22:43ID:???0146nobodyさん
04/10/08 03:23:16ID:???0147142
04/10/08 03:26:59ID:???0149nobodyさん
04/10/08 03:35:38ID:???出力されるhtml(と解釈されるテキスト)には、
インデントはおろか改行すら入れないようにしている。
どうせデバッグの時しか見ない、転送量の削減等の理由で
よく動的に生成されるページでコメントとか入っているのがあるが
あれはデザイナ向けか?
0150nobodyさん
04/10/08 03:36:20ID:???0151142
04/10/08 03:38:21ID:???デバッグ終わったら整形してうpすりゃいいってことか。
何もそのまま使うことはないのか…おれの馬鹿
0152nobodyさん
04/10/08 03:51:51ID:???調べてみたらmb_を使えばいいと出てるが、
設定しなきゃいけないらしい
指示通り設定したら、こんどは何か足りないと注意された。
分かりにくすぎだろ〜これ・・・・
0153nobodyさん
04/10/08 03:53:40ID:???ちゃんと設定できてるよ
0154nobodyさん
04/10/08 03:58:39ID:???質問スレが隔離効果を狙って立てられているのは知っているつもりだが、
ごく普通のPHPの疑問を解決するスレが欲しいユーザはきっと漏れだけじゃないはず。
そこで問題になるのがスレタイなのだが。
聞いてばっかりになりがちな「質問スレ」というのは止めにして、
お互い問題を提出して有益な情報を出し合えるようなものにしたいところ。
言葉にするとしゃらくさいものに思えるかもしれないが、そういうものが必要だ。
しかしCommonGatewayInterfaceスレのように廃墟になるのはごめんだし、
PHPト学会スレじゃなんのことかさっぱりだ。何かハッとするようなブレイクスルーを
持っている人はいないかい。
0155nobodyさん
04/10/08 04:03:27ID:???回答者がスレのレベルを決めてどうするんだ
最終的には難しい質問しか書けなくなって、誰も答えられない
自慢大会みたいなスレにならない?
---------------
まぁ初心者スレがないから、ココに書いてるのもあるけど。
0156nobodyさん
04/10/08 04:17:30ID:???> 自慢大会みたいなスレにならない
初心者スレと別れていたころがあるが、そうはならなかった。
なぜ今後そうなると考えているのか理由もかいてくれないと何とも判断のしようがない。
このスレッドはあっていいんだ。"と'の違いや=&、&$が何か、「設定ができない」とだけ
書いてあって救いようの無いレスを打ち合うスレがあるのは否定しない。
けれども最低限マニュアルを読み、テストをする姿勢を要求するスレッドがあっても
いいんじゃないだろうか。その上で自己解決困難な問題について議論してみたら、
有意義な結果が得られることにならないだろうか。別にソースハックを当然のように
要求するスレッドを作りたいわけではない。
読んでくれなかったようだが、「ごく普通のPHPの疑問を解決するスレ」が一本あって
いいんじゃなかろうか、という程度の話だ。大げさに考えることは無い。
0157nobodyさん
04/10/08 04:26:15ID:???調べずに聞いてもいい・簡単なことを聞くのは恥じゃない
となったあたりから、うんざりする質問が増えてきて
スキルのある人は出て行ってしまった感がある。
汎用的なスレや板ほど、何でも書けるせいかダメになりやすい。
あまり伸びず情報もさして出てこないような個別スレのほうが
まともなまま生き残る。どっかで分けなきゃいけない気もするね。
0158nobodyさん
04/10/08 04:30:58ID:???質問者どころか回答者も使い分けれないって事で
また合体したじゃん。
放置とかスルーとかできるほど民度が高くないから
分けても無駄無駄。
0159nobodyさん
04/10/08 04:31:38ID:???変数以外にも、エスケープシーケンスも展開されない。
>>124
使い分けに関しては、変数などの展開が必要ならば「"」不要なら「'」
文字列リテラルに「$"\」などの記号を多く含む場合は「'」程度かな。
必然的に>>130に近い使い分けになると思う。
>>142
テンプレートを使ってるよ。
0160nobodyさん
04/10/08 04:32:28ID:???初心者スレもあったけど、初心者スレとPHP質問スレを
分けて使ってくれないんで無駄つーことで合体したんじゃなかったっけ
マニュアル読まない>>1読まないエラー読まないってな人は初心者スレを作ってあげても
住み分けてくれない罠
0163nobodyさん
04/10/08 04:36:48ID:???またバカなこと書いたと反省した(・∀・)
0164157
04/10/08 04:39:41ID:???んでそ。そういうことじゃなくてさ。「質問」のためのス
レッドじゃ上手くいかないから別用途でってことね。
レベル分け無理ってのは同意。
016698
04/10/08 09:28:37ID:???何回かこの板で質問させてもらった98ですが、
スクリプト改造スレみたいに【希望するレスの形】別なんてどうでしょう?
自分がつまずきレベルを考えたら3種類あって
【1、マニュアルの該当しそうな所が予想つく→マニュアル読む】
【2、マニュアルのどこに該当するのか見当つかない→キーワードでぐぐる】
【3、なにでぐぐっていいのかすらわからない】
くらいに大別できるかなと思うので3番目は論外にせよ
ヒントをくれるスレ、マニュアルのどこそこに該当するからそこ嫁、なんて
2番目の状態でぐぐっても何もなかった時に質問できるスレがあったらいいなぁ
なんて思います
長文スマソ
0167nobodyさん
04/10/08 09:31:09ID:wO90jo1Vset_file_buffer($log, 0);
flock($log, LOCK_EX);
$kiroku = file(log.dat);
処理
rewind($log);
ftruncate($log, 0);
fputs($log, 処理の結果);
flock($log, LOCK_UN);
fclose($log);
排他ロックはこれでOK?
0170167
04/10/08 10:27:11ID:???0171nobodyさん
04/10/08 13:21:18ID:???自動巡回&切り出しソフトとかで切り出すのに重宝するよね。
>>167,170
if (!flock($log, LOCK_EX)){ echo"ロックに失敗しました"; }
else {処理;}
とかいう突っ込みをしてみる。
0172nobodyさん
04/10/08 13:45:17ID:???phpアプリを実行することはできますか?
0173nobodyさん
04/10/08 13:52:52ID:???0174nobodyさん
04/10/08 13:55:25ID:???環境とコードによるけど、セーフモードつったって只のIDチェックでしょ?
http://jp.php.net/manual/ja/features.safe-mode.php#ini.sect.safe-mode
0175nobodyさん
04/10/08 17:43:50ID:???0176159
04/10/08 18:11:51ID:???'/''のエスケープは有効だったね。
>>152 は、(マニュアル通り) *特殊文字の*エスケープシーケンスに訂正します。
>>165 フォローthx u
0177nobodyさん
04/10/08 19:08:16ID:EsMqKh23以下のようにやってもうまくいきません。
例えば10月の分は全部syori2に行き11月の分はsyori1になります。
どっか間違っていますでしょうか?
if(date("Y/m/j")<date("Y/m/j",mktime(0,0,0,$month,$day,$year))){
syori1
}else{
syori2
}
0179nobodyさん
04/10/08 21:13:17ID:???http://jp2.php.net/manual/ja/function.strtotime.php
0180nobodyさん
04/10/08 21:17:26ID:???0181nobodyさん
04/10/08 21:21:51ID:???mb関数はバグがあるからちゃんと返却値を確認しつつ使う必要があるよ。
例えば、mb_convert_kana()などは、全角スペース→半角スペースの変換ができないから
preg_replace()なんかで受ける必要があったりとか。
>>177
なぜ数値として比較したいのに「/」を入れて文字列にしてるのかと小一時間(w
0182179
04/10/08 21:24:55ID:???よく読んだら
【10月の分は全部syori2に行き11月の分はsyori1になります。】
これが望んでいる動作なのか望まないのに
そのように動作しているのかすらわからなかったorz
0183nobodyさん
04/10/08 22:42:04ID:???その場合の質問もこちらでいいのでしょうか?
ギャラリー系のPHPスクリプトでPHP4.0.6/DB無し/ImageMagik・NetPBT(?)無しのサーバーで
ブラウザからUpload出来、自動リサイズ可能で各画像/アルバムのDiscriptionの編集が効くようなスクリプトはご存じないでしょうか?
注文が多くてスミマセン。
0184183
04/10/08 22:42:32ID:Us1p5CHjageるのを忘れていました。
0185nobodyさん
04/10/08 22:48:39ID:???危うく同じ過ちを犯すとこだったよ <-- if ($month == 10) と書こうとしてた
>>177
とりあえず、"Y/m/j"の場合は、桁数が可変なのでこれを固定長にする。
その前に日付フォーマット文字の(j)は"分"なんだけど、比較したいのは"日"(d) なんじゃないかな?
0186185
04/10/08 22:55:59ID:???> 日付フォーマット文字の(j)は"分"
ごめん、勘違いしてた.
> j ... 日。先頭にゼロをつけない。1 から 31
> d ... 日。二桁の数字(先頭にゼロがつく場合も)01 から 31
0188nobodyさん
04/10/09 00:02:04ID:???Web製作板のほうにCGI探しスレがあるんでそっちで。こっちは自分で作る板。
向こうアホが張り付いて荒らしてるんで心して行った方がいいよ。
0189カポコン
04/10/09 00:36:55ID:???PHPではポインタの中身は見れないんだよな〜。
見たいなー見たいなー、見れる方法あればきぼんなんだな〜。
<?php
$a = 0xff;
$b =& $a;
echo(printf("%p",$b));
?>
とかじゃー、出ないし・・・orz。
0190nobodyさん
04/10/09 00:44:57ID:???期待してるんだからもっと勉強しろよ。
0191nobodyさん
04/10/09 00:47:07ID:???0192nobodyさん
04/10/09 00:50:51ID:???0193nobodyさん
04/10/09 01:42:07ID:???0195nobodyさん
04/10/09 01:55:11ID:???0198nobodyさん
04/10/09 02:24:49ID:???0199nobodyさん
04/10/09 03:50:28ID:???0200199
04/10/09 03:52:38ID:???0201nobodyさん
04/10/09 05:23:42ID:???4のスタイルで書いた方が面倒くさくなくていいかも。
0202nobodyさん
04/10/09 05:33:48ID:???にもたせないといけなかったりオブジェクトは必ず変数にしまう必要があったり等々で
4のオブジェクトはめんどい。んでE_STRICTでとんでもないことに。
もちろん自分で使う分にはいいんだけど。
0203nobodyさん
04/10/09 06:26:47ID:Iitzl1Oaapache2.0.52
php5.0.2をインストールしてapacheを再起動すると下記のようなエラーがでますが、
何のバージョンをあげればいいのでしょうか?
mod_php.cで20020628のファイルなんて見あたらないのですが・・・
-----------------------
# /usr/sbin/httpd -k restart
>httpd: module "/home2/Download/php-5.0.2/sapi/apache2handler/mod_php5.c" is not compatible with this version of Apache (found 200
>20628, need 20020903).
>Please contact the vendor for the correct version.
0204nobodyさん
04/10/09 12:32:31ID:KzxQhnSEfunction hoge($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k) {
処理;
}
みたいな引数が多い自作関数てやめたほうがいいですか?
なんかごちゃごちゃして分かりにくいきがするのですが。
皆さんは自作関数の引数はどれくらい持たせるのでしょうか?
0206nobodyさん
04/10/09 12:38:46ID:JKfj4SS6てか、何故にそんなに引数いるねん。
多分どっか無駄があると思うで。
0207204
04/10/09 12:44:30ID:???>>206
204の例はちょっと極端でした・・・
今までは引数が2,3こくらいしか扱ったことが無くて、
今回いきなり引数が6つくらいあるのです。
だからあまり多い引数の関数に慣れていないというか。
引数6つって普通でしょうか?
0209nobodyさん
04/10/09 12:49:41ID:???なんだかすごい響きが間抜けな気がするんだが。ホゲ!
0210nobodyさん
04/10/09 13:19:41ID:???0211nobodyさん
04/10/09 14:22:32ID:???6つ全部が本当に必要なパラメータなら引数にとるしかない。
しかし引数が多い場合は大抵、関数の設計に問題がある。
関数の行数が長すぎたり、ひとつの関数のなかで複数の目的を
果たそうとしていたり、引数のフラグ値によって処理を切り替え
たりしていたら、危険信号。
少し古い本だが、「CODE COMPLETE」には引数はおおむね7個
以下に抑えるべきだと書いてある。
0212nobodyさん
04/10/09 14:30:53ID:???連想配列やデフォ値の設定をうまく使ったほうがいいんじゃないかい?
function rect($options)
{
.....
}
$options = array(
'color'=>'blue',
'width'=>60,
'height'=>100,
);
rect($options);
0213nobodyさん
04/10/09 14:39:11ID:80FyrwRsいつも最初悩むんです。
設定ファイルをどこに置くとか、設定ファイルやライブラリへのパスは相対パスにするか
絶対パスにするかとか include_path にいれちゃうとか。
smartyのテンプレートをどこに置くとか、compile_dir をどこにするとか。
レンタルサーバーで 全部public_htmlの中にいれなくてはいけなかったりとか
いろいろ環境によって違うので悩みます。
漏れはこうしてるぜ!ってのあったら教えてください。
0214203
04/10/09 14:57:11ID:Iitzl1Oa0215nobodyさん
04/10/09 15:04:30ID:WliLpyVqこんな感じのPHPないでしょうか
■ このスレッドは過去ログ倉庫に格納されています