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

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

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

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 107
http://hibari.2ch.net/test/read.cgi/php/1307228162/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0666nobodyさん2011/07/15(金) 23:29:04.90ID:???
queryの場合どうやってbindすんだよ
0667nobodyさん2011/07/15(金) 23:32:21.69ID:???
だからもうmysql関数でいいっしょ
0668nobodyさん2011/07/15(金) 23:34:55.62ID:???
bindしないでquote汁
0669nobodyさん2011/07/15(金) 23:35:25.43ID:???
phpしないでajax汁
0670nobodyさん2011/07/15(金) 23:46:37.90ID:???
>>660
ソースは?
0671nobodyさん2011/07/15(金) 23:53:27.80ID:???
質問はID出せ
0672nobodyさん2011/07/16(土) 00:13:10.45ID:SgomU4v6
>>660
ソースyr
0673nobodyさん2011/07/16(土) 00:16:10.96ID:???
日付変わってから出したってことは昨日の質問者の誰かですね?
ハッハッハそんな恥ずかしがらんでも同じIDで何回でも聞きたまえ
0674nobodyさん2011/07/16(土) 00:19:11.55ID:He/TFKKN
回答しろよw
0675nobodyさん2011/07/16(土) 00:45:42.33ID:???
>>670
性質を利用してそうしてるって話
ソースは俺

まぁマニュアルにも書いてるでしょ
0676nobodyさん2011/07/16(土) 00:51:55.69ID:1W4ZpDeC
質問よろしくお願い致します。

指定したディレクトリ直下のディレクトリ数を数えるにはどうすればよいでしょうか?
ググってみたのですがそういった関数が見当たらなかったので質問させて頂きました。
0677nobodyさん2011/07/16(土) 00:54:12.64ID:???
opendir scandir is_dir 再帰
0678nobodyさん2011/07/16(土) 01:16:21.12ID:???
>>677
回答者はもっと偉そうな態度で答えてください。
>>1を100回読み直すことをお勧めします。
0679nobodyさん2011/07/16(土) 01:24:08.75ID:???
そんなことをわざわざ書いて楽しいか?
0680nobodyさん2011/07/16(土) 02:41:59.04ID:???
>>665
これはひどい
0681nobodyさん2011/07/16(土) 06:18:44.87ID:???
パフォーマンス重視なら間違ってない
0682nobodyさん2011/07/16(土) 08:44:18.11ID:???
>>665
ソース
0683nobodyさん2011/07/16(土) 09:13:48.15ID:???
質問はID出せ
0684nobodyさん2011/07/16(土) 09:16:40.84ID:YGCNzNgS
ID出したからソースお願いします
0685nobodyさん2011/07/16(土) 09:19:57.18ID:???
はいどうぞ
http://www.google.co.jp/search?q=%83v%83%8A%83y%83A%83h%83X%83e%81%5B%83g%83%81%83%93%83g%81%40%83R%83%93%83p%83C%83%8B
0686nobodyさん2011/07/16(土) 10:24:10.90ID:???
>>685
お前この前のechoの奴だろ
0687nobodyさん2011/07/16(土) 10:30:15.10ID:???
お前逆質問野郎だろ
0688nobodyさん2011/07/16(土) 14:17:14.38ID:Td/t7P4a
PHPプログラミングを始めて1年弱、簡単なウェブアプリは作って動かしているんだけど、
オブジェクト指向がさっぱり身につかない
オブジェクト指向の基本をウェブで解説してるところを眺めたりはしてるんだけど、
やっぱり、しっかりと身につけないとだめだよね?
上級者の方はやっぱりオブジェクト指向で記述しているもの?
0689nobodyさん2011/07/16(土) 14:35:57.21ID:UKfcwK8w
>>688
出来なくても良い。
身につかずにそのままプログラムしても最後にクラス(カプセル)化して独立性をあげることが可能。
0690nobodyさん2011/07/16(土) 15:13:50.20ID:???
>>688
練習がてらにこれで書き直してみるとか
http://d.hatena.ne.jp/akkt/20080424/1209051266
0691nobodyさん2011/07/16(土) 19:13:34.07ID:DaVz4haZ
そうそう。phpにそこまでやる必要はない。
Javaでwebアプリを作るのなら、まあOOPで作ってほしい
ところではあるが。
なんでもかんでもOOPにする必要はないんじゃないかな?
0692nobodyさん2011/07/16(土) 20:16:08.02ID:???
その前にさ
お前らいくらphp稼動させられても
webの世界には立ち入るな

