【PHP】下らねぇ質問はID出して書き込みやがれ 77
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/12/08(月) 01:27:39ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 76
http://pc11.2ch.net/test/read.cgi/php/1226517332/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0220nobodyさん
2008/12/12(金) 21:24:04ID:N5GIYx97requireとかincludeとかの関連の質問です。
読み込むファイルの拡張子を.phpにしていると、
そのファイル単体を実行されてしまうかもしれないので、
拡張子を.incとかにしておくように、と
教科書に書いてあるのですが、そうなのですか?
0222nobodyさん
2008/12/12(金) 22:14:09ID:cYuXCaJp$this-> abc =
このときの -> はどういう意味でしょうか?
連想配列ではないと思うのですが
0223nobodyさん
2008/12/12(金) 22:15:41ID:cYuXCaJpコードを見ていると、
$this-> abc は $abc と同じではないかと考えているのですが
まちがいでしょうか。
0224nobodyさん
2008/12/12(金) 22:16:10ID:???http://jp2.php.net/manual/ja/language.oop5.basic.php
0225nobodyさん
2008/12/12(金) 22:43:09ID:N5GIYx97htmlentities と htmlspecialchars の違いだけど、
htmlentitiesはバグがあって、シフトJISの半角かなを入れると、
本来変換すべきでない文字なのに変換してしまって
プログラムが破壊される、という。
よってhtmlspecialcharsを使うべきである、
この理解であってる?
0226nobodyさん
2008/12/12(金) 22:56:48ID:cYuXCaJpむずかしくてわかりません。
もっとわかりやすいのはないでしょうか。
0227nobodyさん
2008/12/12(金) 23:00:38ID:N5GIYx97「PHP 5以降、デフォルトで値はリファレンス渡しとなります。」
と書いてあるのだが、自分で実際に実験してみたら、
値渡しになっているのだが、これってどっちが正しいの?
0228nobodyさん
2008/12/12(金) 23:02:18ID:N5GIYx97デリヘル「おまんこクラブ」って店があったとして、
そこに登録している女の子が「みよちゃん」「あすかちゃん」「かなえちゃん」
だったとして、
「みよちゃん」を指名するのが、
$おまんこクラブ-> みよちゃん
0229nobodyさん
2008/12/12(金) 23:04:54ID:N5GIYx97ごめん、意味がわかった。
本来書くべき引数を、省略した場合に
どちらが使われるか、という意味なのね。
0230nobodyさん
2008/12/12(金) 23:14:45ID:???べつにis_readableしなくてもfopenにエラー制御付けてdieすればいいじゃない
.incにするというより外部からアクセスできなくする方がいい。
読み込みさせたくないファイルをexample.inc.phpとかにして.htaccessとかで
<FilesMatch "\.inc\.php$">
Order allow,deny
Deny from all
</FilesMatch>
って書いてあげればおk
つーか教科書ってなによ
0231nobodyさん
2008/12/12(金) 23:17:42ID:N5GIYx97「incフォルダ」というのを作って、
そこにincを全部押し込めて、そんで
そのフォルダのパーミッションごと、
ユーザーからは000にすればいいかな。
そんで、オーナーからのみ利用可能と。
0232nobodyさん
2008/12/12(金) 23:30:45ID:???0233nobodyさん
2008/12/13(土) 01:00:18ID:6CbaLDLd「メタタグで、ページのコードを指定しないと
セキュリティ的に危険」
という記述を見つけたんだけど、そうなの?
0234nobodyさん
2008/12/13(土) 01:04:08ID:6CbaLDLdhtmlspecialchars で、
第三引数に、
mb_internal_encodingを指定するやり方と、
utf-8 を指定するやり方と、
2種類あるようなんだが、
これの違いはなに?
0235nobodyさん
2008/12/13(土) 01:08:01ID:6CbaLDLdユーザーが何か文字を入力するような
フォームは一切置いてなくて、ただボタンを押す
だけのプログラムなんだが、この場合でも
htmlspecialchars等でサニタイズはしたほうがいいの?
「変数を画面に出力する場合には、
すべてサニタイズしたほうがよい」
って解説サイトに書いてあったので。
あと
「POSTでも攻撃はできる」
との記述もありました。
0236nobodyさん
2008/12/13(土) 02:21:17ID:RdWJvdiT「POSTでも攻撃はできる」は確かにできるけど、
それはあくまで変数を取得したときだから
0237nobodyさん
2008/12/13(土) 02:49:23ID:???0239nobodyさん
2008/12/13(土) 03:05:34ID:???perlのエンジニアの給料が高いのは、内容の難易度とは何の関係もなく
単に人がいないから市場原理で上がっているんだろうな。
0240nobodyさん
2008/12/13(土) 04:22:46ID:???$a=10;
function Test()
{
print "hello";
$a=$a-1;
Test();
}
Test();
?>
これを実行したらアパッチが死んだ。一瞬で。
怖いプログラムや。
0241nobodyさん
2008/12/13(土) 04:55:25ID:???ざらにいるだろう?不思議だね
0242nobodyさん
2008/12/13(土) 06:07:09ID:???何を真剣に議論してるんだ
Perlやってまーす今月のお給料は30万円でした!→Perl 給料 30万円
今回のプロジェクトはPHPです。今日は給料日でお昼にトンカツを食べたよ。600円だった。→PHP 給料 600円
0243nobodyさん
2008/12/13(土) 06:20:39ID:6CbaLDLdこれ誰か教えてよ
0244nobodyさん
2008/12/13(土) 06:30:35ID:???コーダーに毛が生えたレベルでできる案件でもPHPプログラマー募集だからな。
例のURLは米だが、
日本だと、本当にできるやつは限られてて、いくら積んでもあつまらないからね。
実力を証明できれば、月150は普通に行ける。
0245nobodyさん
2008/12/13(土) 06:37:22ID:???だめだめだね。
>>234
質問が不完全なのでマニュアルを読んで、どっちの引数に指定なのかぐらい書いてください。
>>235-236
「変数を画面に出力する場合には、
すべてサニタイズしたほうがよい」
表示するときにするのはサニタイズじゃなくてエスケープな。
XSSされてマルウエア撒く土台になっても問題ない、
何を実行されても変更するコードを含まないサイトじゃないかぎりアウト。
>>236は釣りだろ。POSTだって全然だめこ。
0246nobodyさん
2008/12/13(土) 06:38:06ID:???0247nobodyさん
2008/12/13(土) 06:46:24ID:6CbaLDLdこのサイトで、
「よくhtmlspecialchars関数が使われていたり、
htmlentities関数を使っていても第1引数しか
指定されていなかったりしますが、これでは穴
が残ることになります。」
って、断言しちゃってるんだが、
htmlspecialcharsはそんなにダメな子なの?
0248nobodyさん
2008/12/13(土) 06:52:11ID:???0249nobodyさん
2008/12/13(土) 07:12:10ID:6CbaLDLdこのページに
「また、第3引数に文字コードも指定した方が無難です。
$fixed = htmlspecialchars($str, ENT_QUOTES, UTF-8);
「UTF-8」と書いた部分には、自分の使っている文字コード
を書きます。mb_internal_encoding()と書いておくのもありです。
と書いてあるのだが、「UTF-8」と「mb_internal_encoding()」と
どっちを書けばいいのだ?
0250nobodyさん
2008/12/13(土) 07:33:57ID:???日本語勉強汁
書いてあるまんまだろ
処理対象が内部エンコードじゃなかったら自分で指定しなきゃいかんわけだし。
0251nobodyさん
2008/12/13(土) 07:37:09ID:???第2引数が省略されて、アトリビュートをシングルクォートで出力すると
XSSが可能になる
文字コードを指定しないと、文字コードが違った場合に変換されない文字がある。
処理対象文字列が出力文字列と違う場合など、処理方法はケースバイケース
定式の対策ってのはサンプルでしかないって常識だから(カス以外)
0252nobodyさん
2008/12/13(土) 08:41:32ID:???0253nobodyさん
2008/12/13(土) 08:58:20ID:6CbaLDLdDBはもう古くて、
MDB2を使わないとだめなの?
0255nobodyさん
2008/12/13(土) 11:57:09ID:???さて、スパム質問がんがん続けてもらって結構だが、
>>1を守って、最低限の情報は提示したらどうかね。
>>253
DB MDB2? 正確に何の何って書いてくれ。
PEARのことか、標準関数か、PDOかさっぱりわからねぇ
0256nobodyさん
2008/12/13(土) 14:07:48ID:???就職のとき、どの程度のスキルがあればいいのかなどを教えていただけないでしょうか
0257nobodyさん
2008/12/13(土) 14:20:52ID:???各種フレームワークを使いこなす
ある程度のDBチューニング、DHTML、Ajax技術の取得
くらい
0258nobodyさん
2008/12/13(土) 15:01:29ID:eAoN+Tsu【PHPのバージョン】php5
【連携ソフトウェア】
【質問内容】
PHPでアクセス解析ツールを自作しています。
その際アクセスしてきた端末のIPアドレスが、リストであらかじめ指定しておいた
特定の範囲のIPアドレスに該当する場合は記録に残さないよう除外機能を
設けようと思っています。
ところがIPアドレスの範囲表記といっても表現の仕方は様々で、たとえば
a) 192.168.1.1/255.255.0.0 サブネットマスク
b) 192.168.1.1/12 ビットマスク
c) 192.168.1.1-192.168.1.255 範囲指定1
d) 192.168.1.1-255 範囲指定2
と種種雑多あります。おのおののケースに関して場合分けして一つ一つしらみつぶしに
対応させていく方法もありますがかなり面倒です。
PHPの標準関数の中に上記の表記方法の違いを吸収してくれるものは無いでしょうか?
0259nobodyさん
2008/12/13(土) 15:06:01ID:???0260258
2008/12/13(土) 15:11:32ID:eAoN+Tsuはい、たとえば禁止リストの中に>>258のa)〜d)の表記が混在していても問題なく
対応できるコードを書きたいと思っています。標準関数等でその違いを吸収して
くれるものがあれば実装はぐっと楽になりますが、なければa)〜d)に関してこちら
で場合分けしてやらなければならなくなるわけです。
0261nobodyさん
2008/12/13(土) 15:57:04ID:???http://q.hatena.ne.jp/1123814667
こんな関数とPEARクラスがあったよ
http://jp.php.net/ip2long
http://pear.php.net/package/Net_IPv4
その用途に特化したライブラリはあるのかもしれないけど俺は知らないなー
他のスクリプトのコード見て拝借するか上のクラス使って実装するのがいいんじゃなかな
0263258
2008/12/13(土) 17:58:47ID:eAoN+Tsuどうもです。Net_IPv4をざっと見てみました。
Net_IPv4::ipInNetwork()を使えばCDIR形式(b形式)で指定された範囲のIPアドレスが
特定のIPアドレスに該当するかチェックできそうです。
ただいずれにせよNet_IPv4自体はa, b, c, dの区別まではつくてくれるわけではないので
場合分けは他の方法を考案しないといけないようです。
0264nobodyさん
2008/12/13(土) 19:16:22ID:YPhOdbZ41個の処理が終わって、画面表示されるときはいいのですが、
そうでなく、どこかへ飛ばしたいとき、どうするのでしょうか。
PERLのようにGOTOは使っていないみたいですが、
どうすればいいのかわかりません。
初心者ですみません
0265nobodyさん
2008/12/13(土) 19:18:30ID:???0266nobodyさん
2008/12/13(土) 19:19:19ID:???</初心者>
0267nobodyさん
2008/12/13(土) 19:22:09ID:???0268nobodyさん
2008/12/13(土) 21:14:20ID:YPhOdbZ40269nobodyさん
2008/12/13(土) 23:46:10ID:K82uEZY1【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
divでメニューとメインの左右2カラムに分けているのですが、メニューをクリックするとメインに対応したページ(hoge.html)を表示させるようにはできないでしょうか?
0270nobodyさん
2008/12/13(土) 23:47:52ID:???0271296
2008/12/13(土) 23:51:07ID:K82uEZY10272269
2008/12/13(土) 23:54:29ID:???【質問内容】
divでメニューとメインの左右2カラムに分けているのですが、メニューをクリックするとメインに対応したページ(hoge.html)を”メインのカラムに”表示させるようにはできないでしょうか?
0273nobodyさん
2008/12/13(土) 23:55:09ID:???0274269
2008/12/14(日) 00:12:57ID:???0275nobodyさん
2008/12/14(日) 00:20:01ID:???0277nobodyさん
2008/12/14(日) 00:26:23ID:???0278nobodyさん
2008/12/14(日) 00:29:46ID:wo5hksfa【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
顧客情報がMD5のハッシュ化されて保存されてしまいました。
どうやったら顧客名を復元できるか教えてください。
0279nobodyさん
2008/12/14(日) 00:31:30ID:???0280nobodyさん
2008/12/14(日) 00:33:41ID:???0281nobodyさん
2008/12/14(日) 00:42:49ID:???「理解できないほど難しい」
という個所はほとんどなく、
たいていの説明は理解できる。
Cと違ってとてもうれしい。
ストレスがたまらない。
0282nobodyさん
2008/12/14(日) 00:55:12ID:???ストレスがうれしいってマゾ
0283nobodyさん
2008/12/14(日) 03:28:19ID:???調べ官は、文字や絵を使いながら慎重に調べている。
0284nobodyさん
2008/12/14(日) 03:40:18ID:???このページわかりやすい
0285nobodyさん
2008/12/14(日) 04:02:38ID:???0286nobodyさん
2008/12/14(日) 04:05:45ID:???今まで見たページの中で一番役立つと思った。
的確な解説と詳しい事例の紹介。特に、右側の本の紹介は最高。
さっそく何冊か買っちゃった。これは買いだよ。
0287nobodyさん
2008/12/14(日) 04:07:44ID:???0288nobodyさん
2008/12/14(日) 04:38:40ID:???いや、俺が凄いと思うよ、このページ。
人によって色々意見があると思うけど、そこらの本では得られない情報が満載。
右の本の紹介も確かに参考になるね。ありがとう。
0289nobodyさん
2008/12/14(日) 07:07:57ID:cWESsLbm【PHPのバージョン】php5.26
【連携ソフトウェア】SQLite
【質問内容】
PDOで処理しています
INSERT でトランザクションかけている時に
他のユーザでINSERT しようとすると database is locked となります
数秒待ってから、database is locked の表示が出るのではなく
すぐエラーの表示になってしまいます
書き込みが処理がダブった場合に、片方のユーザは待つようにしたいのです
http://www.bumblebury.com/function.sqlite-busy-timeout.html
ココを見ると、初期値ではタイムアウトが設定されている
となっているのですが、処理待ちしてくれません
どうすればいいのでしょうか
0291nobodyさん
2008/12/14(日) 07:50:35ID:???0292nobodyさん
2008/12/14(日) 08:04:57ID:???0293nobodyさん
2008/12/14(日) 08:20:12ID:???初心者のまとめ用ノートに見えた
解説ページとしての出来は三流以下
本もどういった理由でお勧めかも書いていない
ただのアフィ目的
0294nobodyさん
2008/12/14(日) 08:27:34ID:???このページわかりやすい
0295289です
2008/12/14(日) 09:36:55ID:cWESsLbmsqlite_busy_timeout()
これと同じ事をPDOでしたいのです
よろしくお願いします
0296nobodyさん
2008/12/14(日) 10:03:03ID:???エラーがどこで発生して何がエラー表示をしているかを調べてみたら?
エラーを捕捉したらそのエラー種を調べて、一定時間内であればsleepしてリトライ
0298nobodyさん
2008/12/14(日) 11:03:43ID:???∧_∧ ∧_∧ ∧_∧ ∧_∧
(´・ω・`) n (´・ω・`) n (´・ω・`) n (´・ω・`) n
 ̄ \ ( E)  ̄ \ ( E)  ̄ \ ( E)  ̄ \ ( E)
