13/11/10 15:46:09.34
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 130
スレリンク(php板)
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
2:nobodyさん
13/11/10 15:47:11.87
関連リンク
■本家マニュアル URLリンク(www.php.net)
■日本PHPユーザ会 URLリンク(www.php.gr.jp)
■PEARマニュアル URLリンク(pear.php.net)
■メーリングリスト URLリンク(ns1.php.gr.jp)
■ZFマニュアル URLリンク(framework.zend.com)
■Smartyマニュアル URLリンク(www.smarty.net)
(以下英語)
■Zend本家 URLリンク(www.zend.com)
■Zend Framework URLリンク(framework.zend.com)
■php | architect URLリンク(www.phparch.com)
■Smarty URLリンク(www.smarty.net)<)
■PECL本家(英語) URLリンク(pecl.php.net)
3:nobodyさん
13/11/10 15:47:44.07
【簡易FAQ】
1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ URLリンク(example.com)が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「~.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
4:nobodyさん
13/11/10 15:48:22.33
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_~()が手軽。複雑なパターンはpreg_~()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
URLリンク(www.faqts.com)
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://~とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
5:nobodyさん
13/11/10 15:50:32.33
(: /⌒ヾミァ―=、=ミ、 __
ゝ_/ \ンヾ `ヽ
/ 7 / ヽ Y´ ̄`ヽ)
/ j{. {-{ー{ ト { }_} }ゝ 人
/ /Yヘ {!∨八 ト、j\| ヽj彡爪 ヘ
/ / //!ヘY⌒ヾ\<⌒ヾ! ∧ i| li
. / / // i小xx rー ┐ xx?Wノ' i| l|
. / / // 厶| l> .ゝ_ノ ィ// {{ i| l|
/ / // 〈 |  ̄ ̄ ̄ ̄ ̄| `ヽ i| l|
/ / //:/?Y こ テ | 〉 j| 八
. / / // (´‐う こ .ン と)/}} '、 \
人 〃〃 =てノ ま プ (ニ ノ ∧ ヾ. ヽ
( ゚Y⌒7'゙´ 入ヽ| .で レ .(Y}}⌒ヽ} ヾノ ノ}}
/` 弋__{{ /' `‐|__________|ノヽ 八 /⌒Y⌒ヽ
6:nobodyさん
13/11/10 15:59:23.33
>>1 乙!
7:nobodyさん
13/11/10 18:56:43.11
30MBのテキストファイルに含まれる abcde という5文字からなる文字列を
メモリを節約する方法で削除する方法を教えてください
ファイル丸々読み込んで一括置換はNGです
8:nobodyさん
13/11/10 19:02:40.38
sed
9:nobodyさん
13/11/10 19:23:56.76
より高度なRoRに引っ越しすることをお勧めしよう
Railsスレで質問すれば俺が答えてあげよう
その代わり最大限の敬意を示し、パソコンの前で土下座したまえ
そお誠意が俺まで伝わってきたら答えてあげる
多くの有力企業が採用するRoRにようこそ
10:nobodyさん
13/11/10 20:22:03.37
URLリンク(www.techempower.com)
ROR(笑)
11:nobodyさん
13/11/10 22:08:15.43
>>7
読み込みながら別ファイルに書けばいいじゃん。
12:1
13/11/11 07:35:43.60 XJY1LijC
//HTML取得
$context = stream_context_create(array('http'=>array('method'=>"GET",'header'=>"User-Agent: Mozilla/5.0 (Windows 7; rv:13.0) Gecko/20100101 Firefox/13.0.1")));
$str = file_get_contents("URLリンク(www.yahoo.co.jp) false, $context);
//範囲を抽出
$hani_s = "主なサービス";
$hani_l = "みんなのアンテナ";
$pattern1 = "/(?<=".$hani_s.").*?(?=".$hani_l.")/misu";
if(preg_match($pattern1,$str,$match)) $zentai = nl2br(htmlspecialchars($match[0]));
//単語を取得
$tango_s = 'a href="';
$tango_l = '">';
$pattern2 = '/(?<='.$tango_s.').*?(?='.$tango_s.')/misu';
if(preg_match_all($pattern2, $zentai, $match2))
$con = 0;
foreach($match2 as $val){
$youso = count($val);
while($con < $youso){
echo $val[$con] . "<br />";
$con++;
}
}
HTMLを取得し、正規表現で単語を取り出したいのですが、Notice: Undefined variable: con inとエラーが出てきます
$tango_s = 'a href="';をタブルクォート外して$tango_s = 'a href=';にすれば問題なく動くのですが、何が悪いですか?
13:nobodyさん
13/11/11 10:23:19.27
>>12
正規表現を勉強し直しなさい
14:nobodyさん
13/11/11 11:56:52.28 XJY1LijC
正規表現のどこが悪いのでしょうか?
$pattern2 = "/href=\".+>/"; 単純にこう書いてもダブルクォートがある限りエラー出るんですが
15:nobodyさん
13/11/11 12:33:37.29 sFgCUL53
>Notice: Undefined variable: con inとエラー
if(preg_match_all($pattern2, $zentai, $match2))
$con = 0;
16:nobodyさん
13/11/11 12:40:46.85
htmlspecialchars したらどーなるか考えよう。
オプションなしで使ってる時点で、
何をしたくてどうなって欲しいのか何にも考えてないのが分かる。
17:nobodyさん
13/11/11 12:51:22.02 XJY1LijC
>>16
やっと解決できたありがとう
エスケープされるとか完全に失念してた
18:nobodyさん
13/11/11 15:53:52.85
【Android】デベロッパーの集うスレPart21
スレリンク(prog板)l50
ここでPHPのソースがダウンロードして見られるって主張してる人がいるんですが
本当でしょうか?
>+ PHPのソースを見る方法はある
>+ その方法は誰でも出来る簡単な方法をついた盲点
>+ 方法は簡単でもその発想には普通行き付かないため今まで気づかれないでいた
>+ システム上は不正な方法ではなく正規な方法に分類されるので
> 今も放置されてる(一部のサーバーはこれに気づき、もしくは実際に攻撃され、設定で変更し対策済み)
>+ まだ放置されている場合が多いので公表はできない
>この方法が今まで何十年も気付かれず放置されていた事に恐怖するくらい
>記憶に新しい2chサーバーを襲った奴がこの方法(だけとは限らないが)を使い
>とある公開サイトに毎日莫大な量の企業の情報をUPしてる
>ヤフー、カネボウ、東京大学、etc
19:18
13/11/11 16:00:52.24 HoDQm5Na
すみませんID出すのを忘れていました
今年の6月くらいから発覚しているようです
>+ 今までそれが正しい設定という認識で、何十年としっかり機能しているサーバー(施錠)
>+ それが今年の6月頃に、特に違法な手段でもない誰にでもできる方法で壁をすり抜ける方法が発覚した
> つまり鍵の意味がない
>+ 発覚するまでの過去何十年とそれを一部の人が悪用し、サーバー管理者と同じ権限をフルに悪用されていたこともあわせて発覚した
> つまり神話が崩れた。神話に胡坐かかず独自にさらなるセキュリティーをかけていた技術者は
> たとえ侵入されていたとしても大丈夫だった。これが侵入されても大丈夫を前提に組んだシステム全般に言えた
>+ この方法はバグでも違法でもないためセキュリティーパッチの対象にはなっていない
>+ 回避方法はその正当な手段で機能する何かをOFFにする
>+ しかしこれをOFFにすることで通常の運用にも支障をきたす運営状態のメーカーが多数存在する
>+ よってOFFにしないで運用している場所が今も存在しており このセキュリティーホール(…正式には違う)は今もなお眠っている
20:nobodyさん
13/11/11 16:12:06.83
>>18
PHPの脆弱性が見つかったかと思ってちょっとそのスレ読んだけど
発言主は恐らく闇プログラマーだと思われる
関わってはならない
21:nobodyさん
13/11/11 16:15:40.38
最後に.txtを付けるとかね(笑)
22:nobodyさん
13/11/11 16:25:30.66
apacheの設定でPHP関連を削除すればみれる
23:nobodyさん
13/11/11 16:26:17.91
あと教本とかに書かれているようなPHPをソースコードとして表示する設定をしてればみれる
24:nobodyさん
13/11/11 16:30:25.26
スレリンク(pcnews板)
URLリンク(lolipop.jp)
25:nobodyさん
13/11/11 22:36:28.08 dmRoqQkv
header('Content-Type: image/jpeg');で読み込んだ画像を編集してブラウザ出力しようとして、失敗したのでソースを削って消去法で探っていったらincludeが原因だったんですがこれはどういった理由になるんでしょか?
26:nobodyさん
13/11/11 22:42:00.98
>>25
回答者にエスパーがいることを期待しないでくれ
ちゃんと自分がやったことを書いてくれないと何も答えられん
27:nobodyさん
13/11/11 23:03:28.69 dmRoqQkv
すみません。。書くとややこしくなりそうだからあえて端折って書きました。。
【OS名】mac10.9
【PHPのバージョン】5.4
【連携ソフトウェア】gd
【質問内容】
header('Content-Type: image/jpeg');で保存している画像を読み込み編集した画像をただ出力しようとしてます。
やり方として画像クラスを書いてる別ファイルをincludeで読み込んで画像オブジェクトの画像として出力しようとしてます。
最終的にimagejpeg関数で出力してるのですが画像編集して保存はうまくいくのですが画像編集してブラウザで表示する事だけが何故かうまくいきません
別の所に同じようなブラウザ画像出力を作っててそっちはうまくいくので環境依存問題じゃないと思います。パーミッションも調べました
ソース削りながら消去法でしらべていったらincludeで引っかかりました。原因はほぼこれなので一応解決はしてるのですが画像objを出来れば使いたいのでincludeが原因の理由が知りたいです
28:nobodyさん
13/11/11 23:10:05.92
解読班はよ
29:nobodyさん
13/11/11 23:12:28.45
よくわからんがincludeではなくreadfile使ったら?
30:nobodyさん
13/11/11 23:14:30.60
なぜrequireではないのか
31:nobodyさん
13/11/11 23:14:44.35
うまくいかないじゃわからんわ
再現できる最小限のコードを
エラーが出たなら具体的なエラーを
32:nobodyさん
13/11/11 23:17:00.84
日商エスパー3級の俺でも分からん
33:nobodyさん
13/11/11 23:19:37.68 FYu5xnhQ
javascript で 特定のディレクトリ内のファイル名を取得するために
Ajax 通信でPHPを使用します。
<?php
$res_dir = opendir('../hoge');
while( $filename = readdir($res_dir)) {
echo "$filename";
};
closedir($res_dir);
?>
としたのですが返り値の配列にはファイル名毎ではなく1文字ずつ入ってしまいます。
何か解決方法はないでしょうか?
34:nobodyさん
13/11/11 23:22:05.77 dmRoqQkv
>>31
極端に言うと
<?php
//include 'objectImage5.php';
$im = imagecreatetruecolor(100, 100);
imagestring($im, 3, 40, 20, 'GD Library', 0xFFBA00);
header('Content-Type: image/gif');
imagegif($im);
imagedestroy($im);
?>
これを
<?php
include 'objectImage5.php';
$im = imagecreatetruecolor(100, 100);
imagestring($im, 3, 40, 20, 'GD Library', 0xFFBA00);
header('Content-Type: image/gif');
imagegif($im);
imagedestroy($im);
?>
するとブラウザ上でリンク切れ画像状態になります。ちょっと読み込み方includeから別に変えてきます。。
35:nobodyさん
13/11/11 23:25:22.46
>>33
配列で返してるように見えない
サーバとブラウザの間のプロトコルがJSONだとすれば、ちゃんとJSONに整形して返してあげないと
36:nobodyさん
13/11/11 23:26:20.64
>>34
そのincludeしたphpでなにかechoされてるんじゃない?
37:nobodyさん
13/11/11 23:27:09.46
>>34
読み込みに失敗してwarningやcriticalエラー出力されてるのにコンテンツタイプがgifだからブラウザはgifとして扱ってるだけだろ
38:nobodyさん
13/11/11 23:32:06.05 dmRoqQkv
すみません原因分かりました。。include先で<?php ~~~?>の後に一つ無駄な改行入れてたとこでした。。。
これも伝わってますかね、、?
39:nobodyさん
13/11/11 23:45:19.43
お決まりですね
40:nobodyさん
13/11/11 23:48:37.35
>>38
その説明ならみんなばっちり理解できたと思う
41:nobodyさん
13/11/12 00:02:19.74 OEcexEaQ
>>35
ありがとうございます。
json_encodeしてからだといけました。
42:nobodyさん
13/11/12 00:04:22.72
>>38
俺は最初から原因わかってたよ、日商エスパー2級だから
43:nobodyさん
13/11/12 00:23:11.47
DOM当たりかなと思ったけどそんなおちかよ
HTMLにコード埋め込む時以外なら?>で閉じんでよろしい
44:nobodyさん
13/11/12 00:31:47.12
>>38
他に何か言うことは?
45:nobodyさん
13/11/12 00:34:56.29
DOMじゃなくてUTFのBOMの話ね
もうだめかもわかんから寝るわ
46:nobodyさん
13/11/12 00:37:17.85
header前のincludeでエラーならゴミ出力は確実だと思った
>>34をアップする前の説明ではheader後にjpegをダイレクトにincludeしてるのかと思ってた
混乱させられただけに>>38の締め方で、ちょっとコメカミに血管浮いた
47:nobodyさん
13/11/12 00:40:50.53
>>44
どう書けば分かり易かったですかねぇ。。。?
48:nobodyさん
13/11/12 00:41:07.92
まあまあ、ありがちなミスだ
エスパー研究所の中上級事例として各自再発防止方法を検討する振りをして寝よう
49:nobodyさん
13/11/12 11:31:05.35
>>38
一応
URLリンク(www.infiniteloop.co.jp)
>PHPだけが書かれたファイルについては、終了タグ「?>」を省略しなければなりません。
PSR-2は必ず守らなければいけないものではないが、この1文はいつでも守って問題ない
50:nobodyさん
13/11/12 11:32:38.08
テンプレに
PHP: The Right Way
URLリンク(ja.phptherightway.com)
を入れて欲しい
51:nobodyさん
13/11/12 15:32:44.23
Rubyistの好きそうな洗脳サイトだな
52:nobodyさん
13/11/12 15:55:43.98
>>51
なんのこといってるの?
53:nobodyさん
13/11/12 16:03:50.97
ぱっとみたけどPHP初心者向けのサイトじゃないね
5.5を前提に話をすすめてるあたり
少なくともプログラム初めてって人向けではない
ぱっと見た感じ公平的な視点で書いてよさそうな感じ
結局どこかに利権が及んだり偏った記事になってそうだけど後で読んでみるわ
54:nobodyさん
13/11/12 16:09:41.51
他の言語を習得していて、PHPは始めての人向けって印象を持った
自分プログラミングはPHPが初めての初心者
55:nobodyさん
13/11/12 16:36:33.98
テンプレは、公式サイト系だけで十分でしょ。
理由
1. サイトの記述内容の正確性が担保されてない。
2. 単に宣伝したいサイトが紛れ込む可能性がある。
3. 個人サイトだと、その後どう変わるか予測できない。
56:nobodyさん
13/11/12 17:18:08.98
あれ、>>50のサイトみんな知らないの?
57:nobodyさん
13/11/12 17:21:39.34
初めて読んだがよくできてる
だけどここに来るような初心者が理解できるとは思わない
更にだけども>>3-4の腐ったFAQよりは載せる価値はある
58:nobodyさん
13/11/12 17:26:22.94
>>56
知ってるよ。有名すぎだもん
PHP勉強会とかで普通に有名。初心者は絶対読めって言われるサイト
ここと公式サイトと徳丸を押さえれば十分って言われてるよ
59:nobodyさん
13/11/12 17:31:14.31
>>53
ずっと最新版を使えって書いてあるだけだよ
内容自体は5.5に偏ってない
60:nobodyさん
13/11/12 17:35:52.52
有名なサイトじゃないでしょ。
他の有名サイト等から引用もしくはリンクされている箇所がないから。
61:nobodyさん
13/11/12 17:40:00.51
>>60
他の有名サイトってどこだ?
62:nobodyさん
13/11/12 17:44:35.70
日本で有名になってまだ日は浅いからな
63:nobodyさん
13/11/12 17:46:05.42
ここの人ってPSRも否定派が多いの?
64:nobodyさん
13/11/12 17:49:23.19
見てみたけど内容が難しすぎ
マニュアルを最初から読んでチュートリアルに従ったほうが理解しやすい
あれじゃ初心者敬遠してしまうわ
65:nobodyさん
13/11/12 17:51:15.96
↑
別に載せるのには反対じゃないよ
分かる人は見ればよい
66:nobodyさん
13/11/12 18:00:12.82
>>61
定義が曖昧ですみません。たしかに、「有名」では客観性に欠けますね。
例としては、「PHP」で検索して上位20位くらいに有るサイト。
又は、ヤフーカテゴリの「PHP」に掲載されているサイト。
これらは、有名と言えると思います。
こういったサイトから引用やリンクされている箇所を見たいです。
あるのでしょうか。
67:nobodyさん
13/11/12 18:10:25.71 FYat+6O3
>>66
根本としてさ、既に上位20位に入ってるよ
68:nobodyさん
13/11/12 18:10:27.67
>>66
いまググったら、本家・ユーザ会・特集記事を除けば、ここが最も有名らしいぞ。
初心者用PHP入門
www.standpower.com/?
69:nobodyさん
13/11/12 18:17:17.80
>>50
そんなの、PHPの本スレのテンプレに入れとけと思ったが、本スレと呼べるものがなかったわ
70:nobodyさん
13/11/12 18:19:22.53
>>50
初心者向けではないな。
PHP触り始めて興味が湧いて、本気でやろうって思うときに見るサイトだ
71:nobodyさん
13/11/12 18:23:28.93
PHPのコーディング規約ってC系が多いな
俺Java系だからあうものがない
まぁ別にいいよね
72:nobodyさん
13/11/12 18:25:59.71
>>66
普通に奥村さんとかThe Right Way推してるからリンクしてるよ
上位10位に入ってるっしょ奥村さんのサイト
73:nobodyさん
13/11/12 18:36:19.81
奥村って誰よとググったけど、URLリンク(oku.edu.mie-u.ac.jp)でいいのか?
2005年くらいに見た感じのページだな。
74:nobodyさん
13/11/12 18:49:27.53
>>53
5.5前提が、なぜ初めての人向けでないのか意味がわからない。
>>55
みんな十分だというが、網羅されてないことは結構ある。
75:nobodyさん
13/11/12 18:50:38.25
>>67 灯台下暗し。お恥ずかしい限りです。
>>68 >>72 ありがとうございます。
76:nobodyさん
13/11/12 19:01:26.98
>>74
初心者なんかのライトユーザがもっとも使用するレンタルサーバで5.5が入ってると思ってんの?
77:nobodyさん
13/11/12 19:30:01.02 mGwFoyBt
phpの関数が多くて、ありそうかな?と思っただけなんですが
配列の全ての要素に@を追加するような関数ってありますか?
array[0] #hoge
array[1] #fuge
array[2] #sage
↓
array[0] #hoge@
array[1] #fuge@
array[2] #sage@
みたいにしたいのですが
78:nobodyさん
13/11/12 20:00:20.89
array_mapでどうにかする
79:nobodyさん
13/11/12 20:15:28.37
>>77
ありません
簡単だから作れ
80:nobodyさん
13/11/12 20:36:06.80 mGwFoyBt
了解です
フツーに作ってみます
81:nobodyさん
13/11/12 20:55:23.68
>>76
おまえさんは、もうちょっとそのサイトの文章を読むべきだ
82:nobodyさん
13/11/12 20:57:27.77
そのサイトの文章と5.5が初心者向けではないは関係ないからね
83:nobodyさん
13/11/12 21:01:49.86
俺は初心者には5.5薦めるわ
共有サーバなんて使うやついないしな
84:nobodyさん
13/11/12 21:05:39.05
初心者がXAMPPに手を出しやすいのは事実だが
85:nobodyさん
13/11/12 21:40:02.59
>>83
現実を見ろ
86:nobodyさん
13/11/12 21:42:31.98
そんなに共有サーバ使わせたいの?
87:nobodyさん
13/11/12 21:47:46.17
気合いれてVPSとか上位プラン使うようなやつは開発者の中でも少数派
SNSやフリーのブログで十分なほどなのに月額300円が相場
一般人じゃ100円サーバだな
88:nobodyさん
13/11/12 21:53:30.75
僕の周りの初心者で公開してるやついないってのが味噌だな
PHP勉強したてで公開したいってただの趣味?
89:nobodyさん
13/11/12 22:00:27.78
趣味で触ってる人と仕事でやってる人で全然違うと思うぞ
共有サーバって
趣味でやってて、しかもWordPressとか既存のパッケージいれて
ちょっと手を加えてぐらいのレベル対象だろ
仕事で使うにはこのレベルじゃありえないから共有サーバなんてもたん
根本、会社でPHPを初心者に教えるときにまず、公開するなら相談しろと言う
何か漏洩されたら堪らんからな
90:nobodyさん
13/11/12 22:04:07.73
根本って誰や
91:nobodyさん
13/11/12 22:05:25.89
>>89の最後の3行が何を言いたいのかわからない
92:nobodyさん
13/11/12 22:31:49.02
仕事で共有サーバを使うことなんてない。
仕事で教えた初心者に共有サーバを使わせることなんてない。
って言ってるんだろ
93:nobodyさん
13/11/12 22:40:43.43
Q PHPをなんではじめるのですか?
A WPのテンプレートがいまいちなので改造してみたい
A 自サイトでこういうことをしたかったがPHPとかじゃないと出来ないと言われた
A 仕事でやらなきゃいけません
A プログラムの勉強をしたい
A こういうWebサービスをやりたい
専用サーバーが必要なのは最後のケースだけ
94:nobodyさん
13/11/12 22:45:24.07
>仕事で共有サーバを使うことなんてない。
誰が?
クライアントならそんなのパッケージ開発でもない限り知ったこっちゃないでしょ
ていうかWP改造案件とか多いし、共用サーバでWPだけで回してるクライアントも多い
開発者ならローカル使えばいいだけだし、共用サーバが持たないとか話がおかしい
95:nobodyさん
13/11/12 23:06:28.67
アカマイ使ってサイト構築してる人いる?
どんな構成?
96:nobodyさん
13/11/12 23:12:41.27
IDないわ、PHPと関係ないわ
97:nobodyさん
13/11/12 23:17:12.91
ごめん、質問変えるわ
グローバル対応をするために最適な構築はどんな感じ?
コスト考慮も
98:nobodyさん
13/11/12 23:18:45.00
レンタル鯖板でどうぞ
99:nobodyさん
13/11/12 23:24:11.04
>>92ってか>>89
IT土方をなめんな
PHPを使ってるのは自社サービスとか
大手の下請けで高給もらってるやつだけじゃないんだ
100:nobodyさん
13/11/12 23:29:19.57
>>93
共有
共有
不明
手元のPC
専用
101:nobodyさん
13/11/12 23:40:23.21
mixiとかヤフオクとかWebサービスが中心でない限り
アプリケーション開発とかやってるとこでも
会社の紹介や問い合わせフォームぐらいだろ
ようは会社のウェブサイトであるところがほとんどで
共用サーバでもおかしくないレベル
102:nobodyさん
13/11/13 00:07:41.07
共用サーバって、コンプライアンス上使えない会社が多いんだよな
103:nobodyさん
13/11/13 00:11:00.53
友人に毎朝8時に起動してメール配信するの作ってと言われて
無償でレンタルサ-バーのcronとphpの色々作ってあげたら
会社で使うためのものだったって経験したことあるわ
その程度に考えてるところもあるんだろクソ
104:nobodyさん
13/11/13 00:11:34.07
なんでコンプライアンスが関係するんだ?
105:nobodyさん
13/11/13 00:14:40.09
個人情報がらみだろ
106:nobodyさん
13/11/13 00:16:10.91
社内サーバならともかく、外部サーバにわざわざ個人情報入れるのかよw
107:nobodyさん
13/11/13 00:17:00.95
問い合わせフォームでアウトだよ?
108:nobodyさん
13/11/13 00:20:51.35
問い合わせフォームか
>>101見てなかったわ
109:nobodyさん
13/11/13 10:39:37.89
素人に毛を生やしただけのものが業務に使われてるのが、プログラム界だけのことだと思ってるなら、
絶望が足りない。
110:nobodyさん
13/11/13 11:47:06.10
どっちも底辺ってことだろ。
日本は底辺が多いからな
111:nobodyさん
13/11/13 12:31:04.32
ただの道具に、使う人間の問題もってきて道具の問題だって大騒ぎすんのはアホだってこと。
何が底辺だw
112:nobodyさん
13/11/13 13:08:29.89
>>111
意味不明やな
113:nobodyさん
13/11/13 13:12:58.90
>>103
会社に請求書叩きつけてやれ
114:nobodyさん
13/11/13 13:26:56.75
phpどころかプログラミングと全く関係ない製薬営業やってるけど
webサイト作ったりメール配信できるもん作るとどんくらい貰えんの?
転職考えてるんだけど
115:nobodyさん
13/11/13 13:39:18.36
>>114
転職?
誰もお前なんか雇わんと思うが
116:nobodyさん
13/11/13 14:17:17.36
絶 対 に 製 薬 営 業 の 方 が 稼 げ る
117:nobodyさん
13/11/13 14:23:19.44
夢みてフリーのデザイナーやるのはやめとけマジで
118:nobodyさん
13/11/13 14:26:25.25
>>114
まぁ、初級プログラマで50万円/月くらい
中級80万円/月
上級は青天井
あんまり大したこと無いよ
それでもよければどうぞ
119:nobodyさん
13/11/13 14:39:40.87
釣り糸がでかすぎて話になりませんね
120:nobodyさん
13/11/13 14:42:48.78 EC93HFLx
初級・中級・上級のスキルの区分は、どんな感じでしょうか?
(自分は、>>114 ではないです)
121:nobodyさん
13/11/13 14:46:51.46
せいぜい月20万ぐらいだろ
出来るやつでも30万ぐらい
ITドカタに夢を見過ぎ
122:nobodyさん
13/11/13 15:08:35.97
初級で50万はありえないけど>>121はもっとありえない
業界間違えてないか?
123:nobodyさん
13/11/13 15:12:56.05
ITドカタも普通の会社員と変わりねーぞ
スーツ着て出社してスーツ着て仕事して
アホな上司のいう事聞いて忘年会新年会の幹事させられて・・・。
124:nobodyさん
13/11/13 15:13:25.32
ま転職して現実を見るといいよ
そんな給料良ければみんなやってる
125:nobodyさん
13/11/13 15:16:17.39
あごめん、正社員の話か
126:nobodyさん
13/11/13 15:16:56.96
製薬会社の営業だから今の給料は良いんだろーけど
本当に会社員と変わりないから↓みたいな夢見るの止めとけ
URLリンク(farm1.static.flickr.com)
127:nobodyさん
13/11/13 15:23:35.96
この業界ってほとんど零細企業ばかりなのに不安定さがすきなの?
キャリア積んで20年勤続とかならともかく50万?
リクルートサイトが出してる年収例とかに騙されちゃう口?
それともMSやGoogleとか外資系ITトップに名を連ねるとこにでも就職できるの?
128:nobodyさん
13/11/13 16:18:28.86
プログラマーでスーツ着て出社する会社ってほとんど見たことないんですが
129:nobodyさん
13/11/13 16:21:58.22
ないね
130:nobodyさん
13/11/13 17:43:10.12
俺はニートだけどプログラマーやってる俺の友達仕事帰りに会うといっつもスーツだぞ
131:nobodyさん
13/11/13 18:12:00.37
客先常駐プログラマはスーツだろ
132:nobodyさん
13/11/13 18:23:50.48
この業界不安定なのは事実だが、零細ってわけじゃない
給与帯が上になるほど、センスとコネが重要な業界
133:nobodyさん
13/11/14 04:10:03.48
ゲーム作成会社へスーツで面接に行ったら
コスプレみたいだって言われたぞ
134:nobodyさん
13/11/14 05:43:47.22 F7e5g5ZR
単に似合ってなかったからだw
俺レベルのチビデブハゲになると、
一切の冗談も言ってもらえなくなるから
まだマシな方だだろう。
135:nobodyさん
13/11/14 12:24:04.77 E2bhgOuX
preg_replace 系(_all や _callback含む)で、正規表現にマッチした文が大きく(長く?)なるものを置換しようとすると、
レスポンスの応答がなくなってしまいます。
開発環境でこの現象は生じて、環境はWindowsXP、PHPのバージョンは5.4.19、Apache/2.4.4 (Win32)を使用しています。
同じものをサーバーにアップロードした場合は、ちゃんと動作します。
何か改善方法はありませんか?
136:nobodyさん
13/11/14 13:11:45.16
メモリが足りないんだろ
137:nobodyさん
13/11/14 13:13:47.05
PCのスペックとサーバーのスペック教えてくれ
138:nobodyさん
13/11/14 13:26:01.78
例え開発環境でもWindowsXP使ってるようでは…
139:nobodyさん
13/11/14 13:41:39.01 E2bhgOuX
調べてたら、PHPのバグレポートにありました
Bug #60231 child process exited with status 3221225725
URLリンク(bugs.php.net)
どうやらスタックサイズを増やせば解決しそうなので試してみることにします
140:nobodyさん
13/11/14 14:00:44.89
>>139
Apacheのログに
child process exited with status
が出てたら正解
Windows特有の問題やな
PHPのバグではない
Apacheの設定ファイルでThreadStackSizeを設定すれば良いだけか
141:nobodyさん
13/11/14 18:03:10.70
>>140
ステータスコードを無視する人ってそそっかしいんだなぁ。
そそっかしいあまりWindows特有の問題だなんて思い込んでる。
142:nobodyさん
13/11/14 19:08:01.53
>>141
ステータスコード1個じゃないんだよ
143:nobodyさん
13/11/14 19:13:38.15
>>141
これってmpm_winntに起因する問題じゃないのか?
144:nobodyさん
13/11/14 22:39:31.89
>>142
スタックオーバーフローを示すステータスコードが複数あって、
さらに子プロセスが終了する原因はそれしかないというのならいいけど。
>>141
windows以外はスタックが無限にあると?
145:nobodyさん
13/11/14 23:16:16.54
スタック関係はWindows特有ではないけどWindows以外では滅多におきん罠
Javaとか別途に定義する系や、スレッド系は起きるけどな
146:nobodyさん
13/11/15 15:13:17.81
このスレでPHPの話をすることも有るんなだw
いつもの殺伐したした雰囲気じゃないと不安になるわ・・・
147:nobodyさん
13/11/15 17:06:38.69
Windowsで開発するの本当いい加減にしろよ
VirtualBoxすらいれられないチンパンども
148:nobodyさん
13/11/15 17:09:16.09
Windowsで開発してもいいけど、改行コードを勝手にCRLFにしてcommitするのだけは勘弁してくれ。
149:nobodyさん
13/11/15 17:19:17.86
GitならコミットするときにLFにすればいいじゃん
150:nobodyさん
13/11/15 17:22:00.01
どこの会社みても開発はWindows
Linuxで開発しろとかいってんのは100%尼
151:nobodyさん
13/11/15 17:23:06.75
どこの(へぼ)会社
152:nobodyさん
13/11/15 17:27:26.50
なんの問題もなく出来るのに、自分ができないからって道具のせいにするのは恥ずかしい限りだな。
153:nobodyさん
13/11/15 17:58:59.94
>>150
うちは全員Macだけど
154:nobodyさん
13/11/15 18:01:19.41
本番環境とできる限り揃えるかだけじゃないのか?
155:nobodyさん
13/11/15 18:02:32.18
全員って何?会社にPC持参したり普及PC選べんの?
156:nobodyさん
13/11/15 18:03:31.25
普及じゃなくて配給
日本語むずかしいね
157:nobodyさん
13/11/15 18:07:57.50
うちは配給PC選べるよ。持参PCは手続きがめんどくさい。
予算上限はあるけどね
MacでもWindowsでもLinuxでもなんでもいいのだが
Vagrantの利用がルール
158:nobodyさん
13/11/15 18:33:35.37
単体テストの段階は環境使い回し、結合テストで本番環境1つ用意。
PHPなんてこんなもんでいいよ。
別にPHPを馬鹿にしてるわけじゃなくて環境の差の影響を受けにくいから、
結合テストでバグが出ても数分で解決できるケースがほとんど。
もちろん要件定義がしっかりしてればの話。
159:nobodyさん
13/11/15 18:46:25.01
PHPには、そもそも単体テストとか結合テストとか必要ないだろ?
すぐに結果が出る。
すぐ修正できる。
それがメリットじゃん、サーバーサイドJavaとかと違って
160:nobodyさん
13/11/15 19:05:09.92
規模が大きくなるとそうもいってらんないんじゃ
161:nobodyさん
13/11/15 19:07:06.19
>>160
そんな規模ならPHPは使わないよ
162:nobodyさん
13/11/15 19:23:52.11
学生かニートの書き込み↓
150 名前:nobodyさん[sage] 投稿日:2013/11/15(金) 17:22:00.01 ID:???
どこの会社みても開発はWindows
Linuxで開発しろとかいってんのは100%尼
163:nobodyさん
13/11/15 19:26:45.24
>>161
世界のPHPベースのWebサービスはどうなるんだい
164:nobodyさん
13/11/15 19:57:14.89
>>162
くやしかったの?>>147さん
165:nobodyさん
13/11/15 19:57:57.26
>>163
161 にとってFacebook程度は雑魚レベルなんだろ。
166:nobodyさん
13/11/15 20:25:14.54
>>157
配給PC選べるならそりゃMACにするだろうな
単純に値段高いし壊れやすいけどハード自体は高性能だし
つうかリッチだなとこだなオイ
167:nobodyさん
13/11/15 20:52:07.04
>>166
Macは4割ぐらいしかいないよ
Linuxにするのが性能の割りに安いから
それにモニタ3枚とかしてるやつも多い
168:nobodyさん
13/11/15 21:22:42.81
全員Macって言うたやん。
ま、普通の規模のとこならHPやDELLあたりから法人向けのを導入するんじゃね。
少数精鋭じゃないけど小規模のとこはハードには金をかけざるを得ないからね。
169:nobodyさん
13/11/15 22:12:17.28
>>168
すまんな153は俺じゃないんだ
DELLも結構入ってる
自分で決められない奴はMacかDELLになる
170:nobodyさん
13/11/15 22:48:10.58
>>164はWindowsでしか開発したことがないからWindowsでの開発を否定されるとまるで自分を否定されたかのように感じちゃうんでしょ
171:nobodyさん
13/11/15 22:54:48.89
またその流れかよ。
マ板に行けよ
172:nobodyさん
13/11/15 22:59:08.01
>>170
くやしかったの?
173:nobodyさん
13/11/15 23:10:52.20
Mac使ってるアホは文系デザイナーなんだろ
174:nobodyさん
13/11/15 23:11:12.10
そもそも、IIS なんかで PHP を動作させてもパフォーマンスも悪いし安定動作しないよ
175:nobodyさん
13/11/15 23:12:25.40
>>173
頭の悪い土挫が言いそうなセリフだなw
176:nobodyさん
13/11/15 23:14:59.73
俺はやったことないが、IIS7でFastCGIで組むといいらしいじゃないか
177:nobodyさん
13/11/15 23:17:02.85
>>176
(ほんの)ちょっとはマシになったってくらい
178:nobodyさん
13/11/15 23:25:35.23
URLリンク(msdn.microsoft.com)
ASPとのライバル関係にあるPHPのシェアを無視できなかったMSは
せめてIISを使ってくれとPHPerに懇願しました
179:nobodyさん
13/11/15 23:42:41.90
開発なんて慣れてるOSが一番
個人的にはiOSの開発もしないしVisual Studio使えないからマックはいらないって感じだけど
マックはなんかデザイナーや開発者っぽい(=一般人向けではない)っていうイメージがあるし
もってたら出来る男って感じがするけど
最近はiPhoneのおかげで一般人でも浸透してきてるしレア度はあんまないね
180:nobodyさん
13/11/15 23:54:54.86
昔はVAIO持ってるとモテたけど今はMacbook Airだな。
10インチクラスのタブレット(iPad)を、
社長やってるいとこが出先でよく使ってたけど、あれは見てて滑稽だったわ。
タブレットはクールじゃないね。
181:nobodyさん
13/11/16 00:03:59.42
Macがモテる時代は2年前ぐらいに終わってるっしょ
182:nobodyさん
13/11/16 00:07:59.93
キモブサがどんなPC持ってたってモテるわけないだろ
鏡見ろよ
183:nobodyさん
13/11/16 00:11:29.13
ぼくあぽー
あいぽーん5が売れなくて困ってるの
だれかぽすけて
184:nobodyさん
13/11/16 00:24:54.66
プログラム自体の話は出来ないのに、混ざりたがるから、
自分でもなんか言える人の話に誘導しようと必死ないつものアホ
185:nobodyさん
13/11/16 00:39:24.79
おこなの?
186:nobodyさん
13/11/16 00:43:26.50
Windows最高
XAMPP最高
ということで終了
187:nobodyさん
13/11/16 01:26:55.15
結局、質問にちゃんと答えられたのは>>140だけで
それ以外は無知を晒してるだけだったな
挙句の果てに Winsowsガー PHPガー XAMPPガー とか言い出しちゃう低脳っぷり(笑)
188:nobodyさん
13/11/16 01:29:07.24
>>139が自己解決したってのにそれの後追いで別に大した追加情報もなしにドヤ顔してるのが>>140
189:nobodyさん
13/11/16 01:33:09.14
いや、140は質問者が自分でほぼ答えを出した後だろ
まあ、それ以前の間抜けな回答や以降の低脳っぷりってところは同意だが。
190:nobodyさん
13/11/16 01:35:30.17
>>186
一生マスかいてろw
191:nobodyさん
13/11/16 02:01:46.78
まぁこんな雰囲気にした>>147がチンパンだったということでもういいだろ?
192:nobodyさん
13/11/16 02:08:23.19
まぁ、いいけど、PHP と Windows は、そもそも相性が良くない。
遊びならなんでもいいけどね
193:nobodyさん
13/11/16 02:10:44.25
開発環境と動作環境は別の話。
相性がよいかどうかは開発環境には関係ない。
194:nobodyさん
13/11/16 02:18:15.25
>>193
開発環境が Windows で、動作環境が Unix系 + Apache ってこと?
なんと無駄なことを
195:nobodyさん
13/11/16 02:28:39.00
無駄と発想する時点でお前が底辺なのは判った
196:nobodyさん
13/11/16 02:32:02.75
>>194
それは無駄ってか、単なる情弱なだけだろw
197:nobodyさん
13/11/16 02:38:18.02
>>194
apacheなんてのはおまけなんだよ
開発に主眼をおくべきものは自分にとって使いやすいOSと使いやすいIDEだ
198:nobodyさん
13/11/16 02:48:07.07
>>197
一生マスかいてろw
199:nobodyさん
13/11/16 07:50:04.07
httpdに何を使ってるか
OSが何かで影響受けないプログラムもあれば、受けるものもある
それ次第だから、勝手にすればいいんじゃね?
大体ひっかかるのがWindowsにImageMagickをインストールするのが大変ってとこか
開発環境と、開発実行環境も別か
俺はPhpStorm派だから、IDEはWindowsでもMacでもLinuxでも動くから問題ない
Windowsでやってたときは、当然VMだった
200:nobodyさん
13/11/16 08:02:01.34
IDEがクロスプラットフォームでも、それを使えるまでにかかる労力や、
その他全体の使い勝手・作業効率なんかを考えると、
慣れ親しんだOS使うのが一番いいに決まってるわ。
最悪プログラムなんてのはメモ帳で書ける。
WindowsクライアントからSSHでLinuxサーバにログインして、
サーバのファイルを直接viで編集なんてのは昔ならよくあった話。
201:nobodyさん
13/11/16 08:15:44.39
スクリプトでOS依存書いてる時点で極限のアホだろ
とは思う
202:nobodyさん
13/11/16 08:16:52.02
>>201
お前の中ではそうなんだろうな
203:nobodyさん
13/11/16 08:20:03.05
>>202
俺だけじゃない、お前以外な
204:484
13/11/16 08:24:54.41
>>201
redis依存書いたら前までWindowsじゃ無理だったしな
OS依存なんて腐るほどあるっしょ
スクリプトのPATH_SEPARATORとかそういう意味を言ってるなら同意だが
205:nobodyさん
13/11/16 08:29:32.63
C:\WINDOWSとかOS依存がわかりやすい記述は無意識に排除しちゃうし
PHPの場合OS依存で書くほうが難しいな
初めて使う関数はマニュアルちゃんと見るし知らずにOS限定の関数使うなんてこともない
この手の問題に遭う低スキルの人はちゃんと環境構築したほうがいいだろうね
206:nobodyさん
13/11/16 08:37:12.04
最近はネットだけでいいって人もいるだろうけど
現実問題PHP開発以外にもやることはたくさんあるのでWindowsじゃないと不便
だからWindowsでいい
VMはOSが重くなるし汚くなるから入れない
世の中の人間そんなにPCいっぱい持ってませんよ
207:nobodyさん
13/11/16 08:43:55.39
人それぞれってことだ
俺っは今Linuxで苦労したことないし
Windowsじゃないと駄目なことが今のところない
208:nobodyさん
13/11/16 08:53:13.23
Windowsで苦労したことないし
Linuxじゃないと駄目なことも今のところないね
209:nobodyさん
13/11/16 08:59:50.40
OS依存で書くバカは他人に使ってもらう前提のフレームワークやライブラリを
書いたことがないんだろうな、とは思う
210:nobodyさん
13/11/16 09:05:25.89
OS依存の話はやめよう
C:\WINDOWSとかならただのバカだし
使用するミドルウェアの問題ならどうしようもない
話すだけ無駄ですよ
211:nobodyさん
13/11/16 09:10:09.28
Linuxで開発すれば OS依存しないのかよwwww
212:nobodyさん
13/11/16 13:29:14.82
>>211
誰かそんなこと言ってるか?このスレで
被害妄想なのか劣等感の現れなのか
213:nobodyさん
13/11/16 13:40:46.89
今更どうしたの?悔しいの?
214:nobodyさん
13/11/16 13:47:56.32
>>213
相当悔しそうだなw
215:nobodyさん
13/11/16 14:08:58.49
>>213
なにがそんなに悔しいんだ?
216:nobodyさん
13/11/16 15:27:22.51
( ゚,_・・゚)ブブブッ
217:nobodyさん
13/11/16 17:47:20.20
WindowsでPHP使えるの?
てか、そんなことして何か意味あるの?
218:nobodyさん
13/11/16 18:08:16.94
レンタルサーバに変更するたびにアップロードして開発するやつにはわからない話
219:nobodyさん
13/11/16 18:18:13.33
>>218
> アップロードして開発する
この意味がわからないんですが、解説してくれる?
全体も意味不明なんだけど
220:nobodyさん
13/11/16 18:37:26.94
>>219
>>1
221:nobodyさん
13/11/16 18:38:46.80
>>220
うるせい馬鹿
222:nobodyさん
13/11/16 18:43:44.24
>>220
>>1001
223:nobodyさん
13/11/16 22:05:00.99
>>217
アドベソフトと仲良くさせるためです。。わし的には、
224:nobodyさん
13/11/16 22:08:30.79
>WindowsでPHP使えるの?
無知の極みだな
225:nobodyさん
13/11/16 23:20:32.23 F3TLx1sI
$ints = array(1,3,4,5,6,7,8,9....∞);
$intsの中にある数字の最大値maxのキーを収得する関数はありますか?
226:nobodyさん
13/11/16 23:21:01.62
>>225
ある
227:nobodyさん
13/11/16 23:23:24.27
あぁ、sortすればいいのか。
めんどくさいこと考えてたわw
228:nobodyさん
13/11/16 23:34:15.95
sortしたらキーは失われるけどいいのけ?
229:nobodyさん
13/11/17 00:48:19.62
配列操作のパターンと
sqlite::memory:に1回いれてmax使うパターン試してみたけど
やっぱ配列操作でやるほうが断然早いしメモリ使用量も少ないな
230:nobodyさん
13/11/17 02:28:59.85
>>217
Windowsだろ?
使えるわけないじゃんw
アホなの?
231:nobodyさん
13/11/17 09:37:26.57
誰も反応してくれないからって自演か
232:nobodyさん
13/11/17 13:01:07.39 iaEwZT+S
>>229
あなたみたいに、無駄かもしれないけどとりあえずやってみようっていう人は素晴らしいと思う。
233:nobodyさん
13/11/17 18:10:59.78
「使える」ってのがどういう意味なのかにもよるな
「動作する」って意味ならLinuxでもWindowsでも使える
「実用に耐える」って意味ならLinuxでもWindowsでも使えない
234:nobodyさん
13/11/17 23:19:57.93
あるログインサイトが、Operaには対応していないため、
[ID]と[パスワード]の入力欄は表示されますが、肝心な[ログイン]ボタンが表示されないので、ログインできません
このOperaは、ガラケーのフルブラウザなんですが、どうにかしてログインさせる方法はありませんでしょうか?
[ID]と[パスワード]の入力欄は問題なく入力できます
宜しくお願いします。
235:nobodyさん
13/11/17 23:33:39.91
EnterでFormにSubmit飛ばない?
236:nobodyさん
13/11/17 23:35:12.68
つうかPHP関係あるのかよ
237:nobodyさん
13/11/18 00:08:15.70
>>233
どこの言語に人?
238:nobodyさん
13/11/18 00:15:21.89
>>237
どこの言語の人って言いたかったかw
PHPが使えないって言ってるやつは大体本人が使えないだけって決まってるからな
239:nobodyさん
13/11/18 12:57:44.49 +1FXVq0T
PHPのオブジェクト指向における多態性(ポリモーフィズム)について質問です。
多態性(ポリモーフィズム)とは、端的に、どういうことを指すのでしょうか?
わかりやすい要点や具体例、使いどころなどをご教示ください。
なお、自分で調べて次のことを知りました。
ネットで調べると、複数のクラスのメソッドの命名を同一にして、場面により切り替えることとありました。
また、ある本では、オブジェクトの引数に他のオブジェクトを渡してそのメソッドを切り替えることとありました。(ストラトジーパターン)
Javaの本では、オーバーロードという仕組みで、引数の数の違いによりメソッドの振る舞いを変えることとありました。
ただ、調べても抽象的で理解が困難です。
ご回答よろしくお願いします。
240:nobodyさん
13/11/18 14:04:36.24
>>239
いろんな言語にある ToString メンバがソレにあたるよ
241:nobodyさん
13/11/18 14:05:27.46 JW8eEpfY
【OS名】xampp
【PHPのバージョン】5.4.7
【連携ソフトウェア】MySQL
【質問内容】
PHPでDBの内容を複数取得して表示する時、どの方法がいいんでしょうか?
PDO::query、PDOStatement::fetch+execute等色々あるようで、
検索しても色々な方法があってよくわからないです。。。
最新のものがいいとは思うのですが、最新のものもどれかよくわかりません。お助け下さい。
242:nobodyさん
13/11/18 14:45:15.05
>>241
複数取得の意味が良くわかんない
どうゆうこと?
243:nobodyさん
13/11/18 15:12:26.33
>>239
PHPのような動的型付け言語(インタープリター)では、基本的にオーバーロード(多重定義)という仕組みはない。
PHPの場合オーバーロードを実現するために、func_get_argsなんかを使って条件分岐でやる必要がある。
ようは引数に渡す型の種類や引数の数は違えど、処理内容が同じになる場合とかに使うわけだけど、
何が嬉しいかというと、メソッド名(関数名)を1つだけ覚えとけばいいとか、メソッド名を考えるのに困らないとか、
まぁそんなところ。(多重定義否定派やそれがよくないと感じる人もいる)
オーバーロードを使わない場合、>>240のあげるtoStringは、
intToString($int)とかboolToString($bool)とか冗長な名前でごった返すことになる。
ただPHPではfunc_get_argsでやると複雑になるので、そういう実装を取る人も多い。
URLリンク(php.net)
ここで書かれているPHPのオーバーロードというのは、
注釈にも書いてる通り他の言語のオーバーロードとは意味あいが違うので注意。
244:nobodyさん
13/11/18 15:18:20.79
何を取得しようとクエリ使っとけば無難
245:nobodyさん
13/11/18 15:28:53.99
つか、オーバーロードじゃなくてオーバーライドだろ
246:nobodyさん
13/11/18 15:37:21.09
>>239
> ネットで調べると、複数のクラスのメソッドの命名を同一にして、場面により切り替えることとありました。
> また、ある本では、オブジェクトの引数に他のオブジェクトを渡してそのメソッドを切り替えることとありました。(ストラトジーパターン)
これらがポリマーフィズム
> Javaの本では、オーバーロードという仕組みで、引数の数の違いによりメソッドの振る舞いを変えることとありました。
これはポリマーフィズムじゃない
多態性(ポリモーフィズム)は複数のクラスに同じメソッド名を設定することで
どのクラスが来ても同じメソッドの呼び方で実行させられってもの
大体は、インターフェースか継承で実現するもの
ポリマーフィズムに関してはJavaもPHPも差がない
247:nobodyさん
13/11/18 15:51:04.64
Javaだと仮引数に型を明示しないといけないが、PHPは型を明示する必要がなく(しようと思えばできるが)、
その場合、全く関連性の無いオブジェクトでも同一メソッド名のメソッドがあればポリモーフィズムを実現できる。
というのが、JavaとPHPの違い。
248:nobodyさん
13/11/18 16:06:16.24
え?オーバーライドもポリモーフィズム実現手段だけどオーバーロードもポリモーフィズム実現手段だろ
素人ばかりだな
249:nobodyさん
13/11/18 16:07:41.17
オーバーライドっていうか継承ね
250:nobodyさん
13/11/18 16:11:32.63
>>248
全ての言語仕様は実現手段だよな
251:nobodyさん
13/11/18 16:13:50.49
URLリンク(detail.chiebukuro.yahoo.co.jp)
この人の言ってることがわかれば参考になると思うよ
わからないからそんな質問してるんだろうけどね
オブジェクト指向の勉強なんてのはPHPでやるもんじゃないので
一回Javaコース入ったほうがいいと思う
252:nobodyさん
13/11/18 16:32:37.32
>>250
253:nobodyさん
13/11/18 16:38:37.75
オーバーロードがポリマーフィズム実現手段かは
SmallTalkのときから長らく議論されてる問題
僕はポリマーフィズム実現手段派
254:nobodyさん
13/11/18 16:45:12.30
ポリマーフィズム → ポリモーフィズム
SmallTalk → Smalltalk
255:nobodyさん
13/11/18 16:51:58.32
ポリマーってエチレン思い出すからやめてくれ
256:nobodyさん
13/11/18 17:14:25.82
俺は破裏拳
257:239
13/11/18 17:27:24.47 hjGdNC9C
ご回答ありがとうございます。とても参考になりました。
>>243
多態性(ポリモーフィズム)のメリットを理解できました。
メソッド名の統一により楽できることが利点の一つなのですね。
>>246
抽象クラスで、メソッドの実装と名称を強制するのと同義と考えて大丈夫ですよね。
>>247
同一のメソッド名にすれば、その効果が、結局、ポリモーフィズムであるということですよね。
>>251
そのページの説明を読みましたが、解答がポリモーフィズムからずれて、オブジェクト指向全般の概要になっている気がします。
ただ、次の部分は、ポリモーフィズムの説明だと思いました。
もっとも、PHPのオーバーロードは、Javaとは別物のようです。
『他にも "オーバーロード" といった便利な機能があります。
引数の種類を変えれば、同名のメソッドを定義できるというものです。
いい例えが思いつきませんが、攻撃する際に "こうげき" のみでダメージ判定されるものと
"こうげき" と "まりょく" でダメージ判定される攻撃の二つがある場合、必要な引数が前者で1つ、後者で2つなのでどちらも記述できるといったカンジです。』
ありがとうございました。
258:nobodyさん
13/11/18 19:39:12.50
>>241
外部からのデータを扱う場合、prepareメソッドを使う(無害化する機能有り)
外部からのデータを扱わない場合、queryメソッドを使う(無害化する機能無し)
分からなければ常にprepare使えばOK
259:nobodyさん
13/11/18 21:31:57.27
order by ascかdescかを選択するときなんかの時はprepare使いづらいよね
260:nobodyさん
13/11/18 21:44:21.81
>>259
え?
261:nobodyさん
13/11/18 21:52:48.72
入力値でどっちにするか決まるけどbindできないじゃん
条件文使わないといけなくなるから使いづらい
262:nobodyさん
13/11/18 21:53:41.23 HK3o2Mp0
>>261
それ何でやっても同じだろ
263:nobodyさん
13/11/18 21:58:12.44
プリペアードステートメント使うことと
条件によってクエリが変わることは全く別物だぞ
264:nobodyさん
13/11/18 22:00:52.85
はい
じゃやっぱクエリ2つ用意するのね
265:nobodyさん
13/11/18 22:04:57.29
何のためにプリペアードステートメント使うか理解してから使おう、な
266:nobodyさん
13/11/18 22:53:34.11
気持ちは分かる。
パラメータを無害化することしか知らない人には分からないだろうけど。
267:234
13/11/18 23:36:38.28
済みません、スレチでしたら誘導お願いできませんか?
268:nobodyさん
13/11/18 23:39:32.18
>>267
そもそもなんでPHPスレだと思ったの?
269:nobodyさん
13/11/18 23:53:32.87
>>234
それはそのサイトの管理者問い合わせしたほうがいいんじゃね?
連絡がつくなら修正してくれるんじゃね?
270:nobodyさん
13/11/19 00:24:28.55
>>266
プリペアドステートメントの他の使い方って?
271:nobodyさん
13/11/19 01:02:24.07
>>270
プリペアすることだろ
272:nobodyさん
13/11/19 10:43:34.31
PHPがレベル低いって思われる最たるものが大手のFWでprepare使わずに、自前やquoteメソッドで対応してる例があることだ
273:nobodyさん
13/11/19 10:54:41.60
そういうのをPHPガーって言うのが恥ずかしくない頭なんだろうな。
274:nobodyさん
13/11/19 11:09:09.11
>>273
これに関しては仕方ないんじゃないか
FuelPHPとかあそこらへんも終わってたような
275:nobodyさん
13/11/19 11:57:37.76
個別のソフトの問題や、使ってる人の問題を、言語自体の問題にすり替えて仕方ないと言ってるから、
あおりのレベルが低いんだよな。
276:nobodyさん
13/11/19 12:16:10.14
使えないFWが多いのはちょっと問題だとは思うけどなー
使ってる人の問題だけど、そういうFWを推してる人はどうにかならんかな
277:nobodyさん
13/11/19 12:17:54.87
下見て暮らしてる奴だからしょうがない
278:nobodyさん
13/11/19 12:18:57.84
>>277は>>275に対してね
279:nobodyさん
13/11/19 12:20:03.73
FWなら結局、CakePHPがいいよね。
280:nobodyさん
13/11/19 12:28:14.36
よくない
281:nobodyさん
13/11/19 12:30:37.60
CakePHPは日本と日本のオフショア先だけまだまだ盛んだな
282:nobodyさん
13/11/19 12:39:02.32
fuelは出た手の頃、ormがPrepare使ってなくて使うのやめたんだが
今も治ってないの?
283:nobodyさん
13/11/19 12:53:02.64 hKBGRur1
>>282
URLリンク(fuelphp.jp)
284:nobodyさん
13/11/19 13:15:30.92
>>283
ダメではないか
285:nobodyさん
13/11/19 13:17:38.96
私JKで試したわけぢゃないけどーprepare+bindXxxって
query+quoteに比べて処理工数が多いだけに遅そうだしー
ただでさえ遅いFWの速度をあげるには仕方ないのでゎ
286:nobodyさん
13/11/19 13:21:29.56
>>285
そんなんボトルネックにならん
287:nobodyさん
13/11/19 13:23:36.67
ちっちゃいのが積み重なると大きくなるけどね
288:nobodyさん
13/11/19 13:24:21.74
>>284
一昔前の文字コードやエスケープ処理での脆弱性を知らないんだろうし
シングルバイト系の人は知らない人多いし
289:nobodyさん
13/11/19 13:37:06.01 hKBGRur1
>>284 >> 288
だめなの?
fuelphpてSQLインジェクション防げないんだ…
これはオワコンだわ
290:nobodyさん
13/11/19 13:49:33.19
>>289
基本的には防げてるし、新たに発見された脆弱性も継続して修正されてる。
URLリンク(fuelphp.com)
「プリペアードステートメントを使ってないからSQLインジェクションの脆弱性がある」というのはFUD。
とはいえ、プリペアードステートメント使えやとは思うけどね。
291:nobodyさん
13/11/19 13:57:50.15
SQLインジェクションは、Prepare使わないと防げないわけではない。
そもそもでいえば、インジェクション防止の機構じゃねーし。
SQLの機構じゃなくて、ライブラリのラッパなので、仕様によっては
使っていても問題ないというわけではない。
292:nobodyさん
13/11/19 13:58:01.02
>>285
クエリを実行するとき、データベースサーバでは、
1. 構文解析
2. 実行計画立案
3. クエリ実行
の処理が必要で、prepareでは1または1&2が行われる。(構文のみで実行計画を立てて固定する場合と、3で渡された
パラメータをもとに実行計画を立てる場合がある)
一方、exec queryでは毎回1~3が行われる。
なので、同じ処理をパラメータを変えながら複数回実行する場合、プリペアードステートメントを使った方が速い場合がある。
293:nobodyさん
13/11/19 14:08:35.69
レスありがとうございます
>>268
PHPが何なのか解らず、単にネットプログラムの質問スレで質問させて頂きました
>>269
大手企業サイトなので厳しいですね
ど素人ながら、ログインボタンのURLとかPCでログイン後のURLとか試したんですが、無理でした
294:nobodyさん
13/11/19 14:12:15.36
>>293
> 大手企業サイトなので厳しいですね
大手こそ対応してくれそうなもんだが。
「○○のサイトって、ガラケーのフルブラウザだとログインもできない糞サイトだわ」
とかネットで言われると困るだろうし。
295:nobodyさん
13/11/19 14:15:18.76
>>289
そこそこ有名なPHPのフレームワークにそんな基本的な脆弱性があるなら、大垣氏あたりが騒いでるよ。
296:nobodyさん
13/11/19 14:48:00.13
>>295
もちろん知ってる。>>284と>>288を皮肉ったんだよ、
297:nobodyさん
13/11/19 15:30:48.92
>>288の話ってPHPの脆弱性の話じゃないだろ、常識だろ?
298:nobodyさん
13/11/19 15:39:16.53
URLリンク(gihyo.jp)
299:nobodyさん
13/11/19 15:49:48.19
>>295
quoteだけでは防げない問題を見つけてつぶしていってくれてるんだよ。
300:nobodyさん
13/11/19 15:55:45.62
URLリンク(www.tokumaru.org)
昔のMySQLみたいなprepareがクライアントサイドで処理とかゴミな実装されてると
prepareのほうが脆弱性の巣窟になりかねない。
この場合、徳丸氏や大垣氏が騒ぐから問題はいつか解決される
301:nobodyさん
13/11/19 16:05:50.48
今htmlフォームのradio,cheakbox,selectを使ってphpにポストしています
ポストしたデータ類はdbやcsvに書き込んだり保存したりするわけでもなく
switch($_POST["color"])
{
case "red":return imageColorAllocateAlpha($i,200,200,200,$alpha);break;
~~~~~~
default:return imagecolorallocate($i,255,255,255,$alpha);break;
}
で最終的に変な物が飛んできてもdefaultで処理されると思うんですがセキュリティ的にこれ$_POSTを正規表現やstrlenで弾くべきですか?
302:nobodyさん
13/11/19 16:09:44.47
>>301
大丈夫
303:nobodyさん
13/11/19 16:12:49.08
>>302
ありがとうございます。。
304:nobodyさん
13/11/19 16:17:55.45
>>301
一応、問題ない。
ただ、不正な値をエラーとして弾くと、ログから変な操作をする奴を突き止めやすい。
305:nobodyさん
13/11/19 17:47:12.58
自分はpost値をひと通りチェックして処理入る前に
想定外のものがあったらexitして真っ白にして不気味感を演出したり
headerでbad requestあたりを返すと思う
306:nobodyさん
13/11/19 18:06:18.79
俺は大抵302でヤフーにお任せするわ
307:nobodyさん
13/11/19 20:51:48.38
headerにbad request(400)なんてあるんだね。
余談だが、404にすべきページをエラーページに飛ばしてたら
ソフト404とかで注意されたよ。
308:nobodyさん
13/11/19 20:54:19.28
>>307
ステータスを404にしないからだな
309:nobodyさん
13/11/19 21:10:38.01
うわー自前で正規表現やらintvalだの使ってvalidationしてたけどfilterなんてあったのか
310:nobodyさん
13/11/19 21:14:07.64
<?php
header("HTTP/1.0 404 Not Found");
header("Location: URLリンク(www.example.com));
こんな感じにしたら、なぜか、最初のヘッダーは無視されて、
結局、302でのリダイレクトになっちゃうから404を出すのは諦めたんだけど。
404出してから更にエラーページに遷移するのは無理っぽい。
fiddlerでステータスコードを確認した限りの話だが。
311:nobodyさん
13/11/19 21:14:29.22
>>309
FilterとCtypeは重要
312:nobodyさん
13/11/19 21:15:39.77
>>310
そりゃだめだろ
リダイレクト先で404出さないと
313:nobodyさん
13/11/19 21:17:35.20
>>310
それおかしいだろ
リダイレクト先のそのURLで404を返すようにしなさいよ
314:nobodyさん
13/11/19 21:18:06.73
リロードしてなかったのごめんね
315:310
13/11/19 21:37:04.47 XtFCM7Hl
まじですか・・・。
いや、エラーページは200を返す普通のページにしてたんだけど。
もちろん、存在しないページ用の404ページ(ヘッダー404)は別に用意してるんだけど。
つーか、むしろエラーページに飛ばさないで、素直に404ページに飛ばせばいいのか。
316:310
13/11/19 21:42:44.27 XtFCM7Hl
普通、エラーページも404ヘッダーを出すものなのですか?
317:nobodyさん
13/11/19 21:49:59.72
エラーページで404が必要なときは404
厳密には200を返す必要があるときはない
318:nobodyさん
13/11/19 21:54:36.62
404 FOT FOUNDとかechoしておいて200返してるのはかなりかっこ悪いとは思う
319:310
13/11/19 22:48:57.12 9JiWXD43
レスありがとうございます。
どうも頭が混乱してしまいました。
こうすれば大丈夫でしょうか?
POSTパラメーターが不正 → エラーページ
(200ステータス: echo ”リクエストが不正です”)
GETパラメーターが不正か不存在 → 404ページ
(404ステータス: echo ”ページが存在しません”)
GETパラメーターの場合に、エラーページに飛ばしていたのが、
ソフト404の原因だと思うのです。
320:nobodyさん
13/11/19 23:00:34.26
>>319
RFC2616か、WikipediaのHTTPステータスコードでもいいから読んで
どういう時にどれを使えばいいか分かるから
321:nobodyさん
13/11/19 23:04:02.90
パラメーターの問題じゃない
hoge.phpというファイルは存在しているんだから404を返すのは不自然
322:310
13/11/19 23:29:26.30 9JiWXD43
>>320
ご指摘に従い、HTTPステータスコード等について調べてみます。
>>321
mod_rewriteで、GETパラメーターを静的URLに書き換えてリンクとして活用しているのですが、
この場合もhoge.phpは存在するとみなされるのでしょうか?
(例)ttp:example.com/hoge/2013/11/29
9999とか不正な値がきたら、404に飛ばせばいいかなと思ったのですが。
わかりづらい説明ですみません。
323:nobodyさん
13/11/19 23:44:52.18
mod_rewriteでやってもアプリケーション側で弾かない限り
実質的にはhoge.php?y=2013&m=11&d=29みたいな感じで見れると思うけど
hoge.phpが存在するというのを表向きに知られたくないのなら好きにすればいいんじゃね
目的とか実装によりけりだよそのへんは
324:nobodyさん
13/11/19 23:51:53.10
>>322
ファイルがあろうがなかろうが、そのURLを存在させたくなければ404でよい
> (例)ttp:example.com/hoge/2013/11/29
> 9999とか不正な値がきたら、404に飛ばせばいいかなと思ったのですが。
404が適切。
325:nobodyさん
13/11/19 23:59:01.39
ブログ記事を表示するページのurlが
example.com/post/ブログ記事のid
だとして、存在しないidだったときは404返してたんだけど間違ってる?
326:310
13/11/20 00:10:19.19 VLPy2k85
>>323 >>324
(例)ttp:example.com/hoge/2013/11/29
結論として、このurlの不正な値の場合に、200のエラーページに飛ばしていたのがソフト404の原因ですよね。
ご指摘くださったことを参考に、もう一度、ページの構成と遷移、
ステータスコードの関係について検証したいと思います。
ありがとうございました。
327:nobodyさん
13/11/20 00:31:49.62
>>325
あってる
328:nobodyさん
13/11/20 07:53:07.64
訳もわからず404や403を返しちゃうのは恥ずかしいよね。
自分で書いてるスクリプトなのにw
400と500のどちらかを返すだけの方が無難だよねw
329:nobodyさん
13/11/20 08:01:27.90
>>328
君は存在してることが恥ずかしい
330:nobodyさん
13/11/20 09:35:19.42
>>328
httpステータスコードでググってこい
331:nobodyさん
13/11/20 11:28:24.00 35fCUlou
通常、ファイルが存在しない場合に備えて、.htaccessに次の様な設定をすると思います。
ErrorDocument 404 /error/404.php(404ヘッダーを出力)
ここから質問です。
次のURLのid値が不正な場合、404となるよう、同様に、/error/404.php に遷移できますか?
URLリンク(example.com)
header('Location: URLリンク(example.com)');
post.phpで出すこのヘッダーは302ですが、遷移すれば、結果として404扱いになるのでしょうか?
332:nobodyさん
13/11/20 11:33:09.19
その 404.php は何を返すの?
333:331
13/11/20 11:36:20.51 35fCUlou
>>332
オリジナルに作成した、いわゆる404ページです。
もしかしたら、(404ヘッダーを出力) という部分は間違いかもです。
334:nobodyさん
13/11/20 11:57:47.58
UAがリダイレクトを許可する設定なら404
そうでないなら302
不安ならPHP側で処理に合わせてheaderとresponse返すようにすればおk
335:nobodyさん
13/11/20 12:22:36.67
>>331
Locationは「リソースの別の場所を案内する」ために用いられるもの
「リソースが見つからない」場合の挙動は定義されていない
各ベンダーの実装は404とLocationを一緒に出すと無視される
よって include('error/404.php'); 等とするしかない
336:331
13/11/20 12:41:10.58 35fCUlou
>>334 >>335
ありがとうございます。
header("HTTP/1.0 404 Not Found");
このヘッダー出力だけで、自動で遷移する、ErrorDocument 404 と
同様の効果があると良いのですが、どうも無理なようですね。
<?php
//idチェック処理後不正な場合
header("HTTP/1.0 404 Not Found");
include('error/404.php');
exit;
やはり、こうして読み込むしかないということですね。
ありがとうございました。
337:nobodyさん
13/11/20 12:43:47.50
404.php側でヘッダに404を出せよというだけじゃね?w
338:nobodyさん
13/11/20 12:48:58.33
>>337
ソフト404エラーでググれ
339:nobodyさん
13/11/20 17:14:42.69
>>337
だよね
>>338
?
340:nobodyさん
13/11/20 17:32:58.48
>>337
404.phpに移動していいならそれでいいね。
ただ、.htaccessにErrorDocument設定をしたのと同じ振る舞いを希望するなら、その手じゃ駄目なんじゃ。
341:nobodyさん
13/11/20 17:55:26.35
変な質問ですみません。
最近転職してPHPを触るようになったのですが、Linux上のvimで開発しています。
開発時にインデントをある程度入れると思うのですが、普通はどのようにインデントを
入れるのが正しいソースの書き方なんでしょうか?
今触っているソースは特に改行やTABインデントがなく、そのまま1行でずっと
書かれてあり可読性としてどうなのかなと思いつつも、そういうルールかもしれないと思い
自分も特にインデント等を入れずに開発しているのですが。。
わかりにくい書き方で申し訳ありませんが、どなたか教えて頂けないでしょうか
342:nobodyさん
13/11/20 17:57:19.88
難読化してんのかね?
整形して編集してリリース時にまた改行消す、とかでいいんじゃ?
343:nobodyさん
13/11/20 17:58:27.74
コーディング規約ないならご自由に
後で自分が追うことになっても苦労しない程度にね
344:nobodyさん
13/11/20 18:00:00.26
>>337 >>339
次の文は正しい?それとも間違い?
『転送元で302を出しても、転送先で404を出せば「ソフト404」にならない』
345:nobodyさん
13/11/20 18:00:42.18
>>341
インデント、改行の入れ方はいろいろある
URLリンク(www.infiniteloop.co.jp)
URLリンク(ja.phptherightway.com)
のコーディングスタイル
いろいろあってどれが正しいとかはないが、会社やプロダクトでどうなっているか次第
一行に書くのがルールですって言われたら会社辞めちゃいそう
346:nobodyさん
13/11/20 18:01:44.56
>>344
Googleの話だよな?ソフト404って
正しいよ。ただ転送は301がオススメ
347:nobodyさん
13/11/20 18:05:42.61
>>346
そうGoogleの話。
理解できた。ありがとう!
348:nobodyさん
13/11/20 18:05:59.79
>>342-343
パッと見た時に「読みにくい」と思ったのが最初です
例えば
$hoge = array('aaa' => $aaa, 'bbb' => $bbb);
のようなものがあったとして(実際はもっと多いです)
$hoge = array
(
'aaa' => $aaa,
'bbb' => $bbb
);
のように書いた方が後で見た時に読みやすいと思いまして。。
>>345
資料の方ありがとうございます。
そちらを見てみます。
349:nobodyさん
13/11/20 18:07:21.19
>>341
それって最終的にそうしてるってだけで、
編集用のコメントが入ってたりインデントもちゃんと入ってるソースが別にあるでしょ?
つうか会社に人に聞きなさいよ。
350:nobodyさん
13/11/20 18:08:46.70 7VTPw3qr
変なこと聞きますが、base64_encodeでダブルクオーテーションが
含まれる文字列に変換されることってありえませんよね?
351:nobodyさん
13/11/20 18:11:55.88
インデント、手で入れてるんですか?
352:nobodyさん
13/11/20 18:13:31.78
>>350
ないと思うけど
353:nobodyさん
13/11/20 18:14:21.21
>>341
インデントはスペース4つが普通。
いろんな文法チェッカーツールも、デフォルトではタブでインデントしてると警告を出すのが多い。
354:nobodyさん
13/11/20 18:17:04.21
>>349
ないんです
聞いてみたら「昔からこうだった」らしいので。
そういうものなのかなと少し疑問に思って質問しました。すみません
>>353
TABじゃないらしいですね。
>>345さんの教えてくれたページを見て驚きました
スレ汚し申し訳なかったです
355:nobodyさん
13/11/20 18:17:34.09 7VTPw3qr
>>352
ですよね。CSVファイルに保存するとき、base64_encodeして保存してるのですが、
たまにダブルクォーテーションが余分についてファイルが壊れている事があります。
原因が全くわからないので、バグを見つけられずに困っていました。
他の原因を探ってみます。
356:nobodyさん
13/11/20 18:19:19.18
>>354
PHPのインデントはスペース派が多いけど
どっちでもいいよ。会社やプロダクトで決められたほうを使うべきかな
357:nobodyさん
13/11/20 18:20:47.24
>>356
PSR-2がスペース使うのがMUSTだから、どっちでもいいならスペース使っといた方がいい。
358:nobodyさん
13/11/20 18:43:18.00
>>341
vimの設定ちょこちょこしておけばインデントは勝手にやってくれるよ。
インデントを入れずに書くのはやめといたほうが。
359:nobodyさん
13/11/20 18:56:19.40
>>354
やべえなその会社w
お前が引っ張っていってやれ
360:nobodyさん
13/11/20 19:11:37.50
>>357
PSR-2に従うならだな
従うかはMUSTではないからな
うちはPSR-1までは従ってるけど、コーディングスタイルは全然違うな
361:nobodyさん
13/11/20 19:29:19.34
>>346
いい加減な事を教えないでくれ
301はリソースが一時的に別の場所に「ある」時に使う
ソフト404エラーは404を返すべきところで「404を返さない」事を指す
362:nobodyさん
13/11/20 19:45:20.59
>>361
違うよ、まず301は恒久的だぞ、一時的は302
301にしろ302にしろ、リソースが新しいURIに移動したことを示す。
404はURIに一致するリソースが見つけられない、リソースはあるがリクエストを拒否したい等々
移動させることは勝手だし、リソースのあるなしは関係ない。
>ソフト404エラーは404を返すべきところで「404を返さない」事を指す
その通りだが、そのURIを301にしてその先で404を返すのは勝手。
その場で404を返そうがどっちでも良い
返せるならその場の方が好ましいとは言えるかもしれない
363:nobodyさん
13/11/20 19:48:23.17 ZNkS7nHy
PHPで重複組合せを簡単にやるにはどうしたらよいでしょうか?
もし関数やライブラリがあれば教えてください。
無ければサンプルコードを教えてください。よろしくお願いします。
364:nobodyさん
13/11/20 19:52:53.93 ZNkS7nHy
補足です。
仮に、[1, 2, 3, 4, 5] の5つから3つ選び出す場合、
$result = [
[1, 1, 1], [1, 1, 2], [1, 1, 3], [1, 1, 4], [1, 1, 5],
[1, 2, 2], [1, 2, 3], [1, 2, 4], [1, 2, 5],
...
...
[1, 5, 5],
[2, 2, 2], [2, 2, 3], [2, 2, 4], [2, 2, 5],
[2, 3, 3], [2, 3, 4], [2, 3, 5],
...
...
...
...
[5, 5, 5]
];
このように出力したいです。
365:nobodyさん
13/11/20 20:08:13.76
PHPマニュアルが変わった?
366:nobodyさん
13/11/20 20:10:39.68
変わった
367:nobodyさん
13/11/20 20:39:38.18
>>362
> 違うよ、まず301は恒久的だぞ、一時的は302
ごめん、俺が取り間違えてる
> 404はURIに一致するリソースが見つけられない、リソースはあるがリクエストを拒否したい等々
> 移動させることは勝手だし、リソースのあるなしは関係ない。
404は適当な理由による拒否として使うコードではない (RFC 2616#10.4.5)
拒否する理由に合わせて400、401、403、406等が用意されている
> その場で404を返そうがどっちでも良い
> 返せるならその場の方が好ましいとは言えるかもしれない
Googleが決めたソフト404エラーを回避する義務がないのは同意するけど
無いものを無いと知っててクライアントに教えないのはHTTPサーバーとして行儀が悪い
今回のケースではPHPで対応できるのだから404を返すべき。この点は譲れん
368:nobodyさん
13/11/20 20:59:29.17
>>364
$a = [1, 2, 3, 4, 5];
print_r (combine($a,3));
function combine($a, $n) {
if($n==1) return $a;
$result = array();
foreach ($a as $v1)
foreach (($n==2?$a:combine($a,$n-1)) as $v2)
$result[] = array_merge((array)$v1, (array)$v2);
return $result;
}
369:nobodyさん
13/11/20 21:02:06.21
>>367
10.4.5
This status code is commonly used when the server does not wish to
reveal exactly why the request has been refused, or when no other
response is applicable.
書いてあるよ。
>無いものを無いと知っててクライアントに教えないのはHTTPサーバーとして行儀が悪い
301と404のセットで教えてるから良いんだよ
301を返さずに404の方が好ましいかもしれない。だがMUSTじゃないし問題なし
370:nobodyさん
13/11/20 21:25:52.44
>>369
> 10.4.5
それは404の説明ではなく commonly used な
「リクエストを拒否する理由を隠したい、適当なものがない時にも使われている」という使用例だ
ソフト404エラーの話とはまた違う
> 301と404のセットで教えてるから良いんだよ
だから選択ではなくセットで使えという事が
ソフト404エラーに該当するしHTTPサーバーとしての振る舞いとしても良くないと言ってるんだ
371:nobodyさん
13/11/20 21:31:48.37
まだやってたのか
372:nobodyさん
13/11/20 21:38:05.31
>>369
>>344に対する回答>>346が間違い
それだけの話だ
373:nobodyさん
13/11/20 21:42:05.18
>>370
HTTPステータスの話とソフト404の話をごっちゃにしないでくれ
ソフト404はあくまでGoogleがこれ404がいいよねってURLだ
あくまで提案であり、このままだと404と見なすよって意味だ
元の質問が、302→404としたらソフト404でなくなるかだ
答えは「なくなる」だ。これはHTTPステータスではなくGoogleの話だ
>それは404の説明ではなく commonly used な
>「リクエストを拒否する理由を隠したい、適当なものがない時にも使われている」という使用例だ
>ソフト404エラーの話とはまた違う
そのとおり、最初からソフト404エラーとしてそれを説明してないので問題ない
374:nobodyさん
13/11/20 21:45:08.54
>>372
どうみてもあってるんですが、どこが間違ってるんでしょうか?
375:nobodyさん
13/11/20 21:48:25.66
厳密には
URLリンク(support.google.com)
>存在しないページに対して 404 と 410 以外のコードを返すこと(または 404 を返す代わりにホームページなど他のページにリダイレクトすること)は、問題となる可能性があります。
と書いてはあるんだ
実際は302か301で404に飛ばしても、ソフト404エラーの解決にはなる
376:nobodyさん
13/11/20 22:06:42.02
>>373
そうだな対Googleの話に絞ろう
URLリンク(support.google.com)
> 存在しないページに対して 404 と 410 以外のコードを返すこと
> (または 404 を返す代わりにホームページなど他のページにリダイレクトすること)は、問題となる可能性があります。
> まず、その URL にページが存在することが検索エンジンに明示されます。
> その結果、URL がクロールされ、コンテンツがインデックスに登録される場合があります。
質問者はそのURLに対するリクエストをリダイレクトすると
ソフト404エラーにならなくなるのか?を訪ねているのだから答えはNOだ
377:nobodyさん
13/11/20 22:13:11.42
>>376
どうやってコンテンツがインデックスに登録されるんだい?
404返してるページはgoogleはインデックスしないぞ
378:nobodyさん
13/11/20 22:17:24.84
>>375
ごめんリロードしてなかった
俺のサーバーじゃないならリダイレクトしようが何しようが全然構わないけど、
初心者が見に来るスレだからこそ理想的な手段でやって欲しい
379:nobodyさん
13/11/20 22:23:26.54
スレチだしそろそろ終わらせようか
>>377
404や410を返さないURLをどう扱うかは俺ではなくGoogleが決める事
そしてソフト404エラーを回避するためには404、410を返す以外の解決手段が書かれていない
それ以上何を語ればいいんだ
380:nobodyさん
13/11/20 22:26:20.27
>>344 >>346
404か410をその場で返す方が
301や302を利用して404に飛ばすより好ましい
ってレスすれば良いだけではないか
>>361の暴走が全てを狂わせた感じだな
381:nobodyさん
13/11/20 22:39:23.48
>>380
はいはい俺の暴走俺の暴走
質問者も居ないみたいだしもう終わらせよう
382:nobodyさん
13/11/20 22:39:40.62
>>377
これこれ。
> (または 404 を返す代わりにホームページなど他のページにリダイレクトすること)
404を返さずに404らしきページを返すことを、google用語でソフト404という。
だから、404らしきページを返すんなら、ちゃんとステータスコードも404にしろよってことだ。
383:nobodyさん
13/11/20 22:42:16.58
>>382
俺の暴走だからもういいからPHPの話をしよう
/j
/__/ ‘,
// ヽ ‘, 、
// ‘ ! ヽ …わかった この話はやめよう
/イ ‘, l ’
iヘヘ, l | ’
| nヘヘ _ | | l ハイ!! やめやめ
| l_| | | ゝ ̄`ヽ | |〈 ̄ノ
ゝソノノ `ー‐’ l ! ¨/
n/7./7 ∧ j/ / iヽiヽn
|! |///7/:::ゝ r===オ | ! | |/~7
i~| | | ,’ ’/:::::::::::ゝ、 l_こ./ヾ.. nl l .||/
| | | | l {‘:j`i::::::::::::::::`ーr ‘ ||ー?{
| ‘” ̄ ̄iノ .l::::::::::::::::::::::∧ | ゝ ‘,
, 一 r‐‐l γ /、::::::::::::::::::::::::〉ー= ___ ヘ ヽ }
/ o |!:::::} / o` ー 、::::::::::::i o ,’:::::::{`ヽ ヘ ノ
/ o ノ:::::∧ /ヽ o ヽ::::::::| o i::::::::ヽ、 / /
/ ノ::::::/ /::::::::ヽ o ヽ:::| o {::::::::::::::Υ /
384:nobodyさん
13/11/20 22:46:13.11
>>383
分かってる人が多い中で、単にかみ合わなかっただけに見えるけど、
そんな荒れなさんな。よくあること。
385:nobodyさん
13/11/21 11:52:00.88
>>376
> ソフト404エラーにならなくなるのか?を訪ねているのだから答えはNOだ
ならなくなるのがNOなのか、
なるのがNOなのか。
386:nobodyさん
13/11/21 13:55:32.19 z+wm09wI
ところで、フレームワークについてはどう思う?
俺は、Symfony、Zend、Cakeを利用したことがあるけど、
実際は、PurePHP派なんだ。
フレームワークは重い。
人材を探すのが難しい、学習コストがかかる(特にSymfony)
そして、案件が少ない。
と商業的にはいいとこなしなんだけど。
逆に、標準PHPは、PHPプログラマならどんなフレームワーカーでも、対応できる。
設計書とオブジェクト指向さえしっかりしていればね。
こう思うんだけど、皆はどう思ってる?まさかクールだからって理由でフレームワークを使っているわけではあるまい。
387:nobodyさん
13/11/21 13:59:57.42 z+wm09wI
PureなPHPと、一般普及してるフレームワークを利用しているPHPとどちらの
案件が多いのだろうか?
やっぱ、殆どがフレームワークでの案件?
388:nobodyさん
13/11/21 14:08:25.90
フレームワーク指定の案件を受けたことないわ
フレームワークを知ってる人たちが使うと早く案件が終わるから使うってパターンが多いんじゃないの?
389:nobodyさん
13/11/21 14:33:34.62
フレームワーク禁止案件ならいくつかあった
390:nobodyさん
13/11/21 14:35:35.69
自社フレームワーク禁止案件ならあったな
391:nobodyさん
13/11/21 14:37:29.80
何を使うかは受注側、それもメインプログラマが決定すべきものでしょ
既に開発が始まってるPJにアサインされたらやるしかないけど
開発中から開発後まで使うことでメリットを感じるフレームワークならそれでいい
392:389
13/11/21 15:32:28.62
>>391
> 何を使うかは受注側、それもメインプログラマが決定すべきものでしょ
リリース後、自社メンテを睨んでたんだと思うよ。
393:363-364
13/11/21 16:58:54.01 Bf2F+E9Z
>>368
ありがとうございます!!
神様と呼ばせてください!!
神様ありがとうございました!!!
394:nobodyさん
13/11/21 17:32:10.23
ごめん、一箇所無駄があるわw
395:nobodyさん
13/11/21 20:12:07.71
>>368
これだと数が増えるにつれ際限なくメモリ使うから糞コードだぞ
396:nobodyさん
13/11/23 02:09:37.21
phpで掲示板を作ったのですが、次は何を作るのがオススメですか?まだ3ヶ月の初心者です。
397:nobodyさん
13/11/23 02:18:18.78
>>396
PHPから離れて別の言語を探索してみるのもよし
398:nobodyさん
13/11/23 02:19:06.56
流体シミュレーションでも作るといいよ
399:nobodyさん
13/11/23 02:20:08.49
>>396
次はwordperssを使いましょう
それでHPを作成販売すればお金が稼げます。実際にやってる企業も多いですよ
400:nobodyさん
13/11/23 02:21:36.61
>>396
次はDBMSを勉強しよう
お薦めはPostgreSQL
日本では使用例も日本語文献も多いから
401:nobodyさん
13/11/23 02:23:15.44
>>396
WordPressのようなものは初心者にはおすすめしません。
まずはPHPをしっかり理解して自分である程度のシステムを組めるようになること
402:nobodyさん
13/11/23 02:24:53.38
WordPressこそ初心者向けだろwww
使いこなすだけでプロとなんら変わらない事が出来るからやっておけw
403:nobodyさん
13/11/23 02:44:24.06
全くつられやすいなお前らは
404:nobodyさん
13/11/23 02:56:51.81
>>402
おまえが初心者だろ?
プロの仕事わかってないだろwww
405:nobodyさん
13/11/23 03:05:42.91
いや、今時主流になってるサイトはWordPressで作れるだろ
しかも簡単。面倒臭い事は全部WordPressでやってくれる
まさに初心者向けな
必死になっちゃってる奴はライバル増えておまんま食い上げられる事でも危惧してんのか?www
406:nobodyさん
13/11/23 03:45:46.44
という自演でしたwww
釣られてやったんだ感謝しろよ>>396
407:nobodyさん
13/11/23 11:05:07.08 co3F0dNX
TwitterのOAuthログイン実装してるんだけど
ローカルの開発環境だとどうやって試せばいいの?
408:nobodyさん
13/11/23 11:45:06.48 HUwpIheR
PHPは社員研修で習ったばかりの新卒エンジニアです
PHPで利用できるフレームワークの選定のための準備を任せられまして
ORMでセキュリティが問題ないものを探しています
フレームワークからORMが分離できないものでも問題ないです
・クライアントの文字コードを接続時に指定できること
・クエリパラメータはプリペアードステートメントを利用していること
・識別子はクォートされること
は最低条件です
最終的には先輩エンジニアと全コードを見ることになっています
目星をつけておきたいのです
お願いしまうす
409:nobodyさん
13/11/23 11:45:24.53
>>407
xampp
410:nobodyさん
13/11/23 11:47:40.85
>>408
smarty
411:nobodyさん
13/11/23 12:07:02.08 HUwpIheR
>>410
smartyはテンプレートエンジンだと習ったのですが
ORMでsmartyがあるのでしょうか?
URLを教えていただけるとうれしいです
412:nobodyさん
13/11/23 12:12:05.98
>>408
Doctrine、ZF2、PHP ActiveRecordは大丈夫
使うと怒られるだろうがPhalconPHPも大丈夫
FuelPHP、ZF1はダメ
413:nobodyさん
13/11/23 12:50:13.63
選定の準備を任されたってことの意味を理解してないな
こんなところで聞いてるのがバレたらお叱りを受けますよ
414:nobodyさん
13/11/23 12:58:11.24
最終的に「オレオレフレームワーク」が最強ってのに辿り着くんだけどね。
415:nobodyさん
13/11/23 13:06:08.32 HUwpIheR
>>412
ありがとうございます。PhalconPHPおもしろそうです
Cは会社の人で触れる人多いのでこちらも候補にあげさせてもらいます
>>413
選定のための準備でWeb上のブログ記事や質問サイトを使うことは許可されてるので大丈夫です
目星をつけたものを全ソースコードを読むことになっています
416:nobodyさん
13/11/23 13:10:46.92
教育係がめんどくさくて新人に全部丸投げとかwww
417:nobodyさん
13/11/23 13:51:08.24 xzL6Vqsq
スレリンク(php板:62番) の
<?php
$body = "submit=%8F%91%82%AB%8D%9E%82%DE&FROM=%21ninja&mail=sage&MESSAGE=Hello+world&bbs=php&key=1362790136&time=1";
$length = strlen($body);
$head = "POST /test/bbs.cgi HTTP/1.1\r\nHost: kohada.2ch.net\r\nUser-Agent: Monazilla/1.00\r\n".
"Referer: スレリンク(php板)l50\r\nContent-Type: application/x-www-form-urlencoded\r\n";
$out = $head."Content-Length: ".$length."\r\n\r\n".$body;
$fp = fsockopen("kohada.2ch.net", 80, $errno, $errstr, 30);
if (!$fp) {echo "$errstr ($errno)<br>\n";exit;}
fwrite($fp, $out);
$cookie = "Cookie: ";
while (!feof($fp)) {
$str = fgets($fp, 128);
if (strpos($str, "Set-Cookie: ") === 0) {
$str = str_replace("Set-Cookie: ", "", $str);
list($cook, ) = explode(";", $str);
$cookie .= $cook."; ";
}
}
fclose($fp);
$cookie .= "NAME=\"\"; MAIL=\"\"; yuki=akari; HAP=*ここに FOXdayo~から始まる文字列を記入*;\r\n";
$out = $head.$cookie."Content-Length: ".$length."\r\n\r\n".$body;
$fp = fsockopen("kohada.2ch.net", 80, $errno, $errstr, 30);
if (!$fp) {echo "$errstr ($errno)<br>\n";exit;}
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
?>
418:nobodyさん
13/11/23 13:57:05.37 xzL6Vqsq
のPHPで2chに書き込むコードを使いたいのですが、
このまま使うと
HTTP/1.1 200 OK
Date: Sat, 23 Nov 2013 04:43:35 GMT
Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8q PHP/5.3.8 mod_antiloris/0.4
Vary: Accept-Encoding
Content-Length: 344
Connection: close
Content-Type: text/html; charset=shift_jis
<html lang="ja">
<head>
<title>書きこみました。</title>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
(以下略)
という感じで2chの書き込み完了ページがそのまま出てくるのです。
でも最初にレスポンスヘッダが排出されて出てくるので、レスポンスヘッダと実際のページ内容を分けたいのですが、
できますか?
できれば、<HTML>で分けるなど、他のページで使えない方法ではないものを教えてほしいです。
よろしくお願いします。