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

PHP】下らねぇ質問はID出して書き込みやがれ 122

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2012/08/15(水) 01:52:15.26ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 121
http://kohada.2ch.net/test/read.cgi/php/1343219409/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
0505nobodyさん2012/09/10(月) 02:28:21.85ID:bPhL+Om7
create_functionがあるのに
あえて5.3から追加された無名関数を使う必要はあるんでしょうか?
0506nobodyさん2012/09/10(月) 13:37:53.96ID:???
>>505
callbackのときとかは、必要ではないけど、使いたくなる。
必要があるかないかで言うならばないでしょ。

>>498
手のひらを返せばさらに片手あたり1bit増量だっ
0507nobodyさん2012/09/10(月) 17:09:35.76ID:???
>>506
関節も使えばさらに1ユビットあたりの情報量が増えます。
0508nobodyさん2012/09/10(月) 21:04:20.10ID:gLMnif+i
>>505
遅いし、メモリも食う ループ内で使うと最悪。それらのメモリは開放されない、記述が面倒、
外部変数参照辺りの新しい機能もあるし、さっさとふるいのは忘れるべき。
0509nobodyさん2012/09/10(月) 21:16:42.68ID:???
古いっていっても5.2には対応させないとな
そのへんのレン鯖って5.26あたりが入ってるイメージがある
0510nobodyさん2012/09/11(火) 03:42:37.24ID:???
>>506
鼻くそが付いているかどうかの属性を付加すればさらに倍
0511nobodyさん2012/09/11(火) 07:30:05.11ID:???
数を数えながら鼻糞を調達する達人>>510の技をご覧ください!
0512nobodyさん2012/09/11(火) 12:54:15.16ID:???
>>509
最近は、割と5.3が多い気がする。
0513nobodyさん2012/09/11(火) 13:53:34.49ID:MQ2mX/EW
PHP 5.1.6-39.el5_8
CentOS release 5.7 (Final)

file_get_contents()で取得したhtmlを
preg_match()で解析するとどうしても
エラー 324 (net::ERR_EMPTY_RESPONSE)
とブラウザ(chrome)に表示されて動きません。
preg_matchじゃなくてstristr()とかだと動くんですが
一体なんなのでしょうか??メチャクチャ困惑してます…
file_get_contents()した後、printで値吐いてみると
ちゃんとhtmlは取得出来てます。
ただpreg_matchを置くとダメです…

どなたかお助けを…
0514nobodyさん2012/09/11(火) 14:10:21.12ID:???
しね
chromeの問題
0515nobodyさん2012/09/11(火) 14:15:38.50ID:???

そうなんですか?
でも一旦エラーが出ると他のブラウザでも出ますよ?
ガラケーからもエラーになりました。
一応正規表現の形を入れ替えたらエラー消えました。
本当にchromeの問題なんでしょうか??だとしたら何が悪いの??
0516nobodyさん2012/09/11(火) 14:16:18.08ID:???
>>514
しね
0517nobodyさん2012/09/11(火) 14:32:29.47ID:???
chromeの問題だって
0518nobodyさん2012/09/11(火) 14:45:46.88ID:???
PHPが糞言語だからだろ
それ以外の何物でもない
0519nobodyさん2012/09/11(火) 14:51:35.69ID:???
>>513
display_errorsを設定してエラーを表示しろ
もしくはlog_errorsでログにエラーを記録しろ
0520nobodyさん2012/09/11(火) 14:54:29.46ID:???
>>513
ただ単にスラッシュとか入ってるのをそのまま突っ込んでるんだろ
0521nobodyさん2012/09/11(火) 14:55:15.86ID:???
エラーでこけてしまって、何もHTMLを出力できなかったってことだろ?
0522nobodyさん2012/09/11(火) 15:07:14.32ID:???
とりあえず正規表現見直したら直りました。

やっぱエラーっぽい気がします。

