【PHP】下らねぇ質問はここに書き込みやがれ 4 [無断転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2016/03/12(土) 23:25:33.88ID:j4grSBgsまず読むこと【PHPマニュアル】
http://www.php.net/manual/ja/
前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 3
http://echo.2ch.net/test/read.cgi/tech/1447495088/
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
0002デフォルトの名無しさん
2016/03/12(土) 23:27:11.25ID:j4grSBgs【OS名】CentOS
【PHPのバージョン】5.5
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・ 解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・ 誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・ SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0003デフォルトの名無しさん
2016/03/13(日) 18:01:24.11ID:9dwDTtH+■本家マニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PHPNG https://wiki.php.net/phpng
■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/
0004デフォルトの名無しさん
2016/03/13(日) 18:29:54.00ID:kS6/ihj4$stmt = $pdo -> prepare($sql);の部分でエラーが出てしまいます。[42000]
改善策をお願いします。
$table = "$_GET['table']";
$clmname = '';
$valname = '';
foreach ($_POST as $key => $value) {
$clmname .= $key.", ";
$valname .= ":".$key.", ";
}
unset($key);
//末尾のコンマと空白削除
$clmname = substr($clmname, 0, -2);
$valname = substr($valname, 0, -2);
$sql = "INSERT INTO $table($clmname) VALUES($valname)";
$stmt = $pdo -> prepare($sql);
foreach ($_POST as $key => $value) {
$stmt -> bindValue(":$key", $clan_policy, PDO::PARAM_STR);
}
$stmt -> execute();
0005デフォルトの名無しさん
2016/03/13(日) 18:56:27.35ID:PAomMvmsとりあえずSQL文吐いてみ
というかそれ以前にテーブル名やらカラム名やらを外部入力で受け取るとか正気の沙汰じゃないから
0006デフォルトの名無しさん
2016/03/13(日) 19:23:29.33ID:kS6/ihj4$sqlは上記のような感じで、特に支障はない模様です。
※便宜上パラメーターを3つにしましたが、10ぐらいあり、内容もテーブル名によって変動します。
そのため自動作成したいと考えています。
foreachも間違っていたので修正しておきます。
foreach ($_POST as $key => $value) {
$stmt -> bindValue(":$key", ${$key}, PDO::PARAM_STR);
}
検索してみてもpdo文を自動作成するソースが見つからなかったため、
この方法はひょっとして非推奨なのでしょうか?
手動でも出来なくはない量なのですが、メンテナンス性や可読性のために挑戦してみました。
0007デフォルトの名無しさん
2016/03/13(日) 19:31:11.69ID:GjqBj5dI$stmt = $pdo -> prepare($sql);
$stmt = $pdo->prepare($sql);
0008デフォルトの名無しさん
2016/03/13(日) 19:40:29.09ID:GjqBj5dI{$table} ({$clmname}) VALUES ({$valname})";
0009デフォルトの名無しさん
2016/03/13(日) 20:27:39.52ID:PAomMvmsPHPのバージョン, 利用するRDBMSとバージョン。
名前付きプレイスホルダで42000エラーが発生することがあった。
その方法で自動生成を実装するとSQLインジェクションのいい的だぞ
自前で実装するならDataMapperでSQLをカプセル化する手法を採るべきだし, テーブルの変更が頻繁ならテーブル生成とActiveRecordクラス生成を同時に行うようにすべき(手動では弄らない)
あんまりテーブル構造変更が頻繁ならそもそも設計を見直すべきだろうが
何れにせよテーブル名を外部入力から受け取るなんてのはまともな実装とは言えない
0010デフォルトの名無しさん
2016/03/15(火) 00:55:48.95ID:vuaCyoYo0011デフォルトの名無しさん
2016/03/15(火) 01:00:58.09ID:Yu+x6j+10012デフォルトの名無しさん
2016/03/15(火) 01:39:32.63ID:XuEL3mf60013デフォルトの名無しさん
2016/03/15(火) 12:00:31.00ID:vuaCyoYo0014デフォルトの名無しさん
2016/03/15(火) 17:35:49.44ID:M/KZKru90015デフォルトの名無しさん
2016/03/15(火) 18:52:30.10ID:6Fnnrg8u0016デフォルトの名無しさん
2016/03/15(火) 19:07:10.09ID:Yu+x6j+10017デフォルトの名無しさん
2016/03/15(火) 19:47:53.75ID:0p8ka/G8javascriptに変える必要があるけど
0018デフォルトの名無しさん
2016/03/15(火) 20:20:47.01ID:61Q7YxSP0019デフォルトの名無しさん
2016/03/15(火) 20:39:21.88ID:O2FU5DmM0020デフォルトの名無しさん
2016/03/15(火) 21:49:01.86ID:6tnBTcMGNabetapって言うのがある。
これはexeには変換できないけど自分のソフトのようには見せれる
>>16
CGIは元々コマンド引数ないよ。
Nabetap使うと画面出てPHPとjavascript使えるよ
0021デフォルトの名無しさん
2016/03/15(火) 22:15:38.87ID:bRerDqNG泥臭く strtr かなんかでやるしかない?
0022デフォルトの名無しさん
2016/03/15(火) 22:26:34.65ID:Yu+x6j+1>>20
GETやPOST、それと考え方によっちゃcookieなんかも引数だろうというのはおいとくとしても
簡易Webサーバ&(IE利用の)簡易Webクライアントを「サーバなしのWindowsソフト」というのはどうなんだ
bcompilerって手もあるが
0023デフォルトの名無しさん
2016/03/15(火) 23:05:03.91ID:g1PqSQB6str_replace を使ってる。
%は\\%に置き換える。_は\\_に置き換える。
strtr でも同様だろう。
他にやりようが有れば知りたいね。
0024デフォルトの名無しさん
2016/03/16(水) 00:52:15.32ID:YUxkRKsrネットつながってなくても動くんならWindowsソフトでいいんじゃない?
0025デフォルトの名無しさん
2016/03/16(水) 01:20:47.41ID:BN+Lq3m+foreachとarray_*関数使うのはどっちが早いの?
例えばある配列から特定のキーと値だけを取り出す場合、
foreachで回して取り出すのか、array_searchで取り出すのかで処理スピードに差は出てくる?
0026デフォルトの名無しさん
2016/03/16(水) 01:22:13.55ID:W+A3q4l00027デフォルトの名無しさん
2016/03/16(水) 03:07:40.77ID:6pUenI4Fプロセス間通信にhttp使ったらそれはもうサーバなしのソフトとはいえないだろ的な?
0028デフォルトの名無しさん
2016/03/16(水) 09:42:43.04ID:31XCK0BE俺は関数あればそっち使って、問題ありそうなら回してるって基準だけでやってる。
よほど大きなデータじゃなければいちいち計測なんかしてない。
0029デフォルトの名無しさん
2016/03/16(水) 10:44:00.47ID:Ny+vSnKw関数があれば関数を使う
速度が要件を満たさない場合にボトルネックの発見と改善のために計測する
0030デフォルトの名無しさん
2016/03/16(水) 11:31:36.06データベースはデータベースで計測出来るし
0031デフォルトの名無しさん
2016/03/16(水) 13:01:21.01ID:uy33h+7U現在JavaScriptでロード時(リロード時)に特定のhtmlタグの値を書き換えるコードを使用しているのですが、訳あって使うことができなくなります
phpは使うことができるのですが、上記の動作と同じようなものは作成可能でしょうか
よろしくお願いします
0032デフォルトの名無しさん
2016/03/16(水) 16:57:24.73ID:WJMGp9Ueただそれがあなたの思ってるとおりのものなのかは保証できない。
最初から書き換えたものを使えばいいのでは?という疑問に答えてくれれば、
もっといいアドバイスが出来ると思う。
0033デフォルトの名無しさん
2016/03/16(水) 17:34:10.57ID:uyHrsjE6PHPを使おうと使うまいと、普通のウェブブラウザを使う限りJavascriptは使えると思うが。
PHPはリロード痔にタグを書き換えるどころか、全く違うHTMLを出力することもできる。
常に全く同じHTMLを出力するだけなら、HTMLでよく、PHP使う必要ないでしょ。
だから、できると思うが、できるんですか?と聞いている人にできるかどうかは分からないよ。
0034デフォルトの名無しさん
2016/03/16(水) 19:56:53.04ID:08Q65Pyephpはhtmlそのものを書き換える事は出来るけどタグだけなら書き換え出来ない
003531
2016/03/16(水) 20:02:58.06ID:uy33h+7U>>33
お二方、レスありがとうございます
>>32
個人的なことなのですが、正確には書き換えるではなく削除するでした
htmlの話になるので割愛しますが、textareaタグの初期値をロード時に削除しないとplaceholder属性を使用することができないため、JavaScriptを使って削除していました。
本題の初期値を指定しなければいいという話になりますが、指定せずにいるとバリデーターにて構文エラーが出て気持ちが悪いという本当にただの個人事です。
>>33
おっしゃるとおりJavaScriptは使おうと思えば使えます。
使うことができないという理由はこちらもhtmlの話になるので割愛しますが、doctype宣言をhtml4.01からiso-htmlに切り替えるためということになります。
iso-htmlではJavaScriptを使用することができないため、phpでできないかと考えたしだいです。
お二方のアドバイスからphpでも可能と判断しました。
これから参考書を買ってきます。
レスをくださり、ありがとうございました。
0036デフォルトの名無しさん
2016/03/16(水) 21:26:32.52ID:bVagARgSはあ?タグを書き換えられないだと? 意味不明。
#!/usr/bin/php
print "<html><body>";
if($tag_default){
print "<tag 1>";
}
else{
print "<tag 2>";
}
print "</body></html>";
0037デフォルトの名無しさん
2016/03/16(水) 21:34:35.21ID:/m4HeSgG0038デフォルトの名無しさん
2016/03/16(水) 21:38:12.31ID:08Q65Pye上の人曰くロード時にjsを使ってタグを書き換えると書いてある
なら最初からタグを書き換えた"html"をphpで吐けばいいと言う話でそちらの例文通りなんだが
わざわざタイミング的にロード時に"タグ"を書き換えるというなら出来ないと
0039デフォルトの名無しさん
2016/03/16(水) 21:38:16.49ID:6pUenI4Fなんか不安になる流れだけど、言葉を借りながら書くと、ロード後に何か変更することはできないよ。
0040デフォルトの名無しさん
2016/03/16(水) 21:39:18.20ID:TswKIM7eいやぁ>>35の要求は無理でしょ
バリデーションエラー抑制なんだから読まれるHTMLそのものにはtextareaの初期値が設定されている必要があり, onload或いはreadyイベント時にクリアする必要があるわけでしょ
クライアントサイドのお仕事なんだからサーバサイドではどうにもならん
0041デフォルトの名無しさん
2016/03/16(水) 21:42:40.76ID:1Ad9HLvEform部品のidだかnameだかを動的に変えてやってcacheも無効にすればあるいは
004231
2016/03/16(水) 21:54:52.61ID:uy33h+7U荒らしてしまったようで申し訳ありません。
>>38
補足として、ロード時にタグを書き換えるではなく、ロード時にタグの値を削除するです。
before:<textarea>hoge</textarea>
after:<textarea></textarea>
紛らわしかったですね。ごめんなさい。
>>39
ロード後というよりはロード時なのでScript系でいうonload的な何かトリガーになる関数やメソッドがないかなと思いまして。
0043デフォルトの名無しさん
2016/03/16(水) 22:41:03.47ID:TswKIM7e実装案あるなら詳しく知りたい
0044デフォルトの名無しさん
2016/03/16(水) 22:41:21.24ID:uh2T6fm3PHPじゃなければなんだ?
PHPは、printf("abcdefg\n"); と書いても動くで。
>>40
リロードされるということはサーバーが情報出すわけでどうにでもなる。
もちろん、リロードさせないで変えることは、PHPというより、CGIではできない。
<html><body>
<?php
なんか処理
?>
</bdoy></htm>
だと、bodyタグは書き換えられないけど、
print "<html>"
if($default){
print "<body>";
}
else{
print "<aaaa>";
}
print "</body></.html>"
だと書き換えられるだろ。
タグ書き換えられないなら、もはやCGIの意味ないだろ。
書き換える条件は、GETまたはPOSTで受け取れるだろ。何言っているのか意味不明だよマジで。
0045デフォルトの名無しさん
2016/03/16(水) 22:54:25.28ID:TswKIM7e何でCGIとか言い始めたのか分からんのだけど
で, >>35の要求はクライアントサイドでの書き換えだと読めるわけだし, それは>>42でもそうだということが分かるわけだけど, サーバサイドで何するの?
0046デフォルトの名無しさん
2016/03/16(水) 23:06:42.52ID:uh2T6fm3「ロード時」って言っているんだからサーバーだろ。
というか、おまえのブラウザはPHPプラグインでもあるのかよ?
聞いたことねーぞそんなの。
どこに、ブラウザのクライアントサイドでPHP使っている奴がいるんだよ。
話にならんわマジで。
PHPはJavascriptみたいにクライアントサイドでは動くわけない。
そんな低次元な話を言いたいわけ?当たり前じゃん
0047デフォルトの名無しさん
2016/03/16(水) 23:13:18.12ID:TswKIM7eとまぁサーバサイドからすればロード後もロード時もレスポンス送出後の話なので関与出来ない。
当然JavaScriptで操作するイベントハンドラもサーバ側からは全く見えない。
0048デフォルトの名無しさん
2016/03/16(水) 23:21:29.98ID:yE3DB2AT0049デフォルトの名無しさん
2016/03/16(水) 23:28:54.37ID:UiCQsACT既にあるシステムの出力をいじりたいんだろ?
サーバサイドを自由にできるなら既存の出力処理に手を入れる話だろ。
PHP がどうとかいうレベル以前のことなわけで。
0050デフォルトの名無しさん
2016/03/16(水) 23:29:40.46ID:uh2T6fm3サーバーとの通信で成り立っているから、
クライアントだけで完結するプログラムで簡単にできることも、CGIとなると難しいんだよ。
できるんですか?って聞いているような人にはできないから諦めなよ。
バカにかかるとできることもできなくなる。
それはどんな言語でもどんなプログラムでも同じ。
0051デフォルトの名無しさん
2016/03/16(水) 23:42:41.54ID:UiCQsACT後半には同意だがな
0052デフォルトの名無しさん
2016/03/16(水) 23:50:29.07ID:t34HQYxh>上記の動作と同じようなものは作成可能でしょうか
PHPでは無理。不可能。
>>42
>Script系でいうonload的な何かトリガーになる関数やメソッドがないかなと思いまして
PHPには無い。
だから参考書は買わなくていいぞ。
0053デフォルトの名無しさん
2016/03/16(水) 23:52:26.23ID:TswKIM7eCGIとはCommon Gateway Interfaceの略で, Apacheならばmod_cgiやfastcgiモジュールがPHPインタプリタを叩いて実行するもの
0054デフォルトの名無しさん
2016/03/17(木) 00:04:39.60ID:SrjbyMW+> ロード後というよりはロード時なのでScript系でいうonload的な何かトリガーになる関数やメソッドがないかなと思いまして。
onloadはロード直後に動くイベントなのでロード後ですよ。
で、まぁ、PHPでそれは無理。
0055デフォルトの名無しさん
2016/03/17(木) 02:10:23.89ID:E3PmrLA5Javascript使わないって言っているんだから、onload関係ないでしょ。
それはJavascriptなんだから。
リロードかかるということは、サブミットかかったってことだから、
サブミット(Enter)で、サーバー側に情報送って、サーバー側のPHPが処理すればいいの。
ロード後はそりゃ何もできないよ。
でも必ずロードされるんだから、ロード前に処理ができるでしょ。
Javascript使わないって言っているのに、ロード後、ロード後って気でも狂ったの?
Javascript使わないならJavascriptの処理はできないが、それは当然のことで君がわざわざ言う理由が分からん。
>>53
いつの時代の話してるんだよ。
もうPHPはCGIが普通になっている。
詳しい事情はよく知らないが、もうモジュール版はほとんど使用されてない。
今はモジュール版しか使えなかったレンタルサーバーも、逆にPHPはCGIでしか使えなくなってるよ。
PHP側がCGI推奨してモジュール版非推奨になったんじゃないの?
最新のPHPでもモジュール版ってあるの?
0056デフォルトの名無しさん
2016/03/17(木) 04:16:17.63ID:+pOWXd9M実装と言えるほどのもんじゃないけど
ブラウザがform部品の値を維持するのって、「同じform部品である」と認識してるからでしょ
受諾htmlソースに差異がないから「同じform部品である」と認識されて、んでF5押しても値を引き継ぐと
厄介なことにブラウザごとにこの維持条件が多少違うから、大昔からformのリロード問題が面倒だったわけで
だから、
<html><body><form action="form.php" method="post"><textarea name="<?= (string)(mt_rand(15123313, 75123313)) ?>"></textarea></form>
実際にこんなん書いたら手元に環境では素のF5押下でtextareaの値がクリアされた
真面目に実装するなら、<?= 'textarea'.( (string)(mt_rand($start,$end)) ) ?> とかにしといて
submitされて値を受け取るform.phpで$_REQUESTなり$_POSTや$_GETなりをforeachして値があるかチェックすりゃいい
その程度
0057デフォルトの名無しさん
2016/03/17(木) 04:21:00.26ID:RyL0OfbXtextareaにそんなルールあったっけ?
0058デフォルトの名無しさん
2016/03/17(木) 04:30:16.22ID:+pOWXd9M>>35のレスから、textareaで、placeholderを有効にするためにリセットしたい、と読んだからこう書いたけど
別にtextareaじゃなくてinputでもinnerHTML/textContentsじゃなくてvalueの中身でも好きにしていいと思う
それとDOMツリーが何基準で構成されてるか知らんからアレだけど、もしかしたら
<textarea>ではなく<form>のほうの、あるいはnameだけでなくidも、変えてやる必要があるかもしれない
>>57は自分も興味ある。iso-html使ったことない
0059デフォルトの名無しさん
2016/03/17(木) 04:42:48.51ID:RyL0OfbX結果は問題なくパスしたし仕様書にも特に初期値入れろなんて書いてないような
(隅々まで読んだわけじゃないけど)
例にも初期値入れてないサンプルが書かれてるし不要なんだと思う
ただW3Cのバリデーターでは問題なかったけどAnother HTML-lintでは指摘されるね
どっちを信用するかといったら自分はW3Cを信用するけど
0060デフォルトの名無しさん
2016/03/17(木) 04:50:59.99ID:+pOWXd9Mユーザが入力した内容がリロード時に残ってそれが何かのチェックに引っかかるのかと勘違いしてた
だからhtmlの話なのか……>>56,58まったく意味ないわすまん iso-htmlじゃスクリプトの類使えないらしいしなあ
006131
2016/03/17(木) 09:35:54.48ID:7bUuFC4Kみなさん沢山のレスをくださり、ありがとうございます。
>>47
関与できないのですか
phpはサーバーサイドで動くので あるいはと思たのですが
>>52
不可能ではしょうがないですね
でもphpは学びたいので参考書は買うことにします。
>>54
phpではロードがトリガーになるタイプの関数などはないのですか
>>57
>>59さんのおっしゃるとおり http://openlab.ring.gr.jp/k16/htmllint/htmllint.html
では指摘される箇所です。w3cの構文チェックでは問題ありません。
>>58
アドバイスありがとうございます
inputだけならvalueは空でも問題が発生しないのですが、textareaだけは融通が利かず困っております。
問題の解決には時間がかかりそうですが、妥協せずに努めます。
>>31の質問についてはここで〆させていただきます。
皆さん本当にありがとうございました。
0062デフォルトの名無しさん
2016/03/17(木) 15:09:51.59ID:tyGZO1LHマニュアル読んでないの?
http://php.net/manual/en/install.unix.commandline.php
0064デフォルトの名無しさん
2016/03/17(木) 15:33:57.91ID:C8WQ31QC>Apache2 の MPM マルチスレッドモードを実運用環境で使用することは推奨されません。
>代わりに prefork MPM を使ってください。
>これは Apache 2.0 および 2.2 におけるデフォルトの MPM です。
>prefork MPM を使う理由については、 マルチスレッド版 MPM の Apache2の FAQ エントリを参照してください。
意訳
worker使うにはfastcgi入れてね
今nginx+fastcgiで構築中
0065デフォルトの名無しさん
2016/03/17(木) 23:09:31.14ID:tyGZO1LH0066デフォルトの名無しさん
2016/03/18(金) 02:50:58.31ID:VCEknKj50067デフォルトの名無しさん
2016/03/18(金) 16:25:00.45ID:b9TT5Thu0068片山博文MZ ◆T6xkBnTXz7B0
2016/03/18(金) 16:34:07.36ID:Ap+aghgXSQLを勉強。
データベースを元にレス一覧を表示するページを作る。
データベースにレスを追加する機能を付ける。
個人認証とアクセス規制の機能を付ける。
RoRの方が簡単だよ。
0069デフォルトの名無しさん
2016/03/18(金) 16:36:42.93ID:6oRuSaMuまずは基礎的なことを学べばいい
ファイルの読み書きとPOST,GETの概要がわかれば作れる
0070デフォルトの名無しさん
2016/03/18(金) 16:42:05.89ID:R++Q/oTK<?php
$fp = fopen('log.csv', 'a+b');
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['name']) && isset($_POST['text']) ) {
fputcsv($fp, [$_POST['name'], $_POST['text']]);
rewind($fp);
}
$rows=[];
while ($row = fgetcsv($fp)) $rows[] = $row;
fclose($fp);
function h($str) {
return htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
}
?>
<html>
<meta charset="UTF-8">
<title>掲示板</title>
<h1>掲示板</h1><h2>新規</h2>
<form method="post">
名前: <input type="text" name="name" value=""><br>
本文: <input type="text" name="text" value=""><br>
<input type="submit" value="投稿">
</form><h2>一覧</h2><ul>
<?php foreach ($rows as $row){ ?>
<li><?=h($row[1])?> (<?=h($row[0])?>)</li>
<?php } ?>
</ul>
0071デフォルトの名無しさん
2016/03/18(金) 17:07:51.15ID:tFp6SKta試しにそのスクリプトを動かして見たんだが、log.csvには何も書き込まれん。
動かんぞ
0072デフォルトの名無しさん
2016/03/18(金) 17:37:32.82ID:ylD08sGN<?php
header('Content-Type: text/html; charset=UTF-8');
date_default_timezone_set('Asia/Tokyo');
$log = 'log.txt';
$name = 'nanashi';
if (@$_POST['name'] && @$_POST['comment']) {
$name = $_POST['name'];
$now = date('y/m/d H:i');
file_put_contents($log, mb_convert_encoding("{$_POST['name']}<>{$_POST['comment']}<>{$now}\n", 'UTF-8', 'UTF-8'),
FILE_APPEND | LOCK_EX);
}
$read = file($log);
array_map(function($a){
return mb_convert_encoding($a, 'UTF-8', 'auto');
}, $read);
$len = count($read) - 1;
?>
<form method="post">
Name;<input type="text" name="name" size="10" maxlength="10" value="<?php echo $name; ?>">
Comment:<input type="text" name="comment" size="50" maxlength="50">
<input type="submit">
</form>
<ul>
<?php
for ($i = $len; $i >= 0; $i--) {
$src = explode('<>', $read[$i]);
echo '<li>' . htmlspecialchars("{$src[0]}:{$src[1]}({$src[2]})", ENT_QUOTES, 'UTF-8') . '</li>';
}
?>
</ul>
0073デフォルトの名無しさん
2016/03/18(金) 18:16:32.51ID:Ncw6iORzlarevelの上記コードで
http://localhost/laravel/public/から
http://localhost/laravel/public/taskに行くと思うのですが、
http://localhost/taskに移動して404が出てしまいます。
初フレームワークでいまいちピンと来ないのでご教授願います。
0074デフォルトの名無しさん
2016/03/18(金) 18:18:38.48ID:ylD08sGNこっちで聞いたほうがええで
0075デフォルトの名無しさん
2016/03/18(金) 18:27:28.59ID:kCkFI5Um0076デフォルトの名無しさん
2016/03/18(金) 18:44:41.00ID:4GbB4r0Qファイル書き込みできない理由がわからんな…
0077デフォルトの名無しさん
2016/03/18(金) 18:56:49.98ID:ylD08sGN0078デフォルトの名無しさん
2016/03/18(金) 19:11:37.81ID:Ncw6iORzこんなのドキュメントにさえ書いてなかったぞ
0079デフォルトの名無しさん
2016/03/18(金) 19:15:56.65ID:VCEknKj5そもそもこんなアクセスが可能な時点で何か間違えてる
0080デフォルトの名無しさん
2016/03/18(金) 19:19:01.05ID:Ib/Six5xいや、単純なファイルへの書き込みプログラムは動くんだがここで上がっている掲示板が動かん。
Macだからログファイルを777に設定してみたが無駄だった
0081デフォルトの名無しさん
2016/03/18(金) 19:28:18.96ID:VCEknKj5試してないけど、少なくともphp5.4以降じゃないと動かないかと
0082デフォルトの名無しさん
2016/03/18(金) 19:52:51.02ID:PmB3GW7n後方互換性はあるよね?
PHP 7.0.4 (cli) (built: Mar 6 2016 20:04:17) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
0083デフォルトの名無しさん
2016/03/18(金) 20:15:10.33ID:VCEknKj5動かしてみたら動いたよ。
0084デフォルトの名無しさん
2016/03/18(金) 20:25:43.68ID:fETB3aTj0085デフォルトの名無しさん
2016/03/18(金) 21:05:02.39ID:ylD08sGNaction先指定してないせいとかそんなんだったりして
0086デフォルトの名無しさん
2016/03/18(金) 22:19:38.49ID:1/+/M8CG何も出てないね。
action先指定してもダメ
調べたらPOSTされた値の取得失敗してる
よくわからん
0087デフォルトの名無しさん
2016/03/18(金) 23:51:19.80ID:VCEknKj50088デフォルトの名無しさん
2016/03/19(土) 10:23:11.43ID:RdVsRxwn現在は一人でwindowsのVistaを使っていますが買い替える予定です。
開発者はmacの方が多いんでしょうか?
0089デフォルトの名無しさん
2016/03/19(土) 10:53:37.88VisualStudioにPHP Toolsを入れるのが一番捗るぞ
Windowsでよろしい
0090デフォルトの名無しさん
2016/03/19(土) 12:07:25.47ID:TH+k+4Mf0091デフォルトの名無しさん
2016/03/19(土) 12:39:27.23ID:7KrQRChZ開発バリバリやっている人ならMacがおすすめ。
ただし、Macは値段高いよ。
俺はmid2015 16GBのMBP使ってる
brewで簡単にいろいろ入れられるのは便利だね
IDE使っているとすぐメモリ10GB近く食われてるから8GBだときついかも
009288
2016/03/19(土) 13:09:06.17ID:KQyZU1ENありがとうございます。参考になります。
10ならIDEのもっさり感がないと期待したいです。
>>91
調べてみたら爆速との評価で羨ましいです。
ただお高いですね・・・
今はWindows10を買って、Macの購入は今後の目標にするのが現実的みたいです。
ありがとうございました。
0093デフォルトの名無しさん
2016/03/19(土) 13:17:01.38ID:KP8Apys+持ち運ぶ事がなければデスクトップ、持ち運びたいならノート
メモリーは 8G 以上、16G あれば十分。当然OSは64ビット版。
デスクトップであればHDD 2台内蔵しておくと何かと便利。
OSはWindowsかLinux、より多く使う可能性があるものをインストール。
その後、他方をVM使ってインストールする。
これで1台のPCで2台分になり、サーバー・クライアント環境が実現できる。
0094デフォルトの名無しさん
2016/03/19(土) 14:01:59.09ID:uL3uF0Qyプログラムは>>72のやつなんだかやっぱりだめだわ
$_POSTに値が入っていない
postでリクエストを受け取っているのに値がないってどういうこっちゃ
フォームにhiddenで値を仕込んでみたりしたが値が入ってなかった。
0095デフォルトの名無しさん
2016/03/19(土) 15:22:31.48ID:S6HwApMW0096デフォルトの名無しさん
2016/03/19(土) 15:32:07.50ID:JCgDTcvTUndefinedだね。
issetで見ても入ってないしどうなってるんだ…
0097デフォルトの名無しさん
2016/03/19(土) 15:38:28.26ID:S6HwApMW鯖の再起動は?
0098デフォルトの名無しさん
2016/03/19(土) 15:40:12.50ID:KlqJkaFEそこで問題がなければサーバ側に問題があると予想ができる
phpかwebサーバの設定が濃厚だけど
問題がosまで及ぶと一般人には難しいかもしれん
0099デフォルトの名無しさん
2016/03/19(土) 16:01:53.57ID:TH+k+4Mf0100デフォルトの名無しさん
2016/03/19(土) 16:05:51.16ID:OXv0vTm9PHP自体は動くんだが値を受け取れない状態だからもうよくわからん
PHPStormのビルトインサーバーでデフォルト状態のままなんだがなぁ…
再起しても意味なかったで。
わからんから他で質問してみたわ。
0101デフォルトの名無しさん
2016/03/19(土) 16:14:40.54ID:8q6oCiAL0102デフォルトの名無しさん
2016/03/19(土) 16:45:48.19ID:FPRwOkHwarray(0) { } だった
0103デフォルトの名無しさん
2016/03/19(土) 17:29:32.94ID:MsPwdRrKぐぐったら$_POST always empty とか腐るほど出てくる
0104デフォルトの名無しさん
2016/03/19(土) 17:54:45.58ID:8q6oCiALそもそもinputのvalueに値は入ってるのかな?
ためしにhiddenで適当な値を渡してみてはどうだろう。
それでダメならサーバ設定かなあ
0105デフォルトの名無しさん
2016/03/19(土) 17:58:17.54ID:8q6oCiAL空でもvar_dumpしたらname=>''ってなるか。
0106デフォルトの名無しさん
2016/03/19(土) 18:27:23.31ID:69KMUp3Gまさにこれだった。
https://www.reddit.com/r/PHPhelp/comments/3uxapu/phpstorm_local_php_5616_post_always_empty/
$post = file_get_contents('php://input');を追加して$postから値をとったらできたわ
0107デフォルトの名無しさん
2016/03/19(土) 22:25:45.21ID:FGEWUki8http://codezine.jp/article/detail/937
この記事の一番上にある黄色い枠内のPHPコードについてなのですが、コードの内容としては「変数emailに格納されたメールアドレスをエンティティ化してURLと一緒に吐き出している」という感じでいいのでしょうか。
よろしくお願いします
0108デフォルトの名無しさん
2016/03/20(日) 01:51:37.61ID:7rdlXsW/0109デフォルトの名無しさん
2016/03/20(日) 01:57:35.30ID:sIxj3/qZそのサイトはちゃんと配慮した書き方をしてないせいで
実行結果みると何もかわってないように思えるけど実際は
>実行すると以下のような出力になる
の(2個目の黄色い)部分はこんな風になってる
※ここ(2ch)でも&を半角にすると見た目わからなくなるので全角&で書く
<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#109;&#101;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;">
&#109;&#101;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;
</a>
0110デフォルトの名無しさん
2016/03/20(日) 06:49:09.21ID:7rdlXsW/0111107
2016/03/20(日) 09:48:22.76ID:Rtd+5JCT>>108
合ってましたか。良かったです。
>>109
実行後の結果を見たらそのようになっていました。php初心者の自分から見れば謎技術です。
皆さんレスをくださりありがとうございました。
最後にひとつ気になることがあるのでアドバイスをください。
今回のPHPコードは結果としてメールアドレスをエンティティ化していますが、
PHPコードを使用せずに最初から「http://www.luft.co.jp/cgi/coding.php」のようなサイトを使ってエンティティ化したメールアドレスをHTMLに組み込んでいる場合とではセキュリティ(回収ロボット対策)に違いが生じるものなのでしょうか。
よろしくお願いします。
0112デフォルトの名無しさん
2016/03/20(日) 11:20:55.28ID:7rdlXsW/どっちかってーとphpというよりHTTPのおはなしだなや
ロボット対策としては、実体参照を使うより
画像化するとかjavascript経由でdecodeさせるとかの方が良い気もするけど
経験則ではすごく単純にやるだけでも画像化するとほぼ全くスパム来ない
0113デフォルトの名無しさん
2016/03/20(日) 11:47:54.77ID:ocz4IH7rbotはwebサイトのソースコードを解析してメールアドレスを探し出す。
レベルの低いbotは、〜@〜.comみたいなのでメールアドレスと判断するから、
実体参照にしておくとそのルールにはひっかからなくなるっていうだけのお話。
だから>>111のサイトで変換したものを使っても差はない。
むしろ最初から変換したものを静的に使ったほうが、動的に毎回変換するより賢い。
並のbotは実体参照に変換されたのをさらにデコード(元通りに)してから判別するので無意味。
あくまでも数多くあるbotの中でもっとも低レベルなbotの対策と捉えた方がいい。
0114デフォルトの名無しさん
2016/03/20(日) 12:35:04.56ID:q7lvq1yy0115107
2016/03/20(日) 12:37:18.67ID:Rtd+5JCT>>112
画像化すると良いというのはよく見かけますが本当だったんですね。
>>113
エンティティ化したメールアドレスは低レベルなロボットには対策できるんですね。
お二方、アドバイスありがとうございました。
これからサイト作りに励みたいと思います。
ありがとうございました。
0117デフォルトの名無しさん
2016/03/20(日) 13:08:19.56ID:R3VnfHe8http://www.maurits.vdschee.nl/php_hide_email/
0118デフォルトの名無しさん
2016/03/20(日) 13:12:07.42ID:ocz4IH7rちょっとコード追加するだけでデコード出来るし、初心者でもそんくらい簡単に出来るから。
ただGD使って画像ねじまげたりまでする必要はない。
画像解析までいくと導入ハードルはあがるし、作業も大変なだけだから、そこまでやるスパマーはそうはいない。
他の人も言ってるけどアドレスかいた画像おいとおけばいい。
画像に関して強いて言うならば、mail.jpgとかわかりやすい名前にはしないほうがいいってことぐらい。
でも実際スパマーが使ってる手口は総当り攻撃的あるいは辞書攻撃的に、
適当な文字列でYahooとかGmailとかメジャーなアドレスを作成して、
実際にそのメールアドレスが存在するか調べた後にそこに送信してるだけ。
0119107
2016/03/20(日) 16:06:37.44ID:Rtd+5JCT>>117
今の自分にはエベレストのように高いハードルです。
>>118
やはり画像が一番無難のようですね。
本当はメールフォームを置くのが一番なのでしょうが、訳あって置くことができないため、このような質問をいたしました。
納得のいく答えが出たので>>107の質問はここで〆といたします。
沢山のレス、ありがとうございました。
0120デフォルトの名無しさん
2016/03/20(日) 18:59:16.49ID:UVbtKDHl$_FILESはどうするのかな?
0121デフォルトの名無しさん
2016/03/20(日) 19:23:05.07ID:ocz4IH7risset使った三項演算子のコードで書いてる人のほうが多分多い
php7では??演算子ってのがあってそれが主流になっていくと思われる(タブン)
0122デフォルトの名無しさん
2016/03/20(日) 21:27:02.46ID:UVbtKDHl今後スーパーグローバルの直接参照ができなくなるんじゃないかと焦ったんだけど、
邪推かね。
やれ、10年分汗かいた。屁でもして寝るか…
0123デフォルトの名無しさん
2016/03/21(月) 06:14:59.31ID:csZVNDaX初見だと「おっ書くの楽になるないいかも」と思ったけど
これってnullか未定義しか拾えないし判定に使ったものと実際に代入するものを別にできないよな
使われることなく忘れられていきそう
0124デフォルトの名無しさん
2016/03/21(月) 07:33:32.57empty(判定する変数 ? : 空でなければこうする);
ってどうなりますか
0125デフォルトの名無しさん
2016/03/21(月) 07:57:20.73ID:tg5Bjvem0126デフォルトの名無しさん
2016/03/21(月) 21:16:11.86ID:QwlARmOt結局何が言いたいんだ…?
0127デフォルトの名無しさん
2016/03/21(月) 22:44:58.69ID:JGe4MEfE1.メイン処理で別スレッドを生成する
2.別スレッドをバックグラウンド実行する
3.別スレッドの処理結果(標準出力)をメイン処理に返却する
<環境>
PHP:7.0.3
OS:Windows7
よろしくお願いします。
0128デフォルトの名無しさん
2016/03/21(月) 23:37:09.63ID:hs33rQ/Z0129デフォルトの名無しさん
2016/03/23(水) 19:40:56.99ID:bhVhOKrP$path_info=(string)substr($request_uri , strlen($base_url));
というコードがあったんですが、(string) って何を表しているのですかっっ(´・ω・`)
0130デフォルトの名無しさん
2016/03/23(水) 19:48:17.15ID:/CoInmbihttp://php.net/manual/ja/language.types.type-juggling.php#language.types.typecasting
0131デフォルトの名無しさん
2016/03/23(水) 19:56:23.21ID:SGU6tbYrsubstr の結果を文字列化してる。
元々 substr の結果は文字列じゃないかと思うかもしれないけど、切り出し位置が元の文字列の範囲内に引っかからないと結果は boolean型の false になる。
これをキャストしてヌルストリングスにしてる。
0132デフォルトの名無しさん
2016/03/23(水) 20:43:50.59ID:bhVhOKrP解説わかりやすいです(´・ω・`)
ありがとうございます(´;ω;`)ブワッ
0133デフォルトの名無しさん
2016/03/23(水) 20:47:59.96ID:1FyX1z+Wphpのライブラリは有りますか?
自分が作るとループとネストが多くなってあとで読み返すのが辛いです。
0134デフォルトの名無しさん
2016/03/23(水) 21:01:22.20ID:ygSnWzaXphp7では空文字返すようになったみたいだけど
0135デフォルトの名無しさん
2016/03/23(水) 21:20:26.54ID:lc58fuH/0136デフォルトの名無しさん
2016/03/23(水) 21:53:15.96ID:g8IzY8y0CakePHP
リファクタリングを読めばいい
オブジェクト指向でメソッドを適度に細かくすればネストは減る
0137デフォルトの名無しさん
2016/03/23(水) 22:29:08.16ID:1FyX1z+WおーCakeですか
ありがとうございます
0138デフォルトの名無しさん
2016/03/23(水) 23:39:47.02ID:q0Mdl0g10139デフォルトの名無しさん
2016/03/24(木) 00:13:42.66ID:J46FDWslというのを繰り返していけば、自然と綺麗なコードが書けるようになると思う
0140デフォルトの名無しさん
2016/03/24(木) 13:43:58.72ID:5kgXhXKu例えばセッション開始したときにPersonオブジェクトを作ったら、$_SESSION['person']に突っ込んでセッション保持している間はこれを参照する感じ?
0141デフォルトの名無しさん
2016/03/24(木) 15:10:49.34ID:ryYCL5Z20142デフォルトの名無しさん
2016/03/25(金) 17:09:00.06ID:9tPeO3Xg0143デフォルトの名無しさん
2016/03/25(金) 17:11:16.43ID:nroxL6SM人に説明するときゃ変数っていうだろうよ
0144デフォルトの名無しさん
2016/03/25(金) 17:11:22.46ID:R5xBwmiE0145デフォルトの名無しさん
2016/03/25(金) 17:12:19.49ID:sGrJOjWZ0146デフォルトの名無しさん
2016/03/25(金) 17:50:00.07ID:Psh2jzTy0147デフォルトの名無しさん
2016/03/25(金) 18:38:58.10ID:0FfQhw//0148デフォルトの名無しさん
2016/03/25(金) 18:45:15.87ID:ir49Z4lH0149デフォルトの名無しさん
2016/03/25(金) 21:00:45.71ID:jE5E6FoE配列が入っているときは「はいれつ」
オブジェクトが入っているときは「おぶじぇくと」
0150デフォルトの名無しさん
2016/03/27(日) 23:18:01.97ID:2Si7i7dwWin7です
0151デフォルトの名無しさん
2016/03/27(日) 23:19:43.94ID:B1uwwf8h0152デフォルトの名無しさん
2016/03/27(日) 23:21:22.83ID:zkDYEIdB師匠を選ぶ目
0153デフォルトの名無しさん
2016/03/28(月) 00:07:56.74ID:eqDgVfq/本番環境でVPSとか使うならちゃんとLinux環境でインストール設定出来るようにしといたほうがいいが
とりあえず素人なら環境構築はxamppとかオールインワンパッケージにまかせておいたほうがいい
プログラム素人ならIDEよりPHPエディタやNotepad++みたいなの使えばいいと思う
もしプログラム経験あるんなら環境構築は仮想マシンにvagrantでIDEはEclipse Netbeans VSあたりから選べばよい
有料でいいならPhpStormがいいらしい
ただこのへんは開発マシンのスペックと相談してください
たいしてスペックがないならxampp+エディタ系で
0154デフォルトの名無しさん
2016/03/28(月) 00:16:30.94ID:c7fcoboNローカルのxammpで開発し動作確認しながら、
実際のサーバーに転送して再度動作確認すればいいんですね
0155デフォルトの名無しさん
2016/03/28(月) 00:39:56.72ID:xoXx/JLy0156デフォルトの名無しさん
2016/03/28(月) 00:41:37.13ID:eqDgVfq/本番環境で使えるのにxamppのインストール直後では使えないってこともあるので
出来れば本番環境のphpinfoを調べてエクステンション周りだけでもローカル(xampp)のphp.iniを編集して合わせてやるといいんだけどね
0157デフォルトの名無しさん
2016/03/28(月) 01:32:48.66ID:kF6uGKy4xamppとnotepad++ EUC-JP対応版をインストしました。
動かす環境はできました。さっそくソース書いて行きたいとこですがphpの基本わかってないんで
本屋行ってphpの本買ってサンプルソースで勉強するしかないですね。
>>155
xampoみたいなオールインワンにnabetapってのもあるんですね。
0158デフォルトの名無しさん
2016/03/28(月) 02:10:34.22ID:WGFAAxFbin/outするすべてのファイルを、UTF-8 にしないとバグを起こす
0159デフォルトの名無しさん
2016/03/28(月) 04:13:30.30ID:c7fcoboNEUC-JP版はじゃなくてこっちでいいんでしょうか?
0160デフォルトの名無しさん
2016/03/28(月) 04:52:10.62ID:eqDgVfq/元ある機能の拡張でeuc-jp,sjisも扱えるようになるってだけで
utf-8が扱えなくなるわけじゃないから
0161デフォルトの名無しさん
2016/03/28(月) 04:56:44.16ID:eqDgVfq/languageのPからPHP探してセットすれば入力補完してくれるようになる
0162デフォルトの名無しさん
2016/03/28(月) 05:08:28.66ID:c7fcoboNあとは慣れてきたらIDEのNetbeansも導入てみようと思います。
0163デフォルトの名無しさん
2016/03/28(月) 19:51:26.79ID:IKi/yKO6xamppとeclipseがセットだったんで楽じゃった。
0164デフォルトの名無しさん
2016/03/29(火) 09:55:43.28ID:JWick5hXLinuxなんて使いたくないし
windowsで十分、てか便利
0165デフォルトの名無しさん
2016/03/29(火) 12:25:01.83ID:6JekQQcRwindowsで作ってlinuxで動かすと動かない場合がある。
大文字小文字とか文字コードがらみ。
0166デフォルトの名無しさん
2016/03/29(火) 13:56:11.99ID:nKJmxYgrスゲーな
まだSJISの方が理解できるわ
0167デフォルトの名無しさん
2016/03/29(火) 14:07:02.53ID:MGaWHjrZ旧資産・古いunix/linuxつかっててどうしても切り離せないというケースなのかもしれない
0168デフォルトの名無しさん
2016/03/29(火) 14:11:09.82ID:JWick5hX0169デフォルトの名無しさん
2016/03/29(火) 17:31:26.24ID:aXDijjSz本番環境とはわけて考えないと
0170デフォルトの名無しさん
2016/03/29(火) 18:38:33.15ID:4928WWNs644にしたり755にしたり 777にしたり。
(´・ω・`)なんでオーナーとその他の権限分けるの?
0171デフォルトの名無しさん
2016/03/29(火) 19:03:53.27ID:52Yuz1Q/EUC-JPを使うじゃなくてEUC-JP対応のエディタを使うっていう話でしょ。
EUC-JPやSJISに対応してるのは日本語環境のエディタの基本機能といってもいい。
notepad++調べたけど、公式に開発されてるのはEUC-JPにもSJISにも対応していない。
notepad(付属メモ帳)の代わりとして使うことを想定すれば対応しているべきで、
EUC-JP対応版(EUC-JPとSJISに対応)があっても不思議でない。
0172デフォルトの名無しさん
2016/03/29(火) 19:48:41.14ID:vFEhZxREセキュリティのために必要最低限のパーミッションを与える
0173デフォルトの名無しさん
2016/03/29(火) 20:36:50.97ID:hB33GZnr通常実行権限はいらないよ
0174デフォルトの名無しさん
2016/03/29(火) 21:37:58.05ID:jyk5ZdaSperlなら実行権限与えてやらないとそのままじゃinternal errorが発生するけど。
てかphpってパーミッションなんて変更してやる必要あるの?
0175デフォルトの名無しさん
2016/03/29(火) 21:43:09.44ID:W1iwza/S書き込み権限与えないとできんやろ
0176デフォルトの名無しさん
2016/03/29(火) 21:52:47.09ID:uzyAT3MD0177デフォルトの名無しさん
2016/03/29(火) 22:44:35.78ID:4928WWNs0178デフォルトの名無しさん
2016/03/29(火) 22:47:40.20ID:4928WWNs0179デフォルトの名無しさん
2016/03/29(火) 22:56:48.41ID:BDGBq9XEファイルは604、ディレクトリは705にしておけばいい
0180デフォルトの名無しさん
2016/03/29(火) 22:57:15.80ID:W1iwza/S実行権限は確かにいらないね。
>>178
ログを吐き出したいディレクトリに
書き込みphpユーザから書き込みできるようにする。
しないと出力でエラー。
0181デフォルトの名無しさん
2016/03/29(火) 23:16:42.01ID:4928WWNsそうそう、php.exeじゃなくて なんちゃら.phpっていうソースファイル(?)
write.php - 604(apache:apache)
log/ - 705(apache:apache)
って感じでいいのかな(´・ω・`)
0182デフォルトの名無しさん
2016/03/29(火) 23:31:58.90ID:BDGBq9XEそれでいい
書きこめるか試してみな
パーミッションについては自分でよく調べることだな
0183デフォルトの名無しさん
2016/03/29(火) 23:42:07.24ID:e0CNVUKYみんなの「得意」を売り買いできる、モノを売らないフリーマーケットです
https://coconala.com/
占い・恋愛相談からロゴの作成・ビジネスのクラウドソーシングまで、
みんなの得意を500円から売り買いできる「ココナラ」
0184デフォルトの名無しさん
2016/03/29(火) 23:43:44.09ID:hB33GZnr0185デフォルトの名無しさん
2016/03/30(水) 00:01:28.97ID:njWzXt210186デフォルトの名無しさん
2016/03/30(水) 17:47:31.83ID:Muyb9Qgouserをapacheにできるなら600と701でいいと思うが
0187デフォルトの名無しさん
2016/03/31(木) 01:26:01.16ID:GJ2QbDh0perl、ruby→CGIという。
PHP→CGIとは言わない?
0188デフォルトの名無しさん
2016/03/31(木) 01:39:01.14ID:gTuU4O2h実行方法が違う
Nginxとかのことはよく知らないからApacheで喋るけど,
CGI: Apacheがmod_cgiからプログラムを実行する(ファイル先頭のシェバングのプログラムから起動)
PHP: Apacheがmod_phpから.phpファイルを読んで実行
レガシーなCGIではアクセス毎にインタプリタなり実行ファイルなりを起動するからパフォーマンスが極めて悪い
Apacheモジュールで実行すればサーバプロセスと一緒に常駐するからCGIより極めて高いパフォーマンスが実現出来る
尚, 最近はPHPでも高負荷環境下ではphp-fpmからFastCGI経由で実行されることが多い模様(シェバングは不要なのでレガシーCGIっぽくはない)
0189デフォルトの名無しさん
2016/03/31(木) 02:06:39.04ID:tPwPmbpGなんか10年前にタイムスリップしたような質問だなw
0190デフォルトの名無しさん
2016/03/31(木) 02:28:46.49ID:i4QRtt5O0191デフォルトの名無しさん
2016/03/31(木) 03:09:22.24ID:9egfbJrh0192デフォルトの名無しさん
2016/03/31(木) 03:17:43.67ID:+i7BlQ0K実行方式の違いってことだけ知ってればいいよ
PHPだってCGIで動作するし
Perlだってmod_perlでApacheのモジュールとして動作する
0193デフォルトの名無しさん
2016/03/31(木) 06:17:49.36ID:n9weBv5F[root@ホスト名 ~]# uptime
06:04:10 up 5 days, ←この部分
uptime.phpとして
「5日6時間04分10秒、起動中です。」と表示させたい。
0194デフォルトの名無しさん
2016/03/31(木) 06:25:53.80あとはカンマで区切って頑張れ
0195デフォルトの名無しさん
2016/03/31(木) 07:48:14.72ID:n9weBv5Fマジでありがとう(´;ω;`)そういう風に取得するんだ。
shell_execすら見つける事ができなかった。
これはLinuxのコマンドを実行させるphpの関数かな。だいぶイメージが湧いてきた
0196デフォルトの名無しさん
2016/03/31(木) 08:12:49.01ID:n9weBv5F途中に半角スペースやカンマが入っている長い文字列から
以下のものを取り出す方法が全くわかんないw
これさえ取り出せればあとはくっつけるだけなんだけど。。。
$day =5 (日数)
$hour = 5(時間)
$minute =07(分)
0197デフォルトの名無しさん
2016/03/31(木) 08:43:49.83ID:dysJg4uT$d = '$1,$2,$3';
list($day, $hour, $minute) = explode(',',preg_replace($pat, $d, shell_exec('/usr/bin/uptime')));
echo $day."\n".$hour."\n".$minute."\n";
0198デフォルトの名無しさん
2016/03/31(木) 08:48:23.85ID:tPwPmbpG0199デフォルトの名無しさん
2016/03/31(木) 08:50:01.21ID:dysJg4uT$patを工夫すれば、そのまま希望する文字列にできるよ
0200デフォルトの名無しさん
2016/03/31(木) 09:22:07.14ID:n9weBv5F>>199
ありがとう(´;ω;`)
(¥d+)の意味すらわかってないから、phpの文法の基礎から勉強し直してくるよ
0201デフォルトの名無しさん
2016/03/31(木) 09:47:20.270202デフォルトの名無しさん
2016/03/31(木) 09:55:30.49ID:NqUBDLqnこの前1000人〜くらいが使うシステム作ってみた
一人で作ってるから手続き型で困ることは一切ないんだけど、まあ動けばいいんだよね
0203デフォルトの名無しさん
2016/03/31(木) 10:14:49.77ID:7iH4R6mMexec、shell_exec、passthru等って引数・戻り値・結果の取得方法以外はどんな違いがあるの?
実行時にたどるフローとか権限とか使うシステムコールとか生成されるプロセス/スレッドの扱いとか
0204デフォルトの名無しさん
2016/03/31(木) 10:53:54.43ID:tPwPmbpGphp_execのif (typeから始まるところらへんが差
0205デフォルトの名無しさん
2016/03/31(木) 12:37:49.17ID:eK9DBRn+128MBを越えるとファイルが作成されません。
原因がわかる方いらっしゃいましたら教えていただけると助かります。
環境
centos6.7
php7
0206デフォルトの名無しさん
2016/03/31(木) 12:43:17.19ID:zV4jiE600207デフォルトの名無しさん
2016/03/31(木) 12:55:38.39ID:gTuU4O2h0208デフォルトの名無しさん
2016/03/31(木) 14:26:35.21ID:yy0681Er(\d+) は、PHPの文法というよりも、Python, Ruby, JS などで使われる正規表現
( )はキャプチャーと言って、マッチした文字列を後で、
$1, $2, $3 のように、番号を付けて使う。
\d は、数字にマッチする。[0-9] と同じ。
+ は直前の文字の、1回以上の繰り返しにマッチする
つまり、\d+ は、数字の1回以上の繰り返しにマッチする(最長一致)。
数字以外の文字が来たら、その直前までがマッチする
0209デフォルトの名無しさん
2016/03/31(木) 14:42:31.80ID:7iH4R6mMありがとう。後ろの方のshell_execまで読んできた
全部php_stream_fopen_from_pipeじゃねーか結果・リターンコードの扱いが違うだけじゃねーか
なんで関数名を分けてんだよこれ
0210デフォルトの名無しさん
2016/03/31(木) 18:22:20.07ID:n9weBv5Flist()や正規表現preg_replace()まったく分かってなかったんで勉強しなおしてる
0211デフォルトの名無しさん
2016/03/31(木) 19:35:48.87ID:eK9DBRn+ありがと。メモリリークしてたわ。
0212デフォルトの名無しさん
2016/03/31(木) 22:27:35.98ID:i8T5nkpNビジネスマン(cgi)とスーツ(言語)って何が違うのみたいなもんよ
ビジネスマンは良くスーツ着用するけどそもそもその2つは比べられないよって言う話
俺も詳しく理解してないからよく分かんないけど phpとかPerl、Cなんかで書かれたプログラムをどうやってサーバー側で実行するかみたいな話しだったと思う
0213デフォルトの名無しさん
2016/03/31(木) 23:28:08.63ID:gmE6pszyPerl/CGIとmod_phpの速度を比べて、PHP早い!Perlはクソ!って言ってる人がどれだけ居たことかw
0214デフォルトの名無しさん
2016/03/31(木) 23:33:38.39ID:gTuU4O2hあの時代の立場で言えばPerl/CGIとmod_perlは別言語だったから・・・・
0215デフォルトの名無しさん
2016/03/31(木) 23:39:05.69ID:gmE6pszyPHP/CGIだと、そういう違いってあるのかな
0216デフォルトの名無しさん
2016/03/31(木) 23:52:53.66ID:7iH4R6mM#!/path/to/php で動かすにしてもfpmで動かすにしても
同じバージョンのmodule版で動いてるものならソース書き換えなしで方式変更可能
0217デフォルトの名無しさん
2016/04/01(金) 01:56:08.60ID:ZIYWI5KO0218デフォルトの名無しさん
2016/04/01(金) 05:10:17.51ID:NdnuNKsTこれ使うのと、NetBeans使うのとどっちがいいのかな?
併用するってのも難しいよー
0219デフォルトの名無しさん
2016/04/01(金) 05:26:16.14ID:d9YSx1peちゃんと自分流にカスマイズされればベストになる可能性はあるけど、
カスタマイズに自信がない人はIDE使ったほうが作業効率はいいだろう。
0220デフォルトの名無しさん
2016/04/01(金) 06:31:34.00ID:PU9mDoTrphp以外でも同じように使う
0221デフォルトの名無しさん
2016/04/01(金) 11:57:09.68JavaScriptのEmacsとしてこの先生きのこれるか
0222デフォルトの名無しさん
2016/04/01(金) 12:37:20.32ID:NdnuNKsT0223デフォルトの名無しさん
2016/04/01(金) 18:29:01.39ID:uCJ+Rmhu0224デフォルトの名無しさん
2016/04/01(金) 22:24:42.03ID:ZIYWI5KO0225デフォルトの名無しさん
2016/04/01(金) 23:37:04.41ID:9y/cXELu0226デフォルトの名無しさん
2016/04/03(日) 04:04:48.56ID:A3StH/M8やり方まとめてるサイトないかな?
0227デフォルトの名無しさん
2016/04/03(日) 04:35:20.52ID:Leps+2Do有料ソフトウェアなんだからそんなことするんじゃありません
0228デフォルトの名無しさん
2016/04/03(日) 05:33:40.35ID:iNd2PQNq0229デフォルトの名無しさん
2016/04/03(日) 22:25:24.56ID:vWJbXXGn0230デフォルトの名無しさん
2016/04/04(月) 06:40:50.08ID:4hZuKlgIプロとして失格
0231デフォルトの名無しさん
2016/04/04(月) 09:44:25.62ID:s52B3h8o0232デフォルトの名無しさん
2016/04/04(月) 09:45:21.88ID:s52B3h8o0233デフォルトの名無しさん
2016/04/04(月) 09:45:53.36ID:s52B3h8o0234デフォルトの名無しさん
2016/04/04(月) 11:27:01.25100倍の金銭感覚で考えた方がええで、って
ばっちゃが言ってた
0235デフォルトの名無しさん
2016/04/04(月) 12:50:07.11ID:tWTMiefVこのサイトみたいに記事の2chレスに対してのコメントを近くに表示するのってどうやるん?
0236デフォルトの名無しさん
2016/04/04(月) 12:55:59.98ID:LrWEI3Rn0237デフォルトの名無しさん
2016/04/04(月) 14:26:43.44ID:+Zn59SDDブラウザのソースみりゃわかんだろ
0238デフォルトの名無しさん
2016/04/04(月) 22:08:09.50ID:1LILMCI+ほえーjavascript使うんっすね
ありがとう!
>>237
すまんすまん初心者なりに考えた結果PHP使うのかと思ってw
ソースも覗いてみるよ〜
0239デフォルトの名無しさん
2016/04/04(月) 22:12:34.35ID:XmiF8pQ4基本のキすら学んでない人にとっては、間隔がつかみにくいんだろうな
0240デフォルトの名無しさん
2016/04/04(月) 22:35:56.66ID:0+RtGrV4にある、
<?php if ($is_chrome) : ?>
// Chrome用コンテンツ
<?php else: ?>
// その他用コンテンツ
<?php endif; ?>
をWordPressで試しているのですが、Chromeで実行しても $is_chrome が
空のようで「その他のコンテンツ」のほうが表示されます。
なぜですか?
0241デフォルトの名無しさん
2016/04/04(月) 22:50:30.56ID:LrWEI3Rn$is_chromeっていうグローバル変数はちゃんとそのファイル内で使えるようになってんの?
0242デフォルトの名無しさん
2016/04/04(月) 22:54:41.79ID:9uPoM1fV教えてもらったうえで何が理解出来るというのか
0243デフォルトの名無しさん
2016/04/05(火) 00:22:50.90ID:PBrOQNL5https://codex.wordpress.org/Global_Variables
UAに何送信してるか調べてみたら?
0244デフォルトの名無しさん
2016/04/05(火) 00:37:57.65ID:aIjRskG1いやたぶん使わんけど
0245デフォルトの名無しさん
2016/04/05(火) 06:26:24.09ID:w1a858Dhみんなは頭が基地外になってこない?オレは文字列の羅列を見るだけでめまいがする。
0246デフォルトの名無しさん
2016/04/05(火) 06:35:27.28ID:hR4UL7wDPHP自体がテンプレートエンジンだから軽量な実装する場合にviewで割りとよく使われるぞ
0247デフォルトの名無しさん
2016/04/05(火) 10:35:42.12ID:ppnKHRiKどうやればいいの?
0248デフォルトの名無しさん
2016/04/05(火) 11:13:51.20ID:oEPANDny0249デフォルトの名無しさん
2016/04/05(火) 11:17:29.11ID:ppnKHRiK特に何もしていません
0250デフォルトの名無しさん
2016/04/05(火) 11:21:27.14ID:oEPANDny使う前に
global $is_chrome;
とおまじないを唱える
0251デフォルトの名無しさん
2016/04/05(火) 11:24:37.57ID:ppnKHRiK出来ました。ありがとうございました。
グローバル変数を使う場合にわざわざ再宣言しなくちゃいけないのはなぜ?
phpって面倒臭い言語ですね
0252デフォルトの名無しさん
2016/04/05(火) 11:36:24.48ID:hR4UL7wD0253デフォルトの名無しさん
2016/04/05(火) 11:42:29.01ID:oEPANDnyPHPにおける変数のスコープを理解することは重要
>グローバル変数が自動的に関数で使用可能で ある C 言語と少々
>異なっていると気がつかれるかもしれません。C言語のような場合、
>グローバル変数を不注意で変更してしまうという問題を生じる可能性
>があります。PHP では、グローバル変数は、関数の内部で使用する
>場合、関数の内部でグローバルとして宣言する必要があります。
http://php.net/manual/ja/language.variables.scope.php
0254デフォルトの名無しさん
2016/04/05(火) 12:08:31.00ID:5k7a1AT7【PHPのバージョン】5.6.10
【連携ソフトウェア】なし
【質問内容】
こちらのページの、ページ数がいくつあるかをスクレイピングで取得したいです。
http://www.amazon.com/gp/offer-listing/0996275460/?condition=new
このページの場合だと、4という数字を取得したいです。
<!DOCTYPE html>
<html lang = "ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>テストプログラム</title>
</head>
<body>
<?php
$dom = new DOMDocument;
@$dom->loadHTMLFile('http://www.amazon.com/gp/offer-listing/0996275460/?condition=new');
$xpath = new DOMXPath($dom);
$num_pages = $xpath->query('//ul[@class="a-pagination"]/li[last()-1]/a');
var_dump($num_pages);
echo $num_pages;
?>
</body>
</html>
0255デフォルトの名無しさん
2016/04/05(火) 12:11:59.63ID:5k7a1AT7PHPの入門書を何回か読んで、ネットの情報を読んで手探りで実践しているところです。
実行した所、このような結果が帰ってきます。
object(DOMNodeList)#3 (1) { ["length"]=> int(0) }
$num_pagesのlengthのintが0ということは、
どこかでミスがあり$num_pagesに何も格納されていないと思い、
いろいろ試してミスを探してみましたがわかりませんでした。
$num_pages = $xpath->query('//ul[@class="a-pagination"]/li[last()-1]/a');
の所にミスが有ると思い、いろいろなパターンで試してみました。
$num_pages = $xpath->query('/body//div[@class="a-text-center a-spacing-large"]/ul/li[last()-1]/a');
などと、
XPathの正規表現を確認しながら、
[@class=""]やlast()などを削除して余計なものをつけずに
なんでもいいから値を取得しようとしても取得できず、
いろいろなパターンを試してみましたが、
結果は
object(DOMNodeList)#3 (1) { ["length"]=> int(0) }
ばかりで変わりませんでした。
勉強不足で非常につまらない所で間違えているとは思うのですが、
今の私にはどこが間違っているかわかりませんので、
お知恵を貸しいただけませんでしょうか。
ご指摘いただけますと非常に嬉しく思います。
0256デフォルトの名無しさん
2016/04/05(火) 12:49:13.36ID:PBrOQNL5まずは取得したHTMLの内容を見ること。
そしてそこに書かれている内容を読むこと。
0257デフォルトの名無しさん
2016/04/05(火) 13:01:19.31ID:w0vmBuKbhttp://php.net/manual/ja/function.file-get-contents.php
0258デフォルトの名無しさん
2016/04/05(火) 13:02:56.33ID:hR4UL7wD@なんてつけてエラー制御してるから肝心なことがわからないんやで
503返ってきてるしBOTと見なされて拒否られてるってところだろう
ストリームコンテキスト作成してみるとかcURL使ってみるとか
0259デフォルトの名無しさん
2016/04/05(火) 14:11:45.62ID:ruInOaYl0260デフォルトの名無しさん
2016/04/05(火) 14:27:24.69ID:F6iG++QK$dom = new DOMDocument;
@$dom->loadHTMLFile('http://www.amazon.com/gp/offer-listing/0996275460/?condition=new');
$xpath = new DOMXPath($dom);
$num_pages = $xpath->query('//ul[@class="a-pagination"]/li[last()-1]/a');
$num_pages がおかしいなら、その前の、$xpath もチェックする。
それもおかしいなら、その前の、$dom もチェックする
こういうように、周辺の変数の内容を、すべて見るのが早い。
それか、1行ずつデバッグして、変数の内容を見ていく
0261デフォルトの名無しさん
2016/04/05(火) 14:48:14.91ID:hR4UL7wDコードも出さなきゃ答えようがない
0262デフォルトの名無しさん
2016/04/05(火) 16:31:14.94ID:yO8yjDkc/web/lib/userdb.php(600)
みたいな形にしてwebからアクセスできないようにすればたとえそのメインphpファイルがサーバーのミスやなんかしらの際に流出してもdbのIDとパスワードは守れる?
0263デフォルトの名無しさん
2016/04/05(火) 16:37:11.54ID:Urfcnp8RdbのIDとパスワードが漏れても外部からアクセスできないようにしとけよ
0264デフォルトの名無しさん
2016/04/05(火) 16:41:19.57ID:+K5F7tY80265デフォルトの名無しさん
2016/04/05(火) 19:24:34.83ID:izAp1z4+ファイル自体が流出したらパーミッション関係ないがな。
0266デフォルトの名無しさん
2016/04/05(火) 20:35:59.23ID:H8S937SL0267デフォルトの名無しさん
2016/04/05(火) 22:24:24.93ID:cf9M5ih9%ae%
とかやると
abcdeのレコードが一致してしまうんですがどうすればいいんでしょうか
つまり何が言いたいかというと
続いてない文字列が一致してしまう
先頭と端が一致してるのも取り出してしまう
0268デフォルトの名無しさん
2016/04/05(火) 22:34:15.27ID:1mo6kAvySQLとその付近のコードはどうなってんの?
0269デフォルトの名無しさん
2016/04/05(火) 22:34:20.37ID:UC4UBEI8想定通りのクエリが飛んでるか調べるとか?
0270デフォルトの名無しさん
2016/04/05(火) 22:38:27.01ID:cf9M5ih9やっぱりおかしいみたいですね
コードを見直してみます。
ありがとうございました
0271デフォルトの名無しさん
2016/04/05(火) 22:42:55.17ID:cf9M5ih9なるほど。。
0272デフォルトの名無しさん
2016/04/05(火) 23:00:19.33ID:gOJOQ9cJ0273デフォルトの名無しさん
2016/04/06(水) 06:32:29.83ID:cc6aqB73>>263 それだわ 有難う
>>264 一応そうしてるけどそれでもなんか怖くて・・・
>>265 エッ
0274デフォルトの名無しさん
2016/04/06(水) 06:58:14.77ID:chXvhDzz0275デフォルトの名無しさん
2016/04/06(水) 11:48:54.09ID:CSfgqPLP前方一致と後方一致の両方が一致しているので取り出してしまっている
という結論に至りました
あいまい検索って本当にあいまいなんですね
0276デフォルトの名無しさん
2016/04/06(水) 11:58:30.75ID:MS+65iNtえっ いや違和感あるんだが
メインのphpが流出する⇒db接続に使う資格情報が書いてあるっぽいファイルのパス・名前が流出する、ってことで
で、このdb用ファイルの内容をどのように取得する?
db用ファイルがwebからアクセスできる場所にある場合でも、生txtであったりあるいは設定ミス等によって
webから直アクセスして実行結果ではなくファイル内容そのものが読める場合でない限りは資格情報は盗まれない
<?php $id='user'; $pass='password'; ?> と書かれたファイルを.phpとして実行しても何も返されないわけで
逆に生txtか生txt同然であったならば、chmod 600してても何も防止できない
好きに.php等をアップロード&実行されてしまう状況ならばどこに置いても一緒
mod_phpやfpmからアクセス可能じゃなかったらそもそも使えない
あとはサーバに侵入される、あるいは雑居ビル状態の共用サーバ使ってる場合等
前者はroot権限かdb用ファイルの所有権がないならchmod 600も一応意味があるが侵入されてるなら時間の問題
後者は利用者ごとに実行ユーザを厳しく切り替えてるなら意味を見出せなくもないけど
DocumentRoot外にファイルを配置できる時点でなさげ
だいたいdb接続情報のパスが漏れたらその時点でやばいっつーならmediawikiとか使えなくね
0277デフォルトの名無しさん
2016/04/06(水) 12:43:28.61ID:cc6aqB73後は何らかの原因でユーザーログイン出来てしまった時にrootのパスワードがわからない状態でソースが覗けなければいいかな程度
そっから先は俺らの考える事じゃないし・・・
0278デフォルトの名無しさん
2016/04/06(水) 13:26:05.81ID:K9SGMphyいやその結論はおかしい。mysqlスレいこ
0279デフォルトの名無しさん
2016/04/06(水) 14:09:25.41ID:ZQg6xGn/んなわけないだろ
where句全部書いてみろよ
つかSQL作ってるコードを貼ってみろよ
0280デフォルトの名無しさん
2016/04/06(水) 14:58:23.75ID:MS+65iNt領分で想定範囲に線引き入れるならばshellに入られる事態がすでにお手上げ状態だと言っても良いと思うが
それはそれとして、webから覗ける範囲に所有者以外が書き込み可能なファイル/ディレクトリが1つもないことの確認を推奨
メインの.phpにセキュリティホールがあればやはり全部無駄になるからこれも(ありがちなのがアップローダ機能)
ところで.htaccessでどんな設定書いてんの
0281デフォルトの名無しさん
2016/04/06(水) 15:28:04.17ID:gq7o88bt0282デフォルトの名無しさん
2016/04/06(水) 16:07:22.70ID:b8EzfBRn0283デフォルトの名無しさん
2016/04/06(水) 16:22:16.52ID:zh0XMq5lこれは隠しファイル扱いですよという一種の約束事なので、
知っていれば自由に読み書きできてしまう
0284デフォルトの名無しさん
2016/04/06(水) 18:58:39.31ID:Y+jXv/spfunction h($s) {
return htmlspecialchars($s, ENT_QUOTES, 'UTF-8');
}
を作っておくことを学んだのですが
$sはそのphpでは上記部分以外では見つからないのですがどういう意味を持つ引数なのでしょうか?
また事前に$sの宣言を行わなくても良いのはなぜでしょうか?
0285デフォルトの名無しさん
2016/04/06(水) 19:22:28.16ID:xAgh0Pyq0286デフォルトの名無しさん
2016/04/06(水) 19:23:39.55ID:b8EzfBRn0287デフォルトの名無しさん
2016/04/06(水) 19:45:33.76ID:ZQg6xGn/httpdのデフォルトの設定でドット始まりは見せないようになってるでしょ
.htaccess の設定ミス程度ではこの動作は変わらないから、余程のことをしない限りは安全でしょ
0288デフォルトの名無しさん
2016/04/06(水) 19:50:32.95ID:xAgh0Pyq0289デフォルトの名無しさん
2016/04/06(水) 22:06:02.77ID:chXvhDzz書き換えることが出来てしまうということが、
バリデーターのテストコードを書く上で、物凄く便利であるということに気付いた春。
0290デフォルトの名無しさん
2016/04/06(水) 23:11:26.49ID:q1HrDxSz0291デフォルトの名無しさん
2016/04/06(水) 23:20:26.16ID:HSAkNgFKfunction h($s) {
return htmlspecialchars($s, ENT_QUOTES, 'UTF-8');
}
echo h($s);
function h($s) { の $s は、仮引数(parameter)であって、
関数のための受け渡し用の仮の変数だから宣言はいらず$vとか好きにしていい。
echo h($s);の $s は、実引数(argument)であって、
実際に流れの中で利用されている変数で、宣言や代入され値が入っている。
0292デフォルトの名無しさん
2016/04/07(木) 00:34:49.43ID:838jiYpM0293デフォルトの名無しさん
2016/04/07(木) 03:41:23.49ID:861uWPB30294デフォルトの名無しさん
2016/04/07(木) 04:18:50.70ID:PO5E9BnCこっちに引っ越してきてから過疎スレそのものだったのに
春休みで同じやつがやってるんだろ
0295デフォルトの名無しさん
2016/04/07(木) 13:08:16.18ID:O69mbgIK上書きされてしまったのでしょうか
0296デフォルトの名無しさん
2016/04/11(月) 13:57:00.23ID:pJYoLHo6write.php → conf.txt
こんな感じて特定の設定を保存しておきたいんだけど、おすすめの方法ないですか
自前で全部作らないとダメ?
0297デフォルトの名無しさん
2016/04/11(月) 14:24:35.69ID:2HwASHVNワードプレスの「WP-PostViews」プラグインは知っていますが、ワードプレスではないサイトなので・・・
0298デフォルトの名無しさん
2016/04/11(月) 14:28:52.63ID:cX0ZVNHxおれは設定を array にした PHPコードにしてファイルに書いちゃう手をよく使う。
書く処理は作らなくちゃいけないが、読む処理は include するだけでいい。
0299デフォルトの名無しさん
2016/04/11(月) 14:34:17.61ID:pHIRjOY+http://tamae.2ch.net/test/read.cgi/php/1330980652/
0300デフォルトの名無しさん
2016/04/11(月) 14:42:15.76ID:2HwASHVNありがとうございます。
質問してみました。
0301デフォルトの名無しさん
2016/04/11(月) 14:58:26.31ID:zPYXS2gG書く処理を作るくらいならばいっそserialize()してしまったほうが良くないか
以前試したときは速度的には配列だけの.php読み込みもcsv読み込みもunserializeもほぼ変わらない
ただ、設定ファイルをそれなりに頻繁に手で書き換えるなら配列.phpやcsvのほうが確かに便利
0302デフォルトの名無しさん
2016/04/11(月) 15:28:56.19ID:cX0ZVNHx設定ファイルの可読性を全く問わないなら serialize/unserialize を使うって手もあるね。
JSON形式で保存することにして json_encode/json_decode を使うって手もありそう。
0303デフォルトの名無しさん
2016/04/11(月) 15:34:31.20ID:cX0ZVNHx>>301
おれも計ったけど、unserialize は結構遅かったような。
設定ファイルじゃなくキャッシュだが、それで serialize 使ってたのを array を使うようにした。
と言っても設定ならどのみち一瞬で読めるから出来合いでやれる方がいいかな。
0304デフォルトの名無しさん
2016/04/11(月) 15:41:47.48ID:cX0ZVNHxarray でやるなら var_export が使えるのを思い出した。
おれは余計なスペースや改行だらけになるのを嫌って自前で書いたが、設定ファイルならむしろこっちの方がいいだろう。
0305デフォルトの名無しさん
2016/04/11(月) 15:45:31.94ID:YMrMfC9qなんですかこれ
0306デフォルトの名無しさん
2016/04/11(月) 16:34:07.85ID:PHHPdBbi静的型付け言語出身なので、動的言語に慣れなくて・・・
本当はjava鯖がいいのですが、共用鯖だと使えないところが多いので
0307デフォルトの名無しさん
2016/04/11(月) 16:46:29.06ID:zPYXS2gG実際やってることがほぼ変わらないからか、php5.6系ではいずれもほぼ同じだった
確認は定番のmicrotime(true)@cli、読み込むデータのサイズをバカみたいに大きくしても同様
真面目に考えるならopcacheとの兼ね合いを第一に考えるべき
…というかunserializeと他とで速度差が露骨に出るって.phpコード読み込みにopcache効いてましたってオチじゃなかろうな
var_exportは設定読み書きに使うにはちょっと読む処理を書かなきゃいけないような
0308デフォルトの名無しさん
2016/04/11(月) 16:50:34.64ID:jGs+gPDI1万req/sec超とかなら話は別だが
0309デフォルトの名無しさん
2016/04/11(月) 17:45:50.42ID:cX0ZVNHxごめん、PHP5.1.6 で試したら serialize 結果をそのままファイルに吐いたのを userialize するのが一番速かった。
計った時のいろんな事情や条件がおぼろげで曖昧になってたよ。
速度比としてはこんな感じ。
A. serialize結果がファイル化されたものを、unserialize(file_get_contents('conf.txt)); する
B. serialize結果のデコードをPHPコード化(<?php $conf=unserialize([serialize結果の文字列化]); )したファイルを include する
C. var_export結果を PHPコード化(<?php $conf=[var_export結果]; )したファイルを include する
D. Cと似てるけど、余計な空白や改行を含まないファイルを include する
A 5.4
B. 14.7
C. 19.5
D. 12.6
サンプルデータは、適当なディレクトリツリーを array化したのにしてみた(A のデータファイルで 7KB規模)。
読み込みを include 一発で済ませられるようにするなら D、極簡単な読み込みコードを書くなら A だね。
データファイルの可読性や編集しやすさを取るなら C/D、読み取りパフォーマンス重視なら D、書き込みコードを簡単にするなら C だ。
JSON も試したかったけど今手元にあった環境では使えなかった。
>>308
それはその通り、ほとんど影響の無い時間を稼ぐのに無駄に苦労するのはただのアホだわな。
おれの場合は処理済みデータのキャッシュ化に使ったから読み取りパフォーマンスを重視したけど。
0310デフォルトの名無しさん
2016/04/11(月) 18:38:16.01ID:jGs+gPDI0311デフォルトの名無しさん
2016/04/12(火) 01:59:13.91ID:vDLzdyvt現在はfire_get_contentsでHTMLを取得し、DOMDocumentからLoadHTMLでDOMドキュメントに変換し、それをsimplexml_import_domでxmlに変換し、xpathで要素を指定するといった方法を取っています。
しかし変換したxmlの中身のデータに元のソースコードの食い違いなど不審な点があったので、中身の要素を全て表示してみたところ、htmlソースの「::before」「::after」で指定されている部分のソースコードが取得出来ていないという事が判明しました。
調べてみたところこのタグはCSSでいじる段階になってからHTMLコードを追加するといったタグのようで、fire_get_contentsで取得したhtmlには含まれていないようです
こういった表示段階になって始めて表示される要素まで含めた完全なHTMLソースを取得したいのですが、何か良い方法は無いでしょうか。
よろしくお願い致します。
0312デフォルトの名無しさん
2016/04/12(火) 02:12:44.98ID:NLppiuAmPHPとは関係無い話になっちゃうけど、chrome かなんかのレンダラを使う方法があったような。
早い話、ブラウザのインスタンスを作ってそれを制御する感じ(もちろん物理的な画面は必要無い)。
スクリーンショットの取得なんかもできたと思うし、多分JSなんかで加工された後のDOMも取得できると思う。
やり方わかったら教えて。
0313デフォルトの名無しさん
2016/04/12(火) 02:20:26.21ID:20poyVM6っていうかjavascriptでUA判定して内容切り替えとかしてたらどうすんの
0314デフォルトの名無しさん
2016/04/12(火) 02:38:41.31ID:vDLzdyvtやっぱり一旦ブラウザに読み込んでからhtmlを取得した方が確実みたいですね
設定作業が難しそうなので避けていましたが、セレニウムってのでそんな感じの事が出来ると思うのでもう少しやり方を調べてみようと思います
>>313
UAならリクエスト送る段階で偽装出来ると思うのですが、なるべく対応したいです
やっぱりページ更新のチェック位置が取得出来ない部分にあったら巡回不可能なサイトが出来てしまう訳ですし・・・
HTMLやCSSにはあまり詳しくないのですが、擬似要素での可変部分は内部的な記述で隠蔽しているという訳ではないんですね
自分で展開できそうならそちらも視野に入れて調べてみます、ありがとうございます
0315デフォルトの名無しさん
2016/04/12(火) 03:01:29.60ID:20poyVM6スクレイパなどではなくてほんとに汎用web巡回更新チェックか。cssの擬似要素は単純っちゃかなり単純なのですぐわかると思う
ところで素朴な疑問なんだけど
rssを使うとかならともかく生htmlを使って巡回・更新チェックを行う場合、同じく生htmlに吐かれたアクセスカウンターとかどうすんの?
さらに生htmlに実データが無くデータ取得から整形までクライアントに負わせ同時に確実な広告表示を実現してるサイト等の場合も
更新に関わらず内容が変化しうる、これはjsエンジン等を突っ込んだー、だけじゃ解決できない気がするんだけどこの辺どうなんだろう?
0316デフォルトの名無しさん
2016/04/12(火) 03:29:34.82ID:vDLzdyvtあまり詳しくはないのですが要素の位置に変化が無ければ値が変化しても特に問題は無いと思います
htmlが取ってこれればそれをdomに突っ込んでxmlに変換してxpath通せば特定要素だけを取ってくる事は出来るので
それでhtml上の更新時に必ず変化が起きる要素を一定時間ごとにチェックして変化が確認できたらログを保存してチェックデータを更新といった具合で実装しようと思っています
0317デフォルトの名無しさん
2016/04/12(火) 03:32:39.65ID:w4romtCS0318デフォルトの名無しさん
2016/04/12(火) 05:46:53.79ID:vDLzdyvtseleniumにブラウザのドライバがあってそれ使ってコマンド飛ばせばブラウザを動かせるってのは分かるんだ
そしてwindowsやらmacならフツーにfirefoxなりchromeなりインストールしたら使えるってのも分かる
しかし外部サーバにphpファイルをアップロードして使うって話になると肝心のwebブラウザはどうやって読みこませればいいんだろう
元からインストールされてるとも思えないしレンタルサーバにwebブラウザがインストール出来るのか、それともwebブラウザのexeファイルだけ置けば普通に使えるのか
そもそもレンタルサーバがGUI環境じゃなかった場合webブラウザってのはマトモに動くのか
php web driverってのがある以上何らかの手段はあるんだろうけど、レンタルサーバ上でセレニウムを動かすに当たって何をアップロードすればいいのかっていう必要なものが見えてこない・・・うーむ・・・
0319デフォルトの名無しさん
2016/04/12(火) 09:22:36.97めんどくさいので、
(1)node.jsが使えるレンタル鯖を借りて
(2)JS+Node.jsによるWebクローラー/ネットエージェント と言う本を買いなさい
0320デフォルトの名無しさん
2016/04/12(火) 09:30:30.18ID:K20+5BP2いやいや、普通はルートでやるんですよ
VPSが最低要件
それとそこそこのメモリが必要になるでしょうね
そもそもクローラーをレンタルサーバでやる意味がわからないのだけれど・・・
自分のPCでいいじゃない
0321デフォルトの名無しさん
2016/04/12(火) 10:42:50.72ID:PLXRZMCg0322デフォルトの名無しさん
2016/04/12(火) 10:55:55.85ID:NLppiuAmマナーの問題は置いておいて、こんな処理で root が必要?
パッケージマネージャみたいので入れるなら root を要求されるだろうけど、ディレクトリ一式上げれば動くんじゃないの?
0323デフォルトの名無しさん
2016/04/12(火) 11:55:03.31ID:gTjFdqWa0324デフォルトの名無しさん
2016/04/12(火) 11:59:06.19ID:uMcJYrhAFirefoxとXvfbが必要
結局JavaScriptで操作した分の対応ってだけで
DOMでない擬似クラスの:afterや:beforeはどうしようもないけど
0325デフォルトの名無しさん
2016/04/12(火) 14:46:55.51ID:pjxLuk2Sむしろ読み込んだhtmlデータを確実に破棄出来てるか、メモリリーク起きてないかが気になってきました
今までは使った変数とか適当に放置してましたがunsetで確実に破棄して行こうと思います
0326デフォルトの名無しさん
2016/04/12(火) 16:06:33.46ID:xc/VnKsQやっと$変数名っての覚えた
0327デフォルトの名無しさん
2016/04/12(火) 17:46:29.87ID:ZuNPcNPlなんていうか全部パッケージされてて解凍かインストールするだけでPHP初められる開発ソフトって何かないか?
0328デフォルトの名無しさん
2016/04/12(火) 17:54:12.53ID:xc/VnKsQxampp
0329デフォルトの名無しさん
2016/04/12(火) 17:56:37.42ID:pjxLuk2SWebMatrix3ってのインストールして起動して新規で空サイト立ち上げたらホーム→新規→新しいファイル→PHPっての入れて
phpコード書くっぽい部分にecho 'test';って入れてから作ったファイル右クリして「ブラウザで起動」選んだら動くよ
mysqlとかwordpressとかも大体入ってる
0330デフォルトの名無しさん
2016/04/12(火) 20:52:26.03ID:VhrT22lj壮大なゴミクズだな。
0331デフォルトの名無しさん
2016/04/12(火) 20:57:22.23ID:uMcJYrhA0332デフォルトの名無しさん
2016/04/12(火) 21:09:45.08ID:FIX7kEEP0333デフォルトの名無しさん
2016/04/12(火) 21:33:32.50ID:VhrT22lj新規ならDoctrineだって馬鹿らしい。
0334デフォルトの名無しさん
2016/04/13(水) 00:09:44.78ID:pIZn+U3pPHPやるために仮想サーバやデータベースは必要じゃないよ。
仮想サーバが必要なら入れないといけないし、データベースもそう。
深く考えすぎじゃないでしょうか。
0335デフォルトの名無しさん
2016/04/13(水) 00:36:38.99ID:eHbmdEvwおすすめORMおしえて
0336デフォルトの名無しさん
2016/04/13(水) 03:31:33.91土日でわかるPHPプログラミング
と言う本やな
自分のパソコン側ではなくてVirtualBoxにPHPやらデータベース入れて動かす方法
0337デフォルトの名無しさん
2016/04/13(水) 04:22:33.01ID:799QV5+Tローカルpcでphpのソース書いて、わざわざVM側にアップロードして動作確認するの?
開発する時はローカルにxampp入れてソース書いてはローカルで動作チェックしてってやらないの?
ローカルでチェックした後にLANにあるテストサーバや本番サーバにアップしたりしないの?
0338デフォルトの名無しさん
2016/04/13(水) 04:39:51.30ID:SBj4pmRf最近のphpはwindows版バイナリがvcランタイム必須なのがちょっと面倒
0339デフォルトの名無しさん
2016/04/13(水) 05:45:48.69Vagrantと言う仕組みが有って、ローカルのフォルダの内容をVM側に自動で同期出来る
ローカル側では秀丸エディタとかPhotoShopとか使えるわけで転送も不要、楽だろ
本番機との同期はGitにしなさい
ローカルで開発、SourceTreeでBitBucketにプッシュ、本番機でプル
バージョン管理もバックアップも出来る
0340デフォルトの名無しさん
2016/04/13(水) 05:51:50.27ID:od2stSEV実行したらFTPなりSCPなりでデプロイしてIEでの実行結果がIDE内に表示される
0341デフォルトの名無しさん
2016/04/13(水) 07:30:03.80ID:m+b23jHk一般に出回っているもので、まともなORMなんてPHPには無いよ。どれもこれもクソ。
PDOがとても優秀なんだから、PDOをラップしたライブラリを自作すればいいと思う。
何年か前にPDOをラップしたDataMapperの作り方を詳細に書いてくれてたページがgoogle検索の上位にいて、
オレはそれを参考に作って使ってる。
さっきちょっと検索してみたけど、今はどうでもいい内容の薄いページばかりが上がってきて、
ちょっと見つけられなかった。
0342デフォルトの名無しさん
2016/04/13(水) 16:10:54.68ID:m2aMgexj一つのPHPにスマホ用とPC用のコード両方書いてもブラウザで判別して分岐させたら
処理は重くならないですよね?
ファイル分けた方が軽いんでしょうか
0343デフォルトの名無しさん
2016/04/13(水) 16:29:00.50ID:V9vZnwrfというか最近のトレンドは画面サイズで処理振り分ける方法
ようは全部スタイルシートでやる
0344デフォルトの名無しさん
2016/04/13(水) 17:30:50.08ID:Qs0P8RGZ特定の文字列の末尾に[]で囲まれた0以上の整数値(最大値は不明)が入っている事があります
文字列にこれが含まれているかを判定して[]まで含めて除去したいという場合どのような処理を用いればよいのでしょうか
0345デフォルトの名無しさん
2016/04/13(水) 18:05:35.83ID:KCoW39g8微妙に曖昧な点があるから、文字列の具体例と欲しい結果を書いてごらんよ
0346デフォルトの名無しさん
2016/04/13(水) 18:50:02.39ID:SBj4pmRf曖昧な点がどこにあるか教えてもらえないでしょうか
0347デフォルトの名無しさん
2016/04/13(水) 18:53:10.23ID:fbVZAWItその探したい文字列は複数あるの?
全体は複数行なの?
0348デフォルトの名無しさん
2016/04/13(水) 18:59:33.89ID:OSAV0HGgとかじゃないの
0349デフォルトの名無しさん
2016/04/13(水) 19:04:16.19ID:pIZn+U3p文字列のパターンによっては [ 以降を切り捨てるだけで解決する話かもしれない
0350デフォルトの名無しさん
2016/04/13(水) 19:20:04.40ID:eHbmdEvw0351デフォルトの名無しさん
2016/04/13(水) 19:20:44.70ID:pIZn+U3p0352デフォルトの名無しさん
2016/04/13(水) 19:21:34.17ID:eHbmdEvw0353デフォルトの名無しさん
2016/04/13(水) 19:30:22.40ID:Qs0P8RGZ'foo/bar[1]/qux/quux'だったり'foo/bar[1]/qux/quux[30]'だったりします
欲しい結果としては、どのパターンでも最後のカッコだけを切り落として'foo/bar[1]/qux/quux'という結果です
0354デフォルトの名無しさん
2016/04/13(水) 19:38:51.78ID:Qs0P8RGZ今確認しましたがピッタリです。ありがとうございます
0355デフォルトの名無しさん
2016/04/13(水) 21:51:54.45ID:Qs0P8RGZ//foo[@id="aaa"]/bar/baz[@id="bbb"]/@xyz
といった文字列の中から、一番最後に出てきた[@id="xxx"]以降の文字列を取得したいのですが、これは正規表現で指定可能でしょうか
/\[@id=".*"\].+/で一番最初に出てきたid以降の文字列を取得出来る事は分かったのですが、一番最後のidを指定する方法が分からず困っています
検索文字列の中に[@id=""]が何度出現するかは不定、""の中に入る文字列も不定で何が入ってくるかは分からないという状態です
よろしくお願いします。
0356デフォルトの名無しさん
2016/04/13(水) 21:57:23.60ID:pIZn+U3p0357デフォルトの名無しさん
2016/04/13(水) 22:06:18.52ID:Qs0P8RGZ正規表現チェッカーで試してみましたが失敗しました
/.*\[@id=".*"\].+/ これで間違いないでしょうか
0358デフォルトの名無しさん
2016/04/13(水) 22:52:26.62ID:pIZn+U3p/.*(\[@id=".*"\].+)/
0359デフォルトの名無しさん
2016/04/13(水) 23:05:42.73ID:Qs0P8RGZ何故これで取れるのかは少し理解が及びませんが、グループ内外の計算順序的な関係でしょうか・・・
ありがとうございます、とても助かります
0360デフォルトの名無しさん
2016/04/14(木) 00:20:33.95ID:NDERo24Z素直にifやらforやらを使って処理したほうが幸せになれる。たぶんね。
0361デフォルトの名無しさん
2016/04/14(木) 00:59:09.74ID:0z/54ctXNetBeans8.1(PHPバンドル)+xampp5.6.19でやってるんだけど、デバックとかやったことがなくデバックの意味がよくわからなくて質問。
デバックってプログラムを途中で止めたり出来るってこと
?
ブレークポイント?で止めてその変数に何が入ってるとか見れたりするってことかな?
デバックを使うにはxamppのphp.iniを編集しないといけないみたいなんだけど、ということはレンタルサーバなんかの本番環境はphp.iniの設定がデバックできない設定になってるってことなの?
0362デフォルトの名無しさん
2016/04/14(木) 02:50:30.37ID:nrccYQkHデバッグってのはプログラムが意図通りに動作しない原因を調べて修正する作業のこと
ブレークポイントとかで止めて変数チェック出来ると便利だけど別に出来なくても問題無い
要するに変数の中身が見たかったらechoとかprint_rとかで適当に変数の中身を出力してチェックするだけでも事足りる
むしろif文で更に条件絞り込めたりするからブレークポイントより使いやすかったりする
そういうデバッグ用の表示はif(DEBUG_FLAG){}とかで囲っておくとデバッグ終わったら定数をFALSEにすると一々コメントアウトしなくていいからラク
というか本番環境はデバッグ用に使っちゃ駄目じゃない?
問題が起きたらローカル環境でデバッグ済ませたコードで修正しようよ
0363361
2016/04/14(木) 03:57:13.82ID:kAeel0Dmブレークポイントの動かし方がいまいちわからなくて直感的に止めてやってみたけど変数の中身を確認する事ができた。
中身を見たけりゃデバックなんて使わずにechoするってのもわかった。
>本番環境はデバッグ用に使っちゃ駄目じゃない?
なるほど。そういうことなんだね
0364デフォルトの名無しさん
2016/04/14(木) 05:06:21.70ID:3AVihPqEこれで用語が安定してくれるだろうか。
デバックのままな時点で注意力散漫なんだろうけど。
0365デフォルトの名無しさん
2016/04/14(木) 07:52:56.33ID:NDERo24Z0366デフォルトの名無しさん
2016/04/14(木) 07:56:28.93ID:yvAyG8T70367デフォルトの名無しさん
2016/04/14(木) 09:16:28.14ID:Ut07vz2q0368デフォルトの名無しさん
2016/04/14(木) 19:41:19.87ID:V5OZRKDZ0369デフォルトの名無しさん
2016/04/15(金) 05:47:16.79ID:AwudtfsZ0370デフォルトの名無しさん
2016/04/15(金) 10:58:24.26よく「あれっinput textの角丸がなくなってるじゃん」とかなる
0371デフォルトの名無しさん
2016/04/15(金) 11:15:26.36ID:hZLpy2lo0372デフォルトの名無しさん
2016/04/15(金) 14:41:36.55ID:h/bEplyz0373デフォルトの名無しさん
2016/04/15(金) 15:32:55.87ID:hZLpy2lo0374デフォルトの名無しさん
2016/04/15(金) 16:16:21.15ID:DHB605eu<input type="checkbox" name="s1">スイッチ1<br>
<input type="checkbox" name="s2">スイッチ2<br>
<input type="checkbox" name="s3">スイッチ3
</form>
こんな感じで複数のチェックボックスがあります。
これがチェックされているかいないか確認し、boolean型の配列で保存するにはどうしたら良いでしょう?
(スイッチの数は1〜1000くらいのあり不定です)
0375デフォルトの名無しさん
2016/04/15(金) 16:40:55.85ID:vlLJvY6e0376デフォルトの名無しさん
2016/04/15(金) 16:44:16.32ID:hZLpy2lo<input type="hidden" name="checkbox_count" value="30">
みたいのを一緒に送れるなら作成する配列数がわかるし簡単でそ
0377デフォルトの名無しさん
2016/04/15(金) 18:11:39.89ID:CtWeAAugまあ設定変更はできるけど
0378デフォルトの名無しさん
2016/04/15(金) 18:32:22.00ID:ckmbczRyバッチファイル使って指定したバッチファイル強制終了させるにはどうすりゃいいの?
0379デフォルトの名無しさん
2016/04/15(金) 18:40:06.37ID:AwudtfsZ事前にバッチ自身にgetmypidでpid吐かせといてもいいし、psやtasklistでプロセスの一覧拾ったり
あとは必要ならcrontab見て、Windowsだとatコマンドも使えたっけ
0380デフォルトの名無しさん
2016/04/15(金) 18:40:09.67ID:KMLXrrkX<form>
<input type="checkbox" name="s[1]" value="1">スイッチ1<br>
<input type="checkbox" name="s[2]" value="1">スイッチ2<br>
<input type="checkbox" name="s[3]" value="1">スイッチ3
</form>
if(@$_POST['s']['2']) echo 'スイッチ2 はチェックされてるよ';
0381デフォルトの名無しさん
2016/04/15(金) 18:41:11.89ID:KMLXrrkXif(@$_POST['s'][2]) echo 'スイッチ2 はチェックされてるよ';
0382デフォルトの名無しさん
2016/04/15(金) 19:23:10.16ID:nJ+BLq/e元々フレームワークなんか一切使わない、フルスクラッチ派のSEなんで、なんかMVCとかいうのが肌に合わないんだよなー。
もちろん時代の潮流としてフレームワークを使って作成したアプリ開発もしないといけないのはわかるんだけどさ。
fuelPHPを使ってゴリゴリにやっている若いエンジニアから、フルスクラッチ派を古株エンジニアのオレに対して小馬鹿にされるのがなんか切ない。
0383デフォルトの名無しさん
2016/04/15(金) 20:33:12.28ID:fQgrroZ30384デフォルトの名無しさん
2016/04/15(金) 22:15:50.32ID:EFtvuIJr何でissetしないん?
>>382
車輪の再発明を毎回やってんの?
0385デフォルトの名無しさん
2016/04/15(金) 22:22:10.68ID:UZSoNJiiサンクス
あと 指定したプログラムが終了したらそのbatも同時に終了する 的なbatはどうすれば作れるの?
0386デフォルトの名無しさん
2016/04/15(金) 22:29:02.96ID:KMLXrrkX任意の値を取れる他の要素を使う場合も考慮して。
@ が遅いという留意点はあるけど、ここで示したい本質はそこではなく name の配列表現だから。
0387デフォルトの名無しさん
2016/04/15(金) 22:30:44.74ID:7TuTTpcb$foo = @$bar ?: $baz;
はアリ? ナシ?
0388デフォルトの名無しさん
2016/04/15(金) 22:47:35.26ID:AwudtfsZhtmlソースがいかにもphp独自仕様です、って感じなので好きじゃない俺ロートル
>>385
情報が少なすぎるアンドなんかすでにphpの問題じゃない匂いがする
phpバッチにプロセス存否を監視させ続けるとか、
対象の別プログラムにロックファイルを生成させといてそれをチェックさせるとか(要clearstatcache()確認)、
そもそもphpバッチから別プログラムを呼ばせるとか、プログラムを監視して落ちてたらphpバッチを探して生きてたらこれを落とす別バッチを書くとか
0389デフォルトの名無しさん
2016/04/15(金) 23:57:49.68ID:Bg5QZn6N画像処理(デザイン)はめちゃくちゃ苦手でセンスゼロです。
wordpressのテンプレカスタマイズしたほうが食えますか?
0390デフォルトの名無しさん
2016/04/16(土) 00:14:57.05ID:yp3MoCIl0391デフォルトの名無しさん
2016/04/16(土) 01:18:41.49ID:ESOj33QV0392デフォルトの名無しさん
2016/04/16(土) 01:32:20.87ID:qRVltTpd0393デフォルトの名無しさん
2016/04/16(土) 02:51:57.19ID:ESOj33QV0394デフォルトの名無しさん
2016/04/16(土) 03:08:54.48ID:FFCasTRXMVCが肌に合わないから特定のフレームワークを使わないというのならわからんでもないが、
フルスクラッチ派だからMVCが肌に合わないというのはおかしな話じゃないですかね。
てか、そのフレームワークに関してはその若いエンジニアのほうが「古株」でしょ。
>>386
> ここで示したい本質はそこではなく
本質じゃないから余計なものを省いたということなら、
なおさら @ ないほうがよかったんじゃないでしょうか。
0395デフォルトの名無しさん
2016/04/16(土) 03:38:21.70ID:CqNnK3O6本質じゃないから余計なものを省いたんじゃなく、本質を説明するための必要十分の例として @ を使ってるんだよ。
本質はお目当ての物が配列で参照できるということであり、そこが分かれば好きにコードを書けるでしょ。
その本質を示す手段としては @ だろうと @無しだろうと isset だろうと array_key_exists だろうとどれでもいいから、おれは @ で示したというだけの話だ。
ちなみにおれも普段は isset を使ってるよ。
さらに付け足すと、フォーム要素を配列で受けるのもあんまりしない。
0396デフォルトの名無しさん
2016/04/16(土) 14:39:46.43ID:PpvjCwHN上限なんてあるの?
0397デフォルトの名無しさん
2016/04/16(土) 15:15:24.00ID:yp3MoCIl0398デフォルトの名無しさん
2016/04/16(土) 16:36:00.58ID:qRVltTpdhttp://php.net/manual/ja/info.configuration.php#ini.max-input-vars
5.3.8以前では3000個だろうが10000個だろうが問題ない(ブラウザの制限は受ける)
0399デフォルトの名無しさん
2016/04/16(土) 16:46:43.81ID:qRVltTpdPOSTならphp://input読んで、GETなら$_SERVERでリクエスト読んだりapache_request_headers()使ったり
COOKIEだとそもそも複数個を連結できるしapache_request_headers()で取れるかも、という風に設定変更以外で回避はできるが
0400デフォルトの名無しさん
2016/04/16(土) 23:08:06.17ID:yp3MoCIlPHPでWebツール作ってて、内容によってはWeb上だけで完結させず、
別個のプログラムを用意して、例えばcronに投げたほうがいいって判断したとする。
このとき、同じくくりのプログラムだし、保守面も考慮して両方ともPHPで書く?
それともPHPではなくPerlなりPythonなり、そういう用途向き(?)の言語で書く?
とりあえずプログラマは複数の言語に習熟してて、
かつ処理内容も言語を問わないものという前提とする。
0401デフォルトの名無しさん
2016/04/16(土) 23:23:15.80PHPでページからExcel出力するモジュール書いて
自動eMailでもそれ使ったりするよ
0402デフォルトの名無しさん
2016/04/16(土) 23:26:21.71ID:yp3MoCIlありがとう。
どうもPHP = Webサイト表示用 という意識が抜けなくてなあ
0403デフォルトの名無しさん
2016/04/16(土) 23:37:48.61ID:FFCasTRX同じDB参照したりするだろうし、資産使いまわせるから便利だなと思うよ
0404デフォルトの名無しさん
2016/04/17(日) 01:38:56.11ID:S2UekzcWと先生に習いました。
意味が全然わかりません。
obj1.method()?
頭が固くて固くてプログラミングに頭脳が向いていません。
0405デフォルトの名無しさん
2016/04/17(日) 01:50:43.62ID:sy21xjHh変数のたびに毎回シフトキー押す手間を省きたいです
0406デフォルトの名無しさん
2016/04/17(日) 02:15:00.06ID:I4Bf6IMvバッチ用途でphpがperl・pyに劣ってる点おしえて
0407デフォルトの名無しさん
2016/04/17(日) 02:37:15.07ID:LFk8XMyg好きにしろ
>>404
主文が抜けて何を聞きたいのかわからない
>>405
キーマップでggr
0408デフォルトの名無しさん
2016/04/17(日) 02:50:11.51ID:5SdFsd1w別に優劣の話なんてしてないかと。
> PHP = Webサイト表示用 という意識が抜けなくて
なだけで。
JavaScript = Webブラウザ上のクライアントサイドスクリプトという意識が抜けなくて
という人もいるだろう。
0409デフォルトの名無しさん
2016/04/17(日) 03:04:32.12ID:I4Bf6IMv>それともPHPではなくPerlなりPythonなり、そういう用途向き(?)の言語で書く?
ここから 少なくともphp = そういう用途向きではない と読み取ったんだが
まあ言語ごとのバッチサポートの様子を語ってくれるなら誰でもいいよ
0410デフォルトの名無しさん
2016/04/17(日) 03:59:55.77ID:WVqY7eVD$ をコピーしておいて、$ を打ちたい場所で CTRL+V
0411デフォルトの名無しさん
2016/04/17(日) 05:50:07.84ID:schrg1Hoecho '一致';
}else{
echo '不一致';
}
このPHP文を実行するとなぜか一致してしまうんですがこれは一体どういうことなんでしょうか
バージョンは5.3です。
0412デフォルトの名無しさん
2016/04/17(日) 05:59:53.89標準入力からコマンド貰ってなんかしてechoすんのと
やることに変わりはないと思うんすよ
0413400
2016/04/17(日) 07:56:36.40ID:SaVaSm2U優劣があると捉えられないように、慎重に言葉を選んだつもりだったんだけど
なかなか難しいね、すまん。
要はさ、もともとPHPはWebページ出力用として、Perlはバッチ処理用として、
あとは有名ドコロだと、Cは低レベル処理が可能な高級言語として生まれた、
……みたいなのあるじゃん?
優劣とまでは行かなくても、その生まれに適した部分(設計思想)って
やっぱりあったりするのかなって。
0414デフォルトの名無しさん
2016/04/17(日) 09:21:16.78ID:I4Bf6IMvなるほど…なるほど?perlは"バッチ"処理用として生まれたのか?cの生い立ちはbと比べて機械語吐ける/型がある/高開発効率が欲しかったからじゃ?まあ細かいことか
機能的にはぶっちゃけ列挙されたものだとさしたる違いはないかと バイナリも扱えるしsocketも叩ける
ただ、少なくともphpについては基本的には同期処理一本で出来てるから
複数の処理を平行でやらせて全部終わったらこれやらせて…とかはちょっと
あとサーバの機能を分割するときに「あーphp入れなきゃな」とか「バージョン同じにしないと」「別verと同居させないと」「php.ini別に作って指定させないと」がある
pythonやrubyだと最小構成でサーバ作ってるとき「あーpython入れなきゃな」ってことは良くあるし、perlでも移すのに「cpanであれこれ入れなきゃ」が稀に良くあるけど
そういやphpだとpearで持ってこなきゃって経験はないな
んで、web利用が基本だからなのかメモリとか継続実行時間とかで設定(php.ini)に気を使わなきゃいけないことが若干多い…かもしれない
自分が決めていい状況ならあらかじめ問題があるとわかってる場合以外はphpを採用しちゃう
cで書かなきゃ速度的に辛いってこともそう無いし、メインもphpならphp以外が苦手な人にもまとめて投げられる
0415デフォルトの名無しさん
2016/04/17(日) 15:07:09.77ID:vkBmD+Lbこの文字列を分解して数値配列にしたいんだけどどうすればいいの?
0416デフォルトの名無しさん
2016/04/17(日) 15:16:01.30ID:CLrgwT7Gとか?
文字列として入るし、最後のカンマのせいで空文字が末尾につくけど
0417デフォルトの名無しさん
2016/04/17(日) 15:36:53.85ID:YYhB6pHO変数宣言の仕方とか、echoとprintの違いとかそこからやりました?
正規表現をいきなりやろうと思ってpreg_splitなどを調べてたりしたんですがチンプンカンプンなんですよね。
0418デフォルトの名無しさん
2016/04/17(日) 15:37:03.30ID:MApiboDi0419デフォルトの名無しさん
2016/04/17(日) 15:40:37.31ID:MXiE5eITワイルドカードを使わない文字列の検索や置換から慣れて行けば良い。
理解できないうちに複雑な表現を使うとメンテできなくなる。
0420デフォルトの名無しさん
2016/04/17(日) 15:41:30.72ID:UjRxHr470421デフォルトの名無しさん
2016/04/17(日) 16:01:01.71ID:vkBmD+Lbありがとうございました。
0422デフォルトの名無しさん
2016/04/17(日) 16:06:20.13ID:r8zM09th==演算子を使っていいのは何やってるか分かっている人間だけ
分からんなら===演算子を使え
0423デフォルトの名無しさん
2016/04/17(日) 16:11:31.64ID:CLrgwT7Gどうぞ
http://php.net/manual/ja/types.comparisons.php
0424デフォルトの名無しさん
2016/04/17(日) 18:33:57.46ID:SaVaSm2U今月からPHPプログラマとして仕事してるけど
休日にパーフェクトPHPを1冊読んだくらいかな。
それでもちょっとしたツールを作れるくらいにはなったよ。
もちろん細かい仕様とか、セキィリティ界隈とかの話とかはまだ怪しいところもあるけれど
最初からクリティカルな仕事を任されるわけでもないし。
0425デフォルトの名無しさん
2016/04/17(日) 19:17:40.22ID:LFk8XMyg数値と比較してるから@attributesはintにキャストされてると思えばいい
当然@attributesの前に何も数字がないので0になる
booleanで比較したいのなら!!をつけるとか
型まで考慮する場合===で比較するといい
0426デフォルトの名無しさん
2016/04/17(日) 19:33:09.25ID:S2UekzcW他に何かプログラミング経験はあったんですか?
Cをやってたとか
0427デフォルトの名無しさん
2016/04/17(日) 19:44:45.16ID:SaVaSm2Uうん。仕事で使ったといえるのはC、C++、C#、Perlくらいだけど
0428デフォルトの名無しさん
2016/04/18(月) 00:19:52.32ID:tA63gAjN10年近く勘違いしてたわ・・・
0429デフォルトの名無しさん
2016/04/18(月) 15:41:37.77ID:3MBtO9g0デフォルトの環境でインストール済みが多いからだ
PHPはインストールされてないことのほうが多い
0430デフォルトの名無しさん
2016/04/18(月) 16:48:18.20ID:Py/QbWo6> 最小構成でサーバ作ってるとき「あーpython入れなきゃな」ってことは良くある
何のディストリつかってるんだろう
0431デフォルトの名無しさん
2016/04/18(月) 16:55:31.74ID:V0FZFOjy0432デフォルトの名無しさん
2016/04/18(月) 17:07:57.24ID:looFcgiP基本的にapacheがはじめから入ってる環境でないと・・・
0433デフォルトの名無しさん
2016/04/18(月) 21:14:51.29ID:qDtmsg1l0434デフォルトの名無しさん
2016/04/19(火) 12:36:16.06ID:6K/M8riZPHPにはビルトインWebサーバ付いてるぞ
しかしバッチ処理は2000年代まではPerlで書いてたけどPerl 6が正式に出た以上新規には書きにくくなったなー
Pythonは兎も角Rubyは趣味に合わないから専らPHPで書いてるわ
0435デフォルトの名無しさん
2016/04/19(火) 22:50:20.52ID:IoSLlNnO$fp = fopen("list.csv", "r");
while (!feof($fp)) {
$line = fgetcsv($fp);
mb_convert_variables("UTF-8", "SJIS", $line);
echo "Title:$line[0] Date:$line[1]";
}
こんな感じでlist.csvからデータを読み込むことはできました。
問題は
1.Titleをクリックできるようにして、クリックでされたら対応するDateを返すこと
2.50件まで表示させて残りは次のページに表示させること
list.csvは4万件以上のデータがあるらしくページ番号で移動もおそらく必要
list.csvは
aaa,a000
bbb,b111
ccc,c222
……
こんな感じになっています。
0436デフォルトの名無しさん
2016/04/19(火) 23:05:59.46ID:vjTai48kcsvファイルはtitle,dateの2列だけ?
a000がdateなの?
[title],[date]
aaa,a000
0437デフォルトの名無しさん
2016/04/19(火) 23:19:30.67ID:9i1atlZ90438デフォルトの名無しさん
2016/04/19(火) 23:26:25.28ID:IoSLlNnOはい
その通りです。
>>437
すみません。
PHPは昨日まで触ったこともなくて…
昨日環境作ってドットインストールで勉強して
今日から作ってたんです。
0439デフォルトの名無しさん
2016/04/19(火) 23:43:55.16ID:pETlWi8B妄想はできるけどw
0440デフォルトの名無しさん
2016/04/19(火) 23:48:02.32ID:6Xufz3Pdhtmlのテーブルで表でも作る?
クリックはAタグ?
0441デフォルトの名無しさん
2016/04/20(水) 00:20:19.71ID:hJ4omFpRHTMLのテーブルで読み込んだ内容を上から50件のTitleをリストのように表示
(残りは次のページで表示させる・ページ番号で移動できるようにする)
Titleは<a>で囲いリンクにする
リンクを選択するとDateの部分が画面に表示される
説明下手だな…
わからない部分をまとめるとこんな感じになる。
0442デフォルトの名無しさん
2016/04/20(水) 00:39:10.82ID:1rGPQiSAページ移動せずにDataを表示しないといけない感じ?
0443デフォルトの名無しさん
2016/04/20(水) 00:44:45.90ID:W+moKoI4phpどころかHTTP/htmlすらわかってるか怪しいのに内容エスパーも追加とか役満レベル
0444デフォルトの名無しさん
2016/04/20(水) 01:02:38.69ID:Hoj62ndF2、1を開始行数、取得行数を与えてその範囲の値を返す関数に改造する
これでデータ一覧およびページングができる
3、行番号を与えるとDateを返すPHPを作る
4、2を元に作られた一覧から、TitleのAタグをクリックしたら3にアクセスし値を取ってくるJavascriptを作る
0445デフォルトの名無しさん
2016/04/20(水) 01:19:22.25ID:QFZZ7CGmたいてい身の丈にあってないことやろうとしてるだけで
基礎的なところから勉強していくしかないわけで
0446デフォルトの名無しさん
2016/04/20(水) 01:27:31.57ID:hNTaWlcrWordPressのフォーム云々の説明文があった場合、
WordPressでフォームというと、メールフォームのことを指すのでしょうか?
PHPでフォームというと、HTMLの<form></form>タグで、
そこから送信されたデータの処理することを指すと思うのですが、どうなのかなと。
0447デフォルトの名無しさん
2016/04/20(水) 01:35:54.43ID:3QX7LeE6これを見た時「んんん?成り立ちません」って思ったおれは頭が硬いんだよね。ブログラマ向いてないよね
0448デフォルトの名無しさん
2016/04/20(水) 01:39:34.86ID:3QX7LeE6aabbbccccdddeeこんなのみたらめまいがしてきてたよ
0449デフォルトの名無しさん
2016/04/20(水) 01:55:50.19ID:hNTaWlcr大丈夫、そのぐらいの誤読は誰でもやるし、どんな時にでも起こりうる。
本当のプロは、普通だったらやらないだろう、普通だったらわかるだろうということさえ、
注意して確認を行える人。
そうならないために、普段から変数名に「no」ではなく、「id」を使ったりする。
0450デフォルトの名無しさん
2016/04/20(水) 02:40:12.55ID:jyo5QKfK> HTMLの<form></form>タグで、
> そこから送信されたデータの処理する
メールフォームはそれに含まれるよ。
0451デフォルトの名無しさん
2016/04/20(水) 03:25:37.50ID:hNTaWlcrうん、だからWordPressを使う人は、
フォームと聞いたら、メールフォームだけを限定していうのか、
<form></form>タグで行う処理全般を指すのか、
その境目の認識がよくわからないです。
まあ、某掲示板でこんなやり取りがあって質問したところです。
A「WordPressのフォームに関して……」DBが必要云々の質問
B「メールフォーム如きにWordPressを使うのはオーバースペック」
僕(あれ、メール以外にも色々あるよね。てかWordPressって、PHPで動いているCMSだよね
それだと、フォームから来たデータを基に、DB登録とかCSV作成とか、データ編集とか色々あるよね?)
0452デフォルトの名無しさん
2016/04/20(水) 03:55:52.29ID:TcGBKumn0453デフォルトの名無しさん
2016/04/20(水) 03:57:25.84ID:3t709hpA> ID:3QX7LeE6
人生相談じゃなくてPHPの質問しろ
IQは個人差あるから仕方ねーよ
雑談スレ池
> ID:hNTaWlcr
PHP=WPみたいに語るんじゃねーよ
俺には投稿フォームであるコメント欄のイメージが浮かぶし
WPスレ池
0454デフォルトの名無しさん
2016/04/20(水) 04:03:47.18ID:2dGZ41SuPHPだよ
$total = $total + 1
0455デフォルトの名無しさん
2016/04/20(水) 04:05:29.57ID:3t709hpA0456デフォルトの名無しさん
2016/04/20(水) 06:40:41.54ID:w5hbs5qXPaginator の話だろ。
CakePHP, RoR などのフレームワークを使う
>>447
>$total = $total + 1
文法なんて、単なる取り決めに過ぎない。下なら理解しやすいかい?
$total ← $total + 1
0457デフォルトの名無しさん
2016/04/20(水) 06:52:36.18ID:hNTaWlcr少なくとも、イコールではないけど、PHPで行う範囲の中に、
WordPressは含まれるよ。
WordPressで作成したコンテンツの改修は、PHPの理解が薄いと限界があるわけだし。
0458デフォルトの名無しさん
2016/04/20(水) 06:56:48.91ID:hNTaWlcrPHPはバッチ処理の実行やシェルスクリプトような使い方もできるので、
Apache上では、いろいろ動けますよ。
とはいえ、そういうところは、基本的に表にでないし、動作確認がログファイルだけになるので、
そういう使い方があるという知識と実例をみないと結びつきにくいです。
0459デフォルトの名無しさん
2016/04/20(水) 07:02:35.08ID:3t709hpAそれともWPはPHPで書かれてるっていう当たり前のことをドヤ顔でいってみたのか?
とりあえず専スレでやれ
0460デフォルトの名無しさん
2016/04/20(水) 12:53:23.84ID:jyo5QKfK何でその人にメールフォームじゃないよという話をしなかったのかがどうにも解せないんだけど
フォームはフォームであって、メールフォームは含まれるだけだ。
0461デフォルトの名無しさん
2016/04/20(水) 15:14:06.00ID:spVU+LpI実行される直前のクエリを確認したいんだけど
どうしたらSQL文を見ることができますか?
0462デフォルトの名無しさん
2016/04/20(水) 15:18:23.34ID:oXU9Jk7I使用しているデータベースは?
データベースによっては、展開されない場合もあるし(こっちが多数派?)
0463デフォルトの名無しさん
2016/04/20(水) 15:51:29.35ID:g9fYYFr2どっちにしてもそのまま展開後のSQL文は取れないとは思う
0464デフォルトの名無しさん
2016/04/20(水) 15:53:23.66ID:pQik9E63何年も前にweb制作の民間の職業訓練に行ったことがあって
xhtml1.0/css/Javascript/PHPを一通り勉強した。
xampp入れてphpmyadminから簡単なデータベースをGUIで作ってそれをphpからどうやって接続するのか?
どうやってデータベースからデータを取得するのか?
など本当に基本的なことをした。
ライブラリとフレームワークの違いも理解できてなくて、
当時は確かPEARってのを使ってた記憶がある。
ほんとにプログラミングド素人
0465デフォルトの名無しさん
2016/04/20(水) 15:56:31.25ID:pQik9E63基礎PHP (改訂3版) WINGSプロジェクトって本
これ今でもいい本なのかな?
0466デフォルトの名無しさん
2016/04/20(水) 16:05:12.08ID:TcGBKumn公式マニュアル読んどけ
0467デフォルトの名無しさん
2016/04/20(水) 16:15:15.39ID:w5hbs5qX10日でおぼえる jQuery 入門教室 第2版
10日でおぼえる PHP 入門教室、第4版、2012
この2冊は、必須
0468デフォルトの名無しさん
2016/04/20(水) 16:47:04.98ID:pQik9E63NetBeans IDE 8.1 (PHPバンドル)
notepad++
Xampp5.6.19 (PHP5.6.19)
本番環境(自宅サーバ/CentOS6.7)
Apache 2.2.15
MySQL 5.1.73
PHP 5.3.3※レンタルサーバも5.3
0469デフォルトの名無しさん
2016/04/20(水) 16:48:15.76ID:pQik9E63ありがとう!
0470デフォルトの名無しさん
2016/04/20(水) 16:56:38.76ID:TcGBKumn0471デフォルトの名無しさん
2016/04/20(水) 17:50:24.79ID:pQik9E63レンタルサーバは5.6利用可能たった。
自宅サーバーCentOS6.7はyum updateしても5.3.3が最新ですってなる。
0472デフォルトの名無しさん
2016/04/20(水) 18:12:22.87ID:W+moKoI40473デフォルトの名無しさん
2016/04/20(水) 18:28:17.08ID:XJ2suwVkepelとかrpmforgeとか
0474デフォルトの名無しさん
2016/04/20(水) 18:48:27.95ID:pQik9E63今までphpのバージョンとか全く気にきにしていませんでした。
5.3,3が最新って出るからそれでいいやって使ってました。
5.5以上じゃなきゃ使えないもの(使えない関数?)ってあるんですね。今までそういうのに遭遇した事がなかったので。
0475デフォルトの名無しさん
2016/04/20(水) 19:13:53.26ID:spVU+LpIマジすかDB依存でしたか
MyちゃんSQL使ってるけど、DB側でPDOでもクエリログ取れるかどうか
ちょっと実験してくるわ
0476デフォルトの名無しさん
2016/04/20(水) 19:27:34.85ID:1zVoxsrg0477デフォルトの名無しさん
2016/04/20(水) 22:19:53.77ID:vRaGgTgt外部phpファイルをincludeし、HTMLタグの出力を行いたいのですが、
直接アクセスされた時に表示を防ぐ、スマートな方法はありますか?
先頭でif( empty(変数) ){ exit; }というのは考えました。
また、テンプレートを使って作れるようなページを、
わざわざphpの1ファイルずつにHTML展開しているソースがあるのですが、
あまりに冗長なので、何か将来的な個別変更を想定している意図があるように見えたのですが、
PHPの界隈の人たちには当たり前の事なのでしょうか?
0478デフォルトの名無しさん
2016/04/20(水) 22:20:23.71ID:vRaGgTgt0479デフォルトの名無しさん
2016/04/20(水) 22:40:53.37ID:c8GcwH6Rincludeしただけで表示するのではなくて、出力部分を関数化やクラス化して
関数(メソッド)実行をしなければ表示されないようにするのも一つの手法。
下の質問は、単に横着してコピペした結果だと思う。
当然、PHPでもバッドノウハウだよ。
0480デフォルトの名無しさん
2016/04/20(水) 22:46:29.32ID:1rGPQiSAinclude対象のphpファイルは、外部からアクセスできない所においても大丈夫だよ
0481デフォルトの名無しさん
2016/04/20(水) 22:52:58.88ID:vRaGgTgt回答ありがとうございます。
関数で括る事は考えたのですが、PHPを読めない人にもHTML編集しやすい方法が良いと思いまして、
PHPコードの少ない方法を求めてました。
もう一つの方は、明らかにコピペの手間の方がかかっているような内容で、
コード冗長化に伴う労力の増加が一見してわかるようなコードでしたので、
もしかしたら、コードの水増しをする意図があったのかも知れません。
0482デフォルトの名無しさん
2016/04/20(水) 23:00:30.46ID:vRaGgTgtそれは知りませんでした。しかし現在の環境ではDocRootより上にファイルを置くのが無理ですね。
でも他の時にかなり有効に使えそうです。ありがとうございます。
ところで、PHPプロセスの権限ってhttpdとは別になっているんですか?
0483デフォルトの名無しさん
2016/04/20(水) 23:02:13.50ID:59Aeov/b0484デフォルトの名無しさん
2016/04/20(水) 23:05:00.33ID:W+moKoI40485デフォルトの名無しさん
2016/04/20(水) 23:06:18.70ID:qspjNJo7a. 拡張子を変えて、サーバの設定で見られなくする
b. includeされるファイルをサブディレクトリに入れて、そのディレクトリを見られなくする
おれは a と b の合いの子みたいなやり方だな。
templates みたいなディレクトリ作って .htaccess 置いてアクセス禁止にして、そこにファイル名も form.tpl みたいにして置いてる。
0486デフォルトの名無しさん
2016/04/20(水) 23:27:33.87ID:hJ4omFpR皆さんから色々なアドバイスを頂きなんとか形になりました。
ありがとうございます。
また質問で申し訳無いのですが、
CSVでデータを取得したところにデータを書き込みたいのですがどうやればできるでしょうか?
行数は分かっているので、CSVのn行目のデータを書き換えると考えてください。
0487デフォルトの名無しさん
2016/04/20(水) 23:37:29.80ID:vRaGgTgtということはwww系に読み込ませる権限で置いておけば良いんですね。
何がリモート呼び出し的な物を使っているのかと思いました。
>>484
ググりました。ありがとうございました。
前にnginxで似たような事やったことあります。確かにこれもいいですね。
>>485
ものすごいわがままを言いますが、起動にothers権限が必要なのと、
運用が自分一人でないので、できれば.htaccessをも使わない方法を取りたいのです。
それでphp側で被includeを検出してくれるような物がないのかなと質問した次第です。
しかし、普段いわゆるフルスタック的な物を使ってるので、
どちらの設定方法も勉強になりました。ありがとうござました。
0488デフォルトの名無しさん
2016/04/20(水) 23:39:48.31ID:aNm9/fCbお前に付いた会社の教育担当に聞きなよ
0489デフォルトの名無しさん
2016/04/20(水) 23:51:49.83ID:qspjNJo7起動に others権限とかいまいち事情がわからんけど、例えばなんかの入力フォームを作ったとして、htdocs 配下の formX ディレクトリにそれを設置するとする。
で、/formX/form.php で一連のロジックを実装するとして、その画面は /formX/templates/ に nyuryoku.tpl、kakunin.tpl、kanryo.tpl として置くことにする。
で、この画面テンプレートを見えないようにするため、/formX/templates/.htaccess を置いてこんな内容にする。
order deny,allow
deny from all
というだけの話なんだけど、起動の話も複数人でやる話も何も関係ないように思うんだがどうだろう?
0490デフォルトの名無しさん
2016/04/20(水) 23:53:29.77ID:hJ4omFpR私の会社でPHPがデキる人は誰もいません。
私はJavaとか専門です。
ブログやってると言ったらHTMLができるならPHPもできるだろ?
という感じで私がやってるだけなのです。
0491デフォルトの名無しさん
2016/04/21(木) 00:00:13.56ID:DGudhj+qJavaでやれるなら、同じようなことを PHP でやればいいだけじゃない?
そうするに当たって何が分からないの?
0492デフォルトの名無しさん
2016/04/21(木) 00:06:53.83ID:8VEbZp8D私も正直よくわかりませんが、httpdプロセスそのものがothers扱いなのだと思います。
それと内容は理解しているつもりなのですが、
連携が疎なのと、権限の問題でこちらが自由に変更できないので、
.htaccessへの依存はできるだけ避けたいのです。
0493デフォルトの名無しさん
2016/04/21(木) 00:09:41.62ID:8VEbZp8D語弊がありますが、プロセスがothers扱いというのは、
もちろんOS上でという意味ではなく、抽象概念としての意味です。
0494デフォルトの名無しさん
2016/04/21(木) 00:12:05.54ID:DGudhj+q画面(>>489 で言うところの nyuryoku.tpl とか)は好きにいじるんでしょ?
.htaccess も同じ権限で好きにいじれると思うんだけど、なんか特別な制限でもあるの?ただのファイルだよ?
まあどうしても .htaccess は使いたくないというなら、画面を納めてるディレクトリ名を templates なんて安易な名前じゃなく、知ってないとわからないような名前にしちゃえばいいんじゃない?
つか、.htaccess 使わずに mod_rewrite 使うの?
そっちのがハードル高くね?
0495デフォルトの名無しさん
2016/04/21(木) 00:22:07.96ID:DGudhj+q別にそんな決まりはなくて、必要なディレクトリに必要な設定だけを書くこともできるよ。
>>489 で言ってるのも、画面開発チームの持ち物である templatesディレクトリに自分の持ち物として .htaccess を作り、自分の持ち物である templatesディレクトリについてだけのアクセスコントロールを書くんだよ。
0496デフォルトの名無しさん
2016/04/21(木) 00:24:42.12ID:DGudhj+q自分=画面開発チーム ね。
なんにしても .htaccess は必ずしも共有資産じゃないってことだ。
0497デフォルトの名無しさん
2016/04/21(木) 00:37:05.85ID:0BsNpmshだから、必要に応じて、どこにでもおくことは可能です。
0498デフォルトの名無しさん
2016/04/21(木) 00:45:44.53ID:8VEbZp8Dえーとですね、.htaccessは理解してないのではないですが、使えません。
そもそも画面開発者も別にいて、チームではなく、密な連携は取れません。
ロジック部分を変更できるのが恐らく自分だけなので、phpの方が安心なんです。
そもそも自分は運用保守担当じゃないので、誤って導入されなかったり、
削除したときでも普通に動いてしまう恐れがある時点で使えません。
0499デフォルトの名無しさん
2016/04/21(木) 00:55:18.34ID:8VEbZp8Dサーバー設定を変更できない理由も知りません。
0500デフォルトの名無しさん
2016/04/21(木) 00:56:55.82ID:tJ+xMH9pそれで mod_rewrite はおkなの??
意味ワカンネーw
.htaccess を置き忘れる心配はするけど、画面開発者にとって意味の無い if のオマジナイを忘れる心配は無いの??
マジ意味ワカンネーw
.htaccess なんてお前がロジックと一緒に置いてやればいいだろw
0501デフォルトの名無しさん
2016/04/21(木) 01:00:50.80ID:OuYl89GW一部で使わせると調子に乗ってあれこれやりたがったり俺も俺もも出てきやすいと危惧してるのかもしれん
ところで>>477後段はどんな感じなんだろう
includes/header.php includes/footer.php includes/menu.php とかでそれぞれ中身はベタhtmlとかだろうか
だとするとそれなりに利点はありそうだけど
0502デフォルトの名無しさん
2016/04/21(木) 01:06:33.64ID:8VEbZp8Dもちろん同時に置くのはいいんですけど、それで足りません。
0503デフォルトの名無しさん
2016/04/21(木) 01:08:53.97ID:DGudhj+qあ、.htaccess を使いたくないというより、使えない環境を意識してるわけね。
だったら作業者だの権限だの言わずにそう言えばいいのに。
だったら推測されづらいディレクトリ式で充分じゃないかな。
画面側のスキルなんかを考慮してコードを分離してるにに、画面側にセキュリティーがらみのおまじないを要求するというのはナセンスだと思うよ。
サーバ設定で回避するのが一番確実だけど、事情を鑑みるにそれもやりづらいんだろうし。
0504デフォルトの名無しさん
2016/04/21(木) 01:10:45.71ID:t1TQTu7Eそんなまともじゃない環境でやるならまともじゃない方法採るしかないんだし
0505デフォルトの名無しさん
2016/04/21(木) 01:15:03.61ID:OuYl89GWhttpdに判断させるか、.phpなり.htmlなり自身に判断させるか、クライアントに判断してもらうか
原理的にhttpd判断以外はどうしても <?php if(empty($var)) exit; ?>的な記述の追加は避けられない
jsにやってもらってもコード書き忘れたらNG&クライアント側の処理を外せるわけじゃない
httpdだと組織的なあるいは立場的な制約がありうる
画像とか.datとかに拡張子を変えておく手もあるけど確か今でもIEにはhtmlとして表示される
自身判断だと例えばheader();で転送させたりmeta http-equiv="refresh"で飛ばすなどしつつ、
本来の読み込み時にincludeではなくfile_get_contentsする手もある 読み込みは煩雑になるけど混入コードは減る
0506デフォルトの名無しさん
2016/04/21(木) 01:15:36.58ID:DGudhj+qよくやるよ
header やら footer なんてバンバン include するし、その画面表現の為だけの関数定義なんかもしちゃったりする。
例えば数値はカンマ区切りでマイナスの値は ▲ で表示する、みたいな特定数画面でしか使わないけど多用するルールとか。
0507デフォルトの名無しさん
2016/04/21(木) 01:19:31.32ID:OuYl89GW特に変えてなければhttpd.conf標準状態で通信対象外になるから
「設定変更」じゃないってことで場合によっては有効
0508デフォルトの名無しさん
2016/04/21(木) 01:23:49.82ID:DGudhj+qそのファイル名を端的に扱えない作業環境(windows とか)もあるから、画面みたいに量産するやつだと面倒この上ないかも。
.htaccess はがんばってひとつ作って、あとはコピーして使い回すw
編集だけはそのファイル名のままできるからな。
0509デフォルトの名無しさん
2016/04/21(木) 01:30:03.07ID:VGCuKfTM>>507
デフォルトのフィルタは .ht* だから注意な
0510デフォルトの名無しさん
2016/04/21(木) 01:36:31.11ID:8VEbZp8D部品化している中身がコピペなのではなく、ページ単位のコピペをしていて、
中身も冗長ではあるものの、初心者とは思えない物でした。
それで水増しなのかなと。
>>503
>だったら推測されづらいディレクトリ式で充分じゃないかな。
テンプレート程度なら確かに問題でませんけど、さすがに現代でこれはちょっと…。
>>504
それはものすごくわかります。
ただ実際なってみると、結局相手の無理解ゆえに、
自分にもかかるリスクがあるのでそうできないんですよね…。
0511デフォルトの名無しさん
2016/04/21(木) 01:41:44.87ID:8VEbZp8Dそれいいですね。
それなら相手のファイル操作ミスでも問題出ませんし。
当初の方法とはかなり違いますが、確かに使えそうです。
これは今度試してみます。ありがとうございます。
0512デフォルトの名無しさん
2016/04/21(木) 01:42:00.82ID:DGudhj+qえ、画面をロジックと分離する前提で、画面のコードへの直接アクセスで中身が見えちゃうことの対処をしたいって話じゃなかったの?
テンプレート(≒画面のコード)以外に何を置こうというの?
0513デフォルトの名無しさん
2016/04/21(木) 01:43:29.19ID:VGCuKfTM「環境はまともじゃないけど自分にリスクのない方法を使いたい」なんてアホなこと言ってないでまず環境の改善を要求しろ
プログラムの問題じゃなくてコミュニケーションの問題だなんてよく言われるだろうに
0514デフォルトの名無しさん
2016/04/21(木) 01:46:07.62ID:8VEbZp8Dファイル名の制約あったんですね。
そもそもよく考えたら別の人間がdotfilesを適切に扱えないのだから駄目でした…。
0515デフォルトの名無しさん
2016/04/21(木) 01:57:33.76ID:8VEbZp8D要求とかそういう段階の話じゃないです。
そもそもコミュニケーション語るなら、
相手に合わせて柔軟な対応するほうが賢明だと思いますよ。
0516デフォルトの名無しさん
2016/04/21(木) 02:01:10.38ID:DGudhj+qじゃあこんなところで聞いてないで相手に聞けよ
それがコミュニケーションだ
0517デフォルトの名無しさん
2016/04/21(木) 02:10:22.55ID:VGCuKfTM相手が理解して要求してりゃな
それなら開発側も要求内で好きにすりゃいいが理解してないなら後から何言われるか分からんのだから, それでも唯々諾々と従うのが賢明だなんて思うのか?
最低限おたくの要求普通じゃないんで普通のものにはなりませんよと伝えるのが開発者としてはまともなんじゃないかね?
それでも唯々諾々と従うのを是とするならあなたがあなたの思いつく範囲で, 頂戴している要求に合わせて上手にやればいいんじゃない?
0518デフォルトの名無しさん
2016/04/21(木) 02:11:34.16ID:8VEbZp8D何を聞くんです?
0519デフォルトの名無しさん
2016/04/21(木) 02:15:09.63ID:8VEbZp8D>最低限おたくの要求普通じゃないんで普通のものにはなりませんよと伝えるのが開発者としてはまともなんじゃないかね?
だからそういう段階はとうに過ぎてるんですって…。
そもそも相手は可能な限り説明してくれてて、対応に不満があるわけじゃないし、
こっちもさらに要求するつもりもありません。
0520デフォルトの名無しさん
2016/04/21(木) 02:16:38.08ID:DGudhj+q何をどこまで許容するのか、責任分担はどうするかに決まってんだろアホか
0521デフォルトの名無しさん
2016/04/21(木) 02:21:39.28ID:VGCuKfTMそんなら相手はまともじゃないことを十分理解してるってことだろ
実装はスマート云々を考える状況にない, どんな手法もスマートにはなりえない
ここで出た方法がイヤだとか出来ないだとかいうならご自身でやりたいように考えていただくのがよろしいのでは?
0522デフォルトの名無しさん
2016/04/21(木) 02:28:36.64ID:8VEbZp8Dだから相手のせいだけにできないって言ってんだけど、
あほあほ言いながらコミュニケーション云々語る前に人の話聞きなよ。
0523デフォルトの名無しさん
2016/04/21(木) 02:38:20.03ID:DGudhj+qアホなどとは一度しか言ってないがな、繰り返し言っておいてやった方がよかったな。
例えば必要なサーバ設定は誰がするんですか?
そこに誤りがあったことによって事故が起きた場合だれが責任を取るんですか?
お前にリスクが振りかかる可能性があるとするならば、本当におまえがやるべき範疇だったか、責任分担を明確にしてなくていいように言われた時だけでしょう?
他の要素についても同様、相手のせいだけにできないとか曖昧なこと言ってる時点で相手とコミュニケーションが取れてないんだよ。
ただ線引きもできてないことを柔軟なて言葉で誤魔化すんじゃない。
0524デフォルトの名無しさん
2016/04/21(木) 02:40:03.87ID:8VEbZp8Dごめんなさい、ちょっと頭が悪くて理解ができません。
参考になったレスは十分ありましたし、
スマートな物が無いと断言できる理由もわかりません。
最終的に自分で考える、と言うのは当たり前の話です。
0525デフォルトの名無しさん
2016/04/21(木) 02:45:52.42ID:VGCuKfTMうん, 口が悪くて済まなかったね, まぁ好きにやればいいと思うよ
0526デフォルトの名無しさん
2016/04/21(木) 02:55:09.52ID:8VEbZp8D何言ってるのかよく分からんけど、コードに責任がある以上、
セキュアにしておかない時点で駄目。
言質取ろうと実際に訴えられればどう転ぶのかなんて分からん。
で、その上で相手の良心に任せるだけの事を聞いてどうするわけ?
0527デフォルトの名無しさん
2016/04/21(木) 03:16:42.64ID:DGudhj+qお前はコードに責任を持つんだろう?
そのコードは何らかの前提条件に適合するように書くんだよな?
逆に言えば、動作環境が前提条件と違っていたりコードの問題じゃなかったりした場合にはお前が責任を問われることは無いよな?
.htaccess は使えるようになっていると言われていたのに使えないとか、こういうファイル名パターンは見えないようにすると言われていたのに見えちゃったとか、お前が責任問われるべき話じゃないわな?
にも関わらずお前の責任が問われるって、例えば前提条件に合う環境を誰が用意するかとか、そういうところが曖昧になってたってことだよな?
言質とか仰々しいことでもなく相手の良心なんてもんでもなく、そういう線引きは当たり前のこととしてはっきりさせるよね、特に仕事でやってるなら。
おれも3点ほどアイディアを出したし他の人からもアイディアが出てる、おまえ自身も1つ出してるけど、どれも前提条件があって成り立つものだよな?
自分にリスクが降りかかるかもなんてうだうだ言うなら、こんなところに何かを聞く前に相手とそこらへんハッキリさせるのが先だろ?
そうしようともせず相手に合わせて柔軟?
あのな、そういうのはルーズって言うんだぞ。
そこをよーく考えた方がいい、そういういい加減なことをされると相手も不幸だし、おまえ自身もひどい目に遭うぞ。
0528デフォルトの名無しさん
2016/04/21(木) 03:47:16.08ID:8VEbZp8D何が言いたいんだ?理想論を語りたいの?
べき論で語ろうが、何か起きたときには自分も対応せざるを得ないし、
それでやらなきゃ仕事無くなるだけ。で、何を聞くの?
0529デフォルトの名無しさん
2016/04/21(木) 03:51:54.25ID:DGudhj+qはいはい、サーバのハードウェア故障の責任も取ってればいいと思うよ。
もうお前に言うことなど何も無い。
まあここで質問して何人かの頭は使わせたんだ、どういう方式を採ったかくらいは後で報告してくれよ。
0530デフォルトの名無しさん
2016/04/21(木) 03:55:31.13ID:8VEbZp8Dはいはいって、全く話が見えないんだけど、一体何の話してるの?
直接委託の話でもしたかったの?
0531デフォルトの名無しさん
2016/04/21(木) 10:47:09.020532デフォルトの名無しさん
2016/04/21(木) 11:05:54.88ID:c8GjQG2Z0533デフォルトの名無しさん
2016/04/21(木) 14:02:48.69ID:S+2T/sm2下の3レス見てケンカしてんがよくわかったわ
0534デフォルトの名無しさん
2016/04/21(木) 14:34:53.07ID:S3Ke5d3Q> 直接アクセスされた時に表示を防ぐ、スマートな方法はありますか?
リクエストのメソッドを調べて、GETだったらexit
> あまりに冗長なので、何か将来的な個別変更を想定している意図があるように見えたのですが、
・テンプレートのことなんか知らない
・テンプレートを適用する実行時間がパフォーマンス上問題になる
とか
0535デフォルトの名無しさん
2016/04/21(木) 18:44:36.65ID:slmqLM1N>>477
バックトレース拾えば直接呼ばれたのかどうかは判断できるわけだし、
その場合は 403 でも返しておけばいいんじゃない?
公開ディレクトリ以外にファイルを置けないという環境は辛そうだけど、そういうことならしょうがない。
0536デフォルトの名無しさん
2016/04/21(木) 18:53:03.60ID:z/J61xkG直接呼ばれたかどうか知りたいなら$_SERVER見ればいいじゃん
0537デフォルトの名無しさん
2016/04/21(木) 21:03:26.50ID:HeS5HApN0538デフォルトの名無しさん
2016/04/21(木) 21:43:30.76ID:NgnSmYD5そんな面倒なことするなら >>477 で充分だし、
それですら画面側の作業者に書かせるのはナンセンス。
なんだか他人のミスも自分がかぶる想定みたいだし。
0539デフォルトの名無しさん
2016/04/22(金) 01:05:29.47ID:HzL1UgzJApache2.2
MySQL5.6.30 (MySQL Community Server)
PHP 5.6.20
phpMyadmin 4.4.15
環境は整ったんだけど、HTML5やった事ないんだよね。PHPはすこーしだけある。
で、やりたい事(作りたいもの)がなくて何作ろうかなって思ってる。
PHPのまえにweb制作やwebデザインの基本としてHTML5からやるべきかな?
PHPうんぬんもだけど個人会社のwebサイトが作りたいんだよね。
(1) ローカルpcのxamppとnotepad++で開発
(2) ローカルpcで動作確認
(3) LAN内のテストサーバにアップし再度動作確認
(4) 本番環境のレンタルサーバにアップ
なぜ(3)を構築したかというと、外部非公開のLAN内専用のサイトを作ったり、テストサーバとして動作確認をやるために構築した。
普通は(3)を飛ばして、(4)なのかな?
0540デフォルトの名無しさん
2016/04/22(金) 01:37:22.50ID:vh1qxiTR0541デフォルトの名無しさん
2016/04/22(金) 02:32:29.42ID:HzL1UgzJ(3)のテストサーバ上で直接開発やればよくね?ってこと?
それってクライアントからターミナル(SSH)で接続してviでソース書くってこと?
そんなことやってる人いるのかな?
0542デフォルトの名無しさん
2016/04/22(金) 02:49:00.23ID:1YoQR0YC0543デフォルトの名無しさん
2016/04/22(金) 02:49:01.09ID:4mUicHSB0544デフォルトの名無しさん
2016/04/22(金) 03:13:51.66ID:HzL1UgzJNetBeans IDE 8.1でテストサーバにFTPしようと思ったんだけどFTPSに対応してないよね?
FTP鯖をFTPS(Explicit)のみ接続許可にしてるから。
VMwareやVirtualBox使ってローカルPCに鯖立てるなら、xammpの方が簡単だしやってることは同じだよね。
0545デフォルトの名無しさん
2016/04/22(金) 03:14:12.38ID:GI428x51やってるよ。というかそれでしかやってない。
0546デフォルトの名無しさん
2016/04/22(金) 03:20:29.27ID:GI428x51知識があるのか無いのかよくわからないので、学習コストを割くキャパがもう無いなら後でもいいけど。
0547デフォルトの名無しさん
2016/04/22(金) 03:44:32.29ID:HzL1UgzJなるほど、ターミナル使ってサーバ上で直接開発やったりもするんだね。何となくソース書きにくそうだけど。
自分はプログラマーでもなんでもなくて趣味でネットワーク構築とSoftether VPN構築なんかをやってるなんちゃって知識レベルなんだ。
なんでソフトにはほんと疎い。
だからプログラムや現場の開発環境やノウハウなんかはよく分からないんだ。
VCSってのは初めて聞いた。ググってみるよ
NetBeansでFTPSできた。ごめん
0548デフォルトの名無しさん
2016/04/22(金) 05:47:58.18ID:qHzjITsw初級脱した人向けのPHP質問スレ作りたい
0549デフォルトの名無しさん
2016/04/22(金) 05:56:14.94ID:kW8L0cx9まずそういうレベルの質問をしてみたらどうかな?
0550デフォルトの名無しさん
2016/04/22(金) 06:07:40.31ID:qHzjITsw0551デフォルトの名無しさん
2016/04/22(金) 06:15:27.88ID:kW8L0cx9初心者に邪魔され充分に話を進められなかった話題を示すのが先。
phpなんてその性質上レベルによらず環境の話題は付き物だろう。
0552デフォルトの名無しさん
2016/04/22(金) 06:20:01.70ID:qHzjITswもっと上の話したい人もいるでしょうっていうこと
0553デフォルトの名無しさん
2016/04/22(金) 06:31:44.27ID:kW8L0cx9ボリュームが充分あるならスレを分ければいいだろう?
自分から話題も無いくせにスレを立てようとしてるわけではないんだろ?
0554デフォルトの名無しさん
2016/04/22(金) 06:32:24.51ID:qHzjITsw0555デフォルトの名無しさん
2016/04/22(金) 06:34:51.37ID:qHzjITswそれでいいだろう
0556デフォルトの名無しさん
2016/04/22(金) 06:42:36.50ID:o7fkiimI初級より上の話をするにあたって現状でどんな不都合があるのか
理屈でいくならこの辺だな
0557デフォルトの名無しさん
2016/04/22(金) 06:44:26.53ローカルで開発してokならgit push/pullするんやで
やべえバグ仕込んだと思ったら、git revertするんや
0558デフォルトの名無しさん
2016/04/22(金) 06:45:36.75ID:o7fkiimI0559デフォルトの名無しさん
2016/04/22(金) 07:12:47.16ID:eGGBknniお前の方こそどうしてこのスレに書くことを頑なに拒否するんだ
本当にこのスレと一千を画すはなしがあるのか?
0560デフォルトの名無しさん
2016/04/22(金) 07:16:06.16ID:qHzjITswここは回答者の自己満足にはいいかもしれないけど
学ぶ場所としてはいまいちだからね
0561デフォルトの名無しさん
2016/04/22(金) 07:21:47.51ID:kW8L0cx9なぜそんなにスレ立てばかりしたがるんだ
0562デフォルトの名無しさん
2016/04/22(金) 07:32:45.26ID:qHzjITswあんたにネタを提供してやるほど暇じゃない
0563デフォルトの名無しさん
2016/04/22(金) 07:42:18.84ID:eGGBknni0564デフォルトの名無しさん
2016/04/22(金) 08:22:47.31ID:zqMIUqUF0565デフォルトの名無しさん
2016/04/22(金) 08:36:11.29ID:D266k8l5Apacheは素直に2.4にしとくべきよ
最近だと開発用サーバ上にはGitLab立てといてソース管理して, テスト/ビルドはDockerコンテナ内でやってるわ
テスト通過後の動作試験も試験用のコンテナでやってる
多人数だから独立な開発用サーバ立ててるけど個人でやるなら開発用サーバごと仮想化して実働環境以外は単独で完結させてもいいかもね
>>558
CVS(Concurrent Versions System)は固有名詞でVCS(Version Control System)は一般名詞だろう
0566デフォルトの名無しさん
2016/04/22(金) 12:15:59.88ID:kW8L0cx9文句じゃなくて >>548 の発案に対して意見を付けてるんだが、このスレは質問専用で返答も議論も禁止か?
むやみにスレを分散させると過疎化して誰の得にもならないから、今話題があるわけでもないなら様子を見ろと言ってるんだが。
どこの板にもいるだろ、むやみにスレを立てたがり、立てただけで満足して寂れさせてる迷惑なやつ。
しかも WebProg に相応しいのはむしろこっちのスレだろうしな。
つーか書くことも無いくせにスレ立てしたがってるやつを見て >>564 みたいな書き込みをする理由がわからんわ。
まあもう立てちゃったみたいだけどね。
やった以上過疎化しないよう責任持って盛り立ててくれよな。
0567デフォルトの名無しさん
2016/04/22(金) 12:21:39.11ID:zqMIUqUF自分が該当するという自覚はあったわけだ。
0568デフォルトの名無しさん
2016/04/22(金) 12:49:38.22ID:kW8L0cx9他に違う主張をしてる誰かいるのか?
0569デフォルトの名無しさん
2016/04/22(金) 12:51:32.04ID:zqMIUqUF0570デフォルトの名無しさん
2016/04/22(金) 12:55:24.35ID:kW8L0cx9お前が >>548 に事実上反対している書き込みを指して言ってるんだろうと思ってるよ。
たった数人と何件かの書き込みしか無い中で誰を指してるんだろうと普通の頭で考えればそう推定できるわな。
で、それがなんだ?
0571デフォルトの名無しさん
2016/04/22(金) 13:14:28.00ID:Wbb4rxFqみなさんフレームワーク(cakePHPとか)って使われてますか?
私はフレームワークを未だにイマイチ使い方が分からず、
コードを書くときは自前の汎用関数を使いまわしたりしてます。
(1)何のフレームワークから始めるべきか
(2)どういう時にフレームワークは役立つのか
その他、押さえておくべきポイントがありましたら、ご教示ください。
0572デフォルトの名無しさん
2016/04/22(金) 13:26:29.98ID:zqMIUqUF回りの人間がどう言ったかより、自分がやったほうが数倍理解できるし、
各々の都合に対しての優劣も分かるというもの。
やってみて、役に立たないな 使わないって思うかもしれないし、
そのときに、俺がいいよと進めてたからって使う?
0573デフォルトの名無しさん
2016/04/22(金) 13:33:34.79ID:m2fejYZc何も知らない自分がちょっと使ってみた範囲で理解できることと、先人の知恵を聞くことの
どっちが有用だと思う?
0574デフォルトの名無しさん
2016/04/22(金) 13:39:52.59ID:zqMIUqUF自分に分からないことがあるから従おうって人と、
自分に使えなきゃ意味がないなって思う人が世の中にいるとしたらどう?
0575デフォルトの名無しさん
2016/04/22(金) 13:40:27.79ID:zqMIUqUF0576デフォルトの名無しさん
2016/04/22(金) 13:49:00.49ID:m2fejYZc意味わからんし。
言葉遊びしたいなら誰か他の人にしてくれ。
ちなみに俺は>>571には答える気はない。
>>571は「PHP フレームワーク」(期間:1年以内)でググって、上位2,30ページを読め。
1,2時間もあれば読めるだろ。
0577デフォルトの名無しさん
2016/04/22(金) 13:58:31.03ID:Wbb4rxFq皆さまがくださりました、アドバイスに従ってみたいと思います。
0578デフォルトの名無しさん
2016/04/22(金) 13:58:31.58ID:zqMIUqUFな、分からないこと言われたって従うわけがないだろ?
0579デフォルトの名無しさん
2016/04/22(金) 14:04:44.97ID:m2fejYZc0580デフォルトの名無しさん
2016/04/22(金) 14:08:20.32ID:zqMIUqUF0581デフォルトの名無しさん
2016/04/22(金) 14:19:11.42ID:m2fejYZc1, 2時間で収集できるレベルの先人の知恵よりも、1, 2時間自分であれこれ試す方がいいてことか。
まあ、お前がそうしたいならすれば。
0582デフォルトの名無しさん
2016/04/22(金) 14:21:42.40ID:zqMIUqUF俺の回答だって、先人の知恵。 お前はさっきから何と戦ってるんだ。
0583デフォルトの名無しさん
2016/04/22(金) 15:11:26.96ID:yHcO4kd5それぞれのページを総合的に管理するようなの作りたいんだけど・・・
0584デフォルトの名無しさん
2016/04/22(金) 15:24:59.98ID:dFG2RycIfor文使ってarrayの中身表示して確認してから
手動で順番を入れ替えたい(内容がすぐ反映されると良い)
どんな感じでプログラムを組んでいけばいいと思う?
0585デフォルトの名無しさん
2016/04/22(金) 15:44:52.56ID:GI428x51(2) 少なくとも複数人で開発するときにはフレームワーク自体が共通言語として働くので楽。
0586デフォルトの名無しさん
2016/04/22(金) 15:57:29.21ID:GI428x51ララベルのことかな。
用途も明確だし、一方通行の依存関係である限り、別に問題も起こらないかと。
>>584
https://jqueryui.com/sortable/
updateイベントで通信、保存。
0587デフォルトの名無しさん
2016/04/22(金) 16:34:31.57ID:dFG2RycIこれはすごい
調べてやってみます。
0588デフォルトの名無しさん
2016/04/22(金) 17:58:18.38ID:q0EEHlyB0589デフォルトの名無しさん
2016/04/22(金) 17:58:41.81ID:q0EEHlyB0590デフォルトの名無しさん
2016/04/22(金) 20:25:58.73ID:yHcO4kd5それです。らら先なんて呼んでいいか分からなくてOTL
問題なさそうと聞いて安心しました。ありがとうございます!
0591デフォルトの名無しさん
2016/04/22(金) 21:12:55.83ID:Ao/xcglq0592デフォルトの名無しさん
2016/04/22(金) 21:38:54.62ID:BXwkjbliPHPの文法基礎→目標とするダミーサイト完成例まで
0593デフォルトの名無しさん
2016/04/22(金) 21:55:15.22ID:wDJ3AUBc0594デフォルトの名無しさん
2016/04/22(金) 22:22:12.83ID:tVIyRjENサイトならドットインストールがおすすめ
0595デフォルトの名無しさん
2016/04/22(金) 22:49:55.24ID:BXwkjbliアマゾンのレビュー見てみたらパーフェクトPHPは初学者には難しいと書いていた。
すでにある程度何かしらプログラミング経験がある人が肉づけする感じなんじゃないかな。
>>594
ドットインストールはお世話になってるよ。Atomのプラグインでもドットインストールを閲覧するプラグインがあるね。
でもドットインストールは教えている人がプログラマーなのか知らないけど早口だし、コーディングの雛形ばかり教えて具体的なサイトを作っていこう的なのはないから微妙なんだよね。
0596デフォルトの名無しさん
2016/04/22(金) 23:08:14.37ID:tVIyRjENパーフェクトPHPが初学者には難しいのはその通り。
そもそも「目標とするダミーサイト」や「具体的なサイト」が、
何を指すのか、自分が何を作りたいのかにも依る。
0597デフォルトの名無しさん
2016/04/23(土) 00:54:51.80ID:+bvzWzGN>「目標とするダミーサイト」や「具体的なサイト」が、
何を指すのか、自分が何を作りたいのかにも依る。
確かにその通りだよね。初学者にとって一番難しいのが何を作りたいからなんの教材を買うかだよね。
一通りデータベースを使ったブログのようのようなサイトを作りたいって思ってるけど具体的なものが浮かんでこない。
wordpressを使ってやるのか、使わないのかがまた選択が難しい。
0598デフォルトの名無しさん
2016/04/23(土) 01:06:35.68ID:bBSWXEGaつーか君らが必要なものはphpの知識技術じゃなくて設計の仕方だろう
phpハウツー本なんて読んでもそりゃダメなのが当たり前
0599デフォルトの名無しさん
2016/04/23(土) 02:29:54.25ID:OtrZRag7HTMLファイルをXMLに変換したXMLオブジェクトの多重配列があるんだ
このオブジェクトは元々オブジェクトだったけどJSONエンコードとデコードで変換して全ての要素を連想配列に直してあるんだ
こいつにxpathってのを適用すると配列の好きな要素を取ってくる事ができるんだ
次にXMLオブジェクトにprint_rを適用すると、最初のHTMLファイルには含まれていたのに変換の過程で欠け落ちてしまった要素ってのが確認できるんだ
そんで次にこのXMLオブジェクトにxpathを適用して、欠け落ちた要素を探してこいってやると、何故かどこにも存在しない筈のデータを取り出せるんだ
存在しない筈のデータが取り出せるって訳が分からないと思うけど俺が一番意味が分からない
PHPの連想配列はカプセル化が出来るのか名前が付けられてないがデータの含まれたメモリ位置が存在するのか
この症状に何か心当たりがある人がいたら、なんでもいいからヒント下さいマジでお願いします
0600デフォルトの名無しさん
2016/04/23(土) 02:34:40.06ID:OtrZRag7ホントに存在しないのか名前が付けられてない/データが隠蔽されててアクセス出来ないだけなのか確認したい・・・
0601デフォルトの名無しさん
2016/04/23(土) 03:22:16.53ID:akYZMgly0602デフォルトの名無しさん
2016/04/23(土) 03:27:14.44ID:RHlV/dKw> JSONエンコードとデコードで変換して全ての要素を連想配列に直してあるんだ
> こいつにxpathってのを適用すると配列の好きな要素を取ってくる事ができるんだ
自分で答え書いてるがな
0603デフォルトの名無しさん
2016/04/23(土) 04:01:52.26ID:OtrZRag7ちょっと作ってみる
>>602
その連想配列の中身をprint_rで全表示しても出てこない要素がxpathだと取ってこれるってのが問題なんだ
0604デフォルトの名無しさん
2016/04/23(土) 04:48:43.52ID:OtrZRag7まずこれがテスト用のhtmlコード、名前は「htmltest.html」
<!DOCTYPE html>
<html>
<body>
<div>testA
<span>testB</span>
</div>
</body>
</html>
0605デフォルトの名無しさん
2016/04/23(土) 04:49:37.95ID:OtrZRag7<?php
//httpリクエスト送信
$html = file_get_contents('./htmltest.html');
echo "html内容ダンプ<br>";
echo "<textarea>";
echo $html;
echo "</textarea>";
echo "<br>------------------------------<br>";
//dom作成
$dom = new DOMDocument('1.0','UTF-8');
//domへhtml読み込み
@$dom->loadHTML($html);
//xml書き出し
$xml = simplexml_import_dom($dom);
echo "xml内容ダンプ<br>";
echo "<pre>";
echo print_r($xml);
echo "</pre>";
echo "xmlオブジェクト内には「span」タグと「testB」要素が含まれていない<br>";
echo "<br>--------------------------<br>";
$node_list = $xml->xpath('//body/div/span');
$node = $node_list[0];
echo "xpathで「span」タグ直下の「testB」を指定<br><br>";
echo $node;
echo "<br><br>何故か取れてしまう";
?>
0606デフォルトの名無しさん
2016/04/23(土) 04:51:52.54ID:OtrZRag7html内容ダンプ
<!DOCTYPE html>
<html>
<body>
<div>testA
<span>testB</span>
</div>
</body>
</html>
-----------------
xml内容ダンプ
SimpleXMLElement Object
(
[body] => SimpleXMLElement Object
(
[div] => testA
)
)
1
xmlオブジェクト内には「span」タグと「testB」要素が含まれていない
-----------------
xpathで「span」タグ直下の「testB」を指定
testB
何故か取れてしまう
xmlに対してxpathを実行してる筈なのにprint_rでxmlをダンプした内容に含まれていない「testB」が取得できてしまってる
0607デフォルトの名無しさん
2016/04/23(土) 04:57:01.07ID:OtrZRag7今やろうとしてる事はこのxmlオブジェクトの全要素を走査して検索内容に一致した要素を見つけたらそこまでのxpathを自動で吐くっていうのを作ってるんだ
そしてこのxmlオブジェクトの全要素を走査してもtestBに当たる要素はどこにも見つからない
そのくせしてxmlオブジェクトに対してxpathで指定するとなぜか取れてしまう
xmlオブジェクトのどこかにデータは残ってるみたいだけど何故アクセスできないのかがサッパリ分からず困り果ててる
0608デフォルトの名無しさん
2016/04/23(土) 05:06:44.21ID:zvfFpwGo0609デフォルトの名無しさん
2016/04/23(土) 05:10:14.22ID:zvfFpwGoテスト環境ではデブロイって言わないんですか?
0610デフォルトの名無しさん
2016/04/23(土) 06:40:54.79ID:bBSWXEGaなぜってXMLじゃ一つの要素の中には要素とテキストを同時並列に入れたらあかんからじゃないのか
0611デフォルトの名無しさん
2016/04/23(土) 07:02:51.59ID:hBMS6FdVそれは規格上の理由
OtrZRag7が求めているのは構造上の理由
0612デフォルトの名無しさん
2016/04/23(土) 07:12:43.53ID:hBMS6FdV情報が全部キーバリューなわけじゃなく、print_rしたところで無駄無駄無駄なだけだな。
別に不思議でもなんでもない。
0613デフォルトの名無しさん
2016/04/23(土) 08:06:11.62ID:bBSWXEGaああ。
構造的にはそのオブジェクトが元テキスト持ってるんじゃなくてsxeが使ってるlibxmlが持ってるとかじゃないか?
sxe::xpathはlibxmlが持ってる元テキストみて吐いててmixedとか考慮しないからspanも吐いちゃうとか(想像)
しかし自分はlibxml側のデバッグ方法とかまるでわからん
0614デフォルトの名無しさん
2016/04/23(土) 08:36:58.34ID:hfDo0ds0要は「店頭に並べる」「リリースする」とかの仲間なわけで。
あと、よくよく見たら何かおかしい。
deployな。
0615デフォルトの名無しさん
2016/04/23(土) 09:31:28.50ID:xGbfup/7dom になってるなら、基点エレメント取得してそこから first_child とか next_sibling その他の要素取得メソッド使って走査していけばいいんじゃね?
0616デフォルトの名無しさん
2016/04/23(土) 13:33:35.98ID:OtrZRag7domって変に資料少ないので不安ですがそれしか無さそうですね・・・配列じゃなくてもforeach回せるかな・・・
しかし、実際にこういう書き方してるページがあるのにXML規格上の理由で読み込めないって酷いなぁ
0617デフォルトの名無しさん
2016/04/23(土) 16:08:32.93ID:71zFnUl/を
$xml = $dom->saveXML();
でいいんじゃねーの?
0618デフォルトの名無しさん
2016/04/23(土) 16:42:44.94ID:RHlV/dKwjson言うから混乱したが、言いたい事は分かった
テキストノードの歯抜けはSimpleXMLElementだけのせい
XMLの問題じゃない
print_r(object)やらvar_dump(object)やらforeachでイテレート出来る要素やら
みなobject側の自己申告に基づいている
気になるならphp-srcを読もう
0619デフォルトの名無しさん
2016/04/23(土) 16:43:15.58ID:wskZ51OW0620デフォルトの名無しさん
2016/04/23(土) 16:58:19.98ID:akYZMgly読み込めてるよ
print_r($xml->body->div);
0621デフォルトの名無しさん
2016/04/23(土) 17:06:45.27ID:OtrZRag7要素は全部取れたんですがHTMLタグが消えるみたいでXpathの抽出はちょっと無理そうです
>>619
JQueryの知識が無いので除外してましたがDOMを扱うならそっちの方が良さそうですね
XMLなら多重配列っぽくてラクだと思ってたらこんな落とし穴があるとは
0622デフォルトの名無しさん
2016/04/23(土) 17:42:03.32ID:OtrZRag7やっぱり隠れてるだけで直接指定して呼び出せば普通に出てくるんだ・・・
けどforeachのループに組み込めないんじゃ利用できない事に変わりは無さそうですね・・・
0623デフォルトの名無しさん
2016/04/23(土) 23:42:13.84ID:WTdhzJIAどうやって止めたらいいの?
0624デフォルトの名無しさん
2016/04/23(土) 23:48:32.17ID:hfDo0ds0あとはsshとかで繋げば?
0625デフォルトの名無しさん
2016/04/23(土) 23:58:18.93ID:RLEkkPM/0626デフォルトの名無しさん
2016/04/24(日) 00:43:28.02ID:YOklMNkcjavaは無料IDEで十分使えるのに
0627デフォルトの名無しさん
2016/04/24(日) 00:46:23.95ID:bi4aOyNo0628デフォルトの名無しさん
2016/04/24(日) 00:49:09.18ID:M2BOTgSXclass xxx {
protected $dom;
protected $xpath;
protected $nodes = array();
public function __construct(DOMDocument $dom) {
$this->dom = $dom;
$this->xpath = new DOMXPath($dom);
$this->search();
$this->display();
}
function search($q = '/') {
foreach ($this->xpath->query($q) as $key => $val) {
$xml = simplexml_import_dom($val);
$arr = json_decode(json_encode($xml), true);
if (count($arr)) {
foreach ($arr as $key2 => $val2) {
$this->nodes[] = $q . '/' . $key2;
$this->search($q . '/' . $key2);
}
}
}
}
0629デフォルトの名無しさん
2016/04/24(日) 00:49:30.37ID:YOklMNkc眠い時はROMっておこう。。
0630デフォルトの名無しさん
2016/04/24(日) 00:49:30.91ID:M2BOTgSXfunction display() {
$xml = simplexml_import_dom($this->dom);
foreach ($this->nodes as $q)
{
echo $q."\n";
foreach ($xml->xpath($q) as $key => $val)
{
echo ' ['.$key.']=>'.trim($val)."\n\n";
}
}
}
}
0631デフォルトの名無しさん
2016/04/24(日) 02:37:07.04ID:qUIbZUVTdomってこんな感じで利用できるんだ・・・
0632デフォルトの名無しさん
2016/04/24(日) 09:57:54.50ID:g74rSyHb0633デフォルトの名無しさん
2016/04/24(日) 10:59:08.36ID:bi4aOyNohttp://php.net/manual/ja/function.urlencode.php
http://php.net/manual/ja/function.rawurlencode.php
例えばググって真っ先に出てくるこれらがダメな理由は?
0634デフォルトの名無しさん
2016/04/24(日) 16:06:30.65ID:0YAFICdU0635デフォルトの名無しさん
2016/04/24(日) 16:55:31.84ID:tFJMPISe0636デフォルトの名無しさん
2016/04/24(日) 17:02:58.52ID:sMannWf/そんなんだからこんなクソスレになってしまったのだろう
0637デフォルトの名無しさん
2016/04/24(日) 17:14:48.16ID:dXv2CRDJ報酬をもらっているわけじゃないし
0638デフォルトの名無しさん
2016/04/24(日) 17:17:39.61ID:dleZE7oF0639デフォルトの名無しさん
2016/04/24(日) 17:26:57.56ID:dXv2CRDJ0640デフォルトの名無しさん
2016/04/24(日) 17:30:38.71ID:sMannWf/また疑問があれば聞き直すだけで先読みなんてしないでいい
0641デフォルトの名無しさん
2016/04/24(日) 17:51:33.43ID:dleZE7oF0642デフォルトの名無しさん
2016/04/24(日) 18:36:31.03ID:zD3pdbnL>最近回答者おせっかいがすぎるんだよな
具体的にどの回答?レス番はどれ?
>おせっかいだからこんなクソスレになってしまった
おせっかいだとクソスレになる理由は?
0643デフォルトの名無しさん
2016/04/24(日) 18:43:42.82ID:qpp6dhOr0644デフォルトの名無しさん
2016/04/24(日) 18:51:01.76ID:dXv2CRDJ0645デフォルトの名無しさん
2016/04/24(日) 19:11:45.17ID:OCwvzkS21ヶ月近く繰り返してんじゃねーよという
環境構築の人とDOMの人
とりあえず>>254に答えとけばおk?
$ctx = stream_context_create([
'http' => [
'method' => 'GET',
'header' =>
"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:45.0) Gecko/20100101 Firefox/45.0\r\n".
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n".
"Accept-Language: ja,en-US;q=0.7,en;q=0.3\r\n"
]
]);
$src = file_get_contents('http://www.amazon.com/gp/offer-listing/0996275460/?condition=new', false, $ctx);
$pages = preg_match('/.*olp_page_(\d+)/s', $src, $match) ? $match[1] : call_user_func(function($src) {
return (strpos($src, '404.html') !== false) ? 0 : 1;
}, $src);
echo $pages;
0646デフォルトの名無しさん
2016/04/24(日) 22:56:50.18ID:YOklMNkc0647デフォルトの名無しさん
2016/04/24(日) 23:32:18.76ID:Tp4+Mibwオブジェクトのメソッドとして呼ばれたのか
区別する方法ってありますか?
0648デフォルトの名無しさん
2016/04/24(日) 23:43:36.61ID:qv1H2ydw静的でないメソッドを静的に呼ぶ可能性, 或いはその逆があり得るということか?
それはそもそも設計ミスでは?
0649デフォルトの名無しさん
2016/04/24(日) 23:57:01.63ID:dleZE7oF何のために?
0650デフォルトの名無しさん
2016/04/25(月) 00:16:09.69ID:n9/ggnWY申し訳ありませんが、理由は秘密です。
純粋に技術的な疑問だと思ってくれ。
0651デフォルトの名無しさん
2016/04/25(月) 00:24:21.67ID:d03Y1t3Y$obj->static_method() は合法。知るとすればバックトレース(確実)、もしくは$thisについて調査するコードを入れる。
classname::instance_method() は違法。警告出せばすむ。
これでいいか?
0652デフォルトの名無しさん
2016/04/25(月) 01:23:36.77ID:VJsPEWqG木を探索するって、深さ優先・幅優先のどちらなの?
Pythonでは、forなどのiterator(反復子)で、
反復できるオブジェクトを、iterable(反復可能体)という
反復可能体は、Cの配列のように、メモリアドレスが連続しているか、
Cのリストのように、ポインタで次の要素(next)を指せるもの
木はリストだろ。nextが深さ優先・幅優先のどちらを指すか?
つまり、nextが長男(子)・次の弟のどちら?
木構造のすべてのオブジェクトを、自動的に反復するなら、
そういう特殊な木用の、再帰的なforループがあれば、それを使う
0653デフォルトの名無しさん
2016/04/25(月) 01:34:32.92ID:VJsPEWqG疎結合だから、CakePHP, RoR, JSP/Servlet などのMVC。
モデル(データ・ロジック)とビュー(見た目)は、直接アクセスしない。
必ずC(制御)を通す
疎結合(中央集権)は、スパゲティ・泥団子にならないので、開発費を抑えるけど、
Cを通すから、間接的になり遅くなる
0654デフォルトの名無しさん
2016/04/25(月) 02:14:06.58ID:oGqxCmgHそれはいわゆる似非MVCでは
0655デフォルトの名無しさん
2016/04/25(月) 03:54:36.040656デフォルトの名無しさん
2016/04/25(月) 08:36:03.25ID:tw90Nc2v0657デフォルトの名無しさん
2016/04/25(月) 09:28:37.47ID:9Cqasf4kMacでRuby使うとドヤ顔できるのに、なんでPHP使うとバカにされるのかね?
0658デフォルトの名無しさん
2016/04/25(月) 09:47:03.41ID:AOaHAs2l0659デフォルトの名無しさん
2016/04/25(月) 09:51:18.46ID:sePdmzHQ0660デフォルトの名無しさん
2016/04/25(月) 09:56:39.06ID:VDmdIfOu失った君の青春は二度と戻ってこないよ
0661デフォルトの名無しさん
2016/04/25(月) 10:31:36.27ID:6w8XRfV1HTMLとCSSしかわからない
0662デフォルトの名無しさん
2016/04/25(月) 10:35:18.04ID:VDmdIfOu一人でやらないといけないなら、覚えた方がいい。
それほど難しいわけじゃない。と言っても、
プログラム言語に関する知識を多少必要としてます。
0663デフォルトの名無しさん
2016/04/25(月) 12:39:16.78ID:0xpbBk2NPHP ももちろん強みになるけど
その前に Javascript まで広げてクライアント側をしっかり固めるべき
0664デフォルトの名無しさん
2016/04/25(月) 14:37:53.68ID:LzcFYIqFテキストとか画像を組み合わせて作る静的なページなら要らない
ユーザがなんか書き込んだらコメント表示するとかの動的なwebサイト作るならその手の知識は大体必要
サーバ側に処理させるならPHPとかのサーバサイド、ユーザ側のパソコンに処理させるならJavaScript、javaと名前似てるけど別物
PHPは基本サーバ上でしか動作しないので入門の敷居は比較的高め、動作環境整えれば割と適当に書いても結構マトモに動くので扱いやすい
web上で動くプログラムはそんな複雑な事しないからCSSが扱えるなら同じノリで行ける
0665デフォルトの名無しさん
2016/04/25(月) 14:49:17.55ID:jyux2xKhこう言える人なら、覚えるのは難しくはないと思う
0666デフォルトの名無しさん
2016/04/25(月) 16:22:21.10ID:TdHq/qrU1文1文printで囲む以外の方法は何かありませんか?
0667デフォルトの名無しさん
2016/04/25(月) 16:27:20.21ID:f8Qx4Ikqヒアドキュメント、もしくは外部ファイルにしてinclude
0668デフォルトの名無しさん
2016/04/25(月) 16:31:30.92ID:TdHq/qrU回答ありがとうございます。
ヒアドキュメントを調べてみます。
0669デフォルトの名無しさん
2016/04/25(月) 17:32:10.99ID:AOaHAs2l<p>ペペロンチーノ</p>
<?php endif ; ?>
0670デフォルトの名無しさん
2016/04/25(月) 18:31:24.99ID:iyRenNZ6昔はWebスクールといえば可愛い女子もいたんだが、今やキモ男ばかりの業界だから
Webやってるとか口が裂けても言えなくなってしまった
0671デフォルトの名無しさん
2016/04/25(月) 18:33:39.60ID:+1Mb+9kq0672デフォルトの名無しさん
2016/04/25(月) 21:38:04.62ID:Eggj/utoRubyはもっとやばいぞ
0673デフォルトの名無しさん
2016/04/25(月) 21:54:32.47ID:Ps5j2E75<tag value="<?php echo $var ?>"><text><?= $text ?></text></tag>
みたいな書き方を最近しなくなってたけど
こういう埋め込む書き方と変数に入れたり追記したりして最後にどばーっと吐くのとどっちが早いとかあります?
逐一吐くとHTTP headerが…というのはわかる、出力バッファあたりはほとんど理解してない
0674デフォルトの名無しさん
2016/04/25(月) 22:06:10.48ID:Eggj/utoつまり最近しなくなったというそんな感じの書き方
早さだけを求めるなら変数に連結してやる昔ながらの方法がいいだろう
単純なテキストのみにして変数にhtmlのコードを含めるべきでないと個人的に思うけど
まぁ自分が問題ないならなんでもいいんじゃない
自分は保守が大変になるからまずやらないけど
0675デフォルトの名無しさん
2016/04/25(月) 23:44:28.31ID:NebOi/I+↓←←↓
V→C→V データ入力
↓←←↓
V→M→C→V データ登録 おしり
でいいの?よくわかんね
0676デフォルトの名無しさん
2016/04/25(月) 23:46:13.31ID:NebOi/I+→B→C→V
→B→C→M→C→Vか
0677デフォルトの名無しさん
2016/04/26(火) 00:03:00.66ID:MxUl9hitアクセス毎に新しくView作るからModelの変更をObserveする必要はない
Controllerが適当なModelに処理を振ってその後でView作ればいいだけ
0678デフォルトの名無しさん
2016/04/26(火) 00:37:52.85ID:TdeFOcNs0679デフォルトの名無しさん
2016/04/26(火) 01:19:08.81ID:MxUl9hitControllerにフィードバックすることなんて何もないだろ
0680デフォルトの名無しさん
2016/04/26(火) 05:51:09.25ModelはViewのこと何も知ってちゃいかんのでは
データを依頼されて書いたり読んだりするだけでは
0681デフォルトの名無しさん
2016/04/26(火) 09:34:20.45ID:qFjspT6zPHPで作る1ページ如きだと合わないこと多いのに
0682デフォルトの名無しさん
2016/04/26(火) 09:43:36.57ID:RYmsvRC40683デフォルトの名無しさん
2016/04/26(火) 10:19:36.11ID:SbyRb/iRこういう埋め込む書き方と変数に入れたり追記したりして最後にどばーっと吐くのとどっちが早いとかあります?
これの答えはどうなの?
MVCうんぬんは置いといて
0684デフォルトの名無しさん
2016/04/26(火) 10:34:29.29ID:RYmsvRC4速度が気になるなら作ろうとしたものに則した処理手順で自分で測ってみればいいでしょ。
ただわざわざ(遅い)PHP使ってやる意義は、画面とロジックの分離が簡単にできるという点にあると言っても過言ではないと思うよ。
0685デフォルトの名無しさん
2016/04/26(火) 10:35:55.16ID:7aPQW1ARw
0686デフォルトの名無しさん
2016/04/26(火) 14:42:05.04ID:+nUKWOY4PHPとして実行するんだからどちらも変わらん
HTTPヘッダーもリクエストに対して1回だけっしょ
0687デフォルトの名無しさん
2016/04/26(火) 14:49:00.49ID:RYmsvRC4ヘッダって Content-Length を設定する話なんじゃないのかな。
速度については print と echo でも違いがあるくらいだから、やってみないと分からんというか、実際に比べてみると意外な発見ができるかもよ。
0688デフォルトの名無しさん
2016/04/26(火) 14:53:20.89ID:t6CRhrbh0689デフォルトの名無しさん
2016/04/26(火) 14:58:50.87ID:/KGvpl9k0690デフォルトの名無しさん
2016/04/26(火) 15:16:53.61ID:jdnJGqSu0691デフォルトの名無しさん
2016/04/26(火) 20:18:20.06ID:MxUl9hitいやいや, ModelがViewを作るんじゃなくてControllerがModelに投げてからControllerがView作るってこと
PHPで普通に書いてれば非同期な処理なんて起こらないんだからControllerがModelを監視する必要もないでしょ
0692デフォルトの名無しさん
2016/04/26(火) 21:22:43.10ID:7SchGkHmisset($this) やってみたけど、staticなメソッドだと $this無いのな
よく考えれば当たり前なんだろうけど、最初よく考えてなくてびっくりしたわ
0693デフォルトの名無しさん
2016/04/26(火) 21:26:25.46ID:7SchGkHmclass A {
static function hoge() {
$s = isset($this) ? "object" : "static";
print("$s\n");
}
}
A::hoge(); // static
$n = new A;
$n->hoge(); // static
0694デフォルトの名無しさん
2016/04/27(水) 02:40:04.50ID:rxhLW16aインスタンスメソッドをstaticコールは出来ない
これキホン
0695デフォルトの名無しさん
2016/04/27(水) 03:08:04.76ID:cC09CvPnselfになるんやで
0696デフォルトの名無しさん
2016/04/27(水) 06:01:03.24ID:fhjp6oCDなかなか迷走してるな。がんばってw
0697647
2016/04/27(水) 13:55:53.37ID:N2IMd1kystatic function hoge() {
と真面目に宣言してるメソッドはどう呼んでもstaticになる
0698デフォルトの名無しさん
2016/04/27(水) 13:58:26.28ID:N2IMd1kyが、これはWARNING出るし ちょっと砂糖構文ぽくていや
class A {
function hoge() {
$s = isset($this) ? "object" : "static";
print("$s\n");
}
}
A::hoge(); // static
$n = new A;
$n->hoge(); // object
0699デフォルトの名無しさん
2016/04/27(水) 14:11:05.42ID:iS2uJpqoちょっとまて
0700デフォルトの名無しさん
2016/04/27(水) 16:00:44.09ID:ryCjRle90701デフォルトの名無しさん
2016/04/27(水) 16:15:22.09ID:xA/Pm/zWつけなくても動くんだよなあ
なんでつけないといけないの?
0702デフォルトの名無しさん
2016/04/27(水) 16:16:41.33ID:qPjzNyja必ず答えを400〜0の間にするにはどうしたら良いんでしょうか
0703デフォルトの名無しさん
2016/04/27(水) 16:17:02.38ID:iVl8Oq0H既にDeprecatedだから近い将来動かなくなるぞ
0704デフォルトの名無しさん
2016/04/27(水) 16:55:08.90ID:E0M63uPa$var1,$val2は何に使うんだ?
0705デフォルトの名無しさん
2016/04/27(水) 17:10:50.51ID:xA/Pm/zWわかるけどつけなくても実質的に問題ないのになんでわざわざつけないと動かないようにするんだろ
0706デフォルトの名無しさん
2016/04/27(水) 17:25:02.73ID:iVl8Oq0H静的メソッドとインスタンスメソッドなんて役割全く違うのに実質的に問題ないとは?
インターフェイス見ても静的かインスタンスか分からんようなAPIなんて害悪そのものだろう
そもそもstaticキーワード無しでも静的メソッド呼び出し可能なのはオブジェクト指向言語だなんて口が裂けても言えないようなPHP4時代の名残でしかない
他のクラスベース言語で同じことやってる言語がいくらある?
0707デフォルトの名無しさん
2016/04/27(水) 18:00:00.00ID:qPjzNyja$input_val = array[ "200","0","00",null,0,200]
$val1 = $input_val[rand(5)];
$val2 = $input_val[rand(5)];
$ret = $val1 + $val2
echo "合計". $ret. "人です\n";
みたいなイメージ "200" + "00" = "20000"とかになりそうで怖い・・・
0708デフォルトの名無しさん
2016/04/27(水) 18:16:52.79ID:VZ0i7jHGホント色々いいたくなるよねw
0709デフォルトの名無しさん
2016/04/27(水) 18:43:31.59ID:af0ErLk20710デフォルトの名無しさん
2016/04/27(水) 19:14:15.60ID:E0M63uPa各所文法間違いはともかく、 それでだいたいお望みどおりに動くでしょ。
0711デフォルトの名無しさん
2016/04/27(水) 19:34:27.65ID:Knpnj6tL整数型にキャストすればいい
$ret = (int)$val1 + (int)$val2;
0712デフォルトの名無しさん
2016/04/27(水) 20:33:47.80ID:Vo6vNlrxstaticじゃないものをstaticで呼ばれたら
インスタンス変数参照できないじゃん
0713デフォルトの名無しさん
2016/04/27(水) 23:50:13.73ID:JpY/0o50> classname::instance_method() は違法。警告出せばすむ。
って書いたんだけど
0714デフォルトの名無しさん
2016/04/28(木) 11:41:36.25ID:ON9UC2Yh>他のクラスベース言語で同じことやってる言語がいくらある?
C++とかできるよね。 そういうことじゃなくて?
class A {
public:
static int hoge(){ printf("hoge\n"); }
};
int main() {
A::hoge();
A *a = new A();
a->hoge();
}
0715デフォルトの名無しさん
2016/04/28(木) 11:48:15.94ID:CCEipRZl逆だろ
0716デフォルトの名無しさん
2016/04/28(木) 20:45:41.13ID:i2B24aI1staticキーワード書いてりゃ静的であることは分かるんだからさぁ・・・・・
>>705の言い方も「付けなくてもいいじゃん」てことだろ?
0717デフォルトの名無しさん
2016/04/29(金) 13:59:46.38ID:P3UdCaB8ウインドウサイズを認識した分岐ができるようになってほしい。
ソースレベルでも入・出力を振り分けたい。
0718デフォルトの名無しさん
2016/04/29(金) 14:41:21.66ID:phDms4a6A::hoge();
a->hoge();
のどっちで呼ばれたかを関数内で知りたいんだけど、どうすればいいかな
0719デフォルトの名無しさん
2016/04/29(金) 14:50:34.66ID:b810C973phpの問題でもwpの問題でもない、どっちかっていうとhttpの問題か
初回アクセス時にjavascriptを使ってウィンドウサイズを得てcookieに入れてもらって即リダイレクト…とすれば不可能でもないか
0720デフォルトの名無しさん
2016/04/29(金) 17:22:48.24ID:yjKpOv8B本物の馬鹿降臨
0721デフォルトの名無しさん
2016/04/29(金) 18:26:03.44ID:dByELugU0722デフォルトの名無しさん
2016/04/29(金) 18:47:27.22ID:yivpch890723デフォルトの名無しさん
2016/04/29(金) 19:44:38.07ID:3OPJ3853言語として区別する必要がない(staticであれば静的に呼ばれればよい)
呼び出し元の情報を関数が知っているべきでない
まとめるとバックトレースでも見て呼び出し元のソースから判断するしかない
そして無意味
0724デフォルトの名無しさん
2016/04/29(金) 19:48:01.23ID:e7v6KggY0725デフォルトの名無しさん
2016/04/29(金) 23:16:19.66ID:AWs6LkoNソースを見ると、携帯端末の名前それぞれに対応する画面サイズ情報とかがズラリならんでるんだな…
うっ、頭が……
0726デフォルトの名無しさん
2016/04/29(金) 23:44:35.82ID:t6EmjZl2レスプンシブやめてそれぞれデザイン変えたいとか、そういう時のやつ。
すごい簡単なやり方あったけど忘れたわ。
確かにPHPでやってたのは覚えてる。
0727デフォルトの名無しさん
2016/04/30(土) 01:33:45.96ID:CH7eTZMG0728デフォルトの名無しさん
2016/04/30(土) 02:50:12.26ID:x6ExceOd二度と戻りたくない世界だな…
0729デフォルトの名無しさん
2016/04/30(土) 09:51:40.14ID:x6hKSksA無意味かどうかはオレが決めるさ
0730デフォルトの名無しさん
2016/04/30(土) 10:22:12.00ID:gSvXp03E出来るから。勉強不足すぎるわ。デバイス判定、画面サイズ判定普通に出来るから。
おまえの問題でしかないだろバカ
0731デフォルトの名無しさん
2016/04/30(土) 12:06:51.69ID:uVz81x78みたいな、BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenant(純粋P2Pのファイル共有ソフト)の完成が待ち遠しいプログラミングできないアスペルガーw
0732デフォルトの名無しさん
2016/04/30(土) 12:16:40.22ID:pZkow9Wr配列は参照渡しだが、書き換えるとコピーされるので、実質値渡し
イントランスはc#と同じ値渡し
という認識であっていますか?
ggってもいまいち分からなかったので
0733デフォルトの名無しさん
2016/04/30(土) 12:23:07.44ID:QAEI/5KMそんな感じ。適当だから厳密にならないように、ラフな感じでよろしく!
0734デフォルトの名無しさん
2016/04/30(土) 12:41:04.99ID:CH7eTZMG少なくともphp5以降ではオブジェクトは参照渡しだったはずだが
0735デフォルトの名無しさん
2016/04/30(土) 12:41:27.47ID:WqN5QD+Iイントランスじゃなくてインスタンスな
インスタンスは参照渡しだぞ
http://php.net/manual/ja/language.oop5.references.php
0736デフォルトの名無しさん
2016/04/30(土) 12:51:53.13ID:pZkow9Wrありがとう
0737デフォルトの名無しさん
2016/04/30(土) 13:49:14.61ID:qRXZq22J馬鹿も度を越すと本当に可愛く見える。
0738デフォルトの名無しさん
2016/04/30(土) 13:54:26.27ID:kBEc2ffr0739デフォルトの名無しさん
2016/04/30(土) 13:57:31.12ID:n4Sz1TLcついでに言えば、可愛い馬鹿でも度を超した馬鹿は絶対に関わり合いになりたくない
0740デフォルトの名無しさん
2016/04/30(土) 14:18:06.12ID:MNX3bmo/お客に間違えたまま話してて、指摘されたkともないの?
部下から、「それ違うんじゃ」って言われたこともないの?
そう本気で思っている奴いたら、100%天然の○○だぞ
0741デフォルトの名無しさん
2016/04/30(土) 14:21:27.49ID:X7oVJKeu技術あるやつほど人格終わってるのが多い
0742デフォルトの名無しさん
2016/04/30(土) 14:49:32.58ID:pZkow9Wrsha256の16進数文字列をを短くするために、64進数文字列に変換したいです
文字列→sha256ハッシュで16進数文字列を取得→hexdecで10進数に変換→ネットに落ちていた10進数と64進数の相互変換関数で64進数に変換
としているのですが、intの範囲を軽く越えるので、hexdecで実数が返ってきてしまい、上手く変換出来ません
何か方法ないでしょうか?
0743デフォルトの名無しさん
2016/04/30(土) 15:22:14.42ID:qRXZq22J> お客に間違えたまま話してて、指摘されたkともないの?
あるわけない。
まともな人間ならお客さんと話す前には内容をイメージトレーニングするから
話す内容に間違いがないか、その時点で下調べくらいする。
よくわからんアイドルの名前を間違えることなどはあるかもしれないが、それは寧ろ、話題がにつながっていいかもしれない。
これはあらゆることに関しての原則だが、
どう見ても馬鹿なことをしておいて他人から「馬鹿だ」と言われて腹が立つ奴は絶対に何事も大成しない。
自分が馬鹿だと自覚した時が成長のチャンスなのに、くだらない自尊心がそれを阻害しているから。
もっというと、知らない単語が出てきた時に意味や何故その名前になっているのかを調べずに
字面で覚えているやつは、プログラミング技術は絶対に向上しない。
そういうあたりまえのことを分からず、
「人を見下す奴こそ馬鹿」みたいな自分に甘い感情論を言う奴は間違いなくクズグラマ。
0744デフォルトの名無しさん
2016/04/30(土) 15:26:10.15ID:qRXZq22J>ついでに言えば、可愛い馬鹿でも度を超した馬鹿は絶対に関わり合いになりたくない
だって、pZkow9Wr には現実に関わること絶対ないもん。度を越してても可愛い可愛いで済んじゃうよ。
0745デフォルトの名無しさん
2016/04/30(土) 15:28:30.11ID:MNX3bmo/あんたの言っている事は大筋その通りだと思うから、反論しないけどさ
>他人から「馬鹿だ」と言われて腹が立つ奴
少なくとも、今この話題でこういう人はいないでしょ?
話題となった当人は恥ずかしくて恐縮してますよ
0746デフォルトの名無しさん
2016/04/30(土) 15:29:20.36ID:pZkow9Wr0747デフォルトの名無しさん
2016/04/30(土) 15:31:21.77ID:qRXZq22J> "ネットに落ちていた"10進数と64進数の相互変換関数で64進数に変換
こういう事平気で言う本物の馬鹿は、本当にどうしようもない。
先人に対する敬意もへったくれもないし、本当に努力することもありえないから
何か教えるだけ無駄。
0748デフォルトの名無しさん
2016/04/30(土) 15:33:31.88ID:qRXZq22J>少なくとも、今この話題でこういう人はいないでしょ?
>>740なんか、自分に投影して腹たったからああいうこと書いてるんでしょ? 普通に解釈して。
0749デフォルトの名無しさん
2016/04/30(土) 15:39:28.80ID:MNX3bmo/オレが言いたいのは、バカと言っているけど、
誰でもありがちな勘違いで、
本人も間違いと気がついて謝罪しているのに、
まだ続けるのかなって疑問を感じたから書いただけなんだけど
0750デフォルトの名無しさん
2016/04/30(土) 15:46:56.21ID:x6hKSksAバカ同士仲良くしようず
0751デフォルトの名無しさん
2016/04/30(土) 15:50:46.67ID:MNX3bmo/「オレならしない」と独り言を言って立ち去るね
0752デフォルトの名無しさん
2016/04/30(土) 16:10:52.65ID:n23D/+7Rhex8桁ずつ処理すればとりあえず少しは短くなるよ。
0753デフォルトの名無しさん
2016/04/30(土) 17:46:10.80ID:TD0Cn9RrSHA256をバイナリで吐いてからBase64
0754デフォルトの名無しさん
2016/04/30(土) 18:15:52.02ID:pZkow9Wrありがとうございます
0755デフォルトの名無しさん
2016/05/01(日) 15:55:08.26ID:/HxbZLaJ0756デフォルトの名無しさん
2016/05/01(日) 16:21:54.96ID:53diw1JYhttp://echo.2ch.net/db/
複合キーのAUTO_INCREMENTって使ったことねぇなあ
0757デフォルトの名無しさん
2016/05/02(月) 21:30:37.95ID:i9g3iqjkreturn true;
上の式を三項演算子にしたいのですが、以下の式では正常に動作しませんでした。
どこがダメなのでしょう
$found === true ? false : true;
0758デフォルトの名無しさん
2016/05/02(月) 21:40:52.47ID:FDPPvimureturnしていない
0759デフォルトの名無しさん
2016/05/02(月) 21:44:50.81ID:d53mXAAU0760デフォルトの名無しさん
2016/05/02(月) 21:47:15.64ID:i9g3iqjk0761デフォルトの名無しさん
2016/05/02(月) 21:54:22.94ID:SOjV5rld上:真と判断されるものなら何でもいい
下:厳密に「TRUE」が入ってないとダメ
っていう、微妙な条件の違いに起因してるんじゃねーかな。
それ以上は実際にどういう値が入ってるか分からんと答えにくいけど。
0762デフォルトの名無しさん
2016/05/02(月) 22:12:15.39ID:6p3XpW5A0763デフォルトの名無しさん
2016/05/02(月) 22:14:41.94ID:t9/6jK5vそこまで言うのは大きなお世話
bool以外でやられるとアレだがboolであることが確定しているなら別にいいと思う
0764デフォルトの名無しさん
2016/05/03(火) 13:22:46.86ID:wezBEewbメッセージキューを使ってるんだけど
キューごとに優先順位をつけたいときは
どうしたら良いのか
0765デフォルトの名無しさん
2016/05/03(火) 13:25:30.38ID:7aVuKy9g0766デフォルトの名無しさん
2016/05/03(火) 13:53:05.38ID:POacCwFX掲示板で質問しなければならない人は、
自販機で買うジュースも人に聞かなければ選べないほどの病人だと思うの。
0767デフォルトの名無しさん
2016/05/03(火) 14:45:35.55ID:wezBEewbphpの優先度付きキューってプロセス跨げないよ?
0768デフォルトの名無しさん
2016/05/03(火) 15:13:12.54ID:pcOhaWKy0769デフォルトの名無しさん
2016/05/03(火) 15:26:04.64ID:wezBEewb補足で msg_* やSplPriorityQueueのこと書こうと思ったんだけど
誰が考えても同じ答になるそうなのでちょっと待機してた
0770デフォルトの名無しさん
2016/05/03(火) 16:45:25.34ID:elGKthlcその時はPHPじゃなかったけど、同じようなことはできるんじゃないかな
0771デフォルトの名無しさん
2016/05/03(火) 17:13:35.76ID:B2CuE2Ilただ開発環境がwindowsなんだけど、そういうの集まるとみんなmacだよね?
やっぱmacじゃないと仲間はずれにされたりイジメや無視されたりする?
0772デフォルトの名無しさん
2016/05/03(火) 17:35:10.37ID:elGKthlcそんなんで仲間はずれにする人しかいない勉強会なんて願い下げでいいよ。
0773デフォルトの名無しさん
2016/05/03(火) 17:53:39.85ID:BSm7UqFn0774デフォルトの名無しさん
2016/05/03(火) 18:10:05.67ID:wAl7mTD50775デフォルトの名無しさん
2016/05/03(火) 18:51:01.85ID:1OXiQfcM開発環境はFedoraですけど
0776デフォルトの名無しさん
2016/05/03(火) 19:27:29.80ID:G9XEXQGeBitTorrent(Covenant)が活発な情報交換・交流コミュニティでオープンソース開発されています(プログラマー募集中)
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise氏)がそういう人と話したいそうなので、よろしければツイートお願いします<(_ _)>
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできない情報発信好きアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
2
0777デフォルトの名無しさん
2016/05/04(水) 00:28:16.20ID:hEDk15uI0778デフォルトの名無しさん
2016/05/04(水) 01:21:06.77ID:mu28jnATそれともphpを単独ではじめた?
というのもphpって拡張子を.phpにして、htmlの中に<? ?>で書いていく感じが多いじゃん?
なのでhtmlも並行に学んでる?
0779デフォルトの名無しさん
2016/05/04(水) 02:10:16.07ID:qX1/u2G+HTMLの基本は当然ながら知ってた。
まあ、WordやExcelが使えて当然みたいなもんだろうし。
ところで、HTMLファイルの中にピンポイントで埋め込むような形式って
使ったこと無いんだけど、実際どうなの?
0780デフォルトの名無しさん
2016/05/04(水) 03:21:35.27ID:Ei88mNMV少なくともモダンな書き方ではない。が, 簡単なものならそれでもいいと思う。
ある程度以上の規模になってきたらPHPはロジックだけ書いて表示はテンプレートエンジンに投げるわ
0781デフォルトの名無しさん
2016/05/04(水) 03:54:58.33ID:qX1/u2G+MVCどころか、せめてMVは分けるべきだよなあって感じで
使ったことなかったんだ
0782デフォルトの名無しさん
2016/05/04(水) 11:36:01.99ID:D79M6+1d0783デフォルトの名無しさん
2016/05/04(水) 12:16:24.48ID:0znskkiV海外では人気ないって聞いたけど
0784デフォルトの名無しさん
2016/05/04(水) 12:23:41.06ID:umZZ3q0x0785デフォルトの名無しさん
2016/05/04(水) 12:38:15.77ID:0znskkiV0786デフォルトの名無しさん
2016/05/04(水) 13:00:48.15ID:p/7XQ3tJ0787デフォルトの名無しさん
2016/05/04(水) 13:24:28.90ID:j6q0yXrL脳みそ空っぽですか?
0788デフォルトの名無しさん
2016/05/04(水) 13:25:49.27ID:AB8NUDGJ0789デフォルトの名無しさん
2016/05/04(水) 13:33:58.84ID:0znskkiV0790デフォルトの名無しさん
2016/05/04(水) 13:39:43.30ID:3+sO+UIY例えばこんな風に
echo <html>
echo <header>
echo <title>
0791デフォルトの名無しさん
2016/05/04(水) 13:53:55.93ID:qX1/u2G+・静的なページはHTMLでいいじゃん
・ヒアドキュメントでぐぐれ
・テンプレートエンジンとかフレームワークというのがあるよ
0792デフォルトの名無しさん
2016/05/04(水) 13:58:00.03ID:m9xtPxtQ<? ?> を使わなければ全部HTMLだよ
0793デフォルトの名無しさん
2016/05/04(水) 14:04:51.06ID:NPwMSLhK0794デフォルトの名無しさん
2016/05/04(水) 14:37:24.75ID:qX1/u2G+一度フレームワークを採用すると,そのサイトではそのフレームワークでしか動かせなくなる、
なんてことは無いんじゃないかな
0795デフォルトの名無しさん
2016/05/04(水) 15:14:55.86ID:NPwMSLhKなんで?
別のフレームワークで再構築するのもかなり苦労しそうだけど…
0796デフォルトの名無しさん
2016/05/04(水) 15:17:22.83ID:qX1/u2G+0797デフォルトの名無しさん
2016/05/04(水) 15:32:04.93ID:NPwMSLhKそっかww
0798デフォルトの名無しさん
2016/05/04(水) 17:55:48.51ID:PjMZUCXrシンタックスエラーです。
0799デフォルトの名無しさん
2016/05/04(水) 17:59:30.19ID:PjMZUCXr頭が空っぽなことはあったとしても、
脳みそが空っなことは無いと思う。
0800デフォルトの名無しさん
2016/05/04(水) 18:39:22.05ID:D79M6+1dphpにしたいところだけ<?phpと?>で囲めばいいんだよ
その他はHTMLタグでもいい
でもファイルの拡張子はphpにしなきゃだめだよ
0801デフォルトの名無しさん
2016/05/04(水) 18:45:59.92ID:BQgscAQu実際はどのメールアドレスを使ってメールを送信してるの?仕組みを教えてほしい
0802デフォルトの名無しさん
2016/05/04(水) 18:47:46.42ID:D79M6+1d送信元はどうでもいい
0803デフォルトの名無しさん
2016/05/04(水) 18:50:36.56ID:D79M6+1d現実世界でも同じ
封筒の宛先は正しくて、裏面の自分の名前とか住所適当でもちゃんと届くでしょ?
でも正しい返信はもらえない
0804デフォルトの名無しさん
2016/05/04(水) 19:02:59.57ID:BQgscAQuもう少し細かく聞きたいんだけど、メールを送ってるのはメール送信プログラム.phpを動かしたサーバーからなの?
できれば、サーバー側から送信したメール数やメールの内容を借りてるサーバー付属のメーラーみたいなのから確認したいんだけど、それは無理かな?
0805デフォルトの名無しさん
2016/05/04(水) 19:04:44.29ID:Ei88mNMVPHPが行うメール送信は, 適当なヘッダを付与してphp.iniで指定したMTAに投げるだけ
通常FromヘッダやReply-Toヘッダは送信側が付与する自己申告でしかない
処理を投げられたMTAはSenderヘッダを付与してメール転送を行う
0806デフォルトの名無しさん
2016/05/04(水) 19:11:29.33ID:Ei88mNMVメーラーってのはPOP3とかIMAPを使ってサーバとメールボックスの内容をやり取りするソフトウェアだぞ?
SMTP経由でMSAを叩くことはあるが, 基本的には送信と同時に送信済みトレイのようなメールボックスに記録を書き込んでいるに過ぎない
PHPを用いたメール送信では, 単に直接MTAを叩いているだけなのでメールアカウントやメールボックスは必要ない
(adminでもない限りは)送信履歴を知りたければ自分でそれを記録する仕組みを実装せねばならない
0807デフォルトの名無しさん
2016/05/04(水) 19:12:44.29ID:BQgscAQuすっきりしました
0808デフォルトの名無しさん
2016/05/04(水) 19:16:21.77ID:p/7XQ3tJ0809デフォルトの名無しさん
2016/05/05(木) 01:32:25.51ID:1Fw8lEK/あまりに馬鹿すぎて釣りかと思ったぞ
0810デフォルトの名無しさん
2016/05/05(木) 08:04:08.44ID:EXZ7EHt5perlだと一々httpヘッダ返してたような・・・
echo <<< HTML
<html>
<body>
<h1>初めてのホームページ</h1>
HTML;
みたいにecho的な物なくてなんで動くんです?
0811デフォルトの名無しさん
2016/05/05(木) 08:07:18.54ID:PKr2xLG/<<< hogehage
hogehage;
は、hogehageからhogehage;までの間をダブルクオートで囲ってるのと同じ意味
ヒアドキュメント自体はPHPに限らず多くの言語に搭載されている。
0812デフォルトの名無しさん
2016/05/05(木) 08:23:39.65ID:PKr2xLG/HTTPヘッダは全く別の問題
0813デフォルトの名無しさん
2016/05/05(木) 08:35:17.14ID:jemhh2fVなんでっつーか、そもそもそういう使い方したくて作られた言語
0814デフォルトの名無しさん
2016/05/05(木) 08:41:59.08ID:8xagvOEy<?php 〜 ?>で囲まなければ普通のHTMLとして書けたり、
他の言語と違ってHTTPヘッダが省略できたりするのは、
もとがテンプレートエンジン的な発想で作られてるからじゃない?
0815デフォルトの名無しさん
2016/05/05(木) 10:06:41.04ID:nbA95sOS0816デフォルトの名無しさん
2016/05/05(木) 12:05:09.03ID:t5LH2BEuPHPのページは
0817デフォルトの名無しさん
2016/05/05(木) 12:06:25.19ID:t5LH2BEuPHPのページは "何か" (この例では、"Hi, I'm a PHP script!" と出力) を
行うコードを HTML に埋め込むことになります。
http://php.net/manual/ja/intro-whatis.php
0818デフォルトの名無しさん
2016/05/05(木) 12:15:44.69ID:7dEyD0UL0819デフォルトの名無しさん
2016/05/05(木) 12:18:11.35ID:PKr2xLG/0820デフォルトの名無しさん
2016/05/05(木) 14:37:50.14ID:euu0RITHプログラムファイルは細かく分けた方がいいかな?
メールアドレスを入力するページ→メールアドレスをデータベースに登録し、入力されたメールアドレスへメールを返信するページ(ファイル)と分けようと思ってるんだけど
0821デフォルトの名無しさん
2016/05/05(木) 15:13:34.62ID:8xagvOEyデザイナーさんは別にプログラム部分いじらなくない?
テンプレートの使いやすさとかはあるかもしれんけど
0822デフォルトの名無しさん
2016/05/05(木) 15:22:09.22ID:8xagvOEy自分なら、ユーザがアクセスするページ(index.php)は共通にするかな。
で、内部的には、それぞれの機能を別ファイルに書いておき、require_onceなりで呼び出す。
メールアドレス登録くらいなら1ファイルに詰め込んでもそんなに問題なさそうだけど。
0823デフォルトの名無しさん
2016/05/05(木) 16:02:40.55ID:euu0RITHなるほど
ありがとう!
0824デフォルトの名無しさん
2016/05/05(木) 17:01:23.50ID:3wAjz+y3一人でよくここまでできるようになった
phpに関してはまだまだだけど、どうやって学習したかとかアプリについてとかなんでも聞いてくれ
0825デフォルトの名無しさん
2016/05/05(木) 18:58:25.89ID:4op0HH4Dじゃあ遠慮なく・・・
Webアプリのジャンルは?
会員制サイト?
作成からの期間は?
オブジェクト指向?
役に立ったPHPの本は?
1日のページビューは?
月間の収益は?
0826デフォルトの名無しさん
2016/05/05(木) 19:21:26.55ID:3wAjz+y3アプリは会員制、ジャンルはある分野の管理ツール
作成期間は半年
99%手続き型、オブジェクトはほぼなし、完全に思いつきで作ってる
いちおうAjaxな作り
デザイナーだからGUIはそれなりな見栄え
書籍はまったく見なかった
参考にしたのはひたすらネットで検索
役に立つのはStackOverflow、教えてgoo、たまにテラテイル
Mysqlはゼロから6時間だけ他人に家庭教師してもらってあとは独学
もちろんセキュリティは素人レベル
ページビューは知らない、というか気にしてない
収益は約700人×(月額3000〜15000円)
0827デフォルトの名無しさん
2016/05/05(木) 19:48:43.19ID:4je1U+qYWebアプリ名は?使ってみたい。
0828デフォルトの名無しさん
2016/05/05(木) 19:59:21.99ID:4op0HH4D参考になる。ありがとう。
デザインの見栄えがいいのはポイント高いね。羨ましい。
ただ会員制ならセキュリティ関係はより強固にした方がいい。
つーか1ヶ月に200万円以上を稼ぐのはすごいね。
0829デフォルトの名無しさん
2016/05/05(木) 20:34:40.65ID:PKr2xLG/クソだな、と思って読んでいたが、
> 収益は約700人×(月額3000〜15000円)
ここで目が輝いた。
0830デフォルトの名無しさん
2016/05/05(木) 21:08:31.39ID:7dEyD0ULすげえな。それ一本で食っていけるじゃん
サイト公開から初めての有料会員ができるまで何ヶ月?
そして700人になるまで何ヶ月?
0831デフォルトの名無しさん
2016/05/05(木) 21:22:33.30ID:3wAjz+y3すまんムリ
>>828
ほんと見た目だけは最近の流行りのデザインだからね
中身はクソだけどw
セキュリティは誰かにお願いしようかと思ってる
>>829
プログラミングのド素人だから中身はほんと酷いよ
>>830
まだ公開して3ヶ月経ってないんだ
スケールアップどうしようと思ったけど今の10倍来ても専用サーバーだから大丈夫っぽい
ただしデータベースが肥大化してく…
0832デフォルトの名無しさん
2016/05/05(木) 21:39:43.25ID:vgfVBBtA俺もビジネスモデル知りたい
0833デフォルトの名無しさん
2016/05/05(木) 23:27:41.69ID:hd3jTl8mいや損にしかならないからこんなところで晒すわけねぇだろ
誘導していただこうとか無能な乞食はすっこんでろよ
0834デフォルトの名無しさん
2016/05/05(木) 23:42:31.30ID:NeiUFsGk肥大してくってもたいした量じゃないと予想するんだが、
とりあえず100万件単位になるまではまず不安に思わなくていいよ。
0835デフォルトの名無しさん
2016/05/06(金) 00:04:19.19ID:HFUPBWY3ベーシストがギター弾けないのと同じで逆は難しいんだよ
0836デフォルトの名無しさん
2016/05/06(金) 00:12:02.04ID:3OzCd6+qギター弾けるベーシストは腐る程いるけど
ベース弾けるギタリストなんかプロでも数える程しかいねーよ
0837片山博文MZ ◆T6xkBnTXz7B0
2016/05/06(金) 00:12:38.69ID:HhxzYC09のレイアウト・色彩・フォントのホームページを自動的に作成する。
これならデザイナーもプログラマーも要らないよ。
0838デフォルトの名無しさん
2016/05/06(金) 00:15:07.60ID:wPJwNWAJちょいとヘマしたらえらいことになるで
0839デフォルトの名無しさん
2016/05/06(金) 06:15:48.85ID:V/xhXv/O0840デフォルトの名無しさん
2016/05/06(金) 10:57:31.22ID:u5m6Baf4もう少しで100万件に届きそう
DBバックアップはcronで定期的に実行してるけど、この大量のsqlをリストアしたことないから何かあったら不安…
>>835
ほんと中途半端に覚えたから基礎ができてないんだよね
見た目はきちんと動作してるから今のところ問題は起きてないんだけど
あとサーバーのことはよくわからないからバカ高いマネージド専用サーバーで運用してる
>>838
そろそろセキュリティについて勉強始めようかな
ちなみにこれからは機能をどんどん追加していく感じ
0841デフォルトの名無しさん
2016/05/06(金) 12:12:36.45ID:mFPgLSt9うちは1テーブルで800万件くらい扱ってるけど今のところ問題ない。
フルバックアップもできてるし。
ところで、マネタイズが難しいんだけど決済手段は何を使ってる?
銀行振込とかペイパル?
0842デフォルトの名無しさん
2016/05/06(金) 12:33:20.13ID:f2yhxO8iどうやって集金してるの?
詳しく教えてほしい
0843デフォルトの名無しさん
2016/05/06(金) 12:38:09.97ID:n/L4oBy10844デフォルトの名無しさん
2016/05/06(金) 12:49:24.67ID:u5m6Baf4ペイパルだよ
ペイパルもきちんとプログラムしてサイトの中で決済ボタンも作って、ペイパルサイトで決済したら
自分のサイトに自動で戻ってデータベースに支払い済みが登録されるようになってる
ただし実際に決済されたかはきちんと確認しないとダメ
これも確認できる方法がペイパルに用意されてるんだけど面倒だからそこまではやってない
0845デフォルトの名無しさん
2016/05/06(金) 12:53:39.02ID:EDudo8XY商用環境ならぶん殴られるレベルだな
0846デフォルトの名無しさん
2016/05/06(金) 13:01:57.54ID:u5m6Baf4知ってはいるんだけど設定方法知らない
だけどお客様から文句言われたことないんだよなあ…
0847デフォルトの名無しさん
2016/05/06(金) 13:03:50.03ID:mFPgLSt9ありがとう。結構、高度な処理っぽい。
作成期間も半年かけてるし、実はしっかりしたWebアプリなんだろうね。
0848デフォルトの名無しさん
2016/05/06(金) 13:18:17.88ID:3wMS96JFPHPによる2chへの書き込みをテストしています
【テスト】PHPで2chにHello Worldを書き込む 2
http://tamae.2ch.net/test/read.cgi/php/1362790136/
↑ここへの書き込みは成功しましたが、
競馬
http://yomogi.2ch.net/keiba/
↑この板の任意のスレへの書き込みが失敗します
2ch内で板によって仕様が異なるということなのでしょうか
その辺りをご指導、説明しているサイトの紹介などお願いします
なおソースは↓を修正して使っています
http://tamae.2ch.net/test/read.cgi/php/1362790136/575-576
0849デフォルトの名無しさん
2016/05/06(金) 13:18:20.08ID:u5m6Baf4うーん、ペイパル自体は開発用アカウント(管理者、ユーザー)も簡単に作れるし
仕様読むのはかなり面倒だけど一度理解できたら、ああそうなんだって感じだったよ。
ちなみにペイパルの前はWebPayってやつ使おうと思ってWebPayの中の人に聞きながら作ってたけど
LINEに吸収されたからなんだかんだいってペイパルのほうがいいんだなって思った。
認知度も高いしね。
0850デフォルトの名無しさん
2016/05/06(金) 13:27:22.61ID:mFPgLSt9サンクス
前に挫折したけどもう一回やってみる!
0851デフォルトの名無しさん
2016/05/06(金) 13:42:25.89ID:n/L4oBy1そもそもAPIが変更になってからそういうの2chから許可もらったやつじゃないと
無理になったんじゃなかったっけ?
0852デフォルトの名無しさん
2016/05/06(金) 13:43:25.22ID:n/L4oBy1やべぇなそれ
0853デフォルトの名無しさん
2016/05/06(金) 14:14:59.50ID:f2yhxO8iペイパルと連携してる部分を晒しても問題ない範囲でソース書いてほしい。参考にしたい。
0854デフォルトの名無しさん
2016/05/06(金) 14:21:23.51ID:3OzCd6+q0855デフォルトの名無しさん
2016/05/06(金) 14:25:00.20ID:n/L4oBy1こんなところで訊いてるお前みたいな無能には無理
0856デフォルトの名無しさん
2016/05/06(金) 14:29:33.44ID:u5m6Baf4ソースはぐちゃぐちゃだからw
ユーザー登録部分に入り組んでるんだけど
それよりペイパルのサンプル見たほうが確実だよ
0857デフォルトの名無しさん
2016/05/06(金) 14:34:15.04ID:u5m6Baf4実際にはスーパー(ド素人)プログラマーなんだけど、見た目や動作はたしかに法人用システム並に動いてるから
作れない人にはすごいと思われてるんだろうなあ。
あとこの規模なら複数人で作るところを一人で作ったってのがあるかな。
いちおうシステム開発は引っ張りだこだよ。
0858デフォルトの名無しさん
2016/05/06(金) 14:35:47.23ID:n/L4oBy1無能でもはり合わせで何となくできた気になってる脆弱性maxなwebサービスが
巷には溢れてるわけだ
おそろしい世の中だな
0859デフォルトの名無しさん
2016/05/06(金) 14:42:03.75ID:QtueP+kpAPIがどーたらこーたらで面倒なのは.dat通信とログインしての書き込み
ブラウザで普通にできてることは特に何も考えず.phpで出来て当然っしょ
0860デフォルトの名無しさん
2016/05/06(金) 14:44:34.66ID:u5m6Baf4どこでバグでてるのかもわからんようなのたくさんあるよね
それならそこそこ動いてて見た目バッチリなアプリ作って問題出たらゴメンナサイ、バレなかったらほったらかし
でいいんじゃない?って思ってる
0861デフォルトの名無しさん
2016/05/06(金) 15:00:02.47ID:f2yhxO8iそっか、残念。
客側は毎回クレジットカード番号を入力してサービス料金を払うの?
「3000円のコースを支払う」みたいなボタンを押すと決済されるようになってるの?
0862デフォルトの名無しさん
2016/05/06(金) 15:00:07.11ID:8xAviQH0言語が手段にすぎないことを知ってる勝ち組
どう作るかより何を作るかだよ
0863デフォルトの名無しさん
2016/05/06(金) 15:03:27.57ID:f2yhxO8i>>844で書いてたね、ごめん。
0864デフォルトの名無しさん
2016/05/06(金) 15:05:30.79ID:u5m6Baf4俺の場合は定期購読って奴だから一回申し込みすれば毎月自動的に引き落としになるようにしてる
解約するのもサイトにボタン作ったほうがいいんだけど、なるべく解約させないためにユーザーが自分のペイパルから解除するか、こちらが管理画面から解除するかにしてる。
どっちにしろ本当に支払ってるか、決済されてるかは自分で確認しないといけないんだよね。
それも自動的に確認する機能が法人向けの有料版にたしかあったはず。
俺は面倒だからやってないけど。
あと毎月確認するの嫌だから月額やめて半年か年払いにしようと思ってる。
0865デフォルトの名無しさん
2016/05/06(金) 15:14:38.76ID:n/L4oBy10866デフォルトの名無しさん
2016/05/06(金) 15:25:39.20ID:0hFielSC> もう少しで100万件に届きそう
> DBバックアップはcronで定期的に実行してるけど、この大量のsqlをリストアしたことないから何かあったら不安…
全然たいしたことないよ。
ちなみに、全部で100万レコード以上ある手元のデータベースをダンプしたら4秒で終了。
$ time pg_dump hoge > hoge.sql
real 0m4.150s
hoge.sql: データベース定義+1行1列のデータ+α
$ wc -l hoge.sql
1391681 hoge.sql
リストアはちょい時間かかるけど40秒ちょいで終了。
$ createdb fuga
$ time psql fuga < hoge.sql
real 0m41.915s
0867デフォルトの名無しさん
2016/05/06(金) 15:39:27.25ID:f2yhxO8iサーバー代は月々いくらくらい?
0868デフォルトの名無しさん
2016/05/06(金) 15:42:10.91ID:QtueP+kpもしただの馬鹿でかいcsvな内容だったら確実に早くリストアできて当然
0869デフォルトの名無しさん
2016/05/06(金) 15:44:47.76ID:QtueP+kpそれインデックス再構築の時間入ってないんじゃね
0870デフォルトの名無しさん
2016/05/06(金) 15:57:16.60ID:0hFielSC> dbのダンプ/リストアが怖い状況ってリレーションが複雑で主キーとあいまってややこしくなる場合じゃないの
ダンプしたものをそのまま読めないようなRDBMSなんてないと思うが。
>>869
$ grep 'CREATE TABLE' hoge.sql | wc -l
112
$ grep 'CREATE INDEX' hoge.sql | wc -l
48
0871デフォルトの名無しさん
2016/05/06(金) 15:59:19.60ID:u5m6Baf4>>868
ありがとう、安心した!
>>867
3万くらい
0872デフォルトの名無しさん
2016/05/06(金) 20:28:12.19ID:es3Ss1KGDBのリストアとかやった事ないからよくわからん…
レプリケーションもわからん…
0873デフォルトの名無しさん
2016/05/06(金) 20:36:44.30ID:HlF6I7nV0874デフォルトの名無しさん
2016/05/06(金) 22:01:14.66ID:MaHvIWJSある分野の管理ツールという事だけれど月額3000円からって結構高めだよね。
もっと低価格や無料で類似のサービスなどは無いの?
そう言う心配が無い非常にニッチな分野なの?
0875デフォルトの名無しさん
2016/05/06(金) 22:31:29.99ID:lGw6lAiuそもそも儲け方を根掘り葉掘り聞くなんて浅ましいことは自重しろって。
0876デフォルトの名無しさん
2016/05/06(金) 22:45:06.38ID:lqFn8ml+マだからといって避けないで、そのうちどぞ。
やれることかなり広がるし、むしろDBありきで設計するくらいには考え方変わるよ。
0877デフォルトの名無しさん
2016/05/07(土) 08:48:37.87ID:Tfh/0iZx0878デフォルトの名無しさん
2016/05/07(土) 15:35:22.02ID:rAsmYtub喧嘩ならいざ知らず、盛り上がってる時に水さすもんじゃ無いと思う。
所詮2chなんだから型にはまらない方が
参加者も運営も嬉しいんじゃ無いかな?
0879デフォルトの名無しさん
2016/05/07(土) 15:37:58.37ID:rAsmYtubと、言うべきだった…
まあ、PHPだからこそ型を意識しなければいけないんだけど。本当は。
0880デフォルトの名無しさん
2016/05/07(土) 16:04:46.21ID:pBBnydGZ覚えてサイト作るの目指してるヤツが多いのに、スレチっておまえバカ?
0881デフォルトの名無しさん
2016/05/07(土) 16:08:06.95ID:6IXt9uZe0882デフォルトの名無しさん
2016/05/07(土) 16:08:07.77ID:1XEkqAZJ下手に水をさすのはスレチより悪いとは思うが
0883デフォルトの名無しさん
2016/05/07(土) 16:09:41.25ID:pBBnydGZじゃあまたゴミスレにもどってどうぞ。
0884デフォルトの名無しさん
2016/05/07(土) 16:17:38.94ID:rCqt5XGUここで情報入手しようと必死な姿が浅ましい
0885デフォルトの名無しさん
2016/05/07(土) 16:23:10.28ID:pBBnydGZ単純に面白いだろ、おまえのゴミみたいな投稿とは比較にならん。まぁスレチだけどな。
まぁ肩の力抜けよ。
0886デフォルトの名無しさん
2016/05/07(土) 16:26:59.32ID:6IXt9uZe0887デフォルトの名無しさん
2016/05/07(土) 16:32:52.54ID:pBBnydGZスクリプトデリミタの使い方も間違ってるペチパーのウンコみたいな質問もうイヤですよ。
実際に運用してるヤツの話しが聞けて楽しかったの!!
>>884
完成まで作れない人が9割だから。君も含めて。まぁオレも含めてだがな。
少し落ち着けやゴミが。
0888デフォルトの名無しさん
2016/05/07(土) 16:35:19.01ID:mzfrj+Ngあと実際設計/コーディングする人間は運用にはあまり携わらないし・・・・
0889デフォルトの名無しさん
2016/05/07(土) 16:41:09.94ID:rCqt5XGU落ち着いてないのはあなたでしょう
0890デフォルトの名無しさん
2016/05/07(土) 16:45:30.27ID:8kiHQWJT0891デフォルトの名無しさん
2016/05/07(土) 16:52:11.96ID:oJFlbAHvその聞きたいところには答えるつもりも無いんだから引っ張っても無駄だということに早く気付け。
0892デフォルトの名無しさん
2016/05/07(土) 16:52:53.67ID:YVzhxVlg0893デフォルトの名無しさん
2016/05/07(土) 17:05:25.08ID:37koFAHB0894デフォルトの名無しさん
2016/05/07(土) 17:12:34.25ID:mzfrj+Nghttps://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.param.pkg.html
0895デフォルトの名無しさん
2016/05/07(土) 17:29:25.52ID:37koFAHBありがとう
これでうちのおばあちゃんが作った関数にコメントがつけられるよ
0896デフォルトの名無しさん
2016/05/08(日) 01:52:01.39ID:p2bQRvkc0897デフォルトの名無しさん
2016/05/08(日) 01:53:21.41ID:p2bQRvkcって$leap_flgにはどのような値がはいっているのですか?
if文の条件になにいれるか不明なんですけど…
0898デフォルトの名無しさん
2016/05/08(日) 02:08:56.42ID:trCfsxUy0899デフォルトの名無しさん
2016/05/08(日) 03:10:25.86ID:YMoJEcedhttp://php.net/manual/ja/function.date.php
ダンプする前にマニュアルを見よう。
0900デフォルトの名無しさん
2016/05/08(日) 09:52:10.38ID:T8bQ9WHBH:i〜H:iの間のデータをbetweenで抽出するという機能を作っています。
検索フォームからH:iを2つ取得できたものの、そこからどう文字列に(例えば"15:00")に変換すればよいのかわかりません
調べて色々試してみたのですが、いっこうに成功しませんでした。
どなたかお願いします。
0901デフォルトの名無しさん
2016/05/08(日) 09:54:25.55ID:T8bQ9WHB0902デフォルトの名無しさん
2016/05/08(日) 11:47:43.97ID:H8xAg3Jw0903デフォルトの名無しさん
2016/05/08(日) 12:07:09.79ID:n3Nh2GSe質問を書いてる時間がもったいない
質問を書いてる間に頭が整理されて分かっちゃうこともあるけど
0904デフォルトの名無しさん
2016/05/08(日) 12:53:00.87ID:iQ9cFpLdそれ大事
テディベアとコードレビューするやつな
0905デフォルトの名無しさん
2016/05/08(日) 14:16:50.68ID:WiyOtAwJベアプログラミング(テディベア効果)というのか。
ペアプログラミングではなくて。
0906デフォルトの名無しさん
2016/05/08(日) 18:22:07.68ID:H8xAg3Jw0907デフォルトの名無しさん
2016/05/08(日) 19:25:24.84ID:eiW4bgLeCで書くと
T *p = calloc(n, sizeof(T));
みたいな感じのこと。
とりあえず
$a = array_fill(0, n, NULL);
って書いてみたんですが。
0908デフォルトの名無しさん
2016/05/08(日) 19:51:53.55ID:yxmWn5Ei必ずしも前もって配列長明示して確保しなくてもいいと思うけど
foreach( $array = array_fill(0, 10, null) as $key => $value ) $value = $source_data[$key + 5];
とかするためかね
0909デフォルトの名無しさん
2016/05/08(日) 20:39:41.14ID:H8xAg3Jw0910907
2016/05/08(日) 21:52:16.40ID:eiW4bgLe実は$aは配列の配列で、
if (!key_exists($k, $a[$i])) ...
みたいな処理をするので、あらかじめ$a[$i]が存在していて欲しかった、っていう感じです。
まぁ警告出るだけで予め配列作っておかなくても動くんだけれども。
0911デフォルトの名無しさん
2016/05/08(日) 21:57:51.62ID:XQojpZYzこれでどう
if(!isset($a[$i][$k]))
多少判定条件が違うので使えないケースもあるけど、array_key_exists より isset の方が速いよ
0912907
2016/05/08(日) 23:48:43.60ID:eiW4bgLeまだPHP使いだしてひと月くらいなんで、いろいろと助かります。
ありがとう。
0913デフォルトの名無しさん
2016/05/10(火) 07:28:39.61ID:ZEfFfe+X0914デフォルトの名無しさん
2016/05/10(火) 09:33:54.84ID:yhkvT0H80915デフォルトの名無しさん
2016/05/10(火) 10:16:53.40ID:Mp7ZOf2gTwitter OAuth
https://dev.twitter.com/oauth
0916デフォルトの名無しさん
2016/05/10(火) 10:21:56.39ID:ZEfFfe+XIDとパスだけで呟けたらよかったんだけど
0917デフォルトの名無しさん
2016/05/10(火) 12:35:28.76ID:2gjhVXxt0918デフォルトの名無しさん
2016/05/10(火) 17:22:35.71ID:/c+E/E1dそう言うのって、初心者がよく分からないまま投稿して無限ループで無数に投稿したなどの事故は起こらないのかな?
0919デフォルトの名無しさん
2016/05/10(火) 17:36:38.58ID:3P/I+6gpしょうがないから時刻を入れてるw
0920デフォルトの名無しさん
2016/05/10(火) 18:45:09.17ID:matDD0JOpublic function hoge(){
$request_posted_flg = false;
$my_request_para_txt = $this->getMyIns();
$my_url_query_string = $my_request_para_txt;
if(!$request_posted_flg){
$para = "req_id";
foreach($my_url_query_string as $key => $val){
if($key == $para){
$my_target_para = $my_url_query_string[$key];
}
}
$this->setMyTargetPara($para);
return $request_posted_flg;
}
みたいなコードが数千行に渡って書いてある。
これ書いたやつ人間じゃない。多分、ものすごく出来の悪いコンパイラ。
どうしてこう、PHPerっていうのは頭おかしい奴ばっかなんだ?
0921デフォルトの名無しさん
2016/05/10(火) 18:45:47.85ID:matDD0JOの間違い…
0922デフォルトの名無しさん
2016/05/10(火) 18:47:59.09ID:p4MwWBVW要素内に同じ数値が存在するか判別するいい方法って何かない?
0923デフォルトの名無しさん
2016/05/10(火) 19:06:13.86ID:XIhsDrnx$a = [1, 3, 5];
$b = [2, 3, 6];
if (array_diff($a, $b) !== $a) {
echo “同じ数字が存在してまっせ”;
}
0924デフォルトの名無しさん
2016/05/10(火) 19:09:55.07ID:XIhsDrnxまぁそのへん使って
0925デフォルトの名無しさん
2016/05/10(火) 19:39:13.48ID:yhkvT0H8意味もなくgetterとsetter使ってるから?
つうかよくわからんがそれ条件文意味あるんか?
常にrequest_posted_flgはfalseじゃないんけ
0926デフォルトの名無しさん
2016/05/10(火) 20:03:10.51ID:matDD0JO変数も片っ端から意味無い。
普通に書いたら300行くらいで済むところを、
そういう意味の無いコードで1000行くらいに膨れ上がらせてる。
0927デフォルトの名無しさん
2016/05/10(火) 20:03:20.13ID:p4MwWBVWありがとうございます。
できました。
0928デフォルトの名無しさん
2016/05/10(火) 20:15:34.24ID:IOgaEvdb0929デフォルトの名無しさん
2016/05/10(火) 20:18:48.54ID:GH5TUzj80930デフォルトの名無しさん
2016/05/10(火) 20:19:10.53ID:2gjhVXxt何が悪いのかイマイチわからん
いまのうちのプロジェクトよりだいぶマシだわ
0931デフォルトの名無しさん
2016/05/10(火) 21:42:22.65ID:TeiLsP5Rマシかもしれないが、改善点はいくつも見つかると思うんだけど
0932デフォルトの名無しさん
2016/05/10(火) 21:50:55.52ID:2gjhVXxt$this->setMyTargetPara($my_request_para_txt["req_id"]);
変数名のつけ方やインデントがまともだからウチよりマシと思ってしまった。
0933デフォルトの名無しさん
2016/05/10(火) 23:07:40.32ID:/u9NXzcoコードレビューしないのが問題
こんなん書いたやつにどういう意図なのか問い詰めるわ
0934デフォルトの名無しさん
2016/05/10(火) 23:35:31.66ID:oz2wxhed0935デフォルトの名無しさん
2016/05/10(火) 23:58:07.07ID:VZevxVLJそういうksみたいなコード書くのはJavaerのほうが多い
0936デフォルトの名無しさん
2016/05/11(水) 07:48:55.06ID:hUyymvDAもちろん、ステップ数で料金が決まる、などというアホなことはしていない。
そして、そのクソコードを別の人間がメンテナンスするる…
>>929、933
部署の長が「コードなんて見ませんよ」と平気で言う会社だからね。
>>935
それは確かにある。PHPは幼稚なコードが多いが
Javaは浅い知識だけはあるんだが使い方を間違ってるクソコードが多い。
PHPにはJavaerもいっぱい流れこんでるから、もう、数多のジャンルのクソコードが揃い踏みしてる。
もうすぐ契約切れる予定だけど、あとからあとから新鮮なクソコードが流れ込んできて
本当に頭おかしくなりそう。
0937デフォルトの名無しさん
2016/05/11(水) 07:50:19.88ID:ZmjTdhIX0938デフォルトの名無しさん
2016/05/11(水) 07:52:17.51ID:hUyymvDAどうもこっちのスレ的ネタだった
ttp://echo.2ch.net/test/read.cgi/tech/1429279230/l50
スレチ、すいませんでした…
少し気が晴れました…
0939デフォルトの名無しさん
2016/05/11(水) 07:55:55.21ID:hUyymvDA言っとくけど、オレのコードは本当に綺麗だよ。
お前が見たら一目惚れして結婚申し込むこと間違いない。
0940デフォルトの名無しさん
2016/05/11(水) 09:07:29.65ID:uMvBRYWE0941デフォルトの名無しさん
2016/05/11(水) 17:54:38.12ID:0wDfvzAN0942デフォルトの名無しさん
2016/05/11(水) 18:44:53.48ID:S5nTUzj10943デフォルトの名無しさん
2016/05/11(水) 19:11:15.31ID:hUyymvDA本当にそう思ってるならお前が周り見えてなさすぎなだけ。
>>942
YouTubeの「〜てみました」系の奴らなんかマトモな設定してねーのよ
Nginxもエラー画面出まくりじゃん。
0944デフォルトの名無しさん
2016/05/11(水) 19:43:45.56ID:kvpM6w4Kなんとか起動できたけどそれ以降が全然できない
みんなどんな感じでSQL勉強した?
0945デフォルトの名無しさん
2016/05/11(水) 19:49:42.80ID:WoDhKz740946デフォルトの名無しさん
2016/05/11(水) 19:52:02.92ID:hUyymvDA0947デフォルトの名無しさん
2016/05/11(水) 20:11:13.53ID:Qb9Kyo2IこれはSQLでは無理なんじゃないかっていう思い込みを無くすように意識していた時期はあった
あとはせっせと情報収集と実験の繰り返し
0948デフォルトの名無しさん
2016/05/11(水) 20:34:35.14ID:H9B83Y6z0949デフォルトの名無しさん
2016/05/11(水) 20:35:42.75ID:hUyymvDAシングルクオートとダブルクオートの扱いがPHPでどうなっているか知っていれば、
通常、シングルクオートなんかで囲うことはありえないんだが。
シングルクオートの方がコンマゼロゼロゼロ何秒かくらいは速いかもしれんが、
そんなの帳消しにするくらいデメリットが多すぎる。
意図してシングルクオート利用しなければいけないケースなんて限られてるんだから、
その時だけシングルクオート使えばいいだけで、
通常はダブルクオート使うのが当たり前なんだが、
要するに、違いが分かってない馬鹿が多すぎるということなんだろう。
0950デフォルトの名無しさん
2016/05/11(水) 20:36:57.65ID:H9B83Y6zデメリットってどんなこと?
0951デフォルトの名無しさん
2016/05/11(水) 20:41:28.26ID:S3kH2EJT俺はJavaラーだから好みでダブルクオート使ってた
PHP使うやつはシングルクオート使いが多くて嫌だなとは思ってたが
デメリットは正直よくわからん
0952デフォルトの名無しさん
2016/05/11(水) 20:51:06.59ID:hUyymvDAシングルクオート
create_link('test/' . $param['hoge'] . '/val1/' . $param['hage'] . '/val2/' . $param['moge'], $url . '?' . $sess_name . '=' . $sess_id);
ダブルクオート(strict)
create_link("test/{$param["hoge"]}/val1/{$param["hage"]}/val2/{$param["moge"]}", "{$url}?{$sess_name}={$sess_id}");
ダブルクオート(loose)
create_link("test/$param['hoge']/val1/$param['hage']/val2/$param['moge']", "$url?$sess_name=$sess_id");
何が変わったか、一目瞭然だろ? PSRで許容される一行の文字数知ってるか?
シングルクオートは変数展開できないから . で文字列を結合しなければならない。
一番上みたいな例で、一目で、どこまでが1つのパラメターで、どこから別のパラメターに切り替わったのか判別できるか?
シングルクオート使うバカが居ると、コードの隅々に渡って間違い探しと対して違わないような事しなきゃいけないような自体になるんだよ。
視力がいくつあっても足らんわ。
0953デフォルトの名無しさん
2016/05/11(水) 20:56:47.08ID:e/4BOK4yPSRの一行の制限はハードリミットを規定してないし, 単に書き方や慣れの問題だな
コーディング規約でどっちかに決めてそれに従えばいいだけ
0954デフォルトの名無しさん
2016/05/11(水) 20:57:47.95ID:hUyymvDAそう思うのなら、お前は一生間違い探しやってろ。
オレは自分の眼のほうが大事だ。
0955デフォルトの名無しさん
2016/05/11(水) 21:01:38.96ID:hUyymvDA馬鹿すぎて、リテラルをスポットライトしてくれないクソエディタ使ってるんだろう。
だから、何が変わるのか全然理解できないのだと思う。
0956デフォルトの名無しさん
2016/05/11(水) 21:03:29.97ID:9I7Ewr6L0957デフォルトの名無しさん
2016/05/11(水) 21:05:12.55ID:S3kH2EJTphp3時代は配列のキーを
ダブルでもシングルでも囲まないやついてさらに地獄だったな
0958デフォルトの名無しさん
2016/05/11(水) 21:05:56.43ID:O2+YRvW50959デフォルトの名無しさん
2016/05/11(水) 21:06:47.25ID:9I7Ewr6L使い分ければいいんだよ
0960デフォルトの名無しさん
2016/05/11(水) 21:07:18.39ID:UDwF5RQX0961デフォルトの名無しさん
2016/05/11(水) 21:08:35.17ID:H9B83Y6zうん、まさかのだったな。
>>952
それはデメリットの一例だと主張してるのはわかったが、多すぎる他のデメリットはどんなこと?
変数展開の話なんて単純に使い分ければいいだけでしょ。
0962デフォルトの名無しさん
2016/05/11(水) 21:09:15.80ID:e/4BOK4yでもそれ俺に言うより職場のシングルクォート使いに言った方がいいんじゃね?
0963デフォルトの名無しさん
2016/05/11(水) 21:10:20.95ID:hUyymvDAなにがまさかのwなの?
頭おかしい馬鹿の笑いのツボはよくわからんな。
日本語も読解出来てないし。馬鹿はだまってればいいのに。
0964デフォルトの名無しさん
2016/05/11(水) 21:16:10.69ID:hUyymvDA面白いこと言うな、お前。
機能の違いは変数展開するかしないかって事はわかってると思うんだけど、
じゃあ、変数展開されると困るケースってどういう時だ?
そういうケースって、コード書いててどのくらいあるか思い出してみろよ。
変数展開して貰ったほうが有り難いケースがどのくらいあるか思い出してみろよ。
通常ダブルクオートで統一しといたほうが、サルが考えても合理的だろ。
↓ 以下サルどもの戯言
>いかにも初心者らしい確固たる信念だねw
>変数展開の話なんて単純に使い分ければいいだけでしょ。
>まさかそんなに強い宗教観をお持ちとは思わなかったわ・・・・
0965デフォルトの名無しさん
2016/05/11(水) 21:17:50.80ID:H9B83Y6z>シングルクオートとダブルクオートの扱いがPHPでどうなっているか知っていれば、
>通常、シングルクオートなんかで囲うことはありえないんだが。
違いを知っていれば、変数展開を必要としない文字列リテラルの表現にはむしろシングルクォートじゃないの。
速度も速いし、デメリットが無ければわざわざ遅いダブルクォートを強いる必要もないでしょう、*違いを知っていれば*。
つーかシングルクォートがそんなに憎いなら、var_export の出力仕様の変更を要求しといたらいかが?
0966デフォルトの名無しさん
2016/05/11(水) 21:18:07.36ID:hUyymvDAわざと変なコード書いてメンテナンスの時間をもりもりと膨らませる馬鹿ばっかなんだもん。
なんかしらんけど、必至に挙げて馬鹿晒すんだから、本当にPHPerの馬鹿さ加減にはあきれるわ。
0967デフォルトの名無しさん
2016/05/11(水) 21:19:01.00ID:hUyymvDAお ま え は 日 本 語 の 勉 強 を 一 か ら や り な お せ
0968デフォルトの名無しさん
2016/05/11(水) 21:20:19.71ID:e/4BOK4y0969デフォルトの名無しさん
2016/05/11(水) 21:20:28.95ID:hUyymvDAこういう、日本語が理解できない馬鹿がいるのも、PHPerの特徴です。
0970デフォルトの名無しさん
2016/05/11(水) 21:21:31.39ID:H9B83Y6z0971デフォルトの名無しさん
2016/05/11(水) 21:21:46.00ID:hUyymvDA>意図してシングルクオート利用しなければいけないケースなんて限られてるんだから、
>その時だけシングルクオート使えばいいだけで、
最初っから言ってる事も理解できないアホばっかなんだから。
0972デフォルトの名無しさん
2016/05/11(水) 21:22:36.76ID:hUyymvDAうん、おまえがな。本当に頭わるそうだな、お前。
0973デフォルトの名無しさん
2016/05/11(水) 21:23:42.15ID:UDwF5RQX0974デフォルトの名無しさん
2016/05/11(水) 21:23:59.64ID:H9B83Y6zシングルクオート利用*しなければいけない*ケースってどんなの?
0975デフォルトの名無しさん
2016/05/11(水) 21:24:17.83ID:hUyymvDA>>973
論拠は?
0976デフォルトの名無しさん
2016/05/11(水) 21:25:31.37ID:hUyymvDA>シングルクオート利用*しなければいけない*ケースってどんなの?
は? 本気で聞いてるのか? お前はほんとうの馬鹿なのか???
これがアホなPHPerの実態なんだよな…
0977デフォルトの名無しさん
2016/05/11(水) 21:26:20.46ID:H9B83Y6zバカ認定してくれていいから教えてくれよ。
あと、多すぎるデメリットの他の例もな。
0978デフォルトの名無しさん
2016/05/11(水) 21:26:29.29ID:hUyymvDAさすがに呆れ返った。
0979デフォルトの名無しさん
2016/05/11(水) 21:27:56.12ID:e/4BOK4yMcryptならmcrypt_get_key_sizeで取得出来るけど・・・
0980デフォルトの名無しさん
2016/05/11(水) 21:28:47.71ID:hUyymvDAだからな、
例えば、password_hash()とか使ってハッシュ作るとするだろ?
$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq
こういう文字列つくられるだろ?
これ、ダブルクオートで囲ってストリングリテラル定義したら、何が起こると思う?
そのくらいわかってくれよ、本当に。
0981デフォルトの名無しさん
2016/05/11(水) 21:32:28.63ID:hUyymvDAいい加減理解したほうがいいよ
0982デフォルトの名無しさん
2016/05/11(水) 21:34:13.61ID:H9B83Y6zエスケープって知らないのかな?
ダブルクォートにもシングルクォートにも使った方が便利なケースはあっても使わなければいけないケースなんてないんだよ。
もう少し慣れてくるとよく分かると思うから、あとちょっとだ。がんばろう。
0983デフォルトの名無しさん
2016/05/11(水) 21:35:30.90ID:UDwF5RQX0984デフォルトの名無しさん
2016/05/11(水) 21:37:10.95ID:hUyymvDA駄目だ、こういう馬鹿ばっかだからPHPは本当にゴミコードばっかりになって本当に救いようがないや。
0985デフォルトの名無しさん
2016/05/11(水) 21:37:20.22ID:e/4BOK4y0986デフォルトの名無しさん
2016/05/11(水) 21:39:37.26ID:hUyymvDAageてる馬鹿は煽りたいだけのプログラマでもないただのニートだから対して気にならんけど
ID:H9B83Y6z こいつは本当に頭がヤバ過ぎる。
0987デフォルトの名無しさん
2016/05/11(水) 21:41:23.94ID:hUyymvDAスーパープログラマの ID:H9B83Y6z に
凄まじく手数の多い解決策でも教えて貰ってろ、ハゲ!
0988デフォルトの名無しさん
2016/05/11(水) 21:43:48.14ID:e/4BOK4y0989デフォルトの名無しさん
2016/05/11(水) 21:44:11.27ID:hUyymvDAうん、おまえがな。おまえはまだ、かなり頑張んなきゃいけないけど。
0990デフォルトの名無しさん
2016/05/11(水) 21:47:39.85ID:UDwF5RQX0991デフォルトの名無しさん
2016/05/11(水) 21:49:17.03ID:e/4BOK4y【PHP】下らねぇ質問はここに書き込みやがれ 5 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1462970810/
0992デフォルトの名無しさん
2016/05/11(水) 21:50:18.55ID:hUyymvDAID:H9B83Y6z こいつと ID:e/4BOK4y こいつは、本当に頭が悪すぎるな。
いかにもThe PHPer って感じだ。
0993デフォルトの名無しさん
2016/05/11(水) 21:53:09.29ID:hUyymvDA979 : デフォルトの名無しさん2016/05/11(水) 21:27:56.12 ID:e/4BOK4y
そういえば, Mcrypt関数よりOpenSSL関数が推されてる感があるんだけど, OpenSSL関数で指定した暗号アルゴリズムのキー長を得る方法ってある?
Mcryptならmcrypt_get_key_sizeで取得出来るけど・・・
この問題解決してもらったらいいんじゃねぇの?
0994デフォルトの名無しさん
2016/05/11(水) 21:56:00.50ID:Qb9Kyo2I0995デフォルトの名無しさん
2016/05/11(水) 21:56:13.81ID:hUyymvDA>>976
バカ認定してくれていいから教えてくれよ。
認定しなくても、ほんとうのバカでした。
0996デフォルトの名無しさん
2016/05/11(水) 21:56:53.24ID:O2+YRvW50997デフォルトの名無しさん
2016/05/11(水) 21:57:48.41ID:0wDfvzAN自分が基地外だってことにいい加減気付こうな
0998デフォルトの名無しさん
2016/05/11(水) 21:57:56.68ID:e/4BOK4yドマ
今後のスレはワッチョイはどうすべきだろう?
あとテンプレも古いからちょっと更新したい感
0999デフォルトの名無しさん
2016/05/11(水) 21:58:53.22ID:hUyymvDA必要ないだろ、新スレ立ったんだし。ここは消化ゲームだ。
>>997
その基地外にからむのはお前みたいなバカくらいだって気づけよw
1000デフォルトの名無しさん
2016/05/11(水) 21:59:55.94ID:hUyymvDA10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 59日 22時間 34分 23秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。