トップページ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を表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
0478nobodyさん2012/09/08(土) 06:07:48.68ID:rS56ognd
> ただ配列操作をしてるときもしかしてそういう関数あるかもと
> PHPマニュアルの配列の項目見に行ったりはするけど
やっぱり自分だけじゃなかったんですねコレ
ありがとうございます、phpと仲良くなれた気がしました
0479nobodyさん2012/09/08(土) 08:10:58.92ID:???
グローバル関数が1500個もあると自作関数と名前が重なることがある
0480nobodyさん2012/09/08(土) 08:32:36.92ID:???
そんなにあったのかよ
せいぜい999以下だと思ってた
0481nobodyさん2012/09/08(土) 08:41:04.42ID:???
1000以下じゃなくて999以下な理由は何
0482nobodyさん2012/09/08(土) 08:44:49.06ID:???
持ち物の限界って大抵99個か999個じゃん?
0483nobodyさん2012/09/08(土) 10:03:39.05ID:???
これがゲーム脳か・・・
0484nobodyさん2012/09/08(土) 10:09:41.33ID:???
999までしか数えられなくて、それを超えたらいっぱい扱いなんだろw
0485nobodyさん2012/09/08(土) 11:03:15.52ID:???
えー、それでは今日は1000と999の違いについてですがー
0486nobodyさん2012/09/08(土) 15:39:36.08ID:???
そんなにあったのかよ
せいぜい255以下だと思ってた
0487nobodyさん2012/09/08(土) 15:41:10.27ID:???
お前ら無理すんな、両手で数えられる程度だろ
0488nobodyさん2012/09/08(土) 15:49:00.18ID:???
まあ確かに10本の指で1024まで数えられるが(笑)
0489nobodyさん2012/09/08(土) 15:53:39.83ID:???
それ、指つるからw
0490nobodyさん2012/09/08(土) 15:55:05.65ID:???
小指を立てて親指人差し指を動かしたりするのは苦痛w
0491nobodyさん2012/09/08(土) 16:00:59.90ID:???
知らない人のために参考ページ
http://livedoor.3.blogimg.jp/mamesoku/imgs/8/d/8d1e58c9.png
http://www.info-study.net/math/binary-fingers.htm
0492nobodyさん2012/09/08(土) 16:02:55.45ID:???
両手使えば1024まで行ける
0493nobodyさん2012/09/08(土) 16:24:15.47ID:HFGd35U3
if ($handle = popen('perl foo.pl','r')) {
  $res = fgets($handle);
  echo $res !== false ? $res : 'FALSE';
}

共用のレンタルサーバでpopen()が動作しない場合、何を確認すればいいでしょうか。
ブラウザから上のスクリプトを実行した場合、
pipeは開かれるが出力が帰ってこず("FALSE")、ログにもメッセージが残りません。
PHP5.4でsafe_modeがないこと、open_basedirには
foo.plを置いている親ディレクトリが含まれていることを確認しています
0494nobodyさん2012/09/08(土) 17:35:06.22ID:???
>>489
うちの子が10を超えると計算できないっていうから、
両手で1024まで数える方法を教えてやったら、不器用なので暗算に燃え出した。
04954932012/09/08(土) 17:55:35.57ID:HFGd35U3
原因は実行ファイル(foo.pl)のパーミッションでした。
他言語のスクリプトからも呼ばれるので動作確認は済んでるつもりだったんですが
PHPだけ?違ったようです。
0496nobodyさん2012/09/08(土) 18:01:16.89ID:???
>>495
どういたしまして^^
0497nobodyさん2012/09/08(土) 22:29:32.73ID:???
>>492
豊臣秀吉は指が6本あったらしいな。
両手か片手かは知らないけど・・・

仮に両手に6本指があったとして、1026まで数えられたっていうことなんだな!
やっぱ歴史に名を残す人ってすげえー
0498nobodyさん2012/09/08(土) 22:51:52.49ID:???
>>497
2048か4096だろ釣り師君
0499nobodyさん2012/09/09(日) 02:43:26.53ID:???
えー、これについては指を折りたたんでるか折りたたんでないかのスイッチとして考えましてー
指5本なら2^5となりましてー
0500nobodyさん2012/09/09(日) 03:01:35.02ID:???
>>499
お前、指が3本しかないな
0501nobodyさん2012/09/09(日) 03:03:23.63ID:???
高一でやるレベルじゃねーか
○と×の二通りを重複可で10個並べると何通り出来るか
0502nobodyさん2012/09/09(日) 03:06:40.14ID:???
>>499
教師失格
研修を受け直せ
0503nobodyさん2012/09/09(日) 03:11:24.40ID:???
なにここ、中学生の数学も理解できないような奴の集まりかよ
お前らよくプログラミングなんて出来るな>>502
0504nobodyさん2012/09/09(日) 14:51:44.76ID:???
おい、足の指5本あるんだけど
2までしか数えらんね〜ぞ
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
いやお前それ…
英語勉強したことある?
■ このスレッドは過去ログ倉庫に格納されています