また後で時間がある時に調べてみますね!
0523nobodyさん2012/09/11(火) 19:05:22.27ID:hqGkGd7k
クッキー使えないときとかで、
PHPSESSID みたいなセッションIDのあれを
別の名前にしてるとき、なんて名前にしてたか忘れたときように
名前を取得したいんだけど、どうしたらいいですか?
0524nobodyさん2012/09/11(火) 19:23:01.05ID:???
別の名前に変更した箇所で、忘れないように変数に保存
05255232012/09/11(火) 20:11:54.83ID:???
>>524
あれってphp.iniとかでも変更したりしちゃいますよね
0526nobodyさん2012/09/11(火) 21:39:47.08ID:???
iniの値を取得
0527nobodyさん2012/09/11(火) 22:08:33.21ID:???
>>525
なぜIDを出さない
0528nobodyさん2012/09/11(火) 22:15:26.12ID:???
なぜ角を取らない
0529nobodyさん2012/09/12(水) 01:42:27.62ID:???
>>513
preg_matchでPHPが落ちる。 

http://www.php.net/manual/ja/function.preg-match.php
また、下のnoteにしか書いてないけどさ。

http://docs.php.net/manual/ja/pcre.configuration.php
0530nobodyさん2012/09/12(水) 05:19:21.39ID:zAC47Bhv
string(19) "2011-03-12 18:29:52"

こーいうデータを

2011年3月12日 18時29分52秒

という風に型変換をしたいのですが、
文字列操作なしに yyyymmdd みたいな感じでどうやれば変換できますか?
0531nobodyさん2012/09/12(水) 07:10:25.69ID:???
>>530
string(19) "2011-03-12 18:29:52"
これが文字列なんだから文字列操作なしにってのは無理がある気がするけど

date('Ymd', strtotime('2011-03-12 18:29:52'));
これじゃだめ?
0532nobodyさん2012/09/12(水) 07:15:53.44ID:???
あーごめん間違った
date('Y年m月d日 H時i分s秒', strtotime('2011-03-12 18:29:52'));
こうだね
0533nobodyさん2012/09/12(水) 12:21:13.48ID:Hsh35kHw
最近オブジェクト指向というものを知ったので
試してみたくてサンプルコードを書いてみました。
ただ、自分だとこの書き方でいいのかわからないので
添削していただきたいです。よろしくお願いします。
http://chopapp.com/#pykzo0ll

自分としてはメソッドの命名のしかた(オブジェクト指向関係ないですけど)、
generate_numbers()のネストが深さが気になっています。
0534nobodyさん2012/09/12(水) 12:29:44.07ID:???
>>530
$date="2011-03-12 18:29:52";
sscanf($date,"%d-%d-%d %d:%d:%d",$y,$m,$d,$h,$i,$s);
print("{$y}年{$m}月{$d}日 {$h}時{$i}分{$s}秒");
0535nobodyさん2012/09/12(水) 12:37:53.14ID:???
正規表現を使ってもよし
0536nobodyさん2012/09/12(水) 12:46:16.39ID:???
sscanfも正規表現も処理が重いんじゃ……
0537nobodyさん2012/09/12(水) 13:00:23.09ID:???
>>533

別にいいんじゃないの?
じぶんならこうするけど

for($i=0;$i<6;$i++){
$r=range(1,43);
shuffle($r);
foreach( array_slice($r,0,6) as $n )
print " $n";
print "\n";
}
0538nobodyさん2012/09/12(水) 13:09:11.43ID:???
>>536
何ミリ秒重くなるんだ?
やってることはたいして変わらん
0539nobodyさん2012/09/12(水) 13:17:23.21ID:???
>>536
各10万回で

date('Y年m月d日 H時i分s秒', strtotime($date));
3.2秒


sscanf($date,"%d-%d-%d %d:%d:%d",$y,$m,$d,$h,$i,$s);
$x=$y.'年'.$m.'月'.$d.'日 '.$h.'時'.$i.'分'.$s.'秒';
0.3秒
0540nobodyさん2012/09/12(水) 13:20:06.87ID:???
>>536は大嘘つき
0541nobodyさん2012/09/12(水) 13:29:53.35ID:???
ついでに正規表現
$date="2011-03-12 18:29:52";