お前らごとき輩にデザインなんて出来るはずがないわw
0693nobodyさん2011/07/16(土) 20:21:33.40ID:???
>Javaでwebアプリを作るのなら、まあOOPで作ってほしい

これは笑うところだろうか
0694nobodyさん2011/07/16(土) 23:35:48.26ID:???
>>693
>>691じゃないけどどの辺が笑いどころ?
0695nobodyさん2011/07/16(土) 23:40:45.72ID:???
純粋なオブジェクト指向パラダイムなのにOOPで作ってほしいってところ
OOPでないJavaを書けるなら書いてくれ
0696nobodyさん2011/07/16(土) 23:46:04.32ID:???
斜め上でAspectJでアスペクト指向で書いてやんよ
0697nobodyさん2011/07/17(日) 00:15:50.64ID:Vl6SLvCj
クラス作ってnewすれば何でもOOPか
おめでてーな
0698nobodyさん2011/07/17(日) 00:44:01.64ID:???
OOPならAjaxでマスターできるよ
0699nobodyさん2011/07/17(日) 00:59:38.66ID:???
>>693
ゲラゲラ笑うべきところ

( ^∀^)ゲラゲラ
0700nobodyさん2011/07/17(日) 02:14:39.73ID:???
          ____
        /_ノ  ヽ、_\
 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)
