- 1 名前:nobodyさん mailto:sage [2014/01/20(月) 06:23:11.66 ID:???]
- 質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り 次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。 ◆前スレ 【PHP】下らねぇ質問はID出して書き込みやがれ 131 kohada.2ch.net/test/read.cgi/php/1384065969/ ◆質問用テンプレ 【OS名】CentOS 【PHPのバージョン】5.5 【連携ソフトウェア】MySQL ImageMagick 【質問内容】 ◆質問する時の注意 ・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す) ・ 己の行った操作、変更などを詳しく明記すること。 ・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。 ・ 質問者として、態度をわきまえること。 ・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。 (PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。) ◆質問後の注意 ・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。 ・解決しなくても回答をもらった場合はお礼を言うこと。 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。) ◆回答者への注意 ・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。 【その他諸注意】 ・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
- 2 名前:nobodyさん mailto:sage [2014/01/20(月) 06:23:56.77 ID:???]
- 関連リンク
■本家マニュアル www.php.net/manual/ja/ ■日本PHPユーザ会 www.php.gr.jp/ ■PEARマニュアル pear.php.net/manual/ja/ ■メーリングリスト ml.php.gr.jp/mailman/listinfo/ ■ZFマニュアル framework.zend.com/manual/ja/ ■Smartyマニュアル www.smarty.net/manual/ja/ (以下英語) ■Zend本家 www.zend.com/ ■Zend Framework framework.zend.com/ ■php | architect www.phparch.com/ ■Smarty www.smarty.net ■Smartyマニュアル smarty.php.net/manual/en/ ■PECL本家(英語) pecl.php.net/
- 3 名前:nobodyさん mailto:sage [2014/01/20(月) 06:24:29.22 ID:???]
- 【簡易FAQ】
1.文字コードは何を使えばいいの? →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。 2. このスレに書き込むときに自分のサイト名を晒したくない → 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)、起動&再起動あたり
- 4 名前:nobodyさん mailto:sage [2014/01/20(月) 06:25:02.44 ID:???]
- 11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する 12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの? → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。 13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター 14. echoとprintってどう違うの? → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。 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に保存? → 好きにしてください
- 5 名前:nobodyさん mailto:sage [2014/01/20(月) 10:36:50.40 ID:???]
- >>1 乙
- 6 名前:nobodyさん mailto:sage [2014/01/20(月) 16:32:43.48 ID:???]
- ファイル扱う関数以外はほとんどバイナリセーフって認識ぐらいでいいんじゃね?
- 7 名前:nobodyさん [2014/01/20(月) 20:25:13.22 ID:/QxzPvCb]
- PHP5.4を使っています。
値渡しと参照渡しがいつどのタイミングで発生するかわからないので教えてください。 $arr1 = array('aaa'=>1, 'bbb'=>2, 'ccc'=>3); $arr2 = $arr1; // ※1 function hoge($arr3) {} hoge($arr1); // ※2 このような時、 ※1は値渡しでしょうか?参照渡しでしょうか? ※2は値渡しでしょうか?参照渡しでしょうか? また、 何か見分けの付きやすいルールがあればそれも教えてください。
- 8 名前:nobodyさん [2014/01/20(月) 21:16:56.92 ID:pZcSGmVQ]
- 馬鹿には無理
- 9 名前:nobodyさん mailto:sage [2014/01/20(月) 22:08:40.13 ID:???]
- どっかにPHPの参照カウントを図解してるスライドあったよ
- 10 名前:nobodyさん mailto:sage [2014/01/20(月) 22:48:16.64 ID:???]
- >>7
www.php.net/manual/ja/features.gc.refcounting-basics.php hoge($arr3)は値渡し(コピーオンライト)になります PHPでは連想配列はオブジェクトではないので 破壊的関数は hoge(&$arr3) と書きます
- 11 名前:10 mailto:sage [2014/01/20(月) 22:53:25.36 ID:???]
- すみません宣言時です
function hoge(& $arr3) {}
- 12 名前:nobodyさん [2014/01/20(月) 22:55:09.61 ID:/QxzPvCb]
- >>10
ありがとうございます!
- 13 名前:nobodyさん mailto:sage [2014/01/20(月) 23:02:17.58 ID:???]
- >>7
※1も※2も値渡しだよ。 PHPでは、基本的にみんな値渡しになる。 例外的に、オブジェクトにオブジェクトを代入すると参照渡しになる。 オブジェクト以外で参照渡しにしたい場合には、&を変数等の前につける。 もっとも、通常は参照渡しにする必要はほとんど無いはず。
- 14 名前:nobodyさん mailto:sage [2014/01/21(火) 11:04:34.04 ID:???]
- これ読むといいよ。
『PHPが糞言語なのはどう考えても参照をポインタだと思っているお前らが悪い』 tanakahisateru.hatenablog.jp/entry/2013/12/12/012728
- 15 名前:nobodyさん [2014/01/21(火) 22:58:26.87 ID:DnPfDE6k]
- PHPでGDライブラリを勉強中なのですが、
ピクセルの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;」の部分はどういう処理を 行っているのでしょうか? 「>>」という記号と、「&」の部分がどういう意味なのか教えてください。 どうぞよろしくお願いします。
- 16 名前:nobodyさん mailto:sage [2014/01/21(火) 23:10:12.38 ID:???]
- >>15
関連リンク ■本家マニュアル www.php.net/manual/ja/ 演算子の項を参照
- 17 名前:nobodyさん mailto:sage [2014/01/22(水) 00:12:36.65 ID:???]
- >>15
>>はビットシフト RGBは24bitなので、右に16bitシフトすればGとBのビットは捨てられてRだけになります & 0xff はビットマスク ここでは下位8bitはそのまま、それ以外のビットがあれば0にする意味で使われています
- 18 名前:15 mailto:sage [2014/01/22(水) 08:39:19.31 ID:???]
- >>16
>>17 ありがとうございました!
- 19 名前:nobodyさん [2014/01/22(水) 14:46:32.76 ID:aoIHocMl]
- 組み込み関数の「trim」について質問です。
フォームからの投稿文字列の最後に、「改行」がある場合、削除したいのですが、 うまく効かないです。何が原因でしょうか? $val = isset($val) ? trim($val) : ''; マニュアルを見ると、改行を除く場合、第二パラメーターは不要とのことです。 jp1.php.net/manual/ja/function.trim.php 原因がわからず困ってます。よろしくお願いします。
- 20 名前:nobodyさん mailto:sage [2014/01/22(水) 14:53:14.65 ID:???]
- $val の内容ダンプしてみては
- 21 名前:19 [2014/01/22(水) 14:58:11.25 ID:aoIHocMl]
- >>20
大変、失礼しました。自己解決です。 trimが効いていないと思ったら、効いていました。 投稿後、セッションの元データをフォームに反映させていたため 効いていないと、勘違いしていたみたいです。 お騒がせして済みませんでした。
- 22 名前:nobodyさん mailto:sage [2014/01/22(水) 18:04:34.87 ID:???]
- ム板のPerlスレもだいぶPHPの良さが分かってきたみたいだな
- 23 名前:nobodyさん mailto:sage [2014/01/22(水) 19:04:29.09 ID:???]
- でもまだ抵抗してる馬鹿がいるだろ。
継続的に啓蒙していくことが重要。
- 24 名前:nobodyさん [2014/01/22(水) 22:36:56.70 ID:FG8ViAIJ]
- 一行もPHPのコードが書けないバカはここに来るな
- 25 名前:nobodyさん mailto:sage [2014/01/23(木) 00:06:20.34 ID:???]
- >>23
啓蒙つーか perl使ってる奴は底辺だって事実を 認知させるところからだろ
- 26 名前:nobodyさん [2014/01/23(木) 02:52:37.95 ID:df5KuOGo]
- PHP使ってる奴は底辺だって事実を
認知させるところからだろ
- 27 名前:nobodyさん mailto:sage [2014/01/23(木) 03:35:34.87 ID:???]
- perlじゃお金にならないよ
- 28 名前:nobodyさん mailto:sage [2014/01/23(木) 03:37:23.28 ID:???]
- いやいやこいつはどの言語も使えない馬鹿チョンだろ
- 29 名前:nobodyさん mailto:sage [2014/01/23(木) 10:31:13.88 ID:???]
- スレ違いです
質問書いてください。
- 30 名前:nobodyさん mailto:sage [2014/01/23(木) 10:46:43.24 ID:???]
- >>27
Perl厨はPerlそのものを使って仕事を見つけるつもりはないと苦しい言い訳をしているよ。
- 31 名前:nobodyさん mailto:sage [2014/01/23(木) 18:25:39.43 ID:???]
- 俺も見かけたときは加勢してやってるんだから
お前らもがんがれ
- 32 名前:nobodyさん mailto:sage [2014/01/23(木) 19:49:26.64 ID:???]
- >>30,>>31
>>24
- 33 名前:nobodyさん mailto:sage [2014/01/23(木) 20:04:29.62 ID:???]
- Perlで質問してるところにPHPで解答コード書いてやればいいんじゃね?
そうすればPHPユーザーのスキルレベルとPHPの有用性を同時に示すことができる
- 34 名前:nobodyさん mailto:sage [2014/01/23(木) 21:17:36.49 ID:???]
- そしてPHPerは空気も読めないのかと言われる
- 35 名前:nobodyさん [2014/01/23(木) 21:47:21.78 ID:df5KuOGo]
- ぺちぱーにそれが果たしてできるのかな
- 36 名前:nobodyさん [2014/01/23(木) 23:37:54.85 ID:7YymRraU]
- 【OS名】RedHat
【PHPのバージョン】5.3 【連携ソフトウェア】MySQL CodeIgniter 【質問内容】 セッションに大量に突っ込むと中身が消えます。 具体的にはセッションに3000文字とかいれると消えます。 1000文字とかであればちゃんと入っているんですがセッションの容量には上限があるんでしょうか? 以前にちょっとしたファイルをやり取りしたことがあるので3000文字程度では大丈夫と思っていたのですが設定など見ても上限に該当するものがみあたりませんでした。
- 37 名前:nobodyさん mailto:sage [2014/01/24(金) 00:07:02.91 ID:???]
- 保存先がCookieになっていないか確認したか?
- 38 名前:nobodyさん mailto:sage [2014/01/24(金) 00:07:11.60 ID:???]
- とくに制約を受けるサイズないと思うよ
デバッガで追ってみたら
- 39 名前:nobodyさん mailto:sage [2014/01/24(金) 00:11:01.69 ID:???]
- 中身が消えるっていうのは、Session自体は生きてるけど特定のパラメータだけNULLか何かになるってこと?
その辺どうやって確認してんの
- 40 名前:nobodyさん [2014/01/24(金) 10:09:16.59 ID:d/hHeezf]
- みなさん回答ありがとうございます。
単純にsessionの関数使っているだけなのでsessionがどこに保存されているのか? というのを意識していませんでした。 特に何もしていませんがブラウザーのデバッガーで見たらcookieにそれらしき文字列があったのでcookieだと思います。 中身が消えるかどうかの確認は1000文字いれても取り出せるけど 3000文字だとnullになっているという形です。 保存先を変えることができるのであればやってみたいと思います。
- 41 名前:nobodyさん mailto:sage [2014/01/24(金) 14:46:22.36 ID:???]
- セッションの内容をクッキーに保存したら、それは、クッキーでありセッションではないと思うのだが。
セッションとクッキーを混同してるんじゃないの。 それと、クッキーは、たしか4kbyteとかの上限があるからそれが原因だと思う。
- 42 名前:nobodyさん [2014/01/24(金) 15:15:41.95 ID:UatxQsqL]
- getで送信とかしてないよね
- 43 名前:40 [2014/01/24(金) 15:44:15.53 ID:d/hHeezf]
- みなさんありがとうございます。
単純にCodeigniterのセッションを使って入れておりました。 $this->session->set_userdata($newdata); こんな感じです。
- 44 名前:nobodyさん mailto:sage [2014/01/24(金) 16:00:50.28 ID:???]
- Codeigniterのスレで聞いた方が良いかもしれない。
kohada.2ch.net/test/read.cgi/php/1299595202/
- 45 名前:nobodyさん mailto:sage [2014/01/24(金) 16:18:59.36 ID:???]
- 横レスだけどCookieにSessionデータ詰めるなんて話初めて聞いたわ
- 46 名前:40 [2014/01/24(金) 16:29:54.30 ID:d/hHeezf]
- スレを移ったほうがよさそうですね
私もsessionと書いてあったのでてっきり実データはサーバー側とおもっていたのですが cookieの中になにやらはいっておりました。 文字数からして4kの上限にあたっているようなのでsessionとなっていますが cookieの中にいれていたということでしょうか。 ちょっとよくわからなくなってきました。
- 47 名前:nobodyさん mailto:sage [2014/01/24(金) 16:42:11.39 ID:???]
- いずれにしても、セッションのデータがクッキーに入ってしまうのは、
セキュリティ上も良くないと思うよ。
- 48 名前:nobodyさん mailto:sage [2014/01/24(金) 17:25:34.78 ID:???]
- CIのマニュアルにCookie使うから4kbまでってはっきり書いてあったわ
マニュアルも読まずに質問するとは乳首1000クリックの刑
- 49 名前:40 [2014/01/24(金) 17:36:06.47 ID:d/hHeezf]
- みなさん申し訳ありません。
確かにマニュアルにクッキー使うよと書いてありますね。 sessionってあったからてっきりそうなのかと思ってましたがCIのsessionはcookie保存のようです。 別の手段で回避することにしました。 お騒がせしました。
- 50 名前:nobodyさん mailto:sage [2014/01/24(金) 19:56:24.36 ID:???]
- >>45
Codeigniterでは、セッション情報を暗号化してクッキーに保存するらしい。 あと、DBにも保存することが可能だとか。普通にファイルとして保存すればいいのに。 codeigniter.jp/user_guide_ja/libraries/sessions.html
- 51 名前:nobodyさん mailto:sage [2014/01/25(土) 00:34:33.81 ID:???]
- そういう発想なかったけど、セッションサーバいらないってのは魅力かもね
Hmac付けてHiddenを引き回してたのに近い感じやな
- 52 名前:nobodyさん mailto:sage [2014/01/25(土) 01:31:58.66 ID:???]
- 最近じゃhtml5のlocal strageが5MBytesある。
http2.0なぞ普及するとサーバ側が非同期にpullするサービスも増えてくるのかしらん。
- 53 名前:nobodyさん [2014/01/25(土) 07:04:11.94 ID:HM5WIj95]
- ログイン実装をFWに頼らず自力でやろうと思ってます
cookieの存在・仕様については無知なので以下の流れで本当に大丈夫なのか心配です 1.パスワード等でログインが成功したらcookie["token"]にランダム文字列を格納(Aとする) 2.Aをデータベースの個別のUser情報にも記録(Bとする) 3.毎回ユーザーがアクセスする度にA(cookie側)とB(DB側)が一致するかチェック 一致すればログインされてる 一致しなければ未ログイン 4.もしtokenが作られて24時間経てばtokenを一度破棄してログアウトさせる これで十分にセキュアなログイン仕様となるでしょうか?
- 54 名前:nobodyさん mailto:sage [2014/01/25(土) 10:14:52.55 ID:???]
- >>53
>>cookie["token"]にランダム文字列を格納 これがセキュリティ的にまずいかも。 通常は、トークンを自前で作ることはせず、セッションIDの自動発行にまかせる。 また、ログイン機能自体もセッションをメインで作るのが普通だと思うけどね。 そうすれば、DBへの問い合わせとか不要だし。
- 55 名前:nobodyさん mailto:sage [2014/01/25(土) 10:48:20.53 ID:???]
- セッションにログインフラグ立てればいいんじゃね
- 56 名前:nobodyさん mailto:sage [2014/01/25(土) 11:48:58.68 ID:???]
- >>53
まずはここの「安全なウェブサイトの作り方」を見る。 www.ipa.go.jp/security/vuln/websecurity.html >>53が書いている処理は、PHP標準のセッション処理を使ったほうが良い。
- 57 名前:nobodyさん mailto:sage [2014/01/25(土) 17:25:45.84 ID:???]
- >>53
親父がログインしたエロサイト息子が見放題のまき〜
- 58 名前:nobodyさん mailto:sage [2014/01/25(土) 18:06:32.82 ID:???]
- >>57
それは、クッキーでもセッションでも変わらないんじゃない。 ログアウトの実装次第であって。
- 59 名前:nobodyさん mailto:sage [2014/01/25(土) 18:24:43.55 ID:???]
- 通販サイトの、「チェックした商品の履歴」辺りってヤバイよね?
- 60 名前:nobodyさん [2014/01/26(日) 01:40:38.55 ID:tfpbRtMA]
- 自分もログイン機能を作りたいんですけど
セッションにユーザーid、ユーザー名を保存して ログインが必要なページではセッションに ユーザーidがあるか確認するというやり方で実装しました。 これだとセッションが切れると一緒にログインも切れてしまいます。 ブラウザを閉じるまでログインを維持するにはどうしたらいいでしょうか?
- 61 名前:nobodyさん mailto:sage [2014/01/26(日) 04:26:44.36 ID:???]
- PHPで回答してやろうと思ってチェックしてるけどなんか歌の話しててチャンスがないんだがあいつら馬鹿か
- 62 名前:nobodyさん mailto:sage [2014/01/26(日) 07:45:41.36 ID:???]
- >>61
>>24
- 63 名前:nobodyさん mailto:sage [2014/01/26(日) 09:51:54.84 ID:???]
- >>60
セッションが切れるとログインも切れるってのは正常な動作なんだが セッションのタイムアウトを伸ばせばいい
- 64 名前:53 [2014/01/26(日) 10:59:50.06 ID:LLTt79Q+]
- 皆さんありがとうございます
いまいちセッションが何なのかよくわかっていませんでした(cookieの別名ぐらいの認識) よくサンプルコードでsession["user_id"] = hogehoge みたいなのを見かけて、 これだとクッキーにuser_idが書き込まれちゃうからありえない実装だ!と勘違いしてました この場合["user_id"] = hogehogeはPHPのsession内部で管理していいて、 ユーザー側のcookieにはsession_idしか残らないんですね 一瞬で理解が深まりました本当にありがとうございます
- 65 名前:nobodyさん mailto:sage [2014/01/26(日) 11:51:46.45 ID:???]
- >>60
デフォルトでは、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(); >>ブラウザを閉じるまでログインを維持するにはどうしたらいいでしょうか? これは、わからない。 ただ、あまり長い時間セッションを有効にするとセキュリティ上まずいと思う。
- 66 名前:60 [2014/01/26(日) 13:15:54.64 ID:tfpbRtMA]
- >>63 >>65
ありがとうございます。 >>65のやり方でやってみようと思います。
- 67 名前:nobodyさん mailto:sage [2014/01/26(日) 13:36:49.78 ID:???]
- >>80
www.tohoho-web.com/wwwcook.htm Cookieの書き込みのパラメータのところ参照 ja.wikipedia.org/wiki/HTTP_cookie クッキーの適用範囲と有効期限参照
- 68 名前:67 mailto:sage [2014/01/26(日) 13:37:35.48 ID:???]
- >>80じゃなくて>>60
- 69 名前:nobodyさん mailto:sage [2014/01/26(日) 15:52:13.03 ID:???]
- 延々とセッションの話してるこっちも似たようなもんでしょ。
- 70 名前:nobodyさん mailto:sage [2014/01/26(日) 20:16:47.31 ID:???]
- >>61
引き続き監視頼む。
- 71 名前:nobodyさん mailto:sage [2014/01/26(日) 20:34:26.69 ID:???]
- >>70
自演ウザい
- 72 名前:nobodyさん mailto:sage [2014/01/26(日) 22:49:38.34 ID:???]
- 妄想で書き込んでる>>71がちょっとかわいそう
脳の病気かな、それとも心の病気かな
- 73 名前:nobodyさん mailto:sage [2014/01/26(日) 22:55:32.47 ID:???]
- 3Dの話出てるぞ。
- 74 名前:nobodyさん mailto:sage [2014/01/26(日) 22:56:21.12 ID:???]
- 監視スレでも立てて向うでやってれば?
- 75 名前:nobodyさん mailto:SAGE [2014/01/26(日) 23:02:50.28 ID:???]
- >>71
妄想の垂れ流しは他所でどうぞ。
- 76 名前:nobodyさん mailto:sage [2014/01/26(日) 23:11:10.98 ID:???]
- 3DグラフィックはPHPの専門外だろw
行ける猛者は行ってこいw
- 77 名前:nobodyさん mailto:sage [2014/01/27(月) 03:04:42.97 ID:???]
- 漠然と3Dって言われてもな
DirectXの3Dモデルに独自フォーマットのXファイルってやつがあって Xファイルにはバイナリとテキストと2種類あるが テキストのほうならPHPでも出力できる テンプレートと頂点情報を文字列として出力するだけだからな そういう話?
- 78 名前:nobodyさん [2014/01/27(月) 16:05:44.71 ID:YzEqdDGf]
- PHPで作成したWEBアプリの決済システムについて質問です。
無料サービスに、特典を上乗せした有料会員を募集しようと思っています。 そこで、PHPと連携できる決済システムなどはありますでしょうか? たとえば、決済が済むと、無料会員から有料会員へ自動で変更できるような APIを提供している決済システムなどです。 現在、paypalなどを考えているのですが、こうしたAPIが無いようでいまだ検討中です。 よろしくお願いします。
- 79 名前:nobodyさん mailto:sage [2014/01/27(月) 18:11:35.27 ID:???]
- >>78
PHPと連携できる決済システムならググれば見つかる。 会員のグレードは決済システムとは無関係のビジネスロジックなのだから、自動で連携できる決済システムはないんじゃないかな。
- 80 名前:nobodyさん [2014/01/27(月) 19:57:51.65 ID:bUMgBNWh]
- perlなら宮川達彦が何か作ってただろうな
- 81 名前:78 [2014/01/27(月) 20:26:35.59 ID:VwC5UIRJ]
- >>79
実は、検索はしたのですが、これといったものが見つからなかったのです。 そこでPHP使いの皆さんはどうしているのかと思い質問させて頂きました。 決済システムの利用は、個人だとハードルが高いのかもしれませんね。 それか調べ方が悪かったのかな。もう少し調べてみます。 ありがとうございました。
- 82 名前:nobodyさん mailto:sage [2014/01/27(月) 20:37:46.66 ID:???]
- >>79も言ってるけど会員のグレードを自動で移行できるロジックは自作するしかないよ
決済システム自体は別に個人でも普通に導入できる
- 83 名前:78 [2014/01/27(月) 21:15:11.18 ID:VwC5UIRJ]
- >>82
レスありがとうございます。 「決済システムの導入」と「会員のグレードの変更」は別物と考えた方がいいのですね。 そうであるなら、まずは、「決済システムの導入」に注力したいと思います。 結構、難しそうですが、PayPalを候補に考えてます。 それで上手くいったら、次に、「会員のグレードの変更」にもチャレンジしたいと思います。 この2つを一度で済ませられると考えたのが良くなかったみたいですね。 ありがとうございました。
- 84 名前:nobodyさん [2014/01/30(木) 06:30:49.21 ID:M3G3bQxX]
- HTTPレスポンスヘッダーを明示的に記述したい場合に
@ini_set('default_charset', 'UTF-8'); Aheader("Content-type: text/html; charset=utf-8"); はどう違うのですか? @はスクリプト終了時に元の値に戻されるとのことですが…… 使い分けの方法などあれば教えていただきたいです。
- 85 名前:nobodyさん mailto:sage [2014/01/30(木) 10:23:27.80 ID:???]
- default_charset は
Content-Type: text/html; charset=UTF-8 の後半部分だけ
- 86 名前:nobodyさん [2014/01/30(木) 12:37:38.81 ID:M3G3bQxX]
- @ini_set('default_charset', 'UTF-8'); ini_set('default_mimetype', 'text/html');
Aheader("Content-type: text/html; charset=utf-8"); の違いはないという認識でいいんですかね? header()はLocationとかヘッダーのiniでいじれない部分を変更できるということですかね
- 87 名前:nobodyさん mailto:sage [2014/01/30(木) 12:41:30.94 ID:???]
- マニュアル読め
- 88 名前:nobodyさん mailto:sage [2014/01/30(木) 21:56:15.59 ID:???]
- >>84
ini_setで指定しているのはあくまでデフォルトの設定。 headerのほうを指定するとそれが上書きされる。
- 89 名前:nobodyさん [2014/02/02(日) 00:03:04.56 ID:6TG0eOwN]
- ActiveRecordを継承するModelモデルがあったとして
テーブルに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);
- 90 名前:nobodyさん mailto:sage [2014/02/02(日) 02:48:14.87 ID:???]
- 議論のあるところですが、Frameworkの流儀に倣うのがよいでしょうね
元々はテーブルがクラスでインスタンスが行になる感じですね クラスの得意メソッドが、PHPだとStaticという表現になります
- 91 名前:nobodyさん mailto:sage [2014/02/02(日) 03:55:43.87 ID:???]
- >>89
ARでは、クラス -> テーブル、インスタンス -> 行、プロパティ -> カラム、という表現 insertはテーブルに対する操作なので、インスタンスではなくクラスに対するメッセージ==クラスメソッドで表す RailsのARだとまさにClassMethodsつー思い切ったモジュールがあって、このcreate()がinsertに対応しているので お宅の求めているものにかなり近いだろう https://github.com/rails/rails/blob/40e7fe3451df8e5b454f7d0472396d2429edc0e5/activerecord/lib/active_record/persistence.rb
- 92 名前:nobodyさん mailto:sage [2014/02/02(日) 07:28:04.31 ID:???]
- 出番だぞ
724:デフォルトの名無しさん :2014/02/02(日) 04:29:49.87 [sage] 1000日後の日付をYYYY-MM-DD形式で取得するのに簡単な方法はありますか? 前提条件はできるだけ少ないほうがうれしいです
- 93 名前:nobodyさん mailto:sage [2014/02/02(日) 09:49:34.74 ID:???]
- いつから1000日後よ
- 94 名前:nobodyさん mailto:sage [2014/02/02(日) 12:30:52.38 ID:???]
- DateTimeクラスのaddメソッド
- 95 名前:nobodyさん [2014/02/02(日) 12:44:47.02 ID:XaYZuhBO]
- function view() {
extract([ "v1" = > "aaa" ]); require("test.php"); } test.php <? function func() { echo $v1; // ここで$v1を表示するにはどうしたらいいですか } global $v1 と $GLOBALS['v1'] でも表示されません
- 96 名前:nobodyさん mailto:sage [2014/02/02(日) 14:59:01.63 ID:???]
- requireの場所違くね
- 97 名前:nobodyさん mailto:sage [2014/02/02(日) 15:25:36.73 ID:???]
- func(extract([ "v1" = > "aaa" ]))じゃダメなの?
- 98 名前:nobodyさん mailto:sage [2014/02/02(日) 15:26:50.98 ID:???]
- 突っ込みどころが多すぎる
- 99 名前:nobodyさん mailto:sage [2014/02/02(日) 15:34:01.86 ID:???]
- 一番手っ取り早い方法
function〜 {と } の行を全てコメントアウト = > を => に <? を <?php に view()のあるファイルの先頭に <?php 追加 これでいけると思うが
- 100 名前:nobodyさん mailto:sage [2014/02/02(日) 16:00:51.61 ID:???]
- >>97は無視してくれ extractという関数を理解していなかった
extractってのはシンボルテーブルに変数をインポートする関数なんだが 別のphpファイルだとシンボルテーブルを共有してないっぽい
- 101 名前:nobodyさん mailto:sage [2014/02/02(日) 16:07:28.45 ID:???]
- 関数ごとにシンボルテーブル違うっぽいな
- 102 名前:95 mailto:sage [2014/02/02(日) 16:13:00.92 ID:???]
- 無理ぽいのでとりあえず引数で渡すことにします。
皆さんありがとうこざいました。
|

|