07/05/15 11:55:33
>>236
出来なかったと思う。
238:nobodyさん
07/05/15 11:57:19 b/094Ijk
>>237
サンクス
239:nobodyさん
07/05/15 11:57:29
>>236
行の幅が固定長ならできるんだがな。
あとはfseekとかで、書き換える行以降のみを変更するってことならできなくもなさそうだ。
240:nobodyさん
07/05/15 12:30:07
fileでいいじゃん。
富豪プログラミングしようぜ。
241:nobodyさん
07/05/15 12:33:44
データベースを覚えるともう手放せません
プログラムがすごく簡単になりました
>>236とかdelete一発です
242:nobodyさん
07/05/15 12:36:05 i5vBSj25
むやみにDELETEするのはどうかとおもうがな
コスト的にもね
243:nobodyさん
07/05/15 12:36:24
sage忘れた
244:nobodyさん
07/05/15 12:37:47
消したい時にdeleteしないで何するんだよ
245:nobodyさん
07/05/15 12:44:13
DELETE以前に、フラグで処理するかどうか考えるもんだ普通は
246:nobodyさん
07/05/15 12:45:11
状態カラムでもつけて削除済みのフラグを立てておく。
247:nobodyさん
07/05/15 13:00:36
>>244
>>245-246が言いたい事言ってくれてるよ。
DELETEをする事によって起こるコストとバグあった時の危険度を考えると
DELETEをむやみに流すってのはどうかと思うんだ
248:nobodyさん
07/05/15 14:08:20 b/094Ijk
class&function管理したいのですが、
皆どんなソフトでやってます?
classとfunction増えすぎてファイルがわけわかんなくなってきたwww
249:nobodyさん
07/05/15 14:23:21
普段はEclipseだけど、客観化するにはphpdocでdocument作るよ
250:nobodyさん
07/05/15 14:25:33 b/094Ijk
>>249
サンクス
とりあえずPHPエディタをダウソしてみたところ、
クラスやfunctionが管理できそうなので、
これを使ってみようと思います。
(各クラス、functionにコメントをつけることができればベストなんですが・・・)
251:nobodyさん
07/05/15 14:26:43
俺はIDEの類は使わずにとことんやってるぜい。
そうすると、わかんなくならないようにするために、設計に力が入るようになる。
252:nobodyさん
07/05/15 14:55:09
>>248
クラス図でも描いておけば
253:nobodyさん
07/05/15 14:58:04 b/094Ijk
>>252
とりあえず
class XXX {
/****************
説明
****************/
}
こんな感じでは書いてる
エディタの左にクラスとメソッドがツリー式に表示されてるんだが、
それにカーソル合わせると、その説明が出るとかだとうれしいなwwww
254:nobodyさん
07/05/15 15:12:55
>>248
ctags使えばエディタによっては一発ジャンプしてくれる
255:虚弱PHP
07/05/15 16:03:06
>>253
アウトラインの見出し定義を編集できるようなエディタなら、
似たようなことは出来るよ。
256:nobodyさん
07/05/15 16:17:09 7hthTDm5
magic_quot_gpc以外で自動的にエスケープする設定ってありますか?
何もしてないのに、<や>がエスケープされる・・・。なぜ?
257:nobodyさん
07/05/15 16:22:05
<>とマジック・クオートは全然関係ないだろ。勘違い
258:nobodyさん
07/05/15 16:37:28 6TG+QTaB
eregi()を使ってフォームで入力された単語の中で半角記号がある場合
はじくスクリプトを書いてるのですが$をはじく
if(eregi("$",$keyword)){
return false;
}else{
return true;
}
と\をはじく
if(eregi("\\",$keyword)){
return false;
}else{
return true;
}
だけが正しく機能してくれません。
正規表現などでググったのですが、これらを認識させる方法を
明記されてるところが無くほとほと困ってます。
osはfreeBSD、phpのバージョンは4.4.6です(レンタルサーバ)
259:nobodyさん
07/05/15 16:53:49
>>258
マルチすんじゃねえボケ。あっちで答えたから見ておけ
260:nobodyさん
07/05/15 16:54:35
$はエスケープしろ。
エスケープ特殊文字であるバックスラッシュは、エスケープのエスケープしろ。
\\\\じゃないとなぜ駄目なのかを考えてみよう。
なお「半角文字」なんていう言葉は変だから使うの辞めようね。
261:nobodyさん
07/05/15 16:58:51
>>259
別にマルチじゃねーだろが。ぼけ。こっちが本スレだから書き直しただけだろ。
262:nobodyさん
07/05/15 17:01:05
>>261
向こうに書いてこっちに書き直すなら
向こうにそう言ってからこっちに書かないとマルチ
263:258
07/05/15 17:22:25 6TG+QTaB
すいません、一度このスレに書いた後でレスが反映されなかったので
落ちてるのかと思い、再度「php 質問」で2ch内検索しなおして出てきた
あちらのスレに書きなおしたつもりだったのですがマルチになってたようですね。
ちなみに>>261は赤の他人です、気分を悪くする流れにしてしまい申し訳ありませんでした。
>>260 \$で試してみたところ、やはりうまくいきませんでした。
ちなみに、$が入っていようが無かろうが
if(eregi("\$",$keyword)){
return false;
}
のところで必ず引っかかりfalseを返してしまうようです。
264:nobodyさん
07/05/15 17:23:27
>>263
\\を\\\\にしないといけないってことは
\$なら\\$にしないといけないよね
265:nobodyさん
07/05/15 17:26:27
if(eregi("\\$",$keyword)){
return false;
}
メタ文字エスケープする時に\$とか\\とかじゃだめだってばさ。
266:nobodyさん
07/05/15 17:31:26
いろいろ試してみたり \\\\ について理解を深めるのは良いことだと思うんだけど
要件的に正規表現を使わなくてもよさそうな気がする。
267:nobodyさん
07/05/15 17:31:34 6TG+QTaB
>>264
今試してみたところうまくいきました。
\\\\じゃ無いとダメなのかはもう少し詳しく調べてみようと思います。
くだらない質問を光の速さで回答していただきありがとうございました。
あと、半角文字という言葉の使用は以後注意して使わないようにもします。
ありがとうございました。
268:258
07/05/15 17:35:25 6TG+QTaB
>>267 の名前欄にレス番号記入するのを忘れていました。
色々ミスってスイマセンでした、訂正しておきます。
>>266 ほかにも色々ある正規表現のテストと
ゆくゆくは[a-z]なども使う事があるかと思い
試している途中で詰まった事なのです。
269:nobodyさん
07/05/15 18:14:44
return strpos($keyword,'\\') === false ? true : false;
270:nobodyさん
07/05/15 18:15:41
まあそれが美しいよね
271:258
07/05/15 18:32:31 AwqtLTCz
>>269 あまりにも美しすぎて、もう少し勉強しないと
なにがどう書かれているのか理解する事もできませんでした。
PHPも中々置くが深いんですね、>>269が理解できるよう
さらに深く学んで生きたいと思います。ありがとうございます。
272:nobodyさん
07/05/15 18:42:17
何でもかんでも一行で書けばいいってもんじゃない。
273:nobodyさん
07/05/15 18:56:42
なんで回答後ってこういう慇懃無礼とも思える気持ち悪い表現が多いんだろう
274:nobodyさん
07/05/15 19:00:24
あんたなんでもかんでも肯定されないといやなんですか?
だったらやめたほうがいいよ
275:nobodyさん
07/05/15 19:37:30
確かに現役PGの視点からいえば、
可読性がない自己満足な書き方をするのは誉められたものじゃない。
276:nobodyさん
07/05/15 19:54:26
それは正論だが、論理値リテラルを返すだけの三項演算子で可読性云々言い出す奴はいわゆるキチガイ。
277:nobodyさん
07/05/15 20:49:07 Fy2AtB8k
再利用可能にするために気をつけてることってありますか?
278:nobodyさん
07/05/15 21:28:28
PHP以外の言語をたくさん学ぶこと。
279:nobodyさん
07/05/15 21:52:35
>>276
だと俺も思う。
一行プログラムがポイントではなくて、
strposの返り値を理解して、三項演算子でFALSEチェックするというのは正統派じゃん。
280:nobodyさん
07/05/15 22:04:24
三項演算子使う奴は趣味だろ、わるかったね仕事で使わないもので
281:nobodyさん
07/05/15 22:06:33 FHaxfx0y
dbのコネクションや問い合わせ結果等のリソースは、
変数間でコピーしても必ず参照としてコピーされますか?
丸々コピーされてメモリ大量消費されたりしませんか?
282:nobodyさん
07/05/15 22:10:02
>>280
まあお好みだけど、そのヒネクレ口調だけはやめたほうがいいな。
仕事で嫌われるよ。能力ないのに嫌われたら困るだろお前も
283:nobodyさん
07/05/15 22:26:46
>>281
DBコネクションのリソースってそんなに多大な情報持ってんのか?
284:nobodyさん
07/05/15 22:38:40 UJ71PYY7
>>281
ほとんどの場合は接続IDだからコピーされても
無視できるだろう
ただし、pear::DB とか PDO のインターフェースは
結構でかい
285:nobodyさん
07/05/15 22:40:43
>>281
普通にやれば、丸々コピーだろ
sqlの実行結果なんかは、状況によってはボトルネックに
なるかもね
286:nobodyさん
07/05/15 22:43:22
>>284と>>285で議論を戦わせてください。他の人は口出ししないで><
287:nobodyさん
07/05/15 22:47:12
たんじぇんと、こさいん、氏ね>>286
288:nobodyさん
07/05/15 22:52:10 GtGfJ8qN
DBから出勤時間と退勤時間を出して勤務時間をはじきたいですが、
さくっとかっこいいやり方ってありますか?
289:nobodyさん
07/05/15 22:56:21
退勤時間 - 出勤時間
290:nobodyさん
07/05/15 23:00:29
>>288
select name,phone from shain where shain_id = 'foo';
call phone;
get appointment;
if(define('appointment') && appointment == TRUE )
{
return 'SUCCESS';
} else {
return FALSE;
}
291:nobodyさん
07/05/16 00:39:57
>>289
休み時間は?
仮に休み時間が1時間としても、
退出時間-出勤時間-1
としてはいけない。半休とか使う場合があるからだ。
だから単純な方法は無い。
292:nobodyさん
07/05/16 00:53:26
退勤時間 - 出勤時間(if 休憩がXXだったら~~~)
293:nobodyさん
07/05/16 01:06:54
>>280
世界中の職場が三項演算子を禁止してるとでも?
うちで禁止するのは新人と糞派遣に投げる時ぐらいだな。
294:nobodyさん
07/05/16 01:12:08
>>291
じゃその就業規則をルール化しろよ
295:nobodyさん
07/05/16 01:16:31
プライド高いだけの奴が沸いてきた
296:nobodyさん
07/05/16 01:17:33
プライド高い「だけ」の奴ね
^^^^^^^^
297:nobodyさん
07/05/16 01:28:05 PGjb3KVb
すいません、登録制のサイトで登録者の情報を管理者と登録者本人だけに表示を許可したい場合はどうすれば良いんでしょうか?
(管理者以外の他の登録者からは見えないようにしたい)
ちなみに、管理者を$site_admin、 登録者本人を$user_owninfoとして、
管理者のみだと、
<{if $site_admin == true}>
中身
<{/if}>
で上手く行くんですが、そこに登録者本人をプラスして、
<{if $site_admin == true && $user_owninfo == true}>
中身
<{/if}>
としてみると結局$site_admin == trueの部分しか機能していません。
どうかお知恵をお貸しください。
298:nobodyさん
07/05/16 01:29:45
Smarty使う前にandとorくらい知っておいたほうがいいんじゃないかね
299:nobodyさん
07/05/16 01:30:02
IDかPASS制だったらDBでIDとPASS検索して一致しなければLocationで飛ばせばいいんじゃね?
300:nobodyさん
07/05/16 02:12:16
もうBasic認証でいいじゃん、pearの認証つかえばいいじゃん
301:nobodyさん
07/05/16 02:33:19 ceM6XUKn
オリジナルのclassを集めたやつ「class.inc」を暗号化した場合、
読み込むときに複合化しなきゃダメなのかな?
知り合いに自分の作ったやつあげるときに、そのclass.incの中身見られたくないのよ
302:297
07/05/16 02:33:43 PGjb3KVb
&&じゃなくて||でしたね。
単純な間違いでした。
お騒がせしました。
303:nobodyさん
07/05/16 02:34:46 QKxTyLUD
質問です。
mysqliの関数を実行する時に、
prepareステートメントとか bind_param()とか execute()を使う場合と
使わない場合で、どのような違いがあるんですか?
こんな場合は使ったほうがいい、ってのありますか?
参考にしている本を見ると、リストDBに「人名」「自己紹介」「HPのurl」を
追加するのに使っていますが、この程度なら普通にやっても同じでは?
という気がします
304:nobodyさん
07/05/16 02:40:07
>>301
PHPスクリプトを暗号化するソフトなら安いので1万円出してお釣がきますので探してください。
あとは高いのでZendにもでてますよ
305:nobodyさん
07/05/16 02:42:10 ceM6XUKn
>>304
サンクス
無料で何かあるかと思ってた俺哀れorz
PHPって実行時にコンパイルするけど、
あらかじめコンパイルしておけば実行するとき早くね?wwwww
306:nobodyさん
07/05/16 02:47:49
何秒くらい?
307:nobodyさん
07/05/16 02:49:27 ceM6XUKn
>>306
いや、そっちのほうが早いかなって思っただけ
308:nobodyさん
07/05/16 02:51:22
>>303
端的に言えば異なるパラメータを用いて複数回実行するようなSQL文で使うとパフォーマンスがあがるってところかな。(キャッシュが働く
あとはパラメータの自動クォートでユーザー入力からのSQLインジェクション対策とか。
具体的にはID指定して何度もSELECTする様なのとか、ユーザー入力を条件に使うSELECTとか、INSERT全般とか。
309:nobodyさん
07/05/16 03:04:26
>>305
コンパイラによる。おれデメリットの方がイヤだから使ってないけど
310:nobodyさん
07/05/16 03:26:08
>>308
ありがとうございます
アドバイスを読んでると、かなりありがたい機能ですね
じゃ、もうprepareステートメントを使うやり方を徹底しても問題ないですかね。
普通のやり方のほうがかえって好都合ってのはないですよね?
311:nobodyさん
07/05/16 03:33:40
そんなに使いたきゃ使えよ
312:nobodyさん
07/05/16 03:41:22
>>310
使わなくてもいいとこでも使うと無駄にステートメントを保持することになる、かな…。
313:nobodyさん
07/05/16 04:16:02
$calc = 1.23456789 * 9.87654321;
for ($i = 1; $i <= 100; $i++) {
echo $calc;
}
こうやった場合って、100回計算が実行されるのか、
すでに計算が終わったものを100回出力しているのか、
どちらなのでしょうか?
314:nobodyさん
07/05/16 04:17:25
ほへ?
315:313
07/05/16 04:19:56 9TTx9/gy
すみません。age忘れました。
316:nobodyさん
07/05/16 04:22:59
>>315
ふほ?
URLリンク(www.php.net)
317:nobodyさん
07/05/16 04:23:42
百回、変数に入った値が出力されるだけ
318:nobodyさん
07/05/16 04:26:26
php4とphp5のクラスの参照渡しをあいまいに頭にいれてるからこんな質問したくなったんだろ
319:313
07/05/16 04:27:47 9TTx9/gy
>>314 >>316
すみません。日本語がおかしかったです・・・
>>317
どうもエスパーな質問にお答えいただきありがとうございます。
ということは100回計算してベンチをとるといったことをするには、
別の書き方をしないとならないわけですね。
320:nobodyさん
07/05/16 04:32:04
>>319
forの中で計算させるだけじゃ?
つかリンク先読めよ。まずそこから必要だ。