for($a=0;$a<100000;$a++){
preg_match("/(\d{4})-(\d{2})-(\d{2})\s(\d{2}):(\d{2}):(\d{2})/",$date,$m);
$x=$m[1].'年'.$m[2].'月'.$m[3].'日 '.$m[4].'時'.$m[5].'分'.$m[6].'秒';
}
0.3秒

>>540
そういうのやめようぜ
0542nobodyさん2012/09/12(水) 13:57:57.76ID:???
>>530
それ見た感じ、DBから引っ張り出してきたもんに見えるんだけど
もし、そうであればSELECTかける際に整形するって手もあるけど。
例えばMySQLならDATE_FORMATとか。
0543nobodyさん2012/09/12(水) 14:11:51.04ID:???
>>539
遅さの原因はstrtotime?
05445362012/09/12(水) 14:21:09.43ID:???
自分でもためしたけど確かにsscanf、正規表現の方がはやかったです
適当なことを言って申し訳ないです。イメージで語ってしまいました
0545nobodyさん2012/09/12(水) 14:29:56.00ID:???
それはさておき正規表現は使いこなせてる?
記法すらちゃんと覚えてないんじゃない?
イメージで語るけど
0546nobodyさん2012/09/12(水) 14:42:40.51ID:???
>>543
字句解析してるからね
parse_date.c
re2cの出力なんで見にくいけど
手間のかかる処理だね
0547nobodyさん2012/09/12(水) 18:27:23.33ID:???
>>529
ぬおー情報サンクスコです!
0548nobodyさん2012/09/12(水) 18:38:16.11ID:yaqcUT69
MySQLに投げたクエリを"sql.log"ログファイルに記録してるんですが、BLOBカラムがあるテーブルがあって
バイナリデータがログファイルに記録されてしまい、ログファイルを閲覧する際に画面が崩れてしまいます。
従って、バイナリデータはログファイルに記録されないようにしたいと考えています。

例えばdataカラムがBLOBだとして、現状
INSERT INTO table (id, name, data) VALUE (1, 'テスト', '!Qa"Ws#Ed$Rf');
みたいになってますが
INSERT INTO table (id, name, data) VALUE (1, 'テスト', '');
のようにクエリ文字列からASCII印字とUTF-8文字の範囲外は取り除くような感じで考えています。

ログへの記録はerror_log()を使っていて
function logSql($sql) {
 // TODO バイナリを取り除く処理

 error_log($sql, 3, '/path/to/sql.log');
}
みたいな感じです。

バイナリを取り除く処理はどのようなやり方があるのでしょうか?
一応自分で考えてみたところ、mb_strlen()で長さを計ってforの中でmb_substr()で一文字ずつ取り出して
ord()で31以下か127ならスキップして(改行やタブはスキップしない?)文字列を作り直すみたいなイメージですが、
何か重くなりそうですし、こういう場合の定石があればお願いします。
0549nobodyさん2012/09/12(水) 20:36:15.83ID:???
そういうときの正規表現
0550nobodyさん2012/09/12(水) 23:24:41.52ID:???
>>548
mb_encode_numericentity($sql, array(0,31,0,0xff) ,"utf8")

そういうSQLの組み立てはやめたほうがいいよ
0551nobodyさん2012/09/13(木) 00:08:57.38ID:???
>>550
そんな関数あんのか!
本当、把握し切れんなぁ。。。みんなよく知ってるよなぁ。
第二引数の範囲指定がわけわからん
0552nobodyさん2012/09/13(木) 00:36:24.61ID:???
>>551
覚える必要はないだろうね
範囲指定は、 開始、終了、オフセット、マスクの4つの繰り返し
0553nobodyさん2012/09/13(木) 01:42:28.81ID:SYCxV2zj
カヤックってレベル高そうだな
0554nobodyさん2012/09/13(木) 02:41:39.00ID:???
面白法人?それとも船のほう?
0555nobodyさん2012/09/13(木) 02:44:54.09ID:???
インスタントの焼きそばに乗せる方?
0556nobodyさん2012/09/13(木) 10:28:02.98ID:OFHzdsvA
本当に下らない質問ですみません

