【PHP】下らねぇ質問はID出して書き込みやがれ 132
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2014/01/20(月) 06:23:11.66ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 131
http://kohada.2ch.net/test/read.cgi/php/1384065969/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.5
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0002nobodyさん
2014/01/20(月) 06:23:56.77ID:???■本家マニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル http://pear.php.net/manual/ja/
■メーリングリスト http://ml.php.gr.jp/mailman/listinfo/
■ZFマニュアル http://framework.zend.com/manual/ja/
■Smartyマニュアル http://www.smarty.net/manual/ja/
(以下英語)
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smarty http://www.smarty.net
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0003nobodyさん
2014/01/20(月) 06:24:29.22ID:???1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
0004nobodyさん
2014/01/20(月) 06:25:02.44ID:???→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0006nobodyさん
2014/01/20(月) 16:32:43.48ID:???0007nobodyさん
2014/01/20(月) 20:25:13.22ID:/QxzPvCb値渡しと参照渡しがいつどのタイミングで発生するかわからないので教えてください。
$arr1 = array('aaa'=>1, 'bbb'=>2, 'ccc'=>3);
$arr2 = $arr1; // ※1
function hoge($arr3) {}
hoge($arr1); // ※2
このような時、
※1は値渡しでしょうか?参照渡しでしょうか?
※2は値渡しでしょうか?参照渡しでしょうか?
また、
何か見分けの付きやすいルールがあればそれも教えてください。
0008nobodyさん
2014/01/20(月) 21:16:56.92ID:pZcSGmVQ0009nobodyさん
2014/01/20(月) 22:08:40.13ID:???0010nobodyさん
2014/01/20(月) 22:48:16.64ID:???http://www.php.net/manual/ja/features.gc.refcounting-basics.php
hoge($arr3)は値渡し(コピーオンライト)になります
PHPでは連想配列はオブジェクトではないので
破壊的関数は hoge(&$arr3) と書きます
001110
2014/01/20(月) 22:53:25.36ID:???function hoge(& $arr3) {}
0012nobodyさん
2014/01/20(月) 22:55:09.61ID:/QxzPvCbありがとうございます!
0013nobodyさん
2014/01/20(月) 23:02:17.58ID:???※1も※2も値渡しだよ。
PHPでは、基本的にみんな値渡しになる。
例外的に、オブジェクトにオブジェクトを代入すると参照渡しになる。
オブジェクト以外で参照渡しにしたい場合には、&を変数等の前につける。
もっとも、通常は参照渡しにする必要はほとんど無いはず。
0014nobodyさん
2014/01/21(火) 11:04:34.04ID:???『PHPが糞言語なのはどう考えても参照をポインタだと思っているお前らが悪い』
http://tanakahisateru.hatenablog.jp/entry/2013/12/12/012728
0015nobodyさん
2014/01/21(火) 22:58:26.87ID:DnPfDE6kピクセルのRGB値を取得する以下のサンプルで、
$im = imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
var_dump($r, $g, $b);
このようなやり方でRGB値を取得できることはわかったのですが、
このなかの「$r = ($rgb >> 16) & 0xFF;」の部分はどういう処理を
行っているのでしょうか?
「>>」という記号と、「&」の部分がどういう意味なのか教えてください。
どうぞよろしくお願いします。
0016nobodyさん
2014/01/21(火) 23:10:12.38ID:???関連リンク
■本家マニュアル http://www.php.net/manual/ja/
演算子の項を参照
0017nobodyさん
2014/01/22(水) 00:12:36.65ID:???>>はビットシフト
RGBは24bitなので、右に16bitシフトすればGとBのビットは捨てられてRだけになります
& 0xff はビットマスク
ここでは下位8bitはそのまま、それ以外のビットがあれば0にする意味で使われています
0019nobodyさん
2014/01/22(水) 14:46:32.76ID:aoIHocMlフォームからの投稿文字列の最後に、「改行」がある場合、削除したいのですが、
うまく効かないです。何が原因でしょうか?
$val = isset($val) ? trim($val) : '';
マニュアルを見ると、改行を除く場合、第二パラメーターは不要とのことです。
http://jp1.php.net/manual/ja/function.trim.php
原因がわからず困ってます。よろしくお願いします。
0020nobodyさん
2014/01/22(水) 14:53:14.65ID:???002119
2014/01/22(水) 14:58:11.25ID:aoIHocMl大変、失礼しました。自己解決です。
trimが効いていないと思ったら、効いていました。
投稿後、セッションの元データをフォームに反映させていたため
効いていないと、勘違いしていたみたいです。
お騒がせして済みませんでした。
0022nobodyさん
2014/01/22(水) 18:04:34.87ID:???0023nobodyさん
2014/01/22(水) 19:04:29.09ID:???継続的に啓蒙していくことが重要。
0024nobodyさん
2014/01/22(水) 22:36:56.70ID:FG8ViAIJ0026nobodyさん
2014/01/23(木) 02:52:37.95ID:df5KuOGo認知させるところからだろ
0027nobodyさん
2014/01/23(木) 03:35:34.87ID:???0028nobodyさん
2014/01/23(木) 03:37:23.28ID:???0029nobodyさん
2014/01/23(木) 10:31:13.88ID:???質問書いてください。
0031nobodyさん
2014/01/23(木) 18:25:39.43ID:???お前らもがんがれ
0033nobodyさん
2014/01/23(木) 20:04:29.62ID:???そうすればPHPユーザーのスキルレベルとPHPの有用性を同時に示すことができる
0034nobodyさん
2014/01/23(木) 21:17:36.49ID:???0035nobodyさん
2014/01/23(木) 21:47:21.78ID:df5KuOGo0036nobodyさん
2014/01/23(木) 23:37:54.85ID:7YymRraU【PHPのバージョン】5.3
【連携ソフトウェア】MySQL CodeIgniter
【質問内容】
セッションに大量に突っ込むと中身が消えます。
具体的にはセッションに3000文字とかいれると消えます。
1000文字とかであればちゃんと入っているんですがセッションの容量には上限があるんでしょうか?
以前にちょっとしたファイルをやり取りしたことがあるので3000文字程度では大丈夫と思っていたのですが設定など見ても上限に該当するものがみあたりませんでした。
0037nobodyさん
2014/01/24(金) 00:07:02.91ID:???0038nobodyさん
2014/01/24(金) 00:07:11.60ID:???デバッガで追ってみたら
0039nobodyさん
2014/01/24(金) 00:11:01.69ID:???その辺どうやって確認してんの
0040nobodyさん
2014/01/24(金) 10:09:16.59ID:d/hHeezf単純にsessionの関数使っているだけなのでsessionがどこに保存されているのか?
というのを意識していませんでした。
特に何もしていませんがブラウザーのデバッガーで見たらcookieにそれらしき文字列があったのでcookieだと思います。
中身が消えるかどうかの確認は1000文字いれても取り出せるけど
3000文字だとnullになっているという形です。
保存先を変えることができるのであればやってみたいと思います。
0041nobodyさん
2014/01/24(金) 14:46:22.36ID:???セッションとクッキーを混同してるんじゃないの。
それと、クッキーは、たしか4kbyteとかの上限があるからそれが原因だと思う。
0042nobodyさん
2014/01/24(金) 15:15:41.95ID:UatxQsqL004340
2014/01/24(金) 15:44:15.53ID:d/hHeezf単純にCodeigniterのセッションを使って入れておりました。
$this->session->set_userdata($newdata);
こんな感じです。
0044nobodyさん
2014/01/24(金) 16:00:50.28ID:???http://kohada.2ch.net/test/read.cgi/php/1299595202/
0045nobodyさん
2014/01/24(金) 16:18:59.36ID:???004640
2014/01/24(金) 16:29:54.30ID:d/hHeezf私もsessionと書いてあったのでてっきり実データはサーバー側とおもっていたのですが
cookieの中になにやらはいっておりました。
文字数からして4kの上限にあたっているようなのでsessionとなっていますが
cookieの中にいれていたということでしょうか。
ちょっとよくわからなくなってきました。
0047nobodyさん
2014/01/24(金) 16:42:11.39ID:???セキュリティ上も良くないと思うよ。
0048nobodyさん
2014/01/24(金) 17:25:34.78ID:???マニュアルも読まずに質問するとは乳首1000クリックの刑
004940
2014/01/24(金) 17:36:06.47ID:d/hHeezf確かにマニュアルにクッキー使うよと書いてありますね。
sessionってあったからてっきりそうなのかと思ってましたがCIのsessionはcookie保存のようです。
別の手段で回避することにしました。
お騒がせしました。
0050nobodyさん
2014/01/24(金) 19:56:24.36ID:???Codeigniterでは、セッション情報を暗号化してクッキーに保存するらしい。
あと、DBにも保存することが可能だとか。普通にファイルとして保存すればいいのに。
http://codeigniter.jp/user_guide_ja/libraries/sessions.html
0051nobodyさん
2014/01/25(土) 00:34:33.81ID:???Hmac付けてHiddenを引き回してたのに近い感じやな
0052nobodyさん
2014/01/25(土) 01:31:58.66ID:???http2.0なぞ普及するとサーバ側が非同期にpullするサービスも増えてくるのかしらん。
0053nobodyさん
2014/01/25(土) 07:04:11.94ID:HM5WIj95cookieの存在・仕様については無知なので以下の流れで本当に大丈夫なのか心配です
1.パスワード等でログインが成功したらcookie["token"]にランダム文字列を格納(Aとする)
2.Aをデータベースの個別のUser情報にも記録(Bとする)
3.毎回ユーザーがアクセスする度にA(cookie側)とB(DB側)が一致するかチェック
一致すればログインされてる 一致しなければ未ログイン
4.もしtokenが作られて24時間経てばtokenを一度破棄してログアウトさせる
これで十分にセキュアなログイン仕様となるでしょうか?
0054nobodyさん
2014/01/25(土) 10:14:52.55ID:???>>cookie["token"]にランダム文字列を格納
これがセキュリティ的にまずいかも。
通常は、トークンを自前で作ることはせず、セッションIDの自動発行にまかせる。
また、ログイン機能自体もセッションをメインで作るのが普通だと思うけどね。
そうすれば、DBへの問い合わせとか不要だし。
0055nobodyさん
2014/01/25(土) 10:48:20.53ID:???0056nobodyさん
2014/01/25(土) 11:48:58.68ID:???まずはここの「安全なウェブサイトの作り方」を見る。
http://www.ipa.go.jp/security/vuln/websecurity.html
>>53が書いている処理は、PHP標準のセッション処理を使ったほうが良い。
0059nobodyさん
2014/01/25(土) 18:24:43.55ID:???0060nobodyさん
2014/01/26(日) 01:40:38.55ID:tfpbRtMAセッションにユーザーid、ユーザー名を保存して
ログインが必要なページではセッションに
ユーザーidがあるか確認するというやり方で実装しました。
これだとセッションが切れると一緒にログインも切れてしまいます。
ブラウザを閉じるまでログインを維持するにはどうしたらいいでしょうか?
0061nobodyさん
2014/01/26(日) 04:26:44.36ID:???0063nobodyさん
2014/01/26(日) 09:51:54.84ID:???セッションが切れるとログインも切れるってのは正常な動作なんだが
セッションのタイムアウトを伸ばせばいい
006453
2014/01/26(日) 10:59:50.06ID:LLTt79Q+いまいちセッションが何なのかよくわかっていませんでした(cookieの別名ぐらいの認識)
よくサンプルコードでsession["user_id"] = hogehoge みたいなのを見かけて、
これだとクッキーにuser_idが書き込まれちゃうからありえない実装だ!と勘違いしてました
この場合["user_id"] = hogehogeはPHPのsession内部で管理していいて、
ユーザー側のcookieにはsession_idしか残らないんですね
一瞬で理解が深まりました本当にありがとうございます
0065nobodyさん
2014/01/26(日) 11:51:46.45ID:???デフォルトでは、1/100の確率で、24分より古いセッションファイルが消える。
設定を変更するには、gc_maxlifetime の設定値を伸ばせばいいよ。
たとえば、こんな感じだと3時間はセッションが切れない。
ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 100);
ini_set('session.gc_maxlifetime', 3 * 60 * 60);
session_start();
>>ブラウザを閉じるまでログインを維持するにはどうしたらいいでしょうか?
これは、わからない。
ただ、あまり長い時間セッションを有効にするとセキュリティ上まずいと思う。
0067nobodyさん
2014/01/26(日) 13:36:49.78ID:???http://www.tohoho-web.com/wwwcook.htm
Cookieの書き込みのパラメータのところ参照
http://ja.wikipedia.org/wiki/HTTP_cookie
クッキーの適用範囲と有効期限参照
0069nobodyさん
2014/01/26(日) 15:52:13.03ID:???0073nobodyさん
2014/01/26(日) 22:55:32.47ID:???0074nobodyさん
2014/01/26(日) 22:56:21.12ID:???0076nobodyさん
2014/01/26(日) 23:11:10.98ID:???行ける猛者は行ってこいw
0077nobodyさん
2014/01/27(月) 03:04:42.97ID:???DirectXの3Dモデルに独自フォーマットのXファイルってやつがあって
Xファイルにはバイナリとテキストと2種類あるが
テキストのほうならPHPでも出力できる
テンプレートと頂点情報を文字列として出力するだけだからな
そういう話?
0078nobodyさん
2014/01/27(月) 16:05:44.71ID:YzEqdDGf無料サービスに、特典を上乗せした有料会員を募集しようと思っています。
そこで、PHPと連携できる決済システムなどはありますでしょうか?
たとえば、決済が済むと、無料会員から有料会員へ自動で変更できるような
APIを提供している決済システムなどです。
現在、paypalなどを考えているのですが、こうしたAPIが無いようでいまだ検討中です。
よろしくお願いします。
0079nobodyさん
2014/01/27(月) 18:11:35.27ID:???PHPと連携できる決済システムならググれば見つかる。
会員のグレードは決済システムとは無関係のビジネスロジックなのだから、自動で連携できる決済システムはないんじゃないかな。
0080nobodyさん
2014/01/27(月) 19:57:51.65ID:bUMgBNWh008178
2014/01/27(月) 20:26:35.59ID:VwC5UIRJ実は、検索はしたのですが、これといったものが見つからなかったのです。
そこでPHP使いの皆さんはどうしているのかと思い質問させて頂きました。
決済システムの利用は、個人だとハードルが高いのかもしれませんね。
それか調べ方が悪かったのかな。もう少し調べてみます。
ありがとうございました。
0082nobodyさん
2014/01/27(月) 20:37:46.66ID:???決済システム自体は別に個人でも普通に導入できる
008378
2014/01/27(月) 21:15:11.18ID:VwC5UIRJレスありがとうございます。
「決済システムの導入」と「会員のグレードの変更」は別物と考えた方がいいのですね。
そうであるなら、まずは、「決済システムの導入」に注力したいと思います。
結構、難しそうですが、PayPalを候補に考えてます。
それで上手くいったら、次に、「会員のグレードの変更」にもチャレンジしたいと思います。
この2つを一度で済ませられると考えたのが良くなかったみたいですね。
ありがとうございました。
0084nobodyさん
2014/01/30(木) 06:30:49.21ID:M3G3bQxX�@ini_set('default_charset', 'UTF-8');
�Aheader("Content-type: text/html; charset=utf-8");
はどう違うのですか?
�@はスクリプト終了時に元の値に戻されるとのことですが……
使い分けの方法などあれば教えていただきたいです。
0085nobodyさん
2014/01/30(木) 10:23:27.80ID:???Content-Type: text/html; charset=UTF-8 の後半部分だけ
0086nobodyさん
2014/01/30(木) 12:37:38.81ID:M3G3bQxX�Aheader("Content-type: text/html; charset=utf-8");
の違いはないという認識でいいんですかね?
header()はLocationとかヘッダーのiniでいじれない部分を変更できるということですかね
0087nobodyさん
2014/01/30(木) 12:41:30.94ID:???0088nobodyさん
2014/01/30(木) 21:56:15.59ID:???ini_setで指定しているのはあくまでデフォルトの設定。
headerのほうを指定するとそれが上書きされる。
0089nobodyさん
2014/02/02(日) 00:03:04.56ID:6TG0eOwNテーブルにinsertするaddメソッドを作るとき
staticメソッドにすべきかどうかを教えていただきたいです。
以下の2つで迷ってるんですが正解ってあるんでしょうか。
public function add($hoge) {
$this->hoge = $hoge;
return $this->save();
}
$model = new Model;
$model->add($hoge);
----------
public static function add($hoge) {
$model = new static;
$model->hoge = $hoge;
return $model->save();
}
Model::add($hoge);
0090nobodyさん
2014/02/02(日) 02:48:14.87ID:???元々はテーブルがクラスでインスタンスが行になる感じですね
クラスの得意メソッドが、PHPだとStaticという表現になります
0091nobodyさん
2014/02/02(日) 03:55:43.87ID:???ARでは、クラス -> テーブル、インスタンス -> 行、プロパティ -> カラム、という表現
insertはテーブルに対する操作なので、インスタンスではなくクラスに対するメッセージ==クラスメソッドで表す
RailsのARだとまさにClassMethodsつー思い切ったモジュールがあって、このcreate()がinsertに対応しているので
お宅の求めているものにかなり近いだろう
https://github.com/rails/rails/blob/40e7fe3451df8e5b454f7d0472396d2429edc0e5/activerecord/lib/active_record/persistence.rb
0092nobodyさん
2014/02/02(日) 07:28:04.31ID:???724:デフォルトの名無しさん :2014/02/02(日) 04:29:49.87 [sage]
1000日後の日付をYYYY-MM-DD形式で取得するのに簡単な方法はありますか?
前提条件はできるだけ少ないほうがうれしいです
0093nobodyさん
2014/02/02(日) 09:49:34.74ID:???0094nobodyさん
2014/02/02(日) 12:30:52.38ID:???0095nobodyさん
2014/02/02(日) 12:44:47.02ID:XaYZuhBOextract([ "v1" = > "aaa" ]);
require("test.php");
}
test.php
<?
function func() {
echo $v1; // ここで$v1を表示するにはどうしたらいいですか
}
global $v1 と $GLOBALS['v1'] でも表示されません
0096nobodyさん
2014/02/02(日) 14:59:01.63ID:???0097nobodyさん
2014/02/02(日) 15:25:36.73ID:???0098nobodyさん
2014/02/02(日) 15:26:50.98ID:???0099nobodyさん
2014/02/02(日) 15:34:01.86ID:???function〜 {と } の行を全てコメントアウト
= > を => に
<? を <?php に
view()のあるファイルの先頭に <?php 追加
これでいけると思うが
0100nobodyさん
2014/02/02(日) 16:00:51.61ID:???extractってのはシンボルテーブルに変数をインポートする関数なんだが
別のphpファイルだとシンボルテーブルを共有してないっぽい
0101nobodyさん
2014/02/02(日) 16:07:28.45ID:???010295
2014/02/02(日) 16:13:00.92ID:???皆さんありがとうこざいました。
0103nobodyさん
2014/02/02(日) 16:13:21.82ID:???010495
2014/02/02(日) 16:13:50.74ID:XaYZuhBO0105nobodyさん
2014/02/02(日) 16:20:08.31ID:???2 $a = "aaaaaaaaaaaaaaaaaaaaa";
3 echo "in global\n";
4 print_r(get_defined_vars());
5 function bbb(){
6 $b = array("bbbbbbbbb" => "bbbbbbbbbbbbbbbbbb");
7 extract($b);
8 echo "in function\n";
9 print_r(get_defined_vars());
10 }
11 bbb();
12 echo "in global\n";
13 print_r(get_defined_vars());
0106nobodyさん
2014/02/02(日) 16:20:50.71ID:???in global
//大量に変数が表示される
[a] => aaaaaaaaaaaaaaaaaaaaa
in function
Array
(
[b] => Array
(
[bbbbbbbbb] => bbbbbbbbbbbbbbbbbb
)
[bbbbbbbbb] => bbbbbbbbbbbbbbbbbb
)
in global
//大量に変数が表示される
[a] => aaaaaaaaaaaaaaaaaaaaa
どうやらextract($b)によって変化するのはbbb()のシンボルテーブルのみ
0107nobodyさん
2014/02/02(日) 16:28:01.37ID:???func()でglobalをつかってもtest.phpのシンボルテーブルが参照されるだけで
requireされた場所(views)のシンボルテーブルが参照されるわけではないんじゃないの
0108nobodyさん
2014/02/02(日) 16:39:41.69ID:???$v1 = '';
function view() {
global $v1;
extract(array( "v1" => "aaa" ));
require("test.php");
}
view();
testfunc();
--------------------
<?
function testfunc() {
global $v1;
echo $v1; // ここで$v1を表示するにはどうしたらいいですか
}
--------------------
0109nobodyさん
2014/02/02(日) 16:44:10.62ID:???<?
require('test2.php');
function view(){
extract(array("v1"=>"aaa"));;
func(get_defined_vars());
}
view();
test2.php<?
function func($hoge){
echo $hoge["v1"];
}
これじゃダメ?
0110108
2014/02/02(日) 16:46:04.11ID:???extract(array( "v1" => "aaa" ));
は動かしたphpのバージョンが古いので変更している。
requireはあくまでファイルを読み込むためのもの。例え関数内で読まれたとしてもその意味は変わらない。
view関数の中でrequireしても、view関数内の変数がglobalの対象にならないよってことで。
0111nobodyさん
2014/02/02(日) 16:47:28.98ID:???0112nobodyさん
2014/02/02(日) 16:56:25.03ID:???あまりrequireすることがなくてサイズが大きいやつだとオーバーヘッドになるから、その関数内でやる場合もあるかも。
ただ効果があるかどうかは知らない。
0113nobodyさん
2014/02/02(日) 17:16:05.52ID:???たいていは、多くても10ファイル前後におさまる。
速度も別に遅くならないし、気にならない。
まあ、auto_loadが関数の読み込みにも使えたら便利なんだけど。
0114nobodyさん
2014/02/02(日) 17:38:45.22ID:UuBd4EHocurl_multi_exec を使うと「エラー時のエラー番号が0」になる人いない?
バージョンは最新のどれでも。
curl_exec だとしっかりエラー番号も取れるんだけどねー。
0115nobodyさん
2014/02/02(日) 17:42:38.20ID:???multi は個別にエラーチェックしないと
011689
2014/02/02(日) 17:53:21.79ID:6TG0eOwNありがとうございます。クラスメソッドにすることにしました。
クラスメソッドの使いどころについてもうちょっとお聞きしたいです。
オブジェクト指向の勉強にとデザインパターンの入門サイトを見ていたのですが
factoryメソッドの紹介でこんなコードが載ってました。
http://codepad.org/KLCiPfDa
このReaderFacotoryクラスのメソッド2つをクラスメソッドにしない理由がよくわかりません。
$factory = new ReaderFactory(); // このnewが無駄に見えて仕方ないです
$data = $factory->create($filename);
単に $data = ReaderFactory::createReader($filename);
とせずインスタンスを作る利点は何なのでしょう?
0117nobodyさん
2014/02/02(日) 18:13:08.61ID:???載ってるコードだけで完結させるならどっちでもいい。public staticにする必要はあるけど。
addとかdeleteとかメソッド作ったりしてクラスを改造していくならインスタンス作るほうが便利。
0118nobodyさん
2014/02/02(日) 19:09:25.78ID:???0119114
2014/02/02(日) 19:34:26.88ID:???>multi は個別にエラーチェックしないと
エラーメッセージは正確に出るのに
番号は出ない仕様なの?
よければ、マニュアルに書いてあったら教えてください。
0121nobodyさん
2014/02/02(日) 21:37:01.14ID:???0122nobodyさん
2014/02/02(日) 23:19:31.40ID:???依存性を小さくできる、パターンに従っていれば伝わりやすい、OO的に自然で理解に手間がかからない
上のファクトリは単純にStaticにしても動かない
ファクトリはサブクラスにオブジェクト生成の詳細を任せるパターンだから、createReaderはオーバーライド前提になっている
ReaderFactory::create()からサブクラスのcreateReader()を呼ぶのは、親にとって未知の子孫固有のメソッドを呼ぶこと
そのためget_called_class()なり遅延束縛なりして実行時にstaticメソッドのバインド先を決定してやる必要があるという
謎設計に帰結する。遅延束縛がなかったころはさらに不自然だった。
OOPではクラスメソッドは(各インスタンスではなく)クラス自身の振る舞いを記述するものだと言っていいだろう
コード上でメッセージをやりとりしてシステムを形成しているオブジェクト==インスタンスだとすれば、クラス自身は何か?
この設定いかんによって、クラス固有のメソッドとして自然なものと不恰好なものを区別できる
static張りまくって関数ポインタのかたまりを作る人もいし、それがよいケースもある
しかし手続きからOOに入ってやりがちな、よくないstaticについてはstatic evilとかでぐぐれば情報はある
0124nobodyさん
2014/02/03(月) 03:26:24.18ID:???0125nobodyさん
2014/02/09(日) 11:25:27.29ID:???一旦全部エイリアスにして新しいの付けるべき
0126nobodyさん
2014/02/10(月) 01:52:41.55ID:???0127nobodyさん
2014/02/10(月) 03:44:49.98ID:???0129nobodyさん
2014/02/11(火) 22:13:31.86ID:ak6dJouyphp ver 4
適切なスレが見つからなかったのですが、
phpでmysqlのテーブルから文字列を取ってきて表示させようとしたのですが、
半角パーセント記号を含む文字列において、パーセント記号が消え、次の文字が変な記号になってしまいます。
文字列中の%を\%などとしてみてもダメでした。
解決法を教えてください。
0130「ガスライティング 集団ストーカー カルト」で検索を!
2014/02/11(火) 23:02:18.69ID:lii3ZN0H・沢山の人が偏った意見を一貫して支持する
偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法
・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法
↑マスコミや、カルトのネット工作員がやっていること
TVなどが、偏った思想や考え方に染まっているフリや常識が通じないフリをする人間をよく出演させるのは、
カルトよりキチガイに見える人たちを作ることで批判の矛先をカルトから逸らすことが目的。
リアルでもネットでも、偽装左翼は自分たちの主張に理がないことをわかっているのでまともに議論をしようとしないのが特徴。
,.,.,,
0131nobodyさん
2014/02/12(水) 09:15:48.34ID:???php4か…
新規で学習中なら現在主流のphp5をおすすめします。
(できればOSも来年度以降サポートがあるものが(winでもLinでも)望ましい)
mysqlではパーセント記号がワイルドカードとして扱われるからそれが影響してるのかも。
phpmyadminとかで取り出す前のデータが化けてないか確認してみるといいかも。
化けてるならinsertに問題あり。
化けてないならselectに問題あり。
0134nobodyさん
2014/02/12(水) 13:37:43.31ID:???base64というものがありまして。
抽出、表示を一気にやる前に、抽出したものをそのままログファイルなどに出力して確認してはどうだろう。
0135nobodyさん
2014/02/12(水) 19:37:08.84ID:???どうすれば7560って出せるの?
切り上げでね。
0137nobodyさん
2014/02/12(水) 21:41:24.51ID:???PHPのせいといいたいかもしれないけれど、小数がどう扱われるかを勉強したほうがいい。
何かと付きまとう問題なので。
0138nobodyさん
2014/02/12(水) 21:51:04.93ID:???仕様
ceil(7000*108/100)とすればよい
消費税だろうけど、浮動小数点数型の丸め誤差は勉強した方がよいと思うよ
0139nobodyさん
2014/02/12(水) 21:53:28.41ID:rdsqA60A0141129
2014/02/12(水) 22:44:26.79ID:J2CtCpwdちなみに出力はflashでしています。
(flashが原因でないことは確認しています)
【テーブルの文字列】
フィールドdata2 「ダメージを50%カット。」
【php】
if(!$mysql->query("SELECT * from table")){
}else{
while($row=$mysql->fetch()){ $data=$data.$row["data1"].",".$row["data2"].",";
}
echo "data=".$data;
【出力結果】
ダメージを50?≪ット。
0142nobodyさん
2014/02/12(水) 22:46:17.19ID:???0143nobodyさん
2014/02/12(水) 22:47:07.64ID:???Perl、Python、Ruby すべて 7561 になる。
これは1.08が2進数では循環小数になることが影響している。
0145nobodyさん
2014/02/12(水) 22:59:09.78ID:???insert時にミスってるように見える。
コマンドラインのmysqlで直接データ見たほうが良いと思う。
0146nobodyさん
2014/02/12(水) 23:02:39.00ID:???0147nobodyさん
2014/02/12(水) 23:06:27.54ID:???テーブルの文字列は、phpmyadmin上で直接手打ちしました。
phpmyadmin上では正常に入力されているように見えます。
0148nobodyさん
2014/02/12(水) 23:12:22.34ID:???文字列を使って小数点を扱うクラスとしてはdecimal便利だよね
PHPは利用用途が多くないから実装されてないな
0150nobodyさん
2014/02/12(水) 23:45:37.82ID:???化けるのと同じくらい深刻なトラブルがあるんだけど、
data= が出力されてないよ。大丈夫なのかな。心配だよ。
0151nobodyさん
2014/02/12(水) 23:59:12.57ID:???すみません。一応通常の動作は確認済みです。
ここに要点だけ書くためにいじったら変になってしまい。。
解決策が無いようであればおとなしく全角%にします。。。
0152nobodyさん
2014/02/13(木) 00:47:36.04ID:???文字コードも分からんし
0153nobodyさん
2014/02/13(木) 00:57:57.07ID:???0154nobodyさん
2014/02/13(木) 11:55:43.40ID:???"?&lt;&lt;" この文字を "%" に再変換してから出力すればいいじゃない。
最終手段だけど。
まあ、文字エンコードの設定のどこかに不統一があるのが有力な原因だと思う。
それか、環境のせいかな。
とりあえず、文字エンコードを設定できるすべての箇所できちんと統一すればいいよ。
あと、htmlspecialcharsを通してるなら文字コードの指定もした方がいい。
0155nobodyさん
2014/02/13(木) 11:58:17.76ID:???"?<<" この文字を "%" に再変換・・・。
0156nobodyさん
2014/02/13(木) 14:12:35.39ID:???mysqlに入ってるデータがすでに?<<になってるのか?
それならinsertするとこに問題があるから見なおせ
0157nobodyさん
2014/02/13(木) 14:13:29.51ID:???文字コードがおかしいだけだな
0158nobodyさん
2014/02/13(木) 16:11:59.04ID:???0159nobodyさん
2014/02/13(木) 16:33:14.84ID:???照合順序をutf8_general_ciみたいなやつが怪しい?
0160129
2014/02/13(木) 19:59:48.42ID:???mysql_query("set names utf8");
も記述していましたが、消しても変わりませんでした。
本件については全角%でしのごうと思います。
なにかわかりましたらここに戻ってきます。
ありがとうございました。
0161nobodyさん
2014/02/14(金) 00:12:14.57ID:FqeyPeT20162nobodyさん
2014/02/14(金) 14:51:37.85ID:???PHPの文字コード「JIS」についてコードマップが
記載されている資料ってどこかにありませんか?
せめてJIS1990相当だ、とか1997だとかだけでも判るといいんですが…
0163162
2014/02/14(金) 14:53:21.20ID:48zvG1O+0164nobodyさん
2014/02/14(金) 15:05:05.67ID:???http://www.php.net/manual/ja/mbstring.encodings.php
ここで解決するんだが、JISだけ抜けてるな
0167nobodyさん
2014/02/14(金) 16:34:11.85ID:???0168nobodyさん
2014/02/14(金) 18:00:58.26ID:???PHPのmdstringのソースコードのREADME_PHP3-i18n-jaに
- JIS
standard: JIS
alias: N/A
mime: ISO-2022-JP
ってあるから、PHPでJISといえばISO-2022-JP
NEWSに、ISO-2022-JP-2004対応って書いてあったので
そこまで対応してるんだと思ってました。
すみません。
0170nobodyさん
2014/02/15(土) 17:21:47.48ID:NpO2DRH60171nobodyさん
2014/02/15(土) 18:02:22.51ID:jT0c7PHQecho や var_dump() などをしても出力をさせない方法はありますか?
0172nobodyさん
2014/02/15(土) 18:44:55.60ID:???特定の関数だけ出力させないのであれば自作する。
0173nobodyさん
2014/02/15(土) 23:02:38.49ID:???0174nobodyさん
2014/02/16(日) 00:50:01.37ID:???PHP厨の分際で調子に乗るなよw
0175nobodyさん
2014/02/16(日) 01:04:25.49ID:/GeetU5z【PHPのバージョン】5.3.5
【連携ソフトウェア】xampp 1.7.4
【質問内容】
セッションを開始して値が入っているかのチェックを
session_start();
if(isset($_SESSION['sample'])&&($_SESSION['sample'] !=null);){
//処理
}
としているのですが、これでよろしいでしょうか?
一般的な書き方があれば教えていただきたいです。
0176nobodyさん
2014/02/16(日) 03:22:18.42ID:???それ0とか空の文字列や配列はnullでスキップされるよ
一段目はissetだけにして、値のチェックなりフィルタなりは別にやったほうがいいんじゃない
0177nobodyさん
2014/02/16(日) 04:01:37.18ID:???0178nobodyさん
2014/02/16(日) 06:18:12.75ID:???一般的な書き方は知らない
0179nobodyさん
2014/02/16(日) 09:56:04.22ID:???どうも || が馴染めないんだよね。USキーボードで打てないてのもあるけど。
0180nobodyさん
2014/02/16(日) 14:51:20.17ID:f2HQdmKQありがとうございます、やってみます
0181nobodyさん
2014/02/16(日) 14:53:34.56ID:???if(!empty($_SESSION['sample'])){
//処理
}
>>175で、最初にissetを使うのは、noticeエラーを出さないためのはず。
そのためだけなら、!emptyで代用できる。
また、0,"",false,null等もまとめて除外できる。
まあ、要件次第だけど。
0182nobodyさん
2014/02/16(日) 19:56:37.15ID:????
shift + backslash で出るでしょ普通に。
てか、パイプ使えないとすべてにおいて不便だと思うんだけど
0183nobodyさん
2014/02/16(日) 21:31:55.04ID:???0184nobodyさん
2014/02/16(日) 21:57:44.32ID:???USキーボードを日本語配列で使ってるから出ないんだわ。
同じようにアンダーバーも出ない。
0185nobodyさん
2014/02/16(日) 21:58:31.84ID:???0187nobodyさん
2014/02/16(日) 22:39:23.74ID:???貧乏人かな?
0188nobodyさん
2014/02/16(日) 22:43:16.45ID:???人と変わったことしてる俺ってカッコイイとか思ってるあほだから
0189nobodyさん
2014/02/16(日) 22:50:02.42ID:???日本語配列のまま使うのが変態なだけで
0190nobodyさん
2014/02/16(日) 23:00:40.47ID:???0191nobodyさん
2014/02/16(日) 23:23:08.42ID:???0193nobodyさん
2014/02/17(月) 00:48:34.47ID:???わざわざUSキーボードをなんで日本語配列で使うんだろ?
壊れた配列並に頭も壊れてるんかな?
0194nobodyさん
2014/02/17(月) 01:52:46.37ID:???222:デフォルトの名無しさん :2014/02/17(月) 01:44:26.48 [sage]
PHP使うくらいならPerl4を使うけどな、このスレ的にも
0195nobodyさん
2014/02/17(月) 02:18:16.39ID:???実にくだらない
0197182
2014/02/17(月) 04:46:23.32ID:???0198nobodyさん
2014/02/17(月) 09:54:11.25ID:???0199nobodyさん
2014/02/17(月) 13:00:53.38ID:5TF8zSur<SCRIPT LANGUAGE="JavaScript">
<!--
…
// -->
</SCRIPT>
この中を実行とか出来ますかね?
0200nobodyさん
2014/02/17(月) 13:04:33.39ID:???0201nobodyさん
2014/02/17(月) 13:07:00.95ID:???ブラウザで>>199のページを見たら<script></script>の中が実行されますよね?
それをPHPのみで実行したいという事です。出来ますかね?
0202nobodyさん
2014/02/17(月) 13:14:53.53ID:???つかクライアントプログラムと
サーバープログラムの違い判ってるか?
0203nobodyさん
2014/02/17(月) 13:17:34.35ID:???出来ない。
0205nobodyさん
2014/02/17(月) 14:00:25.40ID:???0206nobodyさん
2014/02/17(月) 15:06:18.25ID:???それなら実行される
0207nobodyさん
2014/02/17(月) 15:12:08.69ID:???0208nobodyさん
2014/02/17(月) 15:13:14.41ID:???でjsコードを実行したいってこと?
無理
馬鹿なのかな
0209nobodyさん
2014/02/17(月) 15:15:54.11ID:???phpと全く関係ないな
0210nobodyさん
2014/02/17(月) 15:19:31.75ID:S7yDbQ6X<form name="message" method="post">
<textarea name="sendMessage" cols="70" rows="4">
</textarea>
<input type="submit" name="submit" id="submit" value="送信" />
</form>
これで、message.txtを作るには、
<?php
$filename = "message.txt";
$string = ???(ここ不明)
file_put_contents($filename, $string, LOCK_EX | FILE_APPEND);
?>
とするとして、それをsubmitに割り当てる方法を教えてください。
0211nobodyさん
2014/02/17(月) 15:24:20.08ID:???0212nobodyさん
2014/02/17(月) 15:25:05.67ID:???$string = $_POST["sendMessage"]; だけじゃねーの?
あと、textarea〆タグ改行すると余計な改行入るで
0213nobodyさん
2014/02/17(月) 20:15:12.48ID:Vu1akjEB0214nobodyさん
2014/02/17(月) 23:33:27.91ID:???0215nobodyさん
2014/02/18(火) 00:50:23.89ID:???0216nobodyさん
2014/02/18(火) 02:30:03.17ID:j8Kv6pSE本当に素のまま表示しているphpがあったんですがどうやってるんでしょう?
header()で何か指定するとかですか?
<br>
ではなくて
<br>
と ソースコードもブラウザでの表示もされてるんですが。
0217nobodyさん
2014/02/18(火) 02:43:16.18ID:???0218nobodyさん
2014/02/18(火) 02:44:01.81ID:???0219nobodyさん
2014/02/18(火) 03:06:06.27ID:???0220nobodyさん
2014/02/18(火) 03:14:11.61ID:???いやヒアドキュメントではなくて
例えばmoji.txtに色々タグ書いてアップしても
サーバの設定でhtml処理されないようにしてたら
普通にテキストが表示されますよね?
PHPでもそういうのがあったので何かPHPから処理出来るのかなって。
でも単純にサーバの設定でPHPが動作しないようになってるだけなのかも。
PHPというよりも特定のファイルだけとかかも。
0221nobodyさん
2014/02/18(火) 04:34:21.44ID:???0223nobodyさん
2014/02/18(火) 05:24:46.23ID:???いやそれならソース表示したら
<>タグとかがエスケープの記号になってるはずだけどなってない。
更に調べてみたけどやっぱしPHPファイルでPHPの処理をした後に
なんらかの形でエスケープしてない<>素のタグの文字列とかを出力してるみたい。
どうやってるんだろうなぁ。
0226nobodyさん
2014/02/18(火) 05:48:48.40ID:???0227nobodyさん
2014/02/18(火) 05:59:47.51ID:???Server: nginx/1.2.6
Date: Mon, 17 Feb 2014 20:57:26 GMT
Content-Type: application/x-javascript
Connection: close
Vary: Accept-Encoding
こうなってました。
JavaScriptのコードを吐いてるみたいですね。
同じようにブラウザから見てもただのテキストにするには
application/x-javascript にしとけば大丈夫でしょうかね?
0228nobodyさん
2014/02/18(火) 06:02:33.72ID:???PHPから文字列出力しても全部普通のテキストとして解釈されます。
ちなみに、text/plain ではダメでした。
レスくれた方、ありがとうございました。
0229nobodyさん
2014/02/18(火) 06:06:26.84ID:???実際に返却しているものがJavaScriptのコードかどうかはそれからじゃわからないけれど。
> application/x-javascript にしとけば大丈夫でしょうかね?
JavaScriptのコードを出力したいのなら。
0231nobodyさん
2014/02/18(火) 06:09:43.88ID:???出力されているのはJavaScriptのコードでした。
自分がやりたいのもJavaScriptのコードの出力です。
<script src="test.php"></script>
でtest.phpから素のJavaScriptのコードを出力したら
PHPの処理とJavaScriptの処理が一緒に出来てたページがあったので
それと同じような事をしたかったんです。
0232nobodyさん
2014/02/18(火) 06:11:34.46ID:???IEじゃなくてChromeなんですが
text/plainだとタグとかが処理されちゃってますね。
みなさんありがとうございました。
0233nobodyさん
2014/02/18(火) 11:42:23.50ID:???エスケープせず、そのままタグを出力すればいいんじゃないの。
0234nobodyさん
2014/02/18(火) 11:57:38.48ID:???<?php
echo '<script>alert("hello");</script>';
0235nobodyさん
2014/02/18(火) 12:11:53.93ID:???0236nobodyさん
2014/02/18(火) 12:13:46.25ID:???headerがどうとか、Content-Typeがどうとか難しく考えすぎ。
つーか基礎の基礎がわかってないっぽい。
0237nobodyさん
2014/02/18(火) 12:22:33.68ID:???0238nobodyさん
2014/02/18(火) 12:51:34.41ID:???余談だけれど、text/plainをつかいたければ、レスポンスヘッダで X-Content-Type-Options: nosniff を送信する。
ブラウザが勝手にファイル形式を判断して適当に処理しちゃうのを防ぐ。
0239nobodyさん
2014/02/18(火) 13:40:21.96ID:???JSからPHPを呼び出して、JSとして実行できるんだね。
知らなかった。
www.phppro.jp/phptips/archives/vol5/2
質問者の疑問点の解決策はここの注意書きにあった。
www.res-system.com/weblog/item/383
PHPから動的にJSを出力できると確かに便利だね。
0240nobodyさん
2014/02/18(火) 14:35:23.52ID:???hだけ抜くのも意味あんのかよって思うけど、全部抜いて何がしたいの
0241nobodyさん
2014/02/18(火) 14:54:37.95ID:???http://ja.wikipedia.org/wiki/H%E6%8A%9C%E3%81%8D
0245nobodyさん
2014/02/18(火) 15:59:19.55ID:???0248nobodyさん
2014/02/19(水) 13:03:15.14ID:uro2XKINみなさん、ありがとうございます。
0249nobodyさん
2014/02/19(水) 18:33:16.42ID:WOyb+TV3$array = array('test');
preg_match('/(test)/', $array);
として、これならエラーになりますが、
preg_match('/(test)/', $array[0]);
これだとtrueになります。
foreachで$arrayを一件ずつ調べる方法とかではなく、
配列自体を正規表現にかけて、指定の文字列が含まれているか
判別する方法があれば教えて下さい。
0251nobodyさん
2014/02/19(水) 19:08:39.63ID:???あのさ、そもそも、例に上げてる
$array と $array[0] が、
別のものを指してるって気が付かんの?
0252nobodyさん
2014/02/19(水) 19:09:33.44ID:???0254nobodyさん
2014/02/20(木) 11:11:47.59ID:FjcGtyDLメールで警告文を送りたいのですが、
try catchみたいなので、実行できないですかね?
メモリエラーするとPHPの実行自体が止まってしまい、
メール送信できないのですが、良い方法があれば教えてください
0255nobodyさん
2014/02/20(木) 11:50:59.43ID:???0256254
2014/02/20(木) 11:58:18.75ID:???出来ました!クラス内でも使えるし、こんな便利な関数があったんですね!
関数実行した後に画面をリロードすれば、エラーメッセージも表示しないし、
求めていた対策が出来そうです。ありがとうございました。
0257nobodyさん
2014/02/20(木) 16:11:55.37ID:???https://php.net/manual/ja/spl.exceptions.php
ありそうでない
0258nobodyさん
2014/02/20(木) 16:26:17.05ID:5OYsJS7P例えば、htmlspecialcharsがどのようにCで書かれてるか、とか
内部関数がどういう風に書かれているか調べたい
0259nobodyさん
2014/02/20(木) 16:45:59.01ID:???0260nobodyさん
2014/02/20(木) 16:52:41.58ID:5OYsJS7Phtmlspecialcharsで検索してみたけど、いつものマニュアルページに飛ばされた
ざっと見直してみたけどどこに書かれてる?
もしよければurl教えて欲しいんだけど
0261nobodyさん
2014/02/20(木) 16:54:13.99ID:???0262nobodyさん
2014/02/20(木) 17:01:20.30ID:5OYsJS7PWebサイト上で見れれば楽だったんだけどなぁ
0263nobodyさん
2014/02/20(木) 17:17:43.87ID:???https://github.com/php/php-src/blob/master/ext/standard/html.c
0264nobodyさん
2014/02/20(木) 17:40:11.78ID:???携帯からだとソースコード見れないから
ありがと
0265nobodyさん
2014/02/20(木) 19:05:37.47ID:???> なるほど、ハックせぇってことね
ソースコード見たい→ソースコードの取得方法へのリンクに対する反応にしちゃおかしいね。
> Webサイト上で見れれば楽だったんだけどなぁ
リンク先にgithubへのアンカーがあるんだけど。
0266nobodyさん
2014/02/22(土) 21:56:16.36ID:vuNRI6C8例えばこのスレはURLが
http://kohada.2ch.net/test/read.cgi/php/1390166591/
となっていますが、
http://kohada.2ch.net/index.php?mode=cgi&ita=php&dat=1390166591
のようにしないほうがいいのでしょうか?
後者はGETで通じると思いますが、前者みたいな情報の渡し方は何と呼んでいるのでしょう?
この2つはどのように使い分ければいいのでしょうか?
0267nobodyさん
2014/02/22(土) 23:36:20.30ID:???とりあえずスレ違いだから細かいことはサーバ関係のところで聞くと良い。
0268nobodyさん
2014/02/22(土) 23:41:52.03ID:vuNRI6C80269nobodyさん
2014/02/23(日) 10:55:19.64ID:???0270nobodyさん
2014/02/25(火) 15:39:10.19ID:WY/QKLno【PHPのバージョン】5.3.3
【質問内容】
rdfファイルに書かれているRSS2.0で書かれたコードをHTML化したいです。
titleとlinkをHTMLでAタグ化したいのですが、フリーのPHPでお勧めのコードを配布していたら教えてください。
コードを書いていただいてもよいです。
<channel>
<item>
<title>さいたまー</title>
<link>http://example.com/saitama/</link>
<description>
さいたま川口秩父熊谷
</description>
</item>
<item>
<title>ぐんまー</title>
<link>http://example.com/gunma/</link>
<description>
前橋高崎藤岡沼田
</description>
</item>
</channel>
↓↓↓↓↓↓↓↓↓↓
HTML化
<a href="http://example.com/saitama/">さいたまー</a>
<a href="http://example.com/gunma/">ぐんまー</a>
0271nobodyさん
2014/02/25(火) 15:46:29.76ID:???$data = simplexml_load_file(file_name or url);
foreach($data->item as $item){
print '<a href="'.$item->link.'">'.$item->title.'</a>' . PHP_EOL;
}
0272266
2014/02/26(水) 02:34:55.65ID:yQIC0gZ6できましたら誘導お願いします。
0273nobodyさん
2014/02/26(水) 02:55:01.99ID:???公式マニュアル
http://httpd.apache.org/docs/current/mod/mod_rewrite.html
0274nobodyさん
2014/02/26(水) 02:55:49.21ID:???mod_rewriteによるリダイレクト処理
メリットとしてはURLが静的に見えることによって
独立したページとして検索エンジンで効果を発揮する
0275266
2014/02/26(水) 03:07:45.29ID:yQIC0gZ6ありがとうございます。
教えていただいた語句を元に勉強してきます
0276nobodyさん
2014/02/26(水) 03:32:28.30ID:???使い分けだけど、前者はURLに見える。後者はURL+GETパラメータに見える。
この違いによってサーチエンジンの解釈と挙動が変わる。
あとは適当に調べて。
0277nobodyさん
2014/02/26(水) 11:48:21.86ID:???でも便利なので使っちゃう・・・と。
0279nobodyさん
2014/02/26(水) 14:03:02.67ID:???0280nobodyさん
2014/02/26(水) 17:15:37.34ID:izW9LgAWMain/index.phpからフォルダaの中のinc1.phpを相対パスで呼び出し(include 'a/inc1.php';)、
またそのinc1.phpからフォルダbの中のinc2.phpを呼び出したいです。
この時に、include 'b/inc2.php';のようなindex.phpからの相対パスではなく、
include '../b/inc2.php';のようにinc1.phpからの相対パスで呼び出したいです。
どうすれば良いのでしょうか?
0281nobodyさん
2014/02/26(水) 17:21:13.58ID:???0282nobodyさん
2014/02/26(水) 17:28:49.95ID:???0283nobodyさん
2014/02/26(水) 17:44:16.36ID:???あと、今なら dirname(__FILE__) は __DIR__ ですかね
0284nobodyさん
2014/02/26(水) 18:00:33.28ID:???今試せないから信頼できる値が得られるのか気になる
0285nobodyさん
2014/02/26(水) 18:02:29.27ID:???0286nobodyさん
2014/02/26(水) 19:56:42.04ID:izW9LgAWありがとうございます!早速使ってみます
0287nobodyさん
2014/02/27(木) 07:37:55.75ID:???select文でソートして取り出す時、DESCを指定しているのですが空のカラムが先頭に出てきます。
この空を0より後に出したいのですが、色々検索して調べてみたら以下でできるような記述がありました。
ORDER BY timestamp IS NULL DESC, timestamp DESC
しかしこの指定では出力結果は変わりませんでした。
他に何か方法などありませんでしょうか?
0289287
2014/02/27(木) 07:48:14.44ID:PIInT38Uすいませんでした。
【OS名】FreeBSD
【PHPのバージョン】5.2.17
【連携ソフトウェア】sqlite
【質問内容】
phpでsqliteを使っています。
select文でソートして取り出す時、DESCを指定しているのですが空のカラムが先頭に出てきます。
この空を0より後に出したいのですが、色々検索して調べてみたら以下でできるような記述がありました。
ORDER BY timestamp IS NULL DESC, timestamp DESC
しかしこの指定では出力結果は変わりませんでした。
他に何か方法などありませんでしょうか?
0290nobodyさん
2014/02/27(木) 08:01:07.30ID:???だから>>1と
まぁIDも出してなかったけど
データの中身がどんなもので
どういう結果が欲しいのか
最低でもそれ書かないと言葉だけじゃ意味わからんで
0291287
2014/02/27(木) 08:10:17.63ID:???sqliteで調べたんですが、IS NULLを使えばできると書いてあってその通りにやったんですができませんでした。
DBMSによるという記述があったのでPHPが関係しているのかと…
データの中身は数字なんですが、DESCを指定すると以下のように出てきます。
空を最後にしたいです。
空
10
9
8
1
0
0292nobodyさん
2014/02/27(木) 09:00:03.86ID:???0293nobodyさん
2014/02/27(木) 09:04:59.92ID:???ここ見るとis nullではなくてis not nullってあるな
0294287
2014/02/27(木) 09:05:29.91ID:???すいませんが、291は簡単にしただけで実際は30000件ほどのデータなのでできるだけシンプルな方法にしたいです。
sqliteスレで聞いた方がよさそうですかね?
お騒がせしました。
0295nobodyさん
2014/02/27(木) 09:14:05.27ID:???sqliteスレで聞いた方がいいよ
0296287
2014/02/27(木) 09:14:48.74ID:???is nullもis not nullもどちらもあります。
http://yukiten.com/blog/info-tec/sql-order-by-null/
ここを見ると
order by num is null asc
order by num is null desc
で空が上に来たり下に来たりするように書かれてますが、
どちらを指定しても空が先頭に来てしまい、
何も効き目がないみたいです。
0298nobodyさん
2014/02/27(木) 09:21:22.34ID:???select * from data where data is null;
でdataカラムの値がnullであるものを取得しているそうだが
>>289だけのクエリー文だと
「where」と「どのフィールドに対して」という指定が足りないようにみえる
0299nobodyさん
2014/02/27(木) 09:24:51.41ID:???select * from doclist where title is not null;
このクエリーで
doclistテーブルのtitleフィールドがnullではないものをすべて引っ張ってくる
って意味だと思うんだが
このクエリーで言うところのwhere,titleがないのでは?
0300nobodyさん
2014/02/27(木) 09:31:05.83ID:???>>296のやり方でできないのなら
空かそうでないかソートしてからそれらを連結とかなのかな?
とりあえず自分は分からないので頑張ってください
0301287
2014/02/27(木) 09:31:44.41ID:???where句の代わりにorder by句を使ってるって感じだと思うんですよね。
296にあるように
order by num is null asc
でnumフィールドがnullであるものをascで並べるって感じで
order by num is null asc
と
order by num asc
を両方やるのが
order by num is null asc, num asc
って感じではないかと思うのですが…
0302287
2014/02/27(木) 09:33:33.69ID:???あ、いえ親切にありがとうございます。
やっぱり空のものは別に処理するしかないですかね…
処理量が倍になるのでできれば避けたいですがしょうがなさそうです。
0303nobodyさん
2014/02/27(木) 09:44:27.16ID:???とか?
0304287
2014/02/27(木) 09:58:13.29ID:???それもやってみたんですが、296同様に並びが変わりませんでした。
すいません、原因がなんとなく分かってきたんですが、そもそも
SELECT * FROM comiclist where timestamp IS NULL
とかの文でtimestampが空のデータが引っ掛かりませんでした…
空なのにNULLではないなんてことあるんですかね?
sqliteのバージョンが2.8.17みたいなんですが、
そもそもこのバージョンではIS NULLに対応してないのかな…
0305nobodyさん
2014/02/27(木) 10:00:08.67ID:???0306nobodyさん
2014/02/27(木) 12:04:56.79ID:???そんなのにnull云々って話はないわ
0307nobodyさん
2014/02/27(木) 12:06:24.25ID:???それと今後挿入するsqlもnull挿入するように書き変えとけ
0308nobodyさん
2014/02/27(木) 12:08:19.30ID:???0309nobodyさん
2014/02/27(木) 14:43:53.79ID:B/xz5nFA$_REQUESTを使うことの危険性・脆弱性は何でしょうか?
$_REQUESTは、セキュリティの点で使用すべきではないとの記述を、
以前、書籍等で読んだ記憶があります。
ただ、$_REQUESTを使うべきではない理由についての根拠があいまいで、
$_GET、$_POSTそして$_COOKIEを使えるならそれを使えという主旨でした。
この主旨はわかるのですが、具体的にどう危険なのかをご教示して頂きたいです。
今回、$_GETと$_POSTデータの確認処理を共通化するにあたり、
$_REQUESTを使えたら便利と思い質問させて頂きました。
よろしくお願いします。
http://www.php.net/manual/ja/reserved.variables.request.php
0310nobodyさん
2014/02/27(木) 17:24:51.52ID:???$_REQUESTはダメ
本の通り$_GETなど使うように
簡単なとこでは、同名のキーがあった場合、どうやって判断するんだ?
どっから送信されたか曖昧だと思わないか?
>>上
なんかスレが進んでると思ったら....
サッサとSQLスレ逝け
0311nobodyさん
2014/02/27(木) 17:59:19.62ID:???0312nobodyさん
2014/02/27(木) 18:14:59.68ID:???今は request_orderにC入れないし、
予期してないキーの値受け取るなんて論外だし
予定してる値がgetで来ようがpostで来ようが問題ないつくりは可能だし、優先度は決められる。
request使うと問題起こす人がrequestつかなければ問題起こさない根拠はないよね。
と思ってたが、ちがってるなら訂正お願いします。
0313nobodyさん
2014/02/27(木) 18:24:52.06ID:???SELECT * from test ORDER BY IF(id is NULL,NULL,id) DESC;
かなり自信なし。
0314nobodyさん
2014/02/27(木) 18:31:07.64ID:???バカなの?
0315nobodyさん
2014/02/27(木) 18:34:10.06ID:???つーか、使えても その式なんも変わらんのとちがうか?
というか、そんなIF文、excelの式ぐらいでしか見たことねー
ifnull( id , '')とかか?
0316nobodyさん
2014/02/27(木) 19:22:40.29ID:???バカ共が
0317nobodyさん
2014/02/27(木) 19:35:37.24ID:???postを想定してるとこにgetできたら弾くのが当たり前だ
2chの書き込みをgetでできたらurlクリックしただけでできてしまうだろ
0318309
2014/02/27(木) 20:00:08.65ID:ElZBAvnn$_REQUESTだと >>317 さんの言うとおり、リンクだけで投稿できる可能性があるのですね。
$_REQUESTで横着せず、きちんと、$_GETと$_POSTで処理を分けたいと思います。
ありがとうございました。
0319nobodyさん
2014/02/27(木) 21:18:04.10ID:???クリックしただけでPOSTできるだろ。
というか、それぐらいの意味しかない。
まさかそれをセキュリティと言うのではあるまいな。
0321nobodyさん
2014/02/27(木) 21:35:14.53ID:???post制限ならそんな止め方じゃなくセッション使ったりとかもう少し複雑なことするでしょ
利点は大いに使わなきゃ
0322nobodyさん
2014/02/27(木) 22:34:51.83ID:???request_methodで切り分けるか全部POST対応しとけばシステム的には大丈夫かもしらんが
あと_requestって変数名はおかしいよな
0323nobodyさん
2014/02/27(木) 23:18:08.62ID:???0324>>323=ゴミクズ
2014/02/28(金) 05:58:09.43ID:???ぐたらない感想垂れ流してるゴミクズは早く消えれば?
0325nobodyさん
2014/02/28(金) 07:55:47.39ID:???同僚や客にも同じこと言われて溜まってるんだろうな
0326nobodyさん
2014/02/28(金) 08:42:59.93ID:???指摘したら逆切れしてる始末だし。
0327nobodyさん
2014/02/28(金) 10:07:34.00ID:???ケツの穴大きすぎとか言われてた
0328nobodyさん
2014/02/28(金) 10:11:47.89ID:???POST投げられたら同じじゃん
0329nobodyさん
2014/02/28(金) 10:27:02.12ID:???0330nobodyさん
2014/02/28(金) 10:36:17.95ID:???フォームのデフォの意味はさっぱりわかんないけど、
methodのデフォルトは getだ。
requestで受け取ると問題が出ることはない。
ルールとして決めてるならともかく、
考えたり調べずにどっかに書いてあったら使うなといってるような人の方がなにかやらかすことが多いのではないか。
0332nobodyさん
2014/02/28(金) 10:46:27.09ID:???いや低レベルなメソッドの違いと、話題の違いどっちに食いつくのかなと思って
0333nobodyさん
2014/02/28(金) 10:49:11.03ID:???0334nobodyさん
2014/02/28(金) 10:53:47.67ID:???経験と共に身に付く安全設計の常識がないから。
えらそうに持論ぶちまける素人ほど会話が噛み合わなくて疲れる奴はいない。
0335nobodyさん
2014/02/28(金) 11:05:53.65ID:???0336nobodyさん
2014/02/28(金) 15:42:19.89ID:???自分のサイトにPOSTフォームしかないのにGETを受け入れるのは意味不明なんだってw
0337nobodyさん
2014/02/28(金) 15:53:36.04ID:???POSTだけを予期したプログラムでgetでも受ける理由は何にもない。
それ自体は誰も異を唱えてはいないだろ。
0340nobodyさん
2014/02/28(金) 18:19:54.75ID:???→ 必要性ないじゃん
誰も必要性なんて話 してないだろ
→どんな必要性があるの?
これが話が通じない人の思考回路か。
0343nobodyさん
2014/03/01(土) 07:17:22.50ID:???こいつは常日頃から同僚に強いストレスを与えてるんだろうな
0344nobodyさん
2014/03/01(土) 09:57:35.41ID:???0345nobodyさん
2014/03/01(土) 10:59:19.46ID:???0346nobodyさん
2014/03/01(土) 11:20:18.02ID:???適切に使うなら、使っても問題ないという解釈もできる。
0347nobodyさん
2014/03/01(土) 11:33:21.65ID:???0348nobodyさん
2014/03/01(土) 11:34:06.00ID:???という事を理解しているのなら好きに使おう
〜おわり〜
0350nobodyさん
2014/03/01(土) 15:05:25.13ID:???0351nobodyさん
2014/03/01(土) 15:36:36.68ID:n8n41uDiそこで以下の様な関数を作ってみたのですが、
Undefined index: youso1 in <b>C:\xampp\htdocs\friday\chara.php</b> on line <b>69</b><br />
と言われます。
$_POST['youso1']=nullを引数として渡してしまったという原因は分かるのですが、こういう場合どのように作ればよいでしょうか?
if(!isset){...}で一個一個見ていくしか無いでしょうか
yousoは30〜50個ぐらいになる予定です(自作ブラウザゲームのキャラクターの登録に使用します)
function nosettonullstring($a) {
if (!isset($a) | $a=="") {
return "abc";
} else {
return $a;
}
}
$_POST['youso1'] = nosettonullstring($_POST['youso1']);
$query = "INSERT INTO ・・・
$st = $pdo->prepare($query);
$st->bindValue(1, $_POST['youso1'], PDO::PARAM_STR);
0352nobodyさん
2014/03/01(土) 16:18:56.00ID:???そうすればあとはforeachとかで処理すればいい。
ちなみにyouso[]にすると0から配列を作ることができ。youso[]が複数あると自動的にpushされる。
0353nobodyさん
2014/03/01(土) 17:12:03.95ID:n8n41uDiなるほど、ありがとうございました
0354nobodyさん
2014/03/01(土) 17:16:35.08ID:???0355nobodyさん
2014/03/01(土) 17:21:14.37ID:???0356nobodyさん
2014/03/01(土) 17:22:44.69ID:???http://toro.2ch.net/test/read.cgi/tech/1393660194/11
0358nobodyさん
2014/03/01(土) 23:03:13.34ID:???0359nobodyさん
2014/03/01(土) 23:52:15.10ID:???0360nobodyさん
2014/03/02(日) 08:59:50.21ID:0yNkJzDo【PHPのバージョン】5.3.5
【連携ソフトウェア】xampp 1.7.4
【質問内容】
$date_beforeにmysqlのtimestampが入っており、
最新の順に並び替えるのを次のようにしてますが、
これが最良の方法でしょうか?
もっと他に何か良い方法がありますでしょうか?
$t=0;
foreach ($date_before as $key => $val) {
$index[$t]=$key;
$date_after[$t]=$val;
$t=$t+1;
}
0361nobodyさん
2014/03/02(日) 09:46:27.53ID:???もっと良い方法というとSQLにORDER BY句を埋め込むのがよさそうだけど、それだとスレ違いになるからここじゃ答えられない
0363nobodyさん
2014/03/02(日) 12:15:02.96ID:???そうですか。
>>362
for($i=0;$i<5000;$i++){
$image[index[$t]];
}
のように使っているので、
最新:index[0]、古:index[4999]
最新の日付の順に最新の画像を順に画面に出してます。
これで最新の日付順に画像がソートされたことになります。
0364nobodyさん
2014/03/02(日) 12:28:02.10ID:???361が最良だよ。データ取得時にソートもしておくのが定石。
SELECT something FROM sometable ORDER BY date_column DESC
PHPでやりたければ、>>363 でもいいけど無駄に近い。
0365nobodyさん
2014/03/02(日) 14:27:16.68ID:???$date_beforeの順序と、$indexと$date_afterの順序が同じように見えるんだけど
$date_beforeにはどういう順序で入ってるの?
0366nobodyさん
2014/03/03(月) 00:12:30.98ID:???よく分からんが、そのコードを改良するなら
$index = array_keys($date_before);
$date_after = array_values($date_before);
とするかな。
内部的に2回ループが動くじゃん?という懸念があるかもしれないので、計測したほうがいいかも。
もしくはこう
foreach ($date_before as $key => $val) {
$index[]=$key;
$date_after[]=$val;
}
0367nobodyさん
2014/03/03(月) 11:17:39.06ID:???これで降順になるならもともと$date_beforeはソート済み
$imageは未ソートっぽいので、これを日付順にせよというのがクライアントの要求だったようだ
0369nobodyさん
2014/03/03(月) 13:34:05.65ID:???0371nobodyさん
2014/03/03(月) 17:53:33.06ID:e1uclpbnint(553)は3桁、int(057)は2桁、
float(96.15257)は7桁というように、
桁数というより小数点を抜いた文字数を調べたいのです。
どうすれば良いでしょうか?よろしくお願いします。
0372nobodyさん
2014/03/03(月) 18:16:33.60ID:???echo preg_match_all('/[0-9]/',057);
echo preg_match_all('/[0-9]/',96.15257);
0373nobodyさん
2014/03/03(月) 18:56:15.04ID:e1uclpbnありがとうございます!
これはなんで057が3桁ではなく2桁になるのでしょうか?
0374nobodyさん
2014/03/03(月) 19:07:22.07ID:???0376nobodyさん
2014/03/03(月) 19:15:02.63ID:???0377nobodyさん
2014/03/03(月) 19:21:11.31ID:???0で始まるリテラルは8進数なので、5*8^1 + 4*8^0 = 47のふたけた
基数10と8で桁数がずれるときは問題になるだろう
本当に8進数の桁が欲しいのかわからんけど
0378nobodyさん
2014/03/03(月) 19:23:05.40ID:???0381nobodyさん
2014/03/03(月) 19:36:07.65ID:???http://php.net/manual/ja/language.types.integer.php
0382360
2014/03/03(月) 19:43:39.29ID:???派遣先切られて落ち込んでました。
説明不足でした。
for($t=0;$t<10;$t+=1){
echo("日付: $date_before[$t]");
echo("画像: $file_name[$t]<br/>\n");
}
//カウンターのアルファベットは$tとする
@arsort($date_before);//日付最新を上に並び替え
$t=0;
foreach ($date_before as $key => $val) {
$index[$t]=$key;
$date_after[$t]=$val;
echo("$index[$t]<br/>\n");
echo("$date_after[$t]<br/>\n");
$t=$t+1;
}
for($t=0;$t<10;$t+=1){
echo("日付: $date_after[$t]");
$a=$index[$t];
echo("画像: $file_name[$a]<br/>\n");
}
0383360
2014/03/03(月) 19:45:20.72ID:pVEl0/Ty日付: 2014-03-02 10:04:09画像: 2014030210040966219.png
日付: 2014-03-02 09:43:17画像: 2014030209431718080.jpg
日付: 2014-03-02 09:43:48画像: 2014030209434853288.jpg
日付: 2014-03-02 09:43:49画像: 2014030209434924738.png
日付: 2014-03-02 09:43:50画像: 2014030209435021928.png
日付: 2014-03-02 09:43:51画像: 2014030209435140509.png
日付: 2014-03-02 09:43:52画像: 2014030209435233766.jpg
日付: 2014-03-02 09:43:53画像: 2014030209435317388.jpg
日付: 2014-03-02 10:04:06画像: 2014030210040694987.jpg
日付: 2014-03-02 10:04:07画像: 2014030210040727698.jpg
0
2014-03-02 10:04:09
9
2014-03-02 10:04:07
8
2014-03-02 10:04:06
7
2014-03-02 09:43:53
6
2014-03-02 09:43:52
5
2014-03-02 09:43:51
4
2014-03-02 09:43:50
3
2014-03-02 09:43:49
2
2014-03-02 09:43:48
1
0384360
2014/03/03(月) 19:46:14.31ID:pVEl0/Ty2014-03-02 09:43:17
日付: 2014-03-02 10:04:09画像: 2014030210040966219.png
日付: 2014-03-02 10:04:07画像: 2014030210040727698.jpg
日付: 2014-03-02 10:04:06画像: 2014030210040694987.jpg
日付: 2014-03-02 09:43:53画像: 2014030209435317388.jpg
日付: 2014-03-02 09:43:52画像: 2014030209435233766.jpg
日付: 2014-03-02 09:43:51画像: 2014030209435140509.png
日付: 2014-03-02 09:43:50画像: 2014030209435021928.png
日付: 2014-03-02 09:43:49画像: 2014030209434924738.png
日付: 2014-03-02 09:43:48画像: 2014030209434853288.jpg
日付: 2014-03-02 09:43:17画像: 2014030209431718080.jpg
0385360
2014/03/03(月) 19:51:48.48ID:pVEl0/Ty画像がくるように並び替えています。
このほかカラムには、ナンバーがありこのナンバーは
1→2〜10→1とループしていきます。
0387nobodyさん
2014/03/03(月) 20:02:57.05ID:e1uclpbn外部サービスのAPIを使うときに、整数でも小数でも8桁までの数字を入れるというルールがあり、
ちゃんと8桁に収まっているかをしらべたかったのです。
ありがとうございました!
0389nobodyさん
2014/03/04(火) 04:49:41.72ID:PNP6rdg1こういう仕様に名前は付いているのでしょうか?
また、他にこういう仕様の言語ってあるのでしょうか?
趣味でプログラムやって来ましたが、10年間気付きませんでした…
$a = "abc";
echo "$a"; //abcが出力される
0390nobodyさん
2014/03/04(火) 07:48:19.56ID:???最初に書いてるわ
ていうかそれ推奨されてないから忘れたほうがいい
>>3の5に書いてる通り{}で囲むならOK
0391nobodyさん
2014/03/04(火) 07:48:20.45ID:???http://jp1.php.net/manual/ja/language.types.string.php#language.types.string.parsing
0393nobodyさん
2014/03/04(火) 07:49:08.98ID:???0394nobodyさん
2014/03/04(火) 10:14:06.26ID:jWPe5MHZ非推奨である根拠、又は、ソースがあったら教えてください。
PHPマニュアルにもそんなこと書いてないし疑問です。
http://www.php.net/manual/ja/language.types.string.php#language.types.string
0395nobodyさん
2014/03/04(火) 10:18:21.27ID:???これが非推奨だったらPHPのメリットかなり落ちる
0397394
2014/03/04(火) 10:29:58.04ID:jWPe5MHZ{}で囲むならOKという話だったのですね。
ダブルクオート内の変数展開自体が非推奨と早とちりしてしまいました。
有難うございました。
0398nobodyさん
2014/03/04(火) 10:35:21.43ID:0dtpeKMr例えば「"赤 青" 黄色」という文字列があるとして「赤 青」と「黄色」に分割したいです
いい方法はあるでしょうか
0399nobodyさん
2014/03/04(火) 10:46:11.71ID:???半角スペースで分割したいがダブルクオーテーションがついてたら分割しないってことか?
0400nobodyさん
2014/03/04(火) 10:46:29.10ID:???何に注目して分割するかに依るけどその情報がないぞ
先頭のクオーテーション内とその後ってことなのか
クオーテーション外の空白で分割なのか
それとも単に2〜4文字と8〜9文字なのか
1番目なら
$str = '"赤 青" 黄色';
if(preg_match("/^\"(.+?)\"\s*(.+)$/",$str,$mt)){
print_r($mt);
}
0401nobodyさん
2014/03/04(火) 11:04:18.97ID:0dtpeKMr基本的に半角スペースで分割したいのですが、
ダブルクォーテーションに囲まれている文字列はひとつの塊として分割したいです
>>400を参考に考えてみました
$str = '"赤 青" "黄色" 白 黒';
if(preg_match_all("/\"(.+?)\"|([^ ]+)/u",$str,$mt)){
$arr = array_merge($mt[1],$mt[2]);
$arr = array_filter($arr);
print_r($arr);
}
これでいけそうです ありがとうございました
0402nobodyさん
2014/03/04(火) 11:33:21.05ID:???CSVの' '版でしょ?
0403nobodyさん
2014/03/04(火) 11:55:05.63ID:???0404nobodyさん
2014/03/04(火) 11:56:16.72ID:0dtpeKMr最近CSVを使っていなかったのですっかり忘れていました
シンプルでいいですね
0405nobodyさん
2014/03/04(火) 11:56:25.76ID:???0406nobodyさん
2014/03/04(火) 11:59:04.65ID:???0407nobodyさん
2014/03/04(火) 11:59:52.91ID:???株価のAPIをphpで使いやすい形式で提供している証券会社とかないじゃない。
あったら作ってみたいけどね。
0408nobodyさん
2014/03/04(火) 12:05:49.75ID:???0409nobodyさん
2014/03/04(火) 14:36:52.95ID:???http://hayabusa3.2ch.net/test/read.cgi/news/1393898696/
このソースは叩かれてるけど高度な技術ですよね?
興味あれば見ていただきたいです
0410nobodyさん
2014/03/04(火) 15:41:49.08ID:???0411nobodyさん
2014/03/04(火) 15:53:49.87ID:???staticは別に構わないがコメントの不親切さとエラーチェックの甘さ、リテラルの書き方、
どれだけ長くても関数を改行しない点等が少しイラッとする程度
0412nobodyさん
2014/03/04(火) 15:59:43.24ID:???こんなDBの構造示すようなものコードに書かないほうがいいんじゃ
ER図とか別途作成しておくならともかく
0414nobodyさん
2014/03/04(火) 16:47:36.13ID:???0415nobodyさん
2014/03/04(火) 17:03:04.90ID:???単にサーバに入られただけだろ
0416nobodyさん
2014/03/04(火) 20:09:05.68ID:???DBクラスのほうを見てみたいわ
0417nobodyさん
2014/03/04(火) 21:33:12.72ID:???0418nobodyさん
2014/03/04(火) 21:33:26.79ID:???0419nobodyさん
2014/03/05(水) 00:58:11.03ID:tWUcD/Vuその際に問題になってるのが、暗号化モードがtripledesで24byteの文字列を使わなきゃいけないのに
既存の実装が24byteじゃない文字列をキーにしてました。
mcrypt-generic-initの第二引数のところです。
http://jp2.php.net/manual/ja/function.mcrypt-generic-init.php
> キーの最大長は、mcrypt_enc_get_key_size() を コールした際に得られるキー長であり、
> この値より小さな値は全て有効です。
この2行目、小さな値が有効って具体的にどんな処理になっているのでしょう?
パディング処理とかが走っているんでしょうか?
mcryptのソースを見てもC言語なのでよく分からず…。
memmove関数ってところでパディングのようなことをやってるようにも見えるのですが…。
0420nobodyさん
2014/03/05(水) 01:57:17.53ID:???http://jp.php.net/manual/ja/function.mcrypt-encrypt.php
これの第二引数(key)を見る限り、キー長に満たない場合は\0が埋められるみたいだけど。
0422nobodyさん
2014/03/05(水) 15:09:55.01ID:???そろそろ他のプログラムもやってみたいです。
パイパンとかルーピーみたいな名前のをすすめられたのですが、
ピーエイチピーをやりたいと思います。
皆さんよろしくお願いします。
0423nobodyさん
2014/03/05(水) 15:45:17.15ID:DePJJDbIユーザの入力値をデータベースに格納して読み出してhtmlとして表示する場合
sqlインジェクションとxssの対策はどういう順番で行うべきですか?
0424nobodyさん
2014/03/05(水) 15:56:25.01ID:???まずプログラムでやらなきゃいけない事を、端的に書き並べてみな
どこでチェックしなきゃいけないかが見えてくるだろ
0425nobodyさん
2014/03/05(水) 16:26:41.01ID:???a) sqlインジェクション対策・・・入力値をDBに格納する前(直前)
b) xssの対策・・・htmlとして表示する前(直前)
順番は問わない。設計による。
通常は、DB処理を先にして、その後、表示処理をするから、
その場合には、a.b.の順番になる。
0426nobodyさん
2014/03/05(水) 16:55:56.66ID:TcsDhfPgprint "{$key2}:{$value2}";
}
この$key2と$value2をprintではなく
二次元配列として1つの変数に収納していくにはどのようにすればよいですか?
0427nobodyさん
2014/03/05(水) 17:03:41.82ID:???てこと?
0428nobodyさん
2014/03/05(水) 17:04:59.23ID:???0429nobodyさん
2014/03/05(水) 17:07:50.37ID:???0430nobodyさん
2014/03/05(水) 17:09:28.90ID:???0431nobodyさん
2014/03/05(水) 17:18:19.49ID:???0432nobodyさん
2014/03/05(水) 17:20:33.53ID:???かもしれない
0433nobodyさん
2014/03/05(水) 17:20:43.00ID:TcsDhfPgこれでいけました!
配列を理解しきれてないので、うまく説明できずにすいませんでした。
ありがとうございました。
0434nobodyさん
2014/03/05(水) 17:25:11.60ID:???0435nobodyさん
2014/03/05(水) 17:25:56.83ID:???0436nobodyさん
2014/03/05(水) 17:26:08.56ID:???0437nobodyさん
2014/03/05(水) 17:27:12.18ID:???0438nobodyさん
2014/03/05(水) 17:30:42.51ID:???0440nobodyさん
2014/03/05(水) 17:57:01.00ID:???下記だと1000単位の「,」が入ってしまいます。
replaceなりすれば出来るのは判るんですが、流石にアホらしい方法だと思うので
何かいい方法ありませんか?
$X = 123456.789;
echo( number_format(round( $X * 10)/10 ,1 ) )."%";
結果:123,465.8
0441nobodyさん
2014/03/05(水) 18:08:13.70ID:???echo number_format($X,1,'.','' );
四捨五入してくれるよ
0442nobodyさん
2014/03/05(水) 20:55:59.38ID:???printf("%.1f", $X);
0443nobodyさん
2014/03/06(木) 01:32:34.76ID:???$X = 123456.789;
echo round($X, 1);
0444nobodyさん
2014/03/06(木) 05:54:36.01ID:???0445nobodyさん
2014/03/06(木) 08:32:33.98ID:???こんな汎用的なのつけるならないほうがマシwww
マウントゴックス!
0448nobodyさん
2014/03/06(木) 09:00:15.91ID:???*10/10はどうかと思うが
0449nobodyさん
2014/03/06(木) 09:02:14.32ID:???最近のroundはだいぶいいらしい
0450nobodyさん
2014/03/06(木) 09:19:18.11ID:???配布物は5.2で書くべきか
0451nobodyさん
2014/03/06(木) 09:23:13.18ID:???0452nobodyさん
2014/03/06(木) 09:28:31.05ID:???roundに桁数指定がない みたいな
どっかのサイト見ちゃったんだろう。
http://masago.kir.jp/php20030828.php とか
0453nobodyさん
2014/03/06(木) 09:31:54.91ID:???まだあったのか
0455nobodyさん
2014/03/06(木) 09:33:09.20ID:???0456nobodyさん
2014/03/06(木) 10:38:49.09ID:???wordpress層を除くとガラッと変わりそうだけど
会社は5.5、外部に出すものは5.4にしてるよ
0457nobodyさん
2014/03/06(木) 13:20:34.69ID:???どのバージョンを意識して作ったものかっていう統計?
serverじゃなくてwebsitesって書いてるよなあ
でもそんなの調べようがないし謎だわ
websitesってのはサーバのことなんだろうか
0458nobodyさん
2014/03/06(木) 13:27:47.99ID:???5.7とか大きく変わった点とかあるの?
0459nobodyさん
2014/03/06(木) 13:46:18.53ID:???5.6はたいした変更点もないような
なんかperlっぽくなってる気がする
5.4の配列ショートカット[]と5.5のfinallyサポートはいいな
トレイトとかジェネレータとかわからんw
0460nobodyさん
2014/03/06(木) 14:16:48.86ID:???サンクス、[]は見慣れるまでがキモイかも、無理して使わなくても良いだろうし使い所だね
トレイトは見てみたらこれは結構便利くさい、多重継承が欲しいこと稀にあるから
finallyもあればあったで便利だな
ちょっと5.5試してみる
0463nobodyさん
2014/03/06(木) 16:30:58.37ID:???5.6でRubyのスプラット演算子やオプショナル引数の配列化みたいな事ができるよ
じゃあ名前付き引数も?ないよそんなもの
function f($a, $b = null, ...$c) { return $c; }
# わかる
assert(f(1) === []); # pass
assert(f(1, 2, 3, 4, 5) === [3, 4, 5]); # pass
assert(f(1, 2, ...[3, 4, 5]) === [3, 4, 5]); # pass
assert(f(...[1, 2], ...[3, 4, 5]) === [3, 4, 5]); # pass
# まぁわかる
assert(f(1, 2, ...[123 => 'v']) === ['v']); # pass
# arrayは順序付き連想配列だもんな、OKOK
assert(f(1, 2, ...[1 => 'a', 0 => 'b']) === ['a', 'b']); # pass
# クソァ!
assert(f(1, 2, ...['k' => 'v']) === ['v']); # Catchable fatal error: Cannot unpack array with string keys
0467nobodyさん
2014/03/07(金) 15:21:44.37ID:???0468nobodyさん
2014/03/07(金) 18:23:42.03ID:Y3p7/jDT上記の処理でコメントされた文字列の中のURLを自動リンクしようとしています。
コメントはimgタグのみ許可しているので、
�@http://aaaa.com
�A<img src="http://aaaa.com">
�@のような場合は自動リンクしたいのですが
�Aの場合は自動リンクしたくないです。
この場合どのように条件式を書けばいいですか?
0469nobodyさん
2014/03/07(金) 18:25:10.67ID:Y3p7/jDT�Bhttp://aaaa.com/1.pngという文字列が単体であった場合は自動リンクしたいので
拡張子検索以外でお願いします。
0470nobodyさん
2014/03/07(金) 18:40:22.88ID:???src="に続く場合は除けばいいんだろ?
eregはやめようよ。
0471nobodyさん
2014/03/08(土) 09:27:18.48ID:wySctgna宅間守の社会に対する被害者意識は
子供の頃に体験した招集ストーカーによって培われた
当時宅間守の親は近所の創価学会に批判的な人物を
子供を襲う危険な性犯罪者とし
宅間守とその友人に危険人物の顔をお覚えされるなどとして
再三に渡って招集ストーカーを行っていた
宅間守は遊び半分で嫌がらせを楽しみながらも
親からは「お前はいつ襲われるか分からない被害者なんだ」と言われる
こうして犯罪を繰り返しながらも被害者面する生き方を教え込まれた
0472nobodyさん
2014/03/08(土) 10:07:07.19ID:vNXlneYeフォームへの直アクセスを防ぎたい場合、
if (strstr('利用規約のURL', $_SERVER['HTTP_REFERER']) == false) {
// エラーメッセージ
}
とする書き方でも問題無いですよね?
出来ればセッション無しでシンプルにやりたいと思っています。
0473nobodyさん
2014/03/08(土) 10:11:37.36ID:???リファラーとか無意味なのはプロなら分かるはずだぜ?
0474nobodyさん
2014/03/08(土) 10:17:10.55ID:???抜け穴を通ることで明確な利益を得られるわけじゃないだろうし
リファを弄ってきた相手に対する規約の拘束力があるかはさすがにしらん
0475472
2014/03/08(土) 10:20:26.60ID:???リファラスパム(偽装)とか考えられますが、
フォームの入力チェックはしているので、
そこまで強固なチェックは必要ないと考えています。
ですので、単純に>>472の書き方で最低限(非技術者)に対する
チェックは出来ているのか否かをアドバイスいただければ幸いです。
0476nobodyさん
2014/03/08(土) 10:27:10.85ID:???・サービスレベルの制限ではない(有料コンテンツ等)
・リファラの偽装自体、基本的に悪意がない限りは行わない(XSRFとかで飛ばされる可能性はあるけど)
ってあたりでコンシューマ向けの制限としては問題ないんじゃないかと思う
0477nobodyさん
2014/03/08(土) 10:34:32.73ID:wySctgna宅間守の社会に対する被害者意識は
子供の頃に体験した招集ストーカーによって培われた
当時宅間守の親は近所の創価学会に批判的な人物を
子供を襲う危険な性犯罪者とし
宅間守とその友人に危険人物の顔をお覚えされるなどとして
再三に渡って招集ストーカーを行っていた
宅間守は遊び半分で嫌がらせを楽しみながらも
親からは「お前はいつ襲われるか分からない被害者なんだ」と言われる
こうして犯罪を繰り返しながらも被害者面する生き方を教え込まれた
0478nobodyさん
2014/03/08(土) 10:35:30.93ID:???利用規約ページからのリファラーが条件なら、strstrの処理はいらないんじゃない?
単純に、これでよさそう(より制限的になる)。
if ('利用規約のURL' !== $_SERVER['HTTP_REFERER'])) {
// エラーメッセージ
}
あとは、利用規約への同意を、チェックボックスにチェックしてもらって、
それを確認している作りならば問題なさそう。多分。
できれば、ワンタイムトークンとか組み入れた方が良いけど。
0479nobodyさん
2014/03/08(土) 10:38:33.31ID:???0480472
2014/03/08(土) 10:40:16.40ID:???利用規約同意のチェックはしています。
ワンタイムトークンはセッション無しで出来ますかね?
調べてみます。皆さま、アドバイスありがとうございました。
0481nobodyさん
2014/03/08(土) 10:41:41.97ID:???0482nobodyさん
2014/03/08(土) 10:46:00.11ID:???なんでセッションを使うのを拒否するのか・・・
数行のコード入れて変数を作るだけなのに難しいものでもないでしょう
0483nobodyさん
2014/03/08(土) 11:26:55.79ID:???0484nobodyさん
2014/03/08(土) 11:35:13.55ID:???>フォームへの直アクセスを防ぎたい場合、
この間がPOST処理なら、 POSTメソッドを確認すれば、直アクセスは防げる。
0485nobodyさん
2014/03/08(土) 11:36:28.95ID:???フォームの送信ボタンで兼ねちゃっても構わないと思いますがね。
問い合わせフォームに規約に同意しないと見られては困るものがあるんですかね。
0486nobodyさん
2014/03/08(土) 11:40:35.08ID:???http://www.mcdonalds.co.jp/cservice/information/q_a/form/attention.html
http://www.mos.co.jp/faq/voice/
https://www.lotteria.jp/inquiry/form/
こいつ最高にロッテリア
0488nobodyさん
2014/03/08(土) 12:09:08.81ID:???>ワンタイムトークンはセッション無しで出来ますかね?
アクセスごとにランダムでキーを生成できて、そのアクセスだけと紐付けした上でフォームへキーを渡す方法があるならいけるよ
0489nobodyさん
2014/03/08(土) 13:26:06.26ID:???0490nobodyさん
2014/03/10(月) 00:50:12.28ID:???あれほど馬鹿はPHPを使うなといわれていたのに。
http://maguro.2ch.net/test/read.cgi/poverty/1394376340/
0491nobodyさん
2014/03/10(月) 01:49:20.59ID:???0492nobodyさん
2014/03/10(月) 05:57:53.18ID:???迷惑だから
0493nobodyさん
2014/03/10(月) 09:22:15.43ID:???0494nobodyさん
2014/03/10(月) 09:26:40.86ID:???0495nobodyさん
2014/03/10(月) 10:11:39.87ID:doEo9Ey2パスワードにsaltを付加し、md5で暗号化した場合、
復元される可能性はどれくらいあるでしょうか?
atwikiでパスワードの漏出・復元が問題となっているようで、
とても気になります。
(こちらはsaltの付加がなかった為、復元されてしまったようです。)
0496nobodyさん
2014/03/10(月) 10:33:05.79ID:???短ければ即復元できるし
ながければそれにかけるリソースがもったいないと攻撃者が感じるだろう
0497nobodyさん
2014/03/10(月) 10:55:06.64ID:???saltが無かったとしても、復元できるのは辞書攻撃とかに弱いパスワードもしくは短いパスワードだったんじゃないのかな。
saltがあった場合、saltが判明していれば、saltが無いのと同じ。判明してなければ判明するまで基本的に無理。
0498495
2014/03/10(月) 12:07:37.27ID:Z0OipPDvありがとうございます。
自サイトで、長めのsaltの付加をしておいて良かったです。
ただ、md5ではなく、sha1とかにしておけば良かったと少し後悔。
saltまで流出すると、復元されてしまうのは怖いですが、
レンタルサーバー自体に脆弱性が有る場合には、対策が難しいですよね。
0499nobodyさん
2014/03/10(月) 12:12:52.98ID:???だからパスワードは長くしろといわれるんだよ。
文字の種類も混ぜろといわれるでしょ。
安易なパスワード設定は、キャッシュカードの暗証番号に誕生日設定するのと同じような愚かさだから、
設定したユーザにもある程度の責任があるとも考えられる。
0500nobodyさん
2014/03/10(月) 12:36:50.61ID:???メモしないと覚えられないくらいに複雑じゃないと安心できんな
0501nobodyさん
2014/03/10(月) 13:02:03.69ID:???0502nobodyさん
2014/03/10(月) 14:22:36.78ID:???これをユーザーサイトでinclude_onceしているのですが100kbyteというのは普通なんでしょうか?
読み込むには大きいと感じますし、ユーザーがアクセスするごとに読み込んでいるとなると結構な負担になるのではと思っています。
0504nobodyさん
2014/03/10(月) 14:53:10.37ID:6p2nG/Rdhttp://jp.xivdb.com/?maps/30/s1f1-00/La-Noscea/Middle-La-Noscea
0506nobodyさん
2014/03/10(月) 15:05:08.74ID:4kaXJqs70509nobodyさん
2014/03/10(月) 16:25:56.64ID:???どの段階での違いの話をしているのか分からん。
質問者が求めてるであろうブルートフォースアタックに対しては
saltが無い場合とsaltが判明している場合に差はないよ。
0510nobodyさん
2014/03/10(月) 16:38:21.67ID:???0511nobodyさん
2014/03/10(月) 16:42:46.40ID:???0512nobodyさん
2014/03/10(月) 16:46:20.36ID:???>>495
>atwikiでパスワードの漏出・復元が問題
この段階での話
質問者が求めてるのは正しい暗号化の方法じゃないのか
長いsaltつけました、一回ハッシャ化しました、だけじゃ不十分だよっていうのが言いたかった
言葉足らずだったかもしれない、ごめんなさい
ちなみに、5.6から実装されたpassword_hash()とかsalt付きハッシュ返ってくるぞ
わざわざ分けて保存するのか?
0513nobodyさん
2014/03/10(月) 16:47:01.13ID:???0514512
2014/03/10(月) 16:48:13.96ID:???今調べたら、5.5からでした
ごめんなさい
0515nobodyさん
2014/03/10(月) 17:01:46.40ID:???正しい暗号化の方法を知りたいのか、
>>495がすでに実装している暗号化手法がどれくらい安全かの確認をしたかったかは不明。
個人的には後者だと予想しているけれど。
で、そもそも疑問文はこれですよ。
> パスワードにsaltを付加し、md5で暗号化した場合、
> 復元される可能性はどれくらいあるでしょうか?
>>497でsalt無しの場合について書いたのは、saltが無ければいくらでも復元できると思っているフシがあったから。
> (こちらはsaltの付加がなかった為、復元されてしまったようです。)
>>512の、わざわざ分けて保存するのか?についてはもう何が言いたいのか全然わからないです。
0516nobodyさん
2014/03/10(月) 17:07:30.76ID:???> 質問者が求めてるのは正しい暗号化の方法じゃないのか
> 長いsaltつけました、一回ハッシャ化しました、だけじゃ不十分だよっていうのが言いたかった
> 言葉足らずだったかもしれない、ごめんなさい
これに関しては同意です。
0517512
2014/03/10(月) 17:10:46.06ID:???>個人的には後者だと予想
それを理解してる人は>>495みたいな質問しないだろ
>そもそも疑問文はこれですよ。
その質問が>>495の意図とは限らない。正しいというか安全な暗号化方法をしりたがっているのかもしれない
>>510
これよ
意味あるんだよ。意味ないのは安全な暗号化されてない場合
>わざわざ分けて保存するのか?についてはもう何が言いたいのか全然わからないです。
わけてかくね
0518512
2014/03/10(月) 17:15:50.31ID:???php使う人5.5の実行環境ない人多そうだから例書いておく
password_hash ― パスワードハッシュを作る
http://jp1.php.net/manual/ja/function.password-hash.php
コード:
$options = [
'salt' => 'abcdefghijklmnopqrstuv'
];
echo $options["salt"]."\n";
echo password_hash("rasmuslerdorg", PASSWORD_BCRYPT, $options);
結果:
abcdefghijklmnopqrstuv
$2y$10$abcdefghijklmnopqrstuuAEy05HGRP6l80a9Rvt.ZZouqyKwOhX.
↑このソルトを分けて保存するのか?
っていう意味
0519nobodyさん
2014/03/10(月) 17:19:39.85ID:???おkわかった。
その理解度なら、もう一回勉強しなおしてからレスをしてくれ。
そして脆弱なシステムが生まれないようにするためにも人に教えるのをやめるべきだ。
> 警告
> この関数で使うソルトを自前で設定するのはお勧めしません。 ソルトを省略すれば、安全なソルトをこの関数が自動的に作ってくれます。
最低限この警告がどういう理由で書かれているのかを理解するまでね。
0520512
2014/03/10(月) 17:25:59.66ID:???$options = [
'salt' => base64_encode(file_get_contents("/dev/urandom", false, null, 0, 22))
];
echo $options["salt"]."\n";
echo password_hash("rasmuslerdorg", PASSWORD_BCRYPT, $options);
0522nobodyさん
2014/03/10(月) 17:35:46.06ID:???0523nobodyさん
2014/03/10(月) 17:56:45.51ID:???昔俺が質問したやつだったw
4年前か...
懐かしいな
今ではPHPも殆ど使っていないが、俺この4年間何してたんだろ...orz
0524512
2014/03/10(月) 18:46:35.86ID:???>>520無視してくれていいや
>>522
俺もそんな気がする。見返したら>>516で全部終わってたわ
暗号化の回数によってはsaltつけただけじゃ不十分であるっていうのと、
saltは秘密であることに意味があるんじゃないよっていうのがいいたかった
0525495
2014/03/10(月) 19:57:44.63ID:yFyJBN/9自分が実装した暗号化ですが、これは安全でしょうか?
<?php
//saltのあるファイルの読込
require_once '../init.php';
$pass_by_md5 = md5($password . $salt . $password);
?>
ユーザーからのパスワードでsaltを挟んでからmd5にかけています。
$pass_by_md5の文字列とsaltが同時に流出した場合、
元の$passwordはどの位の確率で解析されるでしょうか?
また、saltの流出が無い場合は、安全と考えて良いでしょうか?
0526nobodyさん
2014/03/10(月) 20:00:26.14ID:???0527nobodyさん
2014/03/10(月) 20:02:26.30ID:???そっちの方が安全だ
0528nobodyさん
2014/03/10(月) 20:06:35.52ID:???Wikipediaだと、元データは復元困難らしいが。
MD5 - Wikipedia
ハッシュの衝突耐性について
MD5のハッシュ値については、パソコンレベルで、数10分程度で、同一ハッシュ値の非ユニークなデータ列を生成できる実装が広まっている。
すなわち、強衝突耐性は容易に突破されうる状態にある。
ただし、任意に与えられたハッシュ値に対して、(何らかの別の)データを生成する実装が広まっているわけではないので、弱衝突耐性が容易に突破されうる訳ではない。
また、任意に与えられたハッシュ値に対して、改竄者の意図どおりのデータ列を容易に生成できる訳でもない(もしそうならば、それは既に暗号ではない)。
強衝突耐性の突破とは例えば、同一のハッシュ値を持つ非ユニークな2つのデータ列D1とD2のペアを1つ発見できた、ということである。
なお、この場合D1やD2が意味を持つデータであるかどうかは問われない。
0529nobodyさん
2014/03/10(月) 20:11:07.70ID:???そもそもどういうハッシュ使ってるか分かってない以上、まともには復元できないだろ。
別の予想もつかないような脆弱性を慎重に確認したほうが安全度が高いんじゃないか。
0530nobodyさん
2014/03/10(月) 20:14:14.82ID:???パスワードに数字1桁のものしか設定できないシステムがあるとするじゃん?
どんなに強固な暗号化方式を用いたとしても、10回の試行でパスワードは判明するよね。
これをあなたのいう「解析」に含めるなら、時間を無視すれば100%判明することはわかる?
だから上でも書かれてるように、パスワードの強度次第ということになるんだよ。
atwikiでパスワードがもれてるのは、パスワードの強度が低いものから順にもれてるの。
0531nobodyさん
2014/03/10(月) 20:24:05.61ID:???0532nobodyさん
2014/03/10(月) 20:36:28.76ID:???そういうのは暗号化とは言わないよ
パスワードを保存するならば、素直にpassword_*を利用すれば?
5.5未満ならば
https://github.com/ircmaxell/password_compat
を利用すれば良いと思うよ
saltを指定しないでpassword_hashを利用するようにな
0533495
2014/03/10(月) 20:52:48.68ID:yFyJBN/9セキュリティ関連について再確認したいと思います。
>>530
ユーザーに対して、強度のパスを登録するよう注意喚起したいと思います。
>>532
password_hashについて調べてみます。
いろいろお教えくださり有難うございました。
本当に感謝です。
0535nobodyさん
2014/03/10(月) 20:58:45.73ID:???Cやってた身としては、Cに似てるのはありがたいのだが…。
0536nobodyさん
2014/03/10(月) 21:03:57.45ID:???C、C++、PHP、Python、JavaScript、シェルスクリプト、あとちょっとだけJava使う俺は、暫く間隔開くとストレス感じることある
$付け忘れたり
varを宣言したりしなかったり
0537nobodyさん
2014/03/10(月) 21:28:51.97ID:???まあjQuery使ってるからってのが大いにあるけど。
0538nobodyさん
2014/03/10(月) 22:09:50.34ID:???0539nobodyさん
2014/03/10(月) 23:58:18.62ID:???【PHPのバージョン】5.2
【連携ソフトウェア】Apache
【質問内容】
<?php echo $_SERVER['REMOTE_ADDR'] ?>を仮にファイル名 a.php にして
ApacheとPHP入れた自分のパソコンのWebブラウザから http://127.0.01/a.php にアクセスすると
「127.0.0.1」と表示されると思うんだけど、ネット接続状態の自分のプロバイダIPを表示させる方法ってないかな?
自分のプロバイダがKDDIならKDDIのIP、SoftBankならSoftBankのIPが表示できるようにしたいんだけど。
外部のサーバにa.phpを置いてそれにアクセスすればいいんだけど、自分のパソコンの中だけで完結させたいんだ。
なんかいい方法ありませんか?「
0540nobodyさん
2014/03/11(火) 00:01:32.02ID:???0541nobodyさん
2014/03/11(火) 00:02:22.53ID:???わからないけどシステムコマンドに頼るしかないんじゃなかろうか
それに複数のネットワークに接続してたりルータ経由だったり
考える点はいろいろある
0542nobodyさん
2014/03/11(火) 00:02:37.88ID:???今の環境じゃ無理じゃないかね
0544nobodyさん
2014/03/11(火) 00:05:06.58ID:???連結演算子なんかは間違うな
PHPだと.だけどJSだと+だとか
大量に書いてから気付いた時には少し凹む
0545nobodyさん
2014/03/11(火) 00:08:10.18ID:???http://www.telize.com/
>There is no rate limit of any sort at the moment, and the service is free for everyone to use.
商用までいいかとかはわからん。
0546nobodyさん
2014/03/11(火) 00:20:10.57ID:???>>541-542
難しそうですかー。
>>540のサイトみたいに外部のサーバにa.phpを置いて、自分のパソコンのPHPから file_get_contents で取り込んで、
IP部分を抽出するしかないのかな
0548nobodyさん
2014/03/11(火) 13:00:36.41ID:knsPq3qu【PHPのバージョン】6.4
【連携ソフトウェア】MySQL
【質問内容】
XSS対策について質問なのですが
現在は出力時にhtmlspecialcharsでエスケープしていますが、データベースに入れる際にhtmlspecialcharsするべきと他の人から言われています。
データベースに入れる際はmysql_real_escape_stringしているのですが、入れる前にhtmlspecialcharsするべきなんでしょうか?
0549nobodyさん
2014/03/11(火) 13:16:05.93ID:???ちゃんと復元できてるのかと、脆弱性を。
BASE64なら完全な文字のテキスト。
0551nobodyさん
2014/03/11(火) 13:40:36.87ID:???addslashes
urlencode
rawurlencode
base64_encode
convert_uuencode
htmlspecialchars
htmlentities($str,ENT_QUOTES,'SJIS-win',false)
mb_convert_encoding( $str, 'HTML-ENTITIES', 'SJIS-win')
0552548
2014/03/11(火) 13:44:14.46ID:knsPq3quエスケープする場所を移動させるだけと思っているようで、事前にエスケープすると入れる情報の長さもかわることになるので
設計部分から見直す必要性があることもわかっていないようで困っておりました。
0554nobodyさん
2014/03/11(火) 13:55:46.79ID:???データベースを別のコードでも使うときなどのために変換済みをいれておいたほうがいいことがある。
0555nobodyさん
2014/03/11(火) 14:04:17.06ID:???むしろ、こっちの理由を聞いてみたい。
その他人とやらにおいて、何か合理的な理由があるのだろうか。
0556nobodyさん
2014/03/11(火) 14:07:00.88ID:???0558nobodyさん
2014/03/11(火) 14:15:02.96ID:???バイナリデータなどでやったらデータが破壊される。
0560nobodyさん
2014/03/11(火) 14:19:24.04ID:???0561nobodyさん
2014/03/11(火) 14:20:25.47ID:???0562nobodyさん
2014/03/11(火) 14:20:56.79ID:???なぜならhttp経由のみで使うとは限らないからである
htmlspecialcharsを入れとけばエスケープ忘れがあっても安全という主張があるが
html出力時にDBから取り出したデータにhtmlspecialcharsを挟むという
PHPのデファクトスタンダードが通用せず第三者からみたらとても不思議で一見まずいコードに見える
このような不思議な仕様にすべきでない
0563nobodyさん
2014/03/11(火) 14:24:37.63ID:???バイナリデータに対して出力で変換したら壊れる。
0564nobodyさん
2014/03/11(火) 14:27:32.76ID:???アホなこといってんじゃないよ
バイナリデータにhtmlspecialcharsなんて使うわけないだろ
つうか画像ならGDとかに突っ込んだり
そのまま出力するにしてもヘッダで指定すんだろ
プレーンテキストとは扱いが違う
0565nobodyさん
2014/03/11(火) 14:33:13.69ID:???二重にエスケープされる可能性があるから、まずいんだよね。
たとえば、'&' (アンパサンド) は '&' に変換される。
これをもう一度エスケープすると、 '&amp;'になって、
'amp;'という不要な文字がブラウザに表示されてしまう。
0566nobodyさん
2014/03/11(火) 14:34:37.26ID:???XSS等がおきた時の責任逃れをしたいっていう感覚をヒシヒシと感じる
0567nobodyさん
2014/03/11(火) 14:34:57.80ID:???場所だけを記しておくよな
0568nobodyさん
2014/03/11(火) 14:40:07.10ID:???< と < は、 double_encodeの設定で < < もしくは < &lt; のどちらかになるにせよ
htmlspecialchars_decode すると < と < になってしまう。
0569nobodyさん
2014/03/11(火) 14:53:05.09ID:???sanitized_text ってカラム名にしてそこに「も」入れるのが、その、他の人との折衷案になるんでない?
「も」としたのは生データは重要だから失うわけにはいかないという理由。
0570nobodyさん
2014/03/11(火) 18:15:58.54ID:???馬鹿だなぁw
DB格納時やらバイナリデータにh()を適用ってw
特にバイナリデータにはウケたw
0571nobodyさん
2014/03/11(火) 20:48:31.32ID:???リニューアルの時とかネックになりがちだしなー。
基本は、あくまで「渡す時に適切な処理を」だろ。
あくまで基本だけど。
ところで、なんでhtml文章を格納するのに話題で
バイナリにhtmlspecialcharsとか言い出してる馬鹿がいるの?
0572nobodyさん
2014/03/11(火) 20:50:47.99ID:???それを見分ける方法などを付けていなければ
バイナリに対して加工してしまう可能性がある。
0575nobodyさん
2014/03/11(火) 21:12:59.37ID:???見分ける方法が無いまま混在させる状況がよく分からん。
よしんば入れるとして、バイナリが入る可能性があるのなら一律エスケープしないだろ。
0576nobodyさん
2014/03/11(火) 21:30:10.60ID:???0579nobodyさん
2014/03/11(火) 21:48:20.79ID:???0580nobodyさん
2014/03/11(火) 22:09:58.62ID:???取得するデータがどのようなものかはあらかじめ把握しているのが普通
じゃなきゃアプリケーションなんて作れません
0581nobodyさん
2014/03/11(火) 22:13:56.35ID:???| ○ | r‐‐、
_,;ト - イ、 ∧l☆│∧ 良い子の諸君!
(⌒` ⌒ヽ /,、,,ト.-イ/,、 l 入力と検証と保存と出力の話が混ぜこぜになっているが
|ヽ ~~⌒γ⌒) r'⌒ `!´ `⌒) 回答する側も初心者だ
│ ヽー―'^ー-' ( ⌒γ⌒~~ /| 騙されるな。
│ 〉 |│ |`ー^ー― r' |
│ /───| | |/ | l ト、 |
| irー-、 ー ,} | / i
| / `X´ ヽ / 入 |
0582nobodyさん
2014/03/11(火) 22:15:16.23ID:???0583nobodyさん
2014/03/11(火) 22:21:21.67ID:???投稿入力文字列をチェックして、タグ'<>'の投稿を禁止するとか、
入力値チェックの段階で対応する方がよさそう。
0584nobodyさん
2014/03/12(水) 10:33:14.69ID:???> ところで、なんでhtml文章を格納するのに話題で
> バイナリにhtmlspecialcharsとか言い出してる馬鹿がいるの?
>>583
それも手の一つであるけど、仕様決めのときの
ポリシーの問題であってレイヤーが違いすぎるだろ。
それ言い出すと、WAFいれたらとかそういう話も出てくる。
そも、XSS対策を意図した場合、PHPレベルで解決不可能じゃないだけに
そっちを先に論ずるのも妙だと思われる。
0585nobodyさん
2014/03/13(木) 05:39:10.94ID:???0586nobodyさん
2014/03/13(木) 06:13:09.69ID:???0587nobodyさん
2014/03/13(木) 07:53:48.71ID:???0588nobodyさん
2014/03/13(木) 13:11:40.14ID:???しまった!
大変な失敗をしてしまった!!
もう俺の人生終わりだァァァ!!
0589nobodyさん
2014/03/13(木) 13:12:23.06ID:???0590nobodyさん
2014/03/13(木) 13:17:37.89ID:???0591nobodyさん
2014/03/13(木) 13:21:29.15ID:???0593nobodyさん
2014/03/13(木) 19:11:56.06ID:QK76W5wi0595nobodyさん
2014/03/13(木) 21:55:50.20ID:???0596nobodyさん
2014/03/13(木) 23:42:40.32ID:???0597nobodyさん
2014/03/13(木) 23:53:19.72ID:???0598nobodyさん
2014/03/14(金) 06:41:17.54ID:???作るシステムの適正に合ったコードが書ける人間は意外と多くない
0599nobodyさん
2014/03/15(土) 09:39:37.71ID:B7D/HL0CGDを使ってpng画像を作成するプログラムを作っています。
画像を作成して表示することはできたのですが、
右クリックして「画像を保存」しようとすると、うまく保存してくれません。
保存できるようにする方法はありますでしょうか?
0600nobodyさん
2014/03/15(土) 10:00:00.04ID:???拡張子によって保存出来ないとか?拡張子.pngにしてみたら
0601nobodyさん
2014/03/15(土) 10:18:54.27ID:B7D/HL0Cただ、ご指摘いただいた点にヒントを得て、いろいろためしてみたところ、うまくいく場合といかない場合がありました。
IEの場合、デフォルトでpng保存となり、保存した画像を開いたところちゃんと表示されました。
chromeの場合、デフォルトではphp保存となっており、拡張子をpngに変えればうまく保存できました。
ただ、phpのまま保存すると、うまくいきませんでした。
これをpng形式で保存するように事前に指定できればいいのですが・・・
そう考えると、たしかにブラウザの問題となりますね。
0602nobodyさん
2014/03/15(土) 11:06:02.04ID:???>ただ、phpのまま保存すると、うまくいきませんでした。
拡張子がphpになっているだけで、pngとして保存できているはずだよ
鯖側では、Content-Dispositionを使ってfilenameをつけるのがベターかと
0603nobodyさん
2014/03/15(土) 11:11:55.23ID:???下の手法を応用して、拡張子pngに適用するのはどうかな。
PHP拡張子としてHTML型を使用する
# 全てのPHPコードをHTMLのように作成する
AddType application/x-httpd-php .htm .html
http://www.php.net/manual/ja/security.hiding.php
0604nobodyさん
2014/03/15(土) 12:50:50.87ID:/0KFEDAUソースがあるんですがこれを有効にする方法が分かりません。
「php はてなイコール」「php クエスチョンイコール」
でググってもダメでした。
教えて下さい><
0605nobodyさん
2014/03/15(土) 12:53:04.27ID:???0606nobodyさん
2014/03/15(土) 12:59:11.19ID:???0609nobodyさん
2014/03/15(土) 15:32:56.48ID:???使わないほうがいいよ。
0610nobodyさん
2014/03/15(土) 16:55:36.75ID:???4桁の数字だから総当りでもいいんだけど、効率が悪い;
phpってまではわかったんだが、どうやってPOSTすれば認識されるんだろう?
SPAMの書き込みがあるから何とかなりそうなんだ
お前ら力を貸してくれ、ください
0611nobodyさん
2014/03/15(土) 16:59:32.65ID:???画像認証の突破方法なんてSPAM屋さんを利するだけだから誰も教えてくれないよ
0612nobodyさん
2014/03/15(土) 17:02:47.17ID:???0613nobodyさん
2014/03/15(土) 17:16:54.30ID:???なんとなく、「それはそういうやり方でやるもんじゃない」という答えで終わりそうな話だけど
0614nobodyさん
2014/03/15(土) 18:26:26.69ID:???やりたい事がまったくわからん
0615nobodyさん
2014/03/15(土) 22:10:33.52ID:???0616nobodyさん
2014/03/15(土) 22:19:25.58ID:???こっち関係の板じゃ別の意味に取られるぞ
0617nobodyさん
2014/03/16(日) 00:22:45.22ID:???なんで自動ポストって言葉を使わないかなぁ。
0618nobodyさん
2014/03/16(日) 05:58:04.91ID:???0619nobodyさん
2014/03/16(日) 12:23:22.71ID:???>htmlプロトコル
httpな
httpは↓
https://www.ietf.org/rfc/rfc2616.txt
header関数は↓
http://www.php.net/manual/ja/function.header.php
抑えておいたらはずれは無いんじゃないかな
0620nobodyさん
2014/03/16(日) 13:55:18.87ID:/7LU/Oeu0621nobodyさん
2014/03/16(日) 19:05:47.95ID:???Content-Disposition:、Cache-Control:
辺りの頻出するもの教えて欲しいなって
この辺って、どの程まで理解してPHPはじめたらいいのか助言欲しいのん
ApacheのディレクトティブやPosgreSQLの設定までキリがないお
0622nobodyさん
2014/03/16(日) 19:17:58.72ID:l1xluNFW通常アーカイブ処理は元よりファイルサイズが小さくなる(圧縮される)と思いますが、
PHPで用意されてる関数群は何かしら設定が必要なようなので、
http://www.php.net/manual/ja/refs.compression.php
デフォルトで使える方法でアーカイブする方法を模索しています。
今考えてるのは、
file_get_contentsで読み込んでbase64_encodeしたものを、
その他情報とともに(ファイル名、親フォルダなど)テキストファイルに記述していく方法ですが、
この方法だと元のファイルより当然サイズが肥大化します。
アーカイブするのが主目的なので肥大化しても構わないと言ったら構わないのですが、
何か他にこの手の処理にデフォルトで使える有効そうな関数はありませんか?
zipアルゴリズムを実装するとか、フリーのそういう類のスクリプトを拾ってくるってのはなしでお願いします。
0623nobodyさん
2014/03/16(日) 19:33:47.17ID:???0624nobodyさん
2014/03/16(日) 19:37:10.45ID:l1xluNFW理由は特にありません
0625nobodyさん
2014/03/16(日) 19:55:28.56ID:???0626601
2014/03/16(日) 20:45:09.55ID:WUHmbqmdありがとうございます。
遅ればせながら、お礼です。
Content-Disposition: inline; filename=
で問題解決しました。
0628nobodyさん
2014/03/18(火) 12:27:27.37ID:???php 5.5 + 10%だな。
自分の環境のテストではそんな感じだった。
0629628
2014/03/18(火) 12:31:38.79ID:???申し訳ないです。
0630nobodyさん
2014/03/18(火) 12:34:47.69ID:???ついでにheader()しても先にレスポンスヘッダーにtext/html仕込まれたりするから、
ini_setでdefault_mimetypeを指定しておくと吉。
0631nobodyさん
2014/03/18(火) 13:02:21.50ID:RFZn4Uk4実践的なOOPを学習するにはどうしたらよいですか?
おすすめの学習法がありましたら教えて欲しいです。
PHPの入門書などを読むと、クラスの書き方には言及していますが、
実際にオブジェクトを使って何か成果物を作るようなものが少ないです。
文法的なことではなく、実践的なOOPを身に付けたいです。
クラスの書き方はある程度覚えたので、例えば、グローバルスコープで、
どうオブジェクトを扱うか等の知識を得たいです。
よろしくお願いします。
0632nobodyさん
2014/03/18(火) 13:55:07.26ID:???0633nobodyさん
2014/03/18(火) 14:50:00.57ID:ql50fOB40634nobodyさん
2014/03/18(火) 15:06:37.74ID:???そこの部分の一般例を覚えたいってこと?
それならば、クラス設計を突き詰めて学んだほうがいい気がする。
どうオブジェクトを扱うかは、結局クラス設計に依存するし、それ次第で変わるから。
そのあたりについて色々書いている人多いから、玉石混交だけど
色々読んでみるといいと思う。
で、課題作って実践する。
>>633
それ「自体」は無しじゃない。
0636631
2014/03/18(火) 15:51:26.19ID:RyBw1YMD具体的には、掲示板でもブログでもアンケートでもいいのですが、
OOPに基づいて、WEBアプリを構築してみたいというものです。
書籍「パーフェクトPHP」で学習したところ、OOPでフレームワークの構築をするとか
敷居がかなり高かったので、入門的に、掲示板などをOOPで作る定番な手法を学習したいのです。
端的には、「クラスを書いたら、後はどうしたらいいの?」という疑問です。
auto_loadして、クラスを読み込んで、オブジェクトを作り、プロパティを設定、
そして、メソッドを実行という流れだと想像するのですが、
全体としては、どのようにコーディングするのか、お手本がなくよくわからないのです。
0637nobodyさん
2014/03/18(火) 16:24:02.08ID:???private $db;
function __construct() { $this->db = DB::instance()->get(); }
function makeThread($_title, $_name, $_mail, $_body) {
//transaction
//INSERT INTO thread_tbl (title) VALUES ($_title)
//INSERT INTO res_tbl (thread_id, name, mail, body) VALUES ($lastInsertId, $_name, $_mail, $_body)
//commit
}
function getThreadTitle() {
}
function readThread($_threadId) {
}
function deleteThread($_threadId) }
}
function postResponse($_threadId, $_name, $_mail, $_body) {
}
function deleteResponse($_threadId, $_resId) {
//UPDATE res_tbl SET name = 'あぼーん', mail = 'あぼーん', body = 'あぼーん' WHERE thread_id = $_threadId AND res_id = $_redId
}
}
ど、どう?
0638631
2014/03/18(火) 16:52:00.21ID:RyBw1YMDコードを示して頂きありがとうございます。
とても分かりやすいコードです。
このクラスを実際に利用するには、どうしたらよいのでしょうか?
グローバルスコープに次のようにすればよいのでしょうか?
<?php
require_once('DB.php');
require_once('2chLikeBBS.php');
$obj = new 2chLikeBBS();
//スレッド作成の場合
$obj->makeThread($_title, $_name, $_mail, $_body);
?>
0639nobodyさん
2014/03/18(火) 16:59:31.16ID:???http://www.php.net/manual/ja/function.spl-autoload-register.php
0640nobodyさん
2014/03/18(火) 17:08:45.44ID:???まぁ勝手にロードとか型なしとかメリットでありデメリットでもあるからね
他人がコード読む際の可読性とか
0641nobodyさん
2014/03/18(火) 17:19:26.69ID:???使い勝手のためならお好きにどうぞ
メモリの使用量を抑えるためだったら
クライアントライブラリ側で結果セットをバッファリングしてないかも調べとこう
0642nobodyさん
2014/03/18(火) 17:27:33.26ID:???下のほうは実装例だから参考にしなくていいけど
上のほうにオートローダーの趣旨が書いてるから
>>639の説明がよくわからなかったら読んでみるといいかもしれぬ
0643631
2014/03/18(火) 17:29:03.73ID:RyBw1YMDありがとうございます。
このようにクラスを作成した場合、各メソッドごとに処理を記述します。
しかし、グローバルスコープでは、それらの一部のメソッドを使用するだけです。
この場合、使用しないメソッドも、全部を読み込んでいることになります。
クラスに10のメソッドが有る場合に、グローバルスコープで1つしかメソッドを
使わない場合には、効率が悪いように思えるのですが、
OOPでは普通のことなのでしょうか?
0645nobodyさん
2014/03/18(火) 17:40:10.21ID:???>>637はモデル
>>638はコントローラ
>>638でのコードはもっと多岐に渡るはずだぜ
作ったり消したり読み込んでビューを呼んで表示したり
0646nobodyさん
2014/03/18(火) 17:47:58.92ID:???>使わない場合には、効率が悪いように思えるのですが、
>OOPでは普通のことなのでしょうか?
クラスに属する振る舞い(メソッド)を定義してるだけ≒関数定義してるだけで
全く気にする必要はないですね
例えばmysqli apiで実際に使うメソッドなんてこの中の2割程度なのでは?
http://www.php.net/manual/ja/class.mysqli.php
0647631
2014/03/18(火) 18:18:38.57ID:RyBw1YMDありがとうございます。目から鱗です。
メソッドを定義しても実行しなければ、パフォーマンスに影響しないのですね。
これまで、PHPの入門書に従って、使う関数のみを読み込み、
その都度、関数を実行していました。
そのため、関数をそれぞれ別ファイルに保存する方法をとっていました。
OOPだと、その関数を一つのファイル(クラス)にまとめられるのですね。
>>644-645
OOPとMVC、そしてフレームワークは深い関係があるようなので、
もう一度、OOPでフレームワークの学習に挑戦してみます。
ありがとうございました。
0648634
2014/03/18(火) 18:54:20.68ID:???ユーザの作成するものじゃパフォーマンスに与える影響は一応違う。
モジュール化されたものは、シンタックスチェックとか入らないから。
ただまぁ、それだけぶっこんどいても実用上そこまで気にならないレベル。
MVCで、躓くところって大体決まってるのでその時はMVACも参考にしてみると面白いかも。
クラスに複数メソッドが〜の部分は、メソッドの書き方に強く依存するけど、
それらを効率的に書こうとすると結構privateメソッドが増えてくることに気付けると思う。
0649631
2014/03/18(火) 19:39:11.61ID:Dg0Vus48ありがとうございます。
参考にさせて頂きます。
0650質問です。
2014/03/18(火) 23:41:47.91ID:pDJRMjYx「接続先IPアドレス」と「HTTPリクエストヘッダ」を知る方法を教えてください。
$content = file_get_contents('http://example.com/hoge/fuga.html');
HTTPレスポンスヘッダなら $http_response_header で扱えますが、
その逆の、PHP側がリクエスト時に発行したリクエストヘッダを知りたいのです。
「GET /hoge/fuga.html HTTP/1.1」みたいなやつです。
また、この方法だと、DNSラウンドロビンで複数のサーバが立っていたら、
どのホストに接続したのかわからないと思います。
接続した先のIPアドレスを知る方法はあるでしょうか?
いちいちリクエストする前にURLを分解して
dns_get_record()でAレコードかAAAAレコードを記録してから
fsockopen()するしかないのでしょうか。
何か良い方法があれば教えてください(´・ω・`)
0651nobodyさん
2014/03/19(水) 00:26:23.47ID:???http://www.php.net/manual/ja/ref.curl.php
0652nobodyさん
2014/03/19(水) 02:31:42.34ID:???>いちいちリクエストする前にURLを分解して
>dns_get_record()でAレコードかAAAAレコードを記録してから
>fsockopen()するしかないのでしょうか。
接続先のIPを知る必要があるならやっぱ明示的に指定しないとだめだと思う
0653nobodyさん
2014/03/19(水) 10:24:38.28ID:iTMSstnB【PHPのバージョン】6.3
【連携ソフトウェア】MySQL
【質問内容】
PDOでのエスケープについてご教授いただければと思います。
PDOを使えば自動的にエスケープなどがされると見かけますがこれはbindParamなどをしたときにエスケープされるということでしょうか?
それとも普通にexecuteされると自動的にされているということでしょうか?
$stmt = $conn_search->prepare("SELECT * FROM user WHERE id=?");
$stmt->execute(array($id));
この場合はエスケープされていないという判断でよいのでしょうか?
0655nobodyさん
2014/03/19(水) 11:46:52.59ID:???file_get_contentsを使う限りそのリクエストヘッダを知る方法はなかったはず?
ただfsockopenが許されるなら、つまりリクエストヘッダを定義することはOKってことですよね。
微妙な路線なんだけど、file_get_contentsの第三引数でがっちり定義でなんとかなりまへんか?
何か特殊なhttp経由のサービス使いたくてそれ用にきっちりやりたいなら、fsockopenでカチっと書いたほうがいいと思うけども。
httpのプロトコル理解できてるなら、2,3時間のことだし。
0656nobodyさん
2014/03/19(水) 13:02:20.25ID:???DNSでもIPでもないHTTPだけじゃ無理だ
fsockopen()つかうぐらいなら、あらかじめ名前解決だけしておいて、curl使った方が楽だろ
0657nobodyさん
2014/03/19(水) 15:23:11.73ID:???ログインしても画面が真っ白で何も表示されません。
ググったんですが解決法が見つからず困っています。
アパッチログにはエラーらしきものは出てません
0658nobodyさん
2014/03/19(水) 15:27:24.82ID:???0659nobodyさん
2014/03/19(水) 15:29:42.86ID:???0660nobodyさん
2014/03/19(水) 15:57:05.57ID:???0661nobodyさん
2014/03/19(水) 15:58:21.86ID:???0662650
2014/03/21(金) 23:28:58.52ID:omHYYgA0返信ありがとうございます。
HTTPリクエストヘッダを簡単に取得する方法に淡い期待をしていましたが、
どうやら無いようですので、あきらめがつきました。
結局、parse_url()でパーツに分けてHTTPリクエストヘッダを用意して、
名前解決したIPアドレスへfsockopen()で接続してから、
fwrite()でHTTPリクエストヘッダを送信し、
fread()でレスポンスを繰り返し受信して、
preg_split()でHTTPリクエストヘッダとメッセージボディに分けました。
file_get_contents()なら1行で済むんですが、
細かいカスタマイズをしたければ、
やはり自分で書くしかないですよね(´・ω・`)
0663nobodyさん
2014/03/21(金) 23:49:59.09ID:???特定IPアドレスへのアクセスをする際の
HTTPリクエストヘッダの簡単に取得する方法だよね?
HTTPリクエストヘッダの簡単に取得する方法だけなら
>>651が答えている通り
Curlで済むんで。
0664nobodyさん
2014/03/22(土) 00:17:21.35ID:YY11zoAH配信サイトのコメントビュアをつくろうと考えています。
ツイキャスで投稿されたコメントはAPIがあるので取得できたのですが、FC2Liveで投稿されたコメントはAPIが無いので取得することができませんでした。
APIの用意されてないウェブサービスにおいて、コンテンツをphpで取得するにはどうしたらいいですか?
初心者ですいません。これらに関するキーワードだけでも教えてもらえないでしょうか?
0665nobodyさん
2014/03/22(土) 00:40:39.13ID:???結論から言うと無理じゃね
変態なら作れるかもしれないけど
0668nobodyさん
2014/03/22(土) 09:36:35.14ID:???著作権で逮捕されてもしらんぞ
0670nobodyさん
2014/03/22(土) 12:59:18.63ID:???ぱっとみたいだけならFirefoxアドオンのLiveHttpHeadersとか
Chromeは使ってないけど他のブラウザでも似たようなのはあるはず
0671650
2014/03/22(土) 14:52:37.40ID:ktRnIyxMPHPのマニュアルでcURLをパッ見た時は内容が多過ぎてよくわからなかったのですが、
他の方のブログ記事などを読んで理解できました。
下のようにしろとおっしゃっているんですね。
この方法は知らなかったので、勉強になりました。ありがとうございます。
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, TRUE );
curl_setopt( $ch, CURLINFO_HEADER_OUT, TRUE );
curl_setopt( $ch, CURLOPT_HEADER, TRUE );
$response = curl_exec( $ch );
$request = curl_getinfo( $ch, CURLINFO_HEADER_OUT );
curl_close( $ch );
ただ、この方法だと、IPアドレスでURLを開いた場合、
リクエストするHost:を変えられない気がしますので、
当面は >>662 の方法で様子を見てみたいと思います。
ありがとうございました。
0672nobodyさん
2014/03/22(土) 15:24:19.74ID:???curl_setopt($ch, CURLOPT_HTTPHEADER, array("Host: localhost"));
0673nobodyさん
2014/03/22(土) 16:27:57.78ID:???0674nobodyさん
2014/03/22(土) 16:44:11.97ID:???あざっす クロームのnetwork recordだけだとうまく行かなったので
それつかってみようと思います
0675650
2014/03/23(日) 17:53:41.96ID:1kWfhJwoうう、ありがとうございます。
>>662 の方法は1行のバイト数に上限があって
ちょっと気持ち悪いので、さっそくcurlに書き換えたいと思います。
2ちゃんねるも、まだまだ捨てたもんじゃないですね(;´д⊂ヽ
0677nobodyさん
2014/03/24(月) 20:33:17.30ID:x7Llo+Ch【PHPのバージョン】6.3
【連携ソフトウェア】MySQL CakePHP
【質問内容】
PHP側からサーバーの転送量などは取得できますか?
サーバー監視などがあれば取得出来ることは知っておりますが
クライアントからroot権限などがない状態で転送量を測ってくれといわれまして
PHPだけで転送量を見ることは可能ですか?
0678nobodyさん
2014/03/24(月) 20:35:31.33ID:???0680nobodyさん
2014/03/24(月) 21:54:48.46ID:???をfile_get_contentsか何かで読み込む
0681nobodyさん
2014/03/24(月) 22:09:48.15ID:viK+nXYjひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。ひんがら目気色悪すぎこっち見んな死ね。
0682nobodyさん
2014/03/25(火) 00:31:40.37ID:???24時間、週間、月間で記事のクリックランキングを作りたいのですが、どうすればいいのでしょうか?
アンテナ自体はすでに完成していて、挙動としては、
Cronで一定時間ごとにRSS取得→データベースに登録→CSVに吐き出す→CSVを整形して出力
という流れになっています。
ここに上記の記事ランキングを付け加えたいのですが、どういうことをすればいいのか全然わかりません・・・。
0683682
2014/03/25(火) 00:32:26.92ID:/ohf3xE7宜しくお願いします。
0684nobodyさん
2014/03/25(火) 00:48:59.93ID:???リンクにクリックをトラックするJSを仕込んで(探せば出来合いのものが見つかる)
クリックカウントをファイルでもDBでも好きなところに保存。
DBならSQLでソートして出来上がり。
ファイルならPHP適当に処理して出来上がり。
出来上がったものをランキングの表示箇所に適当な手段で表示して完成
0685682
2014/03/25(火) 01:20:44.79ID:/ohf3xE7ありがとうございます!
JSだけ探せれば意外と簡単そうですね。
やってみます!
0686nobodyさん
2014/03/25(火) 07:09:23.96ID:???リンクをそのサイトへの直リンクではなく、自分のアプリケーションを経由するリダイレクトにする。
自分のアプリケーションの中でカウンタをインクリメントさせる。
こんなやり方もある。
0687nobodyさん
2014/03/26(水) 05:56:20.37ID:WEvnT6thどう指定したらいいでしょうか?
これではだめでした
unlink("1.jpg","2.jpg");
よろしくおねがいしますm(_ _)m
0688nobodyさん
2014/03/26(水) 05:58:49.75ID:???0689nobodyさん
2014/03/26(水) 06:13:09.03ID:???心配ならis_writableしてからやればいいんじゃね
あとはrenameしてtmpフォルダに移動するとか
0690nobodyさん
2014/03/26(水) 06:36:41.28ID:???0691nobodyさん
2014/03/26(水) 08:03:55.75ID:???仮に2つ以上同時に消せたとしても、内部的にやってることはforeachとかで回してまとめて消されてるだけの話
$files = array("a.jpg", "b.jpg");
function unlink_multiple($files){
//ファイルが必ず存在していると仮定して未チェック。必要に応じてfileがexistsか、is writableかチェックすること
foreach($files as $file){
unlink($file) or echo "{$file}が削除できませんでした。\n";
}
}
0692nobodyさん
2014/03/26(水) 09:02:08.55ID:???ま、意味はないね。
0693nobodyさん
2014/03/26(水) 16:54:48.67ID:n03wQtbD【PHPのバージョン】4.2.3
【連携ソフトウェア】apache 1.3
【質問内容】
テキストファイルのダウンロードをしたいです。chrome firefoxでは
動作しましたがIEはver11,ver8で試しましたが動作しません。
IEの場合、画面に表示されてしまいます。
<?php
$filename = "test.txt";
header('Content-Type: application/octet-stream; name=' . $filename);
header('Content-Disposition: attachement; filename=' . $filename);
print "ABCD\nEFGI\n";
?>
logを見てもphpのエラーはないようです。何か解決の方法、ヒントをいただけないでしょうか。
よろしくお願いいたします。
0694nobodyさん
2014/03/26(水) 17:21:31.90ID:???ちなみに、何でそんな古い環境でつかってんの?
>【OS名】TurboLinux8
→サポート提供期間を2008年1月までに延長
(http://www.turbolinux.com/products/server/tl8s.html)
>【PHPのバージョン】4.2.3
Support for PHP 4 has been discontinued since 2007-12-31. Please consider upgrading to PHP 5.
(http://jp1.php.net/releases/)
>【連携ソフトウェア】apache 1.3
1.3.42 of the Apache HTTP Server was last 1.3 bug and security fix release. Please upgrade to the latest stable release to continue to receive bug and security fixes.
(http://httpd.apache.org/security/vulnerabilities_13.html)
0695nobodyさん
2014/03/26(水) 17:22:42.39ID:???IE11で確認しました。
0696693
2014/03/26(水) 18:23:32.41ID:n03wQtbDテレビ録画に使っていて、新たにごにょごにょするのが面倒だからです。
>>695
すみません、その1行の部分が私と違っているので動作しないということでしょうか。違いが見つけられずにいます。
$filenameとあるので他行を削除というわけではないと思うのですが・・・。
それとも同じで動作確認ができたということでしょうか。だとするとphp.iniの設定でしょうか。
0698nobodyさん
2014/03/26(水) 18:27:56.44ID:???0700nobodyさん
2014/03/26(水) 19:00:42.66ID:???0701693
2014/03/27(木) 12:11:26.36ID:oazb6RzA動作しました。こういうところは厳格なのねIE。
アタッチとアパッチのスペルが違うことを学びました。
ありがとうございました。
0702nobodyさん
2014/03/27(木) 12:22:09.49ID:???0703nobodyさん
2014/03/27(木) 12:37:41.56ID:???attachment指定がないときのデフォルト動作が違うだけやな
0704nobodyさん
2014/03/27(木) 13:05:22.02ID:???0706nobodyさん
2014/03/27(木) 15:58:34.54ID:???0707nobodyさん
2014/03/27(木) 16:00:17.37ID:???0708nobodyさん
2014/03/27(木) 16:04:49.92ID:???$word = preg_replace("/.(んこ)/","ま$1",$word);
0709nobodyさん
2014/03/27(木) 16:05:00.43ID:???ぱ
て
0710nobodyさん
2014/03/31(月) 01:09:38.88ID:???廃
P
H
P
0711nobodyさん
2014/03/31(月) 22:34:02.22ID:MfJjHQrV具体的には、
1をaに
2をbに
…
27はaa
28はab
…
というような感じです。
$arr=array(1=>'a',1=>'b',1=>'b');
のように配列で置き換えるのは有限なので、
簡単、確実に置き換える方法を教えてください、お願いします。
0713nobodyさん
2014/03/31(月) 22:39:27.64ID:???0714nobodyさん
2014/03/31(月) 22:51:26.49ID:MfJjHQrVありがとうございました。
とりあえず、base_convertを使い、その返り値を
pをzに、oをyに…というように置き換えるやり方でやってみます。
0715nobodyさん
2014/03/31(月) 23:12:29.82ID:???http://www.xvideos.com/video7591103/positive_hame_dick_cunt_dick_cunt_dick_cunt_dick_cunt_
http://youtu.be/2FvsBTNwUaY
ちんこまんこ /⌒\ /⌒\ ちんこまんこ
ちんこまんこ♪(( ; 三 ,,))ちんこまんこ♪
\ (σ) / ヽ ( / ミ \ (σ) /
/ 人\ キ .メ ./ / 人\
/ / \\ 乂 ノ / / \\
( (*^○^* ) ) (*^○^*) ((( ( *^○^*) )
\ \ //))) ) (⌒))) \ \ //
) Y ( ((__)⌒ ̄ ((() Y (
(__Y http://i.imgur.com/3UUUdIg.png Y_)
0717nobodyさん
2014/04/01(火) 15:25:13.07ID:???integerをアルファベットのみの26進で表現すればいいってこと?
bcmathで26進計算して、
出た数値を桁ごとに36進上でa加算でダメかね。
ただ、昔
"0123456789"を"abcdefghij"の二つの文字列を放り込んで
対象とする文字列位置で変換する関数をどっかで見た気がする。
どちらにせよ、一旦ふつうの26進経由になるけど。
0718717
2014/04/01(火) 15:32:11.97ID:???http://jp.php.net/manual/ja/function.strtr.php
あった、たぶんこれだ。
26進にbcmathあたりで落とし込んで、これで置き換えるよろしね。
仕事中でマニュアルよく読んでないから間違ってたらごめん。
0719nobodyさん
2014/04/01(火) 16:02:54.18ID:XHKBRGjO呼び出し元と呼び出し先のそれぞれで必要とされるコマンドラインオプションが異なるのですが、それぞれにPEAR Console_CommandLineが無関係なオプションに対して例外を発行し、とまってしまいます。
例外を発生させず、すべてのオプションをすべてのソースに記述することなく、関係のないコマンドラインオプションを指定できるようにするにはどうしたらよいのでしょうか?
ご教示のほどよろしくお願いします。
0720nobodyさん
2014/04/01(火) 16:08:35.01ID:???0721nobodyさん
2014/04/01(火) 16:16:32.28ID:???読み込むPHPスクリプトは、スタンドアロンで動くように作られていて、
それらをつなげて、cliで実行しようとしてるってことですかね。
それだけだとそれぞれのスクリプトが何をどう要求するかとか関係性もなんともなんで、
もう一レイヤー上にかぶせて一個ずつ値返してもらいながら実行したほうがいいんじゃん と…。
か、目的に沿って読み込むPHPスクリプトを書き換えるか、パイプでつなげてそれぞれ実行。
0722nobodyさん
2014/04/01(火) 16:26:34.81ID:XHKBRGjOありがとうございます。
2つの単体で動くスクリプトを無理矢理つなげてる感じです。
元コードの書き換えを最小限かつ一回のプロセスで実行というのが目的です。
0723nobodyさん
2014/04/01(火) 17:06:24.29ID:???0724nobodyさん
2014/04/01(火) 18:07:02.12ID:lqO10EeAどのページも数秒ごとにグルグル回転するんですけど
0725nobodyさん
2014/04/01(火) 18:13:17.82ID:???0728nobodyさん
2014/04/01(火) 18:29:15.80ID:???0729nobodyさん
2014/04/02(水) 00:57:50.01ID:???0730nobodyさん
2014/04/02(水) 14:49:00.93ID:cY4xaY21$a_id = 1;
$sql = 'select * from ? where test3 = ? limit 4';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(1,$db_pic, PDO::PARAM_STR);
$stmt->bindParam(2,$a_id, PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($row);
こんな感じでPDOを書いてるのですが、
$rowが取得できません。
原因は、$stmt->bindParam(1,$a_id, PDO::PARAM_STR);のようで、
from c_pic where〜と直接$sqlに書いた時には正常に取得できます。
何が悪いのでしょうか?
0731nobodyさん
2014/04/02(水) 14:59:19.45ID:???クオート外す手もあるけど、それじゃprepareの意味が無くなるから
名前のチェックしたうえで、文字列の連結で対応するのがいいと思う
0732nobodyさん
2014/04/02(水) 15:50:36.37ID:???フレームワークは、人数に限った話じゃないよ。
わざわざスクリプト書く前にあれこれ考えなくていいから楽。
ということであったほうがベターに一票。
無くても考えることがないというのなら、もはや言うことはない感じ。
特殊用途、例えばテンプレートとコントローラしか持たず、
外部のバッグエンドをモデルとして使うとかなら話は別だけど。
それでも大概はルーティングがなーとかアクションのかき分けがなー
ということで、既成のフレームワークに頼るけど。
0733730
2014/04/02(水) 16:22:26.78ID:cY4xaY21お答ありがとうございます。
しかしすみません、いまいちわからないのですが、具体的にどういうことでしょうか?
0734nobodyさん
2014/04/02(水) 17:16:38.19ID:???bindで文字列を指定すると 'str' となる
テーブル名のとこはクオート付けちゃダメ
てなわけでチェックした後 form ' . $db_pic . ' where にするしかない
0735nobodyさん
2014/04/02(水) 17:28:02.49ID:???エディタとデバッガとテストツールと用意してゴリゴリファイルを編集した方がいいですか?
メリットデメリット教えてください
0738nobodyさん
2014/04/02(水) 18:55:59.95ID:???最近は、project管理もそこそこしっかりしたsublime text editorみたいな
エディタもあるので、とてもなんとも言えない。
ただ、仕事でやるなら場所によってIDEが強制されたりすることもあるから
Eclipseとかも使っておけって感じ。
あとは正直、好み
0740nobodyさん
2014/04/02(水) 19:44:36.57ID:???0741nobodyさん
2014/04/02(水) 20:46:59.35ID:???というか、IDEをつかうか、IDEに搭載されている各機能を個別に用意するかの違いでしかないじゃん。
前者は、ワンセットになってるのがメリット。
後者は、個別に好みのツールを選択できるのがメリット。
デメリットは楽か面倒か。
0742nobodyさん
2014/04/02(水) 20:49:18.63ID:???何この質問
0744nobodyさん
2014/04/02(水) 21:09:08.18ID:???そんな奴は回答者の資格なし
0745nobodyさん
2014/04/02(水) 21:15:22.26ID:???0747nobodyさん
2014/04/02(水) 21:19:21.84ID:???0748nobodyさん
2014/04/02(水) 22:52:41.48ID:???必死にスパゲティ書いて遅いつってるだけだな
0750nobodyさん
2014/04/03(木) 03:05:46.41ID:???テストを行うに当たってローカルであるかどうかは関係ない。
>>743
そして規模も関係ない。
>>744
勘弁してください。
0751nobodyさん
2014/04/03(木) 03:42:08.83ID:/dGmV7H30752730
2014/04/03(木) 08:57:30.07ID:2ZP0tz+B>>736
>>737
みなさんありがとうございます。
理解しました。
要はテーブル名に対してbindParamが使えないということなんですね。
自分でエスケープした後に直接ぶち込むと。
ありがとうございました!
0753nobodyさん
2014/04/03(木) 09:06:54.48ID:???webに限れば動的言語の中では上位だけども。常識ですよ
0754nobodyさん
2014/04/03(木) 10:04:45.87ID:???というか、最適化が多層に抽象化レイヤー挟んでもまともに動くように色々気を利かせすぎてるから、
逆にcとか比較的高級言語の中でも低級な言語を学ぶと、マジでくそ言語に見えるのは仕方がない。
0755nobodyさん
2014/04/03(木) 12:42:52.52ID:???ジ
ク
ソ
言
語
P
H
P
0756nobodyさん
2014/04/03(木) 12:55:57.53ID:???0757nobodyさん
2014/04/03(木) 13:23:45.83ID:???fb程アクセスが無けりゃCに変える必要もないし
0758nobodyさん
2014/04/03(木) 15:13:27.33ID:???0759nobodyさん
2014/04/03(木) 20:52:53.39ID:FO6wfUPWhtaccessで「deny from all 」と書く以外で方法は無いでしょうか?
0760nobodyさん
2014/04/03(木) 20:57:13.42ID:???てか、denyしたらコンテンツにアクセスできなくなるでしょ。
0761759
2014/04/03(木) 21:16:55.52ID:???そうなんです。deny from allにすると、画像が表示されません。
Indexesを使っても表示されません。
なので、file.php?f=ファイルのURL
みたいにして表示させるようにしているのですが、
こういう方法以外に手軽に出来る方法が無いかと思い、質問しました。
0762nobodyさん
2014/04/03(木) 21:27:38.55ID:???0765nobodyさん
2014/04/04(金) 00:22:38.23ID:???ルールも守れないゴミクズは来なくていいよ。
お前ら生きてるだけど迷惑だけど自覚はないんだろうな。
0766nobodyさん
2014/04/04(金) 02:27:32.33ID:???deny from all と Indexesを同時に設定したんじゃないかって思うんだけど。
>>765
なんでageたの?
0767nobodyさん
2014/04/04(金) 09:00:58.92ID:nLQnUNGhユーザー情報、スレッド情報、書き込み情報、
これらはそれぞれどのようなかたち(datファイル、MySqlなど)で読み書きするべきでしょうか?
処理が速いのが最大条件で、できればmysqlの使用は最低限にしたいです。
0769nobodyさん
2014/04/04(金) 09:51:11.02ID:???0771nobodyさん
2014/04/04(金) 10:04:40.84ID:wlhCw4pFこの機能の制作にあたりユーザーに入力してもらうべきデータは
何でしょうか?
他のサイトを調べると、メールアドレスの他に、ユーザーIDや
誕生日など、メアド以外のデータを求めるものもあります。
一見、多くの情報を入力させれば、より安全なように思えますが、
メアドは本人しか利用できない以上、他は気休めな気がします。
現在、自分が制作しているものは、次のようにしています。
「1.登録メールアドレス入力」→「2.メール送信(認証キー付)」→
「3.認証用リンククリック」→「4.認証キー及び新パスワードの入力」
これだけで大丈夫でしょうか?ユーザーIDなども求めた方がいいですか?
よろしくお願いします。
0772nobodyさん
2014/04/04(金) 10:06:07.92ID:???0773nobodyさん
2014/04/04(金) 10:11:12.62ID:???0774nobodyさん
2014/04/04(金) 10:43:18.32ID:???>>771
どちらも設計レベルな話なのでPHP関係ありません。
ただ>>767はギリギリPHP言っているので少しマジレスすると
それPHP関係ない。アーキテクチャの話だろ。スレチだ。
どうDBを使うかとかの話まで進められたらDB板いけ。
0775nobodyさん
2014/04/04(金) 12:10:00.14ID:TGYzsB6sfunction a() {
$ary = [ 1, 2, 3 ];
$func = function ($n) {
var_dump($ary); // null
return in_array($n, $ary);
};
$func(5);
}
globalがあっても同じです。
$aryはグローバルにできません。
この場合 $func で $aryを参照するにはどうしたらいいですか?
0776nobodyさん
2014/04/04(金) 12:12:05.71ID:???0777nobodyさん
2014/04/04(金) 12:20:43.34ID:???0778nobodyさん
2014/04/04(金) 12:26:25.51ID:TGYzsB6suse ありがとうございます
0779nobodyさん
2014/04/04(金) 12:33:37.73ID:???function ($quantity, $product) use ($tax, &$total)
{
$pricePerItem = constant(__CLASS__ . "::PRICE_" .
strtoupper($product));
この書式初めて見た
何やってんのこれ?
0780nobodyさん
2014/04/04(金) 13:08:38.78ID:???0781nobodyさん
2014/04/04(金) 14:16:55.48ID:???>クロージャは、変数を親のスコープから引き継ぐことができます。
> 引き継ぐ変数は、use で渡さなければなりません。
書式は見た感じクロージャー作成のfunction()のあとの{が来る前にuse (使用したい変数を羅列)すればいいだけじゃね
globalに似た概念じゃね
他にもuse演算子とかあるみたいだがこれはたぶん別物
http://www.php.net/manual/ja/language.namespaces.importing.php
0782nobodyさん
2014/04/04(金) 15:00:03.52ID:???0783nobodyさん
2014/04/04(金) 15:17:07.96ID:2qJouDRVない場合どうしたらfloatを超えるような累乗の計算ができますか?
0784nobodyさん
2014/04/04(金) 15:39:26.30ID:???http://www.php.net/manual/ja/language.types.float.php
ここの精度を読んだ上で必要ならリンク先を使うと良いよ
doubleはphpの場合だとfloatと一緒だよ
0786nobodyさん
2014/04/04(金) 16:55:59.36ID:???0787nobodyさん
2014/04/04(金) 17:07:05.60ID:???何をしたいのか知らないけど、その言葉から思いつく範囲のことはできる。
けどそれを1行でやりたいという気持ちでライブラリという言葉を出しているのならない。
0788nobodyさん
2014/04/04(金) 17:42:11.89ID:???ディレクトリとらばーゆできそうな感じだけど大丈夫?
file.php?f=/etc/passwdみたいなやつ
0789nobodyさん
2014/04/04(金) 17:47:14.45ID:???0790nobodyさん
2014/04/04(金) 19:09:27.77ID:Qlf2ysY+0791nobodyさん
2014/04/04(金) 19:18:40.41ID:???0792nobodyさん
2014/04/04(金) 19:35:26.28ID:2qJouDRVありがとうございます
全く少数を使わない場合でもgmpのほうがいいのでしょうか?
他の言語との互換がある方がいいのですが
0793nobodyさん
2014/04/04(金) 21:02:03.88ID:???PHPの関数って64bit環境で実行してても一部32bitしか内部的に通さないのとかあるから、それに引っかかってできなさそうなとき、かつ32bitを超える幅が欲しい場合には、任意精度関数に頼っちゃうのが楽ってだけでして。
powがどうだったか覚えてないけど、powダメなら、自分で書くか、既存のものに頼るならgmpあたりかってだけです。
なお、小数のtypoと予測してレスすると、別段精度があがったからといって、小数点下だけが伸びるってわけじゃない。
他の言語と互換性云々言うなら、互換性持たせたい言語のマニュアルでgmpがどう実装されているか等調べてくればいいじゃまいか。
0794nobodyさん
2014/04/05(土) 00:58:52.81ID:6eD+hcImありがとうございます
どちらも同じ値だったのでそのままpowにします
ありがとうございました
0796nobodyさん
2014/04/05(土) 14:17:11.03ID:2SiAoHBrNAS保存する事になったんで、同じようにmkdirしようとしたんですが、
mkdirで「No such file or directory」になってしまいます。
IP指定だといけるようなんですが、ドライブレターの書き換えだけで
すまないんでしょうか?
元々
define('NAS_ROOT' , 'D:/hoge/share');
@mkdir(NAS_ROOT, 0777, true);
変更(エラー)
define('NAS_ROOT' , 'Z:/hoge/share');
@mkdir(NAS_ROOT, 0777, true);
変更2(いける)
define('NAS_ROOT' , '\\\\192.168.0.100\\\\hoge\\share');
@mkdir(NAS_ROOT, 0777, true);
0797nobodyさん
2014/04/05(土) 14:50:56.72ID:???そこまでして売名したいのかと
qiitaのphpタグの記事は不快
0798nobodyさん
2014/04/05(土) 14:57:19.59ID:???0800nobodyさん
2014/04/05(土) 15:03:14.94ID:???0801nobodyさん
2014/04/05(土) 15:17:51.64ID:???それくらいしか考えられないんだけど
0802nobodyさん
2014/04/05(土) 15:24:12.08ID:???httpdのDOCUMENT_ROOTもネットワークドライブが指定できなかった思い出がある
0803nobodyさん
2014/04/05(土) 15:29:10.67ID:???0804nobodyさん
2014/04/05(土) 15:32:43.92ID:2SiAoHBrNAS側はとりあえずEveryoneフルコン
プールのユーザーも実在ユーザーにして、
そのユーザーでZドライブを張ってます。
>>802
ああ、すいません。IIS7、PHP5.3です
セキュリティ設定周りの話なのか
PHPのmkdirの制限なのか情報が見つけられなくて、
どっちの問題なのかなあ…という話です
ローカルドライブ、IP指定、マシン名指定なら行けるのは確認してます
0805nobodyさん
2014/04/05(土) 15:55:58.85ID:???見るからに仕様だな
0806nobodyさん
2014/04/05(土) 16:35:27.71ID:???ENOENTはイミフだけど、叩いてるAPIがそう返してるんだろう。
0807nobodyさん
2014/04/05(土) 22:37:06.56ID:???echo <<< EOF
{test::m_aaa()}
{$ins->m_ins()}
EOF;
ヒアドキュメントでスタティックはそのまま出力される
この挙動の違いどうにかなりませんかねー
0808nobodyさん
2014/04/05(土) 22:51:07.78ID:???0809nobodyさん
2014/04/06(日) 17:10:33.74ID:nQEJIdXzhttp://44.xmbs.jp/cashingnavi0
0810nobodyさん
2014/04/07(月) 18:44:56.32ID:zX0JJVR6これらに、予定しないキーが渡された場合、どう検出するのが最良ですか?
たとえば、$_GET['abc']及び$_GET['def']は受け付けるが、
それ以外はエラーとして検出する方法です。
つまり、$_GET['xyz']や$_GET['イロハ']などの場合には、拒否したいのです。
このためには、一度、array_keysですべてのキーを取得して、
ループで'abc'及び'def'以外のものを探すようにするしかないですか?
<?php
$keys = array_keys($_GET);
foreach($keys => $key) {
if ($key !== 'abc' && $key !== 'def') {
exit('param error.');
}
}
また、このように不正なキーを拒否することに意味はありますか?
多くの場合、スクリプト内で無視されるので無意味なのでしょうか?
利用法としては、不正なリンクからのアクセスを拒否したいと考えています。
よろしくお願いします。
0811nobodyさん
2014/04/07(月) 18:54:36.27ID:???countなりしてその2個だけ調べるとか…?
調べるキー増やすこと考えたらarray_searchのがいいんじゃない?
0812nobodyさん
2014/04/07(月) 19:00:24.63ID:???0813nobodyさん
2014/04/07(月) 19:02:15.47ID:???0814nobodyさん
2014/04/07(月) 19:06:18.03ID:???0815nobodyさん
2014/04/07(月) 19:08:53.28ID:???array_diff_keyかarray_diffで比較すればいいけど
意味はないな
0816nobodyさん
2014/04/07(月) 19:26:34.90ID:???$strict_keys = array('abc', 'def');
if (count(array_diff(array_keys($_GET), $strict_keys)) != 0 &&
count(array_diff($strict_keys, array_keys($_GET))) == 0)) {
exit('param error.');
}
しかし、なんかめんどくさいからこっちのほうがいいかも。
$strict_keys = array('abc', 'def');
$keys = array_keys($_GET);
if (arsort($keys) != arsort($strict_keys)) {
exit('param error.');
}
意味はあるかというと、あまりない。register globalsがonであるような環境も今はない(と思いたい)し。
0818810
2014/04/07(月) 19:55:00.01ID:oeJdbJD1ご回答ありがとうございます。とても参考になりました。
$_GETの入力値チェックをしていたところ、不正なキーを持つリンクでも
通ってしまったので気になって質問しました。
http://exaple.com/abc=2014&amp;def=4&xyz=1111111
こういう場合には、弾いた方がセキュリティ的にいいんじゃないかなと。
register globalsがonでないので大丈夫だとして、
キーにJavaScript等の不正値が仕込まれたらどうなの?と少し不安に感じたのです。
入門書でも、値の検証はしても、キーの検証をしているものはなかったので
疑問に思いました。
でも、この検証にあまり意味がない(必要性がない)ということみたいで良かったです。
>>816 のコードも参考にさせて頂きます。
ありがとうございました。
0819nobodyさん
2014/04/07(月) 20:03:23.35ID:???ええと「過不足」がないことを調べるためにはそうしないとだめ。
array_diffは、引いた残りを出すことしかしない。
0820nobodyさん
2014/04/07(月) 20:09:45.97ID:???どちらも != 0にする。
ちなみに、集合が過不足なく一致しているかの検証という意味ではSQLでも同様のめんどくささ(二回引き算)があって。
幸いPHPは配列の比較ができるので、後者の(しぶしぶソートをした上で)集合そのものを比較するコードを書いた。
0821nobodyさん
2014/04/07(月) 20:13:52.25ID:???不足の話は書いてないけど
そういうことなら演算子が間違ってるだけか
過不足までやるなら
array_intersectで、元のarrayと一致するかで実装しそうだ
0822nobodyさん
2014/04/07(月) 20:14:31.65ID:???0823nobodyさん
2014/04/07(月) 20:22:20.03ID:???array_intersectを使う場合でも結局ソートは必要で、こんな感じになる。
arsort(array_intersect($strict_keys, array_keys($_GET))) == arsort($strict_keys)
で、そうするくらいなら、intersectなんてやらずにこれで十分ということに。
arsort(array_keys($_GET)) == arsort($strict_keys)
集合比較はもっと楽であってほしいよね。
0824nobodyさん
2014/04/07(月) 20:56:05.96ID:???キーと値が維持されるから大丈夫だと思う
>>816は&&を変えないとダメだね
0825nobodyさん
2014/04/07(月) 21:09:14.05ID:???0826nobodyさん
2014/04/08(火) 21:16:44.40ID:???0827nobodyさん
2014/04/08(火) 21:46:58.86ID:???0828nobodyさん
2014/04/09(水) 13:03:06.80ID:Q3D5DjV1視認しやすさは絶対外に書いたほうだと思うんだけどいろんなプログラムのソース見てると
$header = <<< HTML 〜みたいなことして最期にechoしてるのが結構あったので気になった
実際どっちがいいの?
0829nobodyさん
2014/04/09(水) 13:13:31.56ID:???静的部分をtemplate.htmlとかで保存して、動的な部分だけ[::dynamic_contents::]みたいにして、
$output = str_replace('[::dynamic_contents::]', $dynamic_contents, $source);
$output = str_replace('[::page_title::]', $page_title, $output);
$output = str_replace('[::hoge::]', $hoge, $output);
みたいに置換で埋め込んでいく感じ
0830nobodyさん
2014/04/09(水) 13:16:00.10ID:???それはやってるうちに覚えていくから今は好きなようにやりなさい
最終的にはテンプレート使った感じになるだろう
0832nobodyさん
2014/04/09(水) 13:18:29.92ID:Q3D5DjV1ちょっと調べて実装してみる、どうもありがとう
0833nobodyさん
2014/04/09(水) 13:21:38.17ID:???0834nobodyさん
2014/04/09(水) 15:34:40.84ID:???なんか一周しちゃった感じだね。
HTMLをHTMLとして完全に独立させたかったのかなぁとは思うけど、そこまでする価値はないかな。
ということで、<?= $dynamic_contents ?>どぞ。
0836nobodyさん
2014/04/09(水) 20:23:09.80ID:???0837nobodyさん
2014/04/09(水) 20:31:02.50ID:???0838nobodyさん
2014/04/10(木) 01:04:55.50ID:???0839nobodyさん
2014/04/10(木) 01:35:22.34ID:E19cp2WKsvn up
cvs up
tar zxf
tar xfj
のどれかだな大体
0840nobodyさん
2014/04/10(木) 02:21:03.33ID:???0842nobodyさん
2014/04/10(木) 02:57:39.70ID:???vagrant
どっちか
0843nobodyさん
2014/04/10(木) 03:38:48.13ID:???サーバによっては動かないからダメ?そんな制限課してコード書くなんてドMだね。
ちなみに普段どの環境をターゲットとしてコードを書いてるの?
0844nobodyさん
2014/04/10(木) 09:10:58.62ID:???最新は常にOnだが
0845nobodyさん
2014/04/10(木) 09:17:48.16ID:???使える前提でいいよ
0847nobodyさん
2014/04/10(木) 10:39:30.65ID:???0848nobodyさん
2014/04/10(木) 10:43:07.55ID:???<?= 〜 ?> は常に使えるね。
0849nobodyさん
2014/04/10(木) 10:46:34.39ID:???<?=$piyo?>が使えたから、通常部で
<?
?>
で書いたら動かなくてハマったことあったわ
0850nobodyさん
2014/04/10(木) 16:15:52.18ID:???というか削除してしまってもいいんじゃないかな?
> 2. このスレに書き込むときに自分のサイト名を晒したくない
> → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
こんなのとか
> 3. ブラウザに何も表示されないんだけど・・・
> → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
display_errors に触れないとか Apache 限定とか
> 13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
> 17. CSVやTSVのファイルをスマートに扱いたい
質問の意味が曖昧すぎるとか色々
まぁ時代にそぐわない&みょうちくりんな項目多すぎです
0851nobodyさん
2014/04/10(木) 18:05:55.00ID:???0852nobodyさん
2014/04/10(木) 19:06:18.99ID:???0853nobodyさん
2014/04/10(木) 19:09:41.03ID:???0854nobodyさん
2014/04/10(木) 19:41:20.11ID:???まぁFAQで説明が足りない質問がきたら答えればいいだけだしあれは飾りみたいなもんだ
0855nobodyさん
2014/04/10(木) 19:44:57.13ID:???つうか5.5なんて使ってるやつ少数だし5.3が主流だからあそこの変更は早漏だろ。
まぁテンプレなんて守った質問なんてほとんどないし、
質問する時の注意に、OS名やPHPのバージョンなど環境を書けって書いとけばいいと思うわ。
MySQLやImageMagickなんてのはソース見ればわかるしな。
0856nobodyさん
2014/04/10(木) 20:05:07.35ID:???ペチパーらしいと言えばペチパーらしい
0857nobodyさん
2014/04/10(木) 20:08:19.28ID:LL77C8YL代わりとなる新しいめのライブラリはありますか?
Cache_Liteを試したのですがphp4向けらしくPEAR_ どうたらのエラーが出ます
共有サーバーなのでアップロードのみで動作すると嬉しいです
0858nobodyさん
2014/04/10(木) 20:08:54.98ID:???Webにほぼ限定されてるから問題になりやすいケースが想定しやすいからだろ
0859nobodyさん
2014/04/10(木) 20:49:30.80ID:E19cp2WK0861nobodyさん
2014/04/10(木) 21:13:04.28ID:???0862nobodyさん
2014/04/10(木) 21:39:53.99ID:0YSfcrkYくわしく
0863nobodyさん
2014/04/10(木) 21:40:21.51ID:???どこでも動かそうとするならファイルで持つのが無難じゃないかな
Doctrine\Common\Cache\FilesystemCache とか
Zend\Cache\Storage\Adapter\Filesystem とか
Zendは依存するライブラリが多いんで用途によっては逆効果かもね
0865nobodyさん
2014/04/11(金) 13:50:47.95ID:2gWD1WEGApacheやら何やらの関係でVC11のランタイムを入れたので
PHPは5.5系の64bit版が素直な選択肢になると思うんですが
このバージョンはまだ実験的であるとなっています。
説明を読むと64bitならではの部分(一部)のことのようですが
ちょっと気になります。
windows7(64bit) VC11インストール済みの環境で
5.4系(VC9)や32bit版も選択肢になるんでしょうか?
0866nobodyさん
2014/04/11(金) 14:00:56.73ID:???0867nobodyさん
2014/04/11(金) 17:49:43.55ID:DmbGkO0rフォームに「住所」という入力項目があって、
郵便番号、都道府県、市区町村などを入力します。
住所が必須でない場合について
A:1箇所でも入力があればエラーチェックをする
B:全て入力してたらエラーチェックをする
入力していないと、空の値にして入力がないことにする
のどちらが適切でしょうか?
普通はAだと思うのですが、Bの「必須項目でないのに間違った入力」
をどう処理するかで悩んでいます。
0868nobodyさん
2014/04/11(金) 17:51:32.95ID:???0869nobodyさん
2014/04/11(金) 18:01:56.24ID:DmbGkO0rフォームの作り方によってPHPの書き方も変わってくるので、質問しました。
0870nobodyさん
2014/04/11(金) 18:05:02.98ID:???データの重要度や目的による入力の自由度で決める
0871nobodyさん
2014/04/11(金) 18:09:09.79ID:???チェックするかは好きにすればいいんじゃね?
入力あったもん全部ぶち込んでおきたい派なら
個別にあるものチェックすりゃいいだろうし
郵便、都道府県、市区町村揃ってなきゃ見る価値無いってならスルー
0872nobodyさん
2014/04/11(金) 19:05:29.31ID:???こんな書き方始めてしったわ
0873nobodyさん
2014/04/11(金) 19:11:47.76ID:???0874nobodyさん
2014/04/11(金) 19:13:58.81ID:???0875nobodyさん
2014/04/11(金) 19:28:30.22ID:???0876nobodyさん
2014/04/11(金) 19:55:07.38ID:???0878nobodyさん
2014/04/12(土) 00:02:28.14ID:???便利だよね
0879nobodyさん
2014/04/12(土) 00:13:39.95ID:???0880nobodyさん
2014/04/12(土) 00:18:51.71ID:???とはいえ5.2のままのところも以外に多いし
過去のバージョンは使えず5.5のみのところもあるな
0881nobodyさん
2014/04/12(土) 00:38:04.86ID:???新しくレンタルサーバやるところでPHPを入れてるところはまずない。
今までPHP付きでレンタルしてたところは簡単には外せないから惰性で入れているが、
そういうところでも新サーバを導入するときにはPHPをインストールしないのが常識になりつつある。
完全に未来を閉ざされた言語PHP。
わざわざPHPを覚えるのは時間をドブに捨てるのと同じ。
0882nobodyさん
2014/04/12(土) 00:45:51.23ID:???0883nobodyさん
2014/04/12(土) 00:49:12.61ID:???いつもソース出せないたまに現れる基地外だから
0884nobodyさん
2014/04/12(土) 04:08:22.23ID:???一見これは!と思うでしょ
実際は他の型からbooleanへの変換仕様がアレなせいで
出番はほとんどないという
0885nobodyさん
2014/04/12(土) 09:14:34.70ID:???0886nobodyさん
2014/04/12(土) 09:16:39.52ID:???0887nobodyさん
2014/04/12(土) 17:18:21.35ID:???PHPの変態要素の一つとして有名じゃないか
if (!new SimpleXMLElement('<root />')) { echo 'えっ'; }
0888nobodyさん
2014/04/12(土) 17:31:38.03ID:???</root>
にすると表示されないな
ていうか改行入れないとだめだな
これはなんで
0889amiba
2014/04/12(土) 19:36:36.04ID:7wXnsHq0【PHPのバージョン】php-5.4.26-Win32-VC9-x64 スレッドセーフ
【連携ソフトウェア】Microsoft SQL Server 2012 Express with Advanced Services 64bit版
【連携ソフトウェア】MApache 2.2.27 win64 binary
【質問内容】
SQLサーバ用のドライバが認識されません。
原因と解決方法をご教授願います。
0890amiba
2014/04/12(土) 19:37:43.88ID:7wXnsHq0�@ドライバーDLL配置
〜〜\php54\ext の中に以下を配置
php_pdo_sqlsrv_54_ts.dll
php_sqlsrv_54_ts.dll
※Microsoft Drivers 3.0 for PHP for SQL Server からダウンロードしてきたDLL
※http://www.microsoft.com/en-us/download/details.aspx?id=20098
�Aphp.ini編集
extension_dir = "〜〜\php54\ext"
extension=php_pdo_sqlsrv_54_ts.dll
extension=php_sqlsrv_54_ts.dll
�BSQLServer Native Client存在確認
「プログラムのアンインストール」画面に、
以下の文字列があることを確認
Microsoft SQL Server 2012 Native Client
0891amiba
2014/04/12(土) 19:38:45.76ID:7wXnsHq0�Dphpinfoを確認
項目「PDO drivers」が「no value」となっており、
読み込めていない。
また、タイトル「pdo_sqlsrv」も存在しない。
0892nobodyさん
2014/04/12(土) 20:58:21.73ID:???> ※Microsoft Drivers 3.0 for PHP for SQL Server からダウンロードしてきたDLL
> ※http://www.microsoft.com/en-us/download/details.aspx?id=20098
x86用のDLLしか入ってないっぽ
ODBC使ったら?
0894nobodyさん
2014/04/13(日) 05:02:57.28ID:???スルーするのは個人の勝手だし、それで確実に泣きを見るのもそいつの勝手
0895amiba
2014/04/13(日) 08:22:28.12ID:Oq6/qLs5ありがとうございます。盲点だった
大人しくODBCで接続しました
0896nobodyさん
2014/04/13(日) 08:40:40.50ID:???よう基地外
お前ソース出せっていっても俺は困らないし自分で調べろの一点張りだからな
お前みたいな意味のないやつは邪魔なだけだから消えてくれ
スルーするのも泣きをみるのも勝手ってなら最初から黙ってろってのら
0897nobodyさん
2014/04/13(日) 16:54:36.78ID:???これをOpenSSLに変更したいんですけど、どうすればいいでしょうか?
CentOSなんで、yumコマンドで出来ればいいんですが。
0898nobodyさん
2014/04/13(日) 23:06:42.98ID:???知らずにPHPを使い続けることと、知っててわざとスルーして使い続けることの区別もつかない
>>896のような基地外が大半だと言う現実
何も知らない初心者を騙して喜んでる>>896のようなクズしか残っていない
0899nobodyさん
2014/04/14(月) 00:58:24.70ID:???0901nobodyさん
2014/04/14(月) 01:10:55.78ID:???0902nobodyさん
2014/04/14(月) 04:56:39.01ID:???存在が社会にとって害悪でしかない>>896はどうなるんだろうな。
0903nobodyさん
2014/04/14(月) 10:59:30.29ID:???0905nobodyさん
2014/04/14(月) 17:29:35.92ID:???懲りてねえなw
0906nobodyさん
2014/04/14(月) 18:13:07.85ID:???アルツハイマーみたいだな
0908nobodyさん
2014/04/14(月) 18:26:49.27ID:???PHPが流行ってるみたいなこといって初心者を騙してるみたいなこと。
>>880はPHPがインストールしてあるレンタルサーバで、
どのバージョンが現在主流なのかっていう話で、
PHPが世の中のレンタルサーバで主流とは一言も言ってないのに。
個々には突っ込まないけど読んでて色々主張もおかしいと思った。
0909nobodyさん
2014/04/14(月) 18:46:55.11ID:???ただでさえ低く評価されてるPHPユーザーがさらに低く評価されてしまうんだよ。
0911nobodyさん
2014/04/14(月) 19:04:56.37ID:???ずっと連呼してればいいよ。こまらねーし。
0912nobodyさん
2014/04/14(月) 19:10:47.87ID:???0913nobodyさん
2014/04/14(月) 19:23:50.46ID:???PHPインストールされてないレンタルサーバは増えてます!
耳は聞こえません!
STAP細胞はあります!
だけどまともなソースは出せません!
0914nobodyさん
2014/04/14(月) 20:17:53.24ID:???ループするのわかってんならレス選別するの面倒だからscで続きやってくれ
0916nobodyさん
2014/04/14(月) 21:32:37.96ID:???0917nobodyさん
2014/04/14(月) 21:45:55.51ID:???Jimが対策とったのか
0918nobodyさん
2014/04/14(月) 22:28:51.82ID:???0920nobodyさん
2014/04/14(月) 23:12:29.08ID:???0921nobodyさん
2014/04/14(月) 23:44:03.60ID:???ひろゆきがクロールしたときにダミーのdat返すようにしたんじゃない?
キャーJimさんすてき!といいたい
0923nobodyさん
2014/04/15(火) 06:52:25.24ID:???0925nobodyさん
2014/04/15(火) 12:46:48.95ID:???0927nobodyさん
2014/04/15(火) 16:09:24.55ID:yfomWSxeUPDATE `table` SET `hoge`=hoge+1 WHERE `koko`;
ってhogeの数値を確かめず+1ってやったとき、そのままhogeの数値を確認する方法ってあります?
それとも一々SELECTで調べなきゃならないんでしょうか?
0928nobodyさん
2014/04/15(火) 16:30:58.46ID:???0929nobodyさん
2014/04/15(火) 16:58:24.29ID:???0930nobodyさん
2014/04/15(火) 16:58:30.95ID:???こういう他人の同情を買うことしかできない人ってほんと可哀想
0931nobodyさん
2014/04/15(火) 17:12:13.59ID:???叩きレスも>>896と同じで知性のかけらも感じない辺りそうとしか思えないんだが。
0933nobodyさん
2014/04/15(火) 19:29:33.24ID:???0934nobodyさん
2014/04/15(火) 19:49:19.57ID:???特定のレスにいつまでも噛み付くのはこいつの常套手段
何度も繰り返してきて特徴丸出しなのにほんと懲りねえなw
0935nobodyさん
2014/04/15(火) 19:55:31.56ID:???次スレでもPHP使い煽りレスを数レス以内にしてきて
雰囲気糞なところからスタート
煽りに反応しちゃったやつと300レスぐらいまで下らねぇ言い合い続くから
賢い奴はさっさとスレ離れた方がいい
0936nobodyさん
2014/04/15(火) 20:11:38.72ID:???0937nobodyさん
2014/04/15(火) 20:14:38.48ID:???ほんと特徴丸出しww
0938nobodyさん
2014/04/15(火) 20:16:48.22ID:???899 901 905 932 934 935 937ね
0939nobodyさん
2014/04/15(火) 20:19:39.23ID:???0940nobodyさん
2014/04/15(火) 20:25:15.22ID:???あとこれ最後のレスにするから
0941nobodyさん
2014/04/15(火) 20:36:46.12ID:???$test = $_GET['data'];
//エスケープ
$test = mysql_real_escape_string($test);
$result = mysql_query("select * from aaa where name = '{$test}'");
このようにmysql_real_escape_stringでエスケープしてれば、SQLインジェクションって防げますよね?
防げない場合どういうパターンがあるのか教えてください
0942nobodyさん
2014/04/15(火) 20:44:40.07ID:???0944nobodyさん
2014/04/15(火) 20:52:56.45ID:???適切に前後にクオートいれてないとインジェクション出来るよ
0946nobodyさん
2014/04/15(火) 21:15:14.53ID:TDuzbORW0947nobodyさん
2014/04/15(火) 21:20:15.52ID:???dir /s /b php.exe
0949nobodyさん
2014/04/15(火) 21:23:20.91ID:???0950nobodyさん
2014/04/15(火) 21:28:30.82ID:TDuzbORW0953nobodyさん
2014/04/16(水) 04:23:23.40ID:???phpがどこの鯖にもインスコされなくなりつつあるというのは周知の事実だし。
0955nobodyさん
2014/04/16(水) 08:29:06.81ID:???wordpress層が大半だよな
ビジネス的に見てわかりやすいもんだな
0958nobodyさん
2014/04/16(水) 14:49:19.93ID:???/ノ / ̄ ̄ ̄\
/ノ / / ヽ
| / | __ /| | |__ |
| | LL/ |__LハL |
\L/ (・ヽ /・) V
/(リ ⌒ ●●⌒ )
| 0| __ ノ
| \ ヽ_ノ /ノ インスコされなくなりつつあります!
ノ /\__ノ |
(( / | V Y V| V
)ノ | |_θ_| |
/ ̄ ̄�T ̄ ̄\
|二二二二二二二|
| |
パシャ パシャ パシャ パシャ パシャ パシャ パシャ パシャ パシャ パシャ
パシャ パシャ パシャ パシャ パシャ パシャ パシャ パシャ パシャ パシャ
∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧
( )】 ( )】 ( )】 【( ) 【( ) 【( )
/ /┘ . / /┘. / /┘ └\ \ └\ \ └\ \
ノ ̄ゝ ノ ̄ゝ ノ ̄ゝ ノ ̄ゝ ノ ̄ゝ ノ ̄ゝ
0959nobodyさん
2014/04/16(水) 15:08:23.95ID:r1C0DTd1PHPの環境変数か何かで、サーバがxamppか否かを判定する方法ってないでしょうか?
system関数など一部ソースが異なるので、分岐出来たらいいなと思っています。
0964nobodyさん
2014/04/16(水) 15:57:16.54ID:???hostnameおすすめ。
0965964
2014/04/16(水) 15:58:48.95ID:???ごめん。
0966nobodyさん
2014/04/17(木) 03:42:20.01ID:VCB2amMZたとえばtestてファイルがあればテスト鯖でなければ本番
0967nobodyさん
2014/04/17(木) 03:46:01.51ID:4T+A9Zxt0968nobodyさん
2014/04/17(木) 09:51:13.11ID:???config 作ればいい話
0969nobodyさん
2014/04/17(木) 10:25:55.29ID:???大概はさしたる手間でもないし。
0970nobodyさん
2014/04/17(木) 11:25:00.57ID:???できれば詳しく
0971nobodyさん
2014/04/17(木) 11:35:40.38ID:???0972nobodyさん
2014/04/17(木) 11:42:16.91ID:???0973nobodyさん
2014/04/17(木) 18:10:03.61ID:0kTNtsmJここのページのデータをfile_get_contentsで取得したいんですが
failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
とエラーになります。どうすればデータを取得できるようになりますか?
0974nobodyさん
2014/04/17(木) 18:35:02.42ID:???0975nobodyさん
2014/04/17(木) 18:35:52.89ID:???分からないのならば、あきらめたほうがいい。
0976nobodyさん
2014/04/17(木) 18:42:34.82ID:???3番目のパラメタでヘッダ指定して Host とかいれてやればいいかもしれない。
0977nobodyさん
2014/04/17(木) 22:21:06.15ID:???0978nobodyさん
2014/04/17(木) 23:07:09.55ID:???HostやらUAやらAcceptだとか色々つけてみたんだけど。
0979nobodyさん
2014/04/17(木) 23:12:19.64ID:???ついでに、処理についても、抽象クラスかインタフェースを作って、OS/環境毎に具象クラスを分ける感じかな。
0981nobodyさん
2014/04/17(木) 23:33:10.86ID:4T+A9Zxt0984nobodyさん
2014/04/18(金) 09:14:39.02ID:???とくにcakeとrailsは掃き溜め
土方と素人が集まるところは仕方ない
0985nobodyさん
2014/04/18(金) 09:16:49.36ID:???0986nobodyさん
2014/04/18(金) 09:25:46.57ID:???Hostなければ普通はじくだろ
0987nobodyさん
2014/04/18(金) 09:31:35.52ID:???だよ
ブラウザで入れたらHost入れるだろこれで
0989nobodyさん
2014/04/18(金) 13:49:21.28ID:???それだけの理由で、最初にVirtualHostを疑うこと自体滑稽だわ。
0991 忍法帖【Lv=40,xxxPT】(3+0:8) 【Dlivejupiter1387514181219820】 【東電 74.1 %】 【11m】
2014/04/18(金) 23:44:38.60ID:g1tDPhPP0992nobodyさん
2014/04/19(土) 00:35:14.81ID:HQIlnmOW書き込み初めてなため規則に反していたり、スレ違いでしたらごめんなさい。
「ニューすったー☆」というスクリプトを使って、最新RSSの自動ツイートをロリポップサーバのcronで作りたいと思っています。
「ニューすったー☆」 ttp://www.jeia.co.jp/report/2010/11/05/353/
実際最新RSS自動ツイートすることは出来るようになりました。
ですが、そのツイートの内容を変更(新着記事という文言やURLなどを加えたり)したいと考えています。
その際「ニューすったー☆」の/twitter.class.phpをイジれば良さそうだと考えたのですが、わかりませんでした。
どのようにすればツイートの内容の変更ができるのかどなたかご教授頂きたいです。
もし他の方法で最新RSSの文言を変更した配信が出来るものがあればそれでも構いません。
PHPを独学で学び始め一週間くらいで知識も浅いのですが、検索しながら頑張りますので、
解答よろしくお願い致します。
0996nobodyさん
2014/04/19(土) 06:39:05.15ID:u2gMQu1K0997nobodyさん
2014/04/19(土) 18:38:38.61ID:???0998nobodyさん
2014/04/19(土) 20:15:38.15ID:???自分の環境だと10万行INSERTでPDOを100%とした場合SQLite3は95.4%(数値が低いほうが早い)
トランザクションありだと93.2%でさらに差が広がる
多機能なものは基本的にコード量が多くて条件文やループ文も多いからね
次スレめっけた
http://nozomi.2ch.net/test/read.cgi/php/1397862294/
1000nobodyさん
2014/04/19(土) 23:27:36.23ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。