フ /ヽ ヽ_// フ /ヽ ヽ_// フ /ヽ ヽ_// フ /ヽ ヽ_//
∧_∧ ∧_∧ ∧_∧ ∧_∧
(´・ω・`) n (´・ω・`) n (´・ω・`) n (´・ω・`) n
 ̄ \ ( E)  ̄ \ ( E)  ̄ \ ( E)  ̄ \ ( E)
フ /ヽ ヽ_// フ /ヽ ヽ_// フ /ヽ ヽ_// フ /ヽ ヽ_//
∧_∧ ∧_∧ ∧_∧ ∧_∧
(´・ω・`) n (´・ω・`) n (´・ω・`) n (´・ω・`) n
 ̄ \ ( E)  ̄ \ ( E)  ̄ \ ( E)  ̄ \ ( E)
フ /ヽ ヽ_// フ /ヽ ヽ_// フ /ヽ ヽ_// フ /ヽ ヽ_//
∧_∧ ∧_∧ ∧_∧ ∧_∧
(´・ω・`) n (´・ω・`) n (´・ω・`) n (´・ω・`) n
 ̄ \ ( E)  ̄ \ ( E)  ̄ \ ( E)  ̄ \ ( E)
フ /ヽ ヽ_// フ /ヽ ヽ_// フ /ヽ ヽ_// フ /ヽ ヽ_//
0300289です
2008/12/14(日) 17:37:24ID:cWESsLbmやっているんですけどダメなんです
トランザクション開始せずに、INSERT を実行するように
記述すれば正常に待ってくれますが
トランザクションを開始してINSERT をするようにすると
トランザクション開始の段階でdatabase is locked を出してくる
ようなのです
0301289です
2008/12/14(日) 17:50:52ID:cWESsLbm端末A側で時間のかかるINSERTを実行すると同時に
端末B側でINSERTを実行する
→○端末Aの処理が終わるまで待ってくれる
端末A側でトランザクションを開始してからINSERTを実行すると同時に
端末B側でトランザクションを開始してINSERTを実行する
→×一切待たずにdatabase is locked エラー
0302nobodyさん
2008/12/14(日) 18:25:18ID:???> ×一切待たずにdatabase is locked エラー
そのエラーはDBが吐いてるのか、PDOが吐いてるのか確認した?
タイムアウトはPHPがクライアントとしてどんだけ待つか?という設定。
DBからエラーが帰ってきたら、待つわけがないんで、
コマンドラインでトランザクションが重複したときの挙動を確認してみて。
もし、SQLiteの挙動として、トランザクション処理が二重になると
「database is locked」が返ってくるようなら自前でリトライするしかない
0303nobodyさん
2008/12/14(日) 18:53:31ID:???手はあるかもね。
あるいは、ステートメントでsqlite_busy_timeout(100000) を発行する
0304nobodyさん
2008/12/14(日) 20:29:18ID:YaM9vo5Dwhile ($items = fgetcsv ($csv, 1000,",")) {
結果表示
}
fclose($csv);
これにページング機能をつけたいのです
CSVファイル内は500件あって
20件ずつ表示させたいです。
よろしくおねがいします
0305nobodyさん
2008/12/14(日) 20:45:14ID:???なにこれ、裏技?
0306nobodyさん
2008/12/14(日) 20:47:10ID:???0308nobodyさん
2008/12/14(日) 20:54:08ID:???0309nobodyさん
2008/12/14(日) 21:53:42ID:???これはおもしろい
0310nobodyさん
2008/12/14(日) 21:54:06ID:w3Pugtuvwordpressでつくったサイトのトップページに、
ブログの更新情報をPHPで表示したいのですが、
2008.12.14 ブログの更新情報
2008.12.14 ブログの更新情報
2008.12.14 ブログの更新情報
という風に表示するには、どういう記述をしたらいいのでしょうか。
詳しい方お願いします!
0311nobodyさん
2008/12/14(日) 21:54:21ID:???0312nobodyさん
2008/12/14(日) 22:34:56ID:2jbmy5jI【PHPのバージョン】php4.3.9
【連携ソフトウェア】apache 2.0
【質問内容】
php5.2.3以降を入れたいのですが、どのような方法があるでしょうか。
Jason氏のレポジトリを使うという方法もあるそうですが、評判はどう
なんでしょうか。
0316nobodyさん
2008/12/15(月) 02:10:05ID:???変数の名前を「aaa」とかにすると
後から読んでわけわかんなくなる。
0317nobodyさん
2008/12/15(月) 02:37:19ID:Y6XF9DXsファイルを読み込むときに、
そのファイルがなかったときは、
どのように処理するのが適切か。
「ファイルが存在しません」
とエラーメッッセージを出して、
止めるのが正解か?
そのとき、
「エラーです」
とだけ表示するか、
「ファイルが存在しません」
と、「理由」も表示するべきか、
「abc.txtが存在しません」
と「ファイル名」も表示するべきか?
0318nobodyさん
2008/12/15(月) 03:20:56ID:/Qwgx48Gaaaはテスト用
0319nobodyさん
2008/12/15(月) 05:08:01ID:???言葉が通じないから木の枝にゴムを被せるというジェスチャーで何とか教えたという。
それから何年かしてアフリカに行ってみたら子供は減るどころか逆に増えてたんだ。
おかしいと思って夜民家の近くに行ったらなんと木の枝にゴムが被っていてジェスチャーで教えたそのまんまだったそうだ。
現地の人は木の枝にゴムを被せたら妊娠しないというおまじないだと思ってたそうな。
0320nobodyさん
2008/12/15(月) 05:59:52ID:???基本的にリアル対人能力は無いneet達なんだから
普通の交流しようとしても無駄だし
関わってもキチガイ人間っぷりにうんざりするだけ
普通にコミュニケーション力鍛えて
普通の世界に入った方が圧倒的に人生楽しめる
■ このスレッドは過去ログ倉庫に格納されています