PHPの割り算って

/で商を返すんじゃないんですか?
小数点付きで帰ってくるんですが。。
0557nobodyさん2012/09/13(木) 10:33:03.77ID:???
必要なら自分で丸めなさい
0558nobodyさん2012/09/13(木) 10:42:25.40ID:OFHzdsvA
自分で丸めますた
PHPっていらんところでいらんことしますな
0559nobodyさん2012/09/13(木) 11:19:07.09ID:???
整数に丸める方が要らんこと
0560nobodyさん2012/09/13(木) 12:07:12.98ID:???
商で返すなんてどっかに書いてあったっけ?
とりあえず割るのみだよ。
か、もしくは先に%等を使ってあまりを引け。
0561nobodyさん2012/09/13(木) 12:14:12.16ID:???
秒数を分秒に直すとかある程度よく使う処理ではある
0562nobodyさん2012/09/13(木) 12:37:14.74ID:???
演算子/で商を返す言語って何があるの?
0563nobodyさん2012/09/13(木) 12:40:31.97ID:???
整数同士の除算が整数になるのは、c java ruby c# fortran
ならないのが php perl VB javascript pascal
Pythonは途中からならないように変更
0564nobodyさん2012/09/13(木) 12:41:40.25ID:OFHzdsvA
まー俺様はC言語バリバリだったもんですいまそん
0565nobodyさん2012/09/13(木) 12:48:11.68ID:???
途中から変更はダサいな
0566nobodyさん2012/09/13(木) 13:00:54.16ID:???
動的型付けなんで、いろいろあるんだよ
0567nobodyさん2012/09/13(木) 13:36:45.99ID:???
Cとかだとint型で宣言して計算するんだから小数になるわけないだろ
0568nobodyさん2012/09/13(木) 15:57:04.64ID:???
pascalだとinteger同士の割り算でも
結果はrealで、 あとからCの仕様見てへんだなと思ったな
0569nobodyさん2012/09/13(木) 17:00:55.41ID:mx46wsSa
画像圧縮について少し質問させてください。

PHPでウェブ上の画像をwidth、heightはそのままで画質だけ
落とす方法がわかりません。

ファイルサイズを少しでも少なくしたいのです。

詳しい方、お手数掛けますがご教授お願いします。
0570nobodyさん2012/09/13(木) 17:35:23.40ID:???
jpegの品質を落とすのであれば
imagejpegのqualityオプション

色数減らすのであれば
imagetruecolortopalette
0571nobodyさん2012/09/13(木) 18:23:33.27ID:???
PHPのすごいパワーを見た。
俺様Cばりばりとか言っている奴でも
よく仕様を確認しないくそPHPerにしてしまう
何かよくわからないすごいパワーを見た。
0572nobodyさん2012/09/13(木) 18:25:45.63ID:???
オレPHPerだけど、マニュアル確認しながらじゃないと書けないよ
引数の順番とかカオスじゃん
0573nobodyさん2012/09/13(木) 18:41:56.88ID:???
PHPの関数の引数はキチガイじみてるどころかキチガイそのもの
0574nobodyさん2012/09/13(木) 18:50:40.16ID:???
関数の引数だけじゃなく、関数名そのものがおかしい
だが、それを言ってても直りようもない
ひたすらエイリアス作って古い関数名を非推奨って言い張って徐々に直すくらいか
旧バージョンと互換性なくなったら、PHPから一気に人離れちゃうからね
0575nobodyさん2012/09/13(木) 18:57:27.61ID:mx46wsSa
>>570
回答ありがとうございます。