| / / /     |r┬-|    | (⌒)/ / / //
| :::::::::::(⌒)    | |  |   /  ゝ  :::::::::::/  あーひゃっひゃっひゃひゃwwwwwwwww
|     ノ     | |  |   \  /  )  /   あーひゃっひゃっひゃひゃwwwwwwwww
ヽ    /     `ー'´      ヽ /    /        アッーーーーwwwwwwwww
 |    |   l||l 从人 l||l      l||l 从人 l||l  バンバン
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
0701nobodyさん2011/07/17(日) 05:24:56.71ID:???
 
 おはよぉ〜

 おねぇさん、3連休の初日なのに徹夜明けだよぉ〜

 さて、どんな質問が残ってるのかな?

 徹夜明けの帰宅途中だから、家に帰ってから質問に答えるね。
 
0702nobodyさん2011/07/17(日) 09:04:58.49ID:???
>>701
いつも答えてないじゃない
0703nobodyさん2011/07/17(日) 11:37:51.27ID:???
>>701
おなぬーは週に何回ですか?
0704nobodyさん2011/07/17(日) 11:59:47.02ID:???
>>703

>>1
0705nobodyさん2011/07/17(日) 15:20:29.72ID:???
1回ですか・・・
0706nobodyさん2011/07/17(日) 18:58:11.83ID:0h0D0Wjo
文字コードで悩んでおります
php.iniの設定でmbstring.http.outputをSJISにすると、
いくらhoge.phpのヘッダにutf-8を記述しても、ブラウザではShift-JISになってしまいます
nkfで文字コードを見ても、UTF-8って表示されるんだけど、
php.iniのmbstring.http.outputで設定されてる値が優先されるんでしょうか?
だとしたら、phpファイル上で、文字コードを宣言するのは全く無意味な気もするんですが・・・

ちなみに、PCサイトとモバイルサイトで分けていて、モバイルサイトはShift-JISで表示したいし、
PCサイトはUTF-8で表示させたい。
ヘッダで宣言して作り分けようと思ってたのですが、上記のような問題にぶつかってしまっています
0707nobodyさん2011/07/17(日) 19:09:35.21ID:???
どうせ英数字しか書いてないんだろ
0708nobodyさん2011/07/17(日) 19:33:20.59ID:???
混乱してるようにしか思えないな
日本語で書くよりソースと設定貼ってくれ
0709nobodyさん2011/07/17(日) 19:57:47.82ID:yNBJt+VA
最後にアクセスしてきたURLに処理が終わったら飛ばすということをしているのですが、
想定外(URLの直接入力)もあるので、そのまま出力するとXSSになると思います。
そこでURLにhtmlspecialcharsやurldecodeをかけてみましたが、
URLが壊れて正しい場所に戻せませんでした。
たぶん&が&や%26になるのが原因だと思いますが、
こういうことをするのに何か他に最適な関数はありませんでしょうか?
もし手動で戻さなければならない場合、
どの関数を使ってどの文字を戻すか教えていただけると嬉しいです。
0710nobodyさん2011/07/17(日) 20:18:37.93ID:???
>>706
出力文字コードをShift_JISにして、ヘッダでUTF-8指定するって、文字化けさせたいんか
0711nobodyさん2011/07/17(日) 20:21:45.95ID:0h0D0Wjo
>>708
ソースは
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>hogehoge</title>
</head>
<body>
<?php echo "hogehoge"; ?>
</body></html>

phpinfoの設定は、
default_charset UTF-8
mbstring.detect_order UTF-8,SJIS,EUC-JP,JIS,ASCII
mbstring.encoding_translation On
mbstring.http_output SJIS
mbstring.internal_encoding UTF-8
mbstring.language Japanese

metaタグに文字エンコードをUTF-8に、ファイルもnkfでUTF-8になっていてもブラウザ上ではShift_JISになってしまいます。
mbstring.http_outputをUTF-8に変更すると、metaタグの内容にかかわらずUTF-8になります。
0712nobodyさん2011/07/17(日) 20:25:29.56ID:0h0D0Wjo
>>710
そうですよね・・・。UTF-8で表示させたいなら、mbstring.http.outputをUTF-8に
すれば解決なんですが、そうすると携帯用ページで文字化けが起きてしまいます。
そこだけ、.htaccessとかでShift_JISの出力にすればよいのでしょうか
ディレクトリ単位で設定かえられましたっけ?それともファイル毎に入れ込むのでしょうか?
0713nobodyさん2011/07/17(日) 20:52:14.89ID:???
悩みどころがわからない
携帯とPCの文字コード分けるのは普通だし
同じ場所から同じ変数をとってきて表示させる場合でも
その変数をmb_convert_encodingすればいいだけの話
0714nobodyさん2011/07/17(日) 21:16:34.27ID:???
>>712
http://php.net/manual/ja/apc.configuration.php
この辺見ればどのタイミングまで設定できるか書いてあるよ
0715nobodyさん2011/07/17(日) 22:12:17.92ID:???
>>711
mbstring.http_outputはpassのまま使え!
プログラム内で変換すれば充分だから余計なことで悩まなくて済む
0716nobodyさん2011/07/17(日) 22:14:24.20ID:???
>>711
mbstring.encoding_translationも"0"にしとけよ!
0717nobodyさん2011/07/17(日) 22:22:00.29ID:0h0D0Wjo
みなさん、レスありがとうございます

>>713
文字コードを分けるというのは、phpファイルごとに
mb_http_output('SJIS');
と入れるってことでしょうか?
とりあえず、mb_http_output('SJIS');とmb_http_output('UTF-8);で
思うように振り分けて表示させることはできました

>>715
passに設定すると、ファイルそのものの文字コードで表示されるのでしょうか?
それともmb_http_output('SJIS');のように各ファイル毎に記述する必要gああるということでしょうか?
既に結構のphpファイルを作ってしまっていて、変数毎に変換というのは正直つらいものがあります・・・
0718nobodyさん2011/07/17(日) 22:30:02.10ID:???
passで変換されずに出力されるから、ファイルの文字コードを全部UTF-8にしときゃいい
default_charset=UTF-8ならHTTPヘッダでUTF-8が指定される。meta要素いらん
今時の携帯にShift_JISとか使わなくていいよ
0719nobodyさん2011/07/17(日) 23:02:56.81ID:???
>>715
情弱乙
それは開発環境のみの話な
本番でそんな事したら危険だよ
0720nobodyさん2011/07/18(月) 02:09:58.56ID:B6IhzFZp
例外って↓こういうのの代わりに使って大丈夫ですか?

function test($n) {
 if (!$n) {
  echo "引数が違う";
  return false;
 }

 if ($n > 5) {
  echo "なんか違う";
  return false;
 }

}

0721nobodyさん2011/07/18(月) 02:12:27.74ID:???
>>720
別に好きなように使ってOK
0722nobodyさん2011/07/18(月) 02:40:54.96ID:???
>>720
まさにその為の例外が用意されている
http://www.php.net/manual/ja/class.invalidargumentexception.php
0723nobodyさん2011/07/18(月) 02:44:29.30ID:???
関数で例外とかやめろ
try 書くのを強制するのか?
0724nobodyさん2011/07/18(月) 02:46:48.74ID:???
えっ
0725。 ◆oDupeixhZv52 2011/07/18(月) 08:48:29.54ID:OhzoRm/E
>>719
どういう危険があるのか教えてください。
0726nobodyさん2011/07/18(月) 09:13:16.43ID:???
>>725
去年のカンファレンスに参加してないの?
http://www.slideshare.net/ockeghem/ss-5283574
0727nobodyさん2011/07/18(月) 09:28:35.58ID:???
>>726
それってヘッダに書けって話じゃないの?
0728。 ◆oDupeixhZv52 2011/07/18(月) 09:33:25.45ID:???
>>726
参加してません。参加してないと知りえない内容でもないでしょうに。
で、どう危険で何すると安全なのですか? mbstring.http_outputで。
0729nobodyさん2011/07/18(月) 09:37:37.20ID:???
あれ、おかしいなurl先見たらそんな質問するはずないんだけどな
0730nobodyさん2011/07/18(月) 09:40:04.97ID:OuXEBLnC
>>729
見た上で質問します
是非解説してください
0731nobodyさん2011/07/18(月) 09:43:03.62ID:???
じゃあ分かるまで読むしかないね
0732nobodyさん2011/07/18(月) 09:43:13.34ID:???
俺は全部の処理に
htmlspecialchars(mb_convert_encoding($str, $charset, 'auto'), ENT_QUOTES);
してるから問題ない
0733nobodyさん2011/07/18(月) 09:44:40.95ID:???
>>731
正直に理解できてませんって言えば?
0734nobodyさん2011/07/18(月) 10:19:07.21ID:???
またコミュ障か
妄想とか曲解が大好物なんだろうな
0735nobodyさん2011/07/18(月) 10:21:10.53ID:???
ああ、>>726,>>729の事な
0736nobodyさん2011/07/18(月) 10:27:05.04ID:???
悔しい奴ってすぐ人格否定に入るから分かりやすいw
0737nobodyさん2011/07/18(月) 13:30:45.05ID:???
悔しい奴?
0738nobodyさん2011/07/18(月) 13:36:31.41ID:xsH9/6rp
警告をエラーとして扱う方法ありますか。
警告で実行を中断したいのですが。
0739nobodyさん2011/07/18(月) 13:53:54.27ID:???
>>726
inputにUTF-8、outputにpass指定しろ と書かれているように見えるのだが?
0740nobodyさん2011/07/18(月) 15:01:46.85ID:???
>>726のP37で脊髄反射レスしてるんじゃない?
UTF-8として保存したものを改めて mb_convert する意味なんてないのに
0741nobodyさん2011/07/18(月) 15:13:44.28ID:???
>>926は様々なデータが来る可能性のある入力値の話
>>711はソース中にある文字を echo してるだけなんだから文字コードは自明
携帯電話用に UTF-8 → Shift_JIS の変換が必要なだけだ
0742nobodyさん2011/07/18(月) 15:16:08.64ID:???
>>738
set_error_handler
0743nobodyさん2011/07/18(月) 15:22:27.50ID:???
携帯でももうShift_JISはやめとけ
0744nobodyさん2011/07/18(月) 16:43:08.41ID:gEfwcIht
皆さんレス感謝です
手持ちの参考書には、第3引数で文字コードを指定するとまではなかったので
>>726もすごく勉強になりました。
>>718>>741
基本UTF-8で取り扱って、携帯用のページのみShift_JISに変換して出力というかたちが
良いようですね。
>>743
サービス上、auユーザも対象にせざるを得なくて、UTF-8だけにしぼれないんですよね・・・

Shift_JISへの変換は、出力する変数毎に処理したほうがいいのでしょうか?
それともmb_http_output('SJIS');としておくのがよいのでしょうか?
0745nobodyさん2011/07/18(月) 17:35:20.52ID:???
>>744
俺は一つの変数にまとめて echo mb_convert_encoding($html 'SJIS', 'UTF-8'); にしてる

> 手持ちの参考書には、第3引数で文字コードを指定するとまではなかったので
参考書を使うなとまではいわないが、マニュアルも読もう
http://php.net/manual/ja/function.mb-convert-encoding.php
0746nobodyさん2011/07/18(月) 17:38:58.96ID:???
それじゃなくてhtml〜の方だろ
0747nobodyさん2011/07/18(月) 17:42:48.67ID:???
http://php.net/manual/ja/function.htmlspecialchars.php
0748nobodyさん2011/07/18(月) 17:44:30.23ID:???
mb_convert_encodingの第三引数にauto指定しちゃいけないの?
明示的にしたほうが早いから指定してるだけ?
0749nobodyさん2011/07/18(月) 17:51:46.92ID:???
何でくるかわからないpostとかgetとかになら良いんじゃない
普通は内部エンコーディング指定して省略するとおもうけど
0750nobodyさん2011/07/18(月) 17:56:46.32ID:???
>748
autoにすると、予期しない順でエンコードしようとする時がある。
ブラウザでも、時々日本語エンコード指定してるのに、勝手に西ヨーロッパにしやがって化け化けじゃい!って事無いかな?
0751nobodyさん2011/07/18(月) 18:05:25.01ID:mQmm7Nt1
まずパソコンからのアクセスか携帯かどうかで切りかえる。
で、携帯の場合のみ、shift-jisにする
0752nobodyさん2011/07/18(月) 20:28:27.86ID:???
UTF-8だと、auはform使った時に化けるんか
0753nobodyさん2011/07/18(月) 23:32:35.29ID:dgUsdPB0
テキストデータの文字列の最後行の2列目を取り出したいのですがどうやるのでしょうか?
行数は固定でなく増えていく感じです
0754nobodyさん2011/07/18(月) 23:52:19.35ID:???
>>753
file_get_contentsとか使って適当にやればいいんじゃないっすかね
0755nobodyさん2011/07/18(月) 23:55:30.72ID:???
<?php
$file = array("a","b","c");
echo end($file)."\n";
echo prev($file)."\n";
?>

<?
for($i=count($file)-1;$i>=count($file)-2;$i--)echo $file[$i]."\n";
?>
0756nobodyさん2011/07/19(火) 00:50:01.20ID:???
結局全部読み込むんだw
0757nobodyさん2011/07/19(火) 00:56:37.08ID:???
まぁ普通そうだよな
0758nobodyさん2011/07/19(火) 00:59:25.69ID:???
気になるならtailでも何でも使えよ
0759nobodyさん2011/07/19(火) 00:59:30.72ID:???
読み込むんだったらarray_sliceで十分ではw
0760nobodyさん2011/07/19(火) 01:00:01.12ID:???
tail lol
0761nobodyさん2011/07/19(火) 01:05:50.13ID:???
$file = escapeshellarg($file);
echo `tail -n 2 $file`;

すばらしい
0762nobodyさん2011/07/19(火) 02:18:36.73ID:???
tailは便利だけどOS依存になるな
0763nobodyさん2011/07/19(火) 02:27:07.19ID:???
printでよくね
0764nobodyさん2011/07/19(火) 02:29:09.89ID:???
http_outputはpassにするなよ情弱
0765nobodyさん2011/07/19(火) 03:17:13.08ID:???
そんなに悔しかったんか?
間違いは誰にでもあるし気にしなくていいと思うよ
■ このスレッドは過去ログ倉庫に格納されています