でも使い方がさっぱりわかr(ry
0576nobodyさん2012/09/13(木) 19:21:43.49ID:???
時 分 秒 月 日 年だっけ?
キチガイだ
0577nobodyさん2012/09/13(木) 19:24:19.20ID:???
>>576
いやお前それ…
英語勉強したことある?
0578nobodyさん2012/09/13(木) 19:25:25.91ID:???
で、なんで英語圏に合わせる必要があるんだ?
ここは日本だ
0579nobodyさん2012/09/13(木) 19:29:31.80ID:???
本物の低学歴がでたぞ
0580nobodyさん2012/09/13(木) 19:29:45.70ID:???
英語圏なら月日年時分秒だし
同じ英語でも違う並びの文化もあるからな
一緒くたにするな
0581nobodyさん2012/09/13(木) 19:30:02.34ID:???
>>576,578
頭悪すぎワロタ
0582nobodyさん2012/09/13(木) 19:30:57.84ID:???
phpスレってほんと馬鹿が多いのなw
0583nobodyさん2012/09/13(木) 19:31:18.17ID:???
>>576-581
はいはい、キチガイ乙
0584nobodyさん2012/09/13(木) 19:33:42.02ID:???
phpは英語なんか勉強しなくてもできるだろ!!馬鹿にするのはやめろ!!
0585nobodyさん2012/09/13(木) 19:34:16.14ID:???
PHPは英語圏で開発されて英語圏の利用者が一番多い
0586nobodyさん2012/09/13(木) 19:35:11.51ID:???
>>578
phpは日本で開発されたのか〜そうだったのか〜勉強になったわ
0587nobodyさん2012/09/13(木) 19:35:48.71ID:???
PHPは馬鹿御用達言語
↑PHPerは馬鹿だから読めない
0588nobodyさん2012/09/13(木) 19:36:20.77ID:???
>>587
それ英訳してみw
0589nobodyさん2012/09/13(木) 19:50:45.84ID:???
涙でてくるわこのスレ
0590nobodyさん2012/09/13(木) 20:21:18.06ID:???
>>588
お前ができもしないことを人に求めるな
0591nobodyさん2012/09/13(木) 20:35:29.31ID:???
>>590
涙ふけよw
0592nobodyさん2012/09/13(木) 20:49:09.42ID:???
>>590
0593nobodyさん2012/09/13(木) 21:01:22.20ID:???
そんなに英語が好きなら英語で書けよw
0594nobodyさん2012/09/13(木) 21:02:29.49ID:???
>>590
lol
0595nobodyさん2012/09/13(木) 21:04:25.57ID:???
pgr
0596nobodyさん2012/09/13(木) 21:55:12.99ID:???
巣に帰れゴミども
0597nobodyさん2012/09/13(木) 22:09:52.92ID:???
skgd
0598nobodyさん2012/09/13(木) 23:39:05.59ID:???
もう一ヶ月になるけど、やってくれないんだよね。
どっかに報告するんだっけ?
0599nobodyさん2012/09/13(木) 23:48:36.57ID:???
あ?
0600nobodyさん2012/09/14(金) 09:25:17.84ID:???
gvim を使いはじめたんですけど

:e ~/_gvimrc
ファイルに↓の設定をしているにも関わらず
長い文字列をコンソール上で編集していると自動で下段に文章が
折り返されてしまいます。

set nowrap

gvimには、gvimrcの内容を無視(スルー)する優先度の高い何か
特殊な設定がされているのでしょうか?

0601nobodyさん2012/09/14(金) 12:23:15.88ID:???
>>600 >>1
0602nobodyさん2012/09/14(金) 12:23:58.86ID:0fGFEht6
phpのerror_logを取ろうと、サーバの設定をしたのですが、
なぜかUTCで記録されます。
他のhttpdやメールサーバーのログは違うのですが、phpのログだけなので
php固有の設定場所があればどなたか教えてくださいませ
06036022012/09/14(金) 12:26:06.77ID:???
補足です
php.iniのタイムゾーンの設定は以下の通りです
date.timezone = Asia/Tokyo
0604nobodyさん2012/09/14(金) 12:36:28.93ID:???
なんかスレ消えてね?この板
■ このスレッドは過去ログ倉庫に格納されています