【PHP】下らねぇ質問はID出して書き込みやがれ 131

このエントリーをはてなブックマークに追加
1nobodyさん
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 130
http://kohada.2ch.net/test/read.cgi/php/1379566039/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
2nobodyさん:2013/11/10(日) 15:47:11.87 ID:???
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.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/
3nobodyさん:2013/11/10(日) 15:47:44.07 ID:???
【簡易FAQ】
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
7.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
4nobodyさん:2013/11/10(日) 15:48:22.33 ID:???
11. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
 → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
  http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
 →19.を参照
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
5nobodyさん:2013/11/10(日) 15:50:32.33 ID:???
           (:    /⌒ヾミァ―=、=ミ、 __
          ゝ_/        \ンヾ `ヽ
          / 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⌒ヽ
6nobodyさん:2013/11/10(日) 15:59:23.33 ID:???
>>1 乙!
7nobodyさん:2013/11/10(日) 18:56:43.11 ID:???
30MBのテキストファイルに含まれる abcde という5文字からなる文字列を
メモリを節約する方法で削除する方法を教えてください
ファイル丸々読み込んで一括置換はNGです
8nobodyさん:2013/11/10(日) 19:02:40.38 ID:???
sed
9nobodyさん:2013/11/10(日) 19:23:56.76 ID:???
より高度なRoRに引っ越しすることをお勧めしよう
Railsスレで質問すれば俺が答えてあげよう
その代わり最大限の敬意を示し、パソコンの前で土下座したまえ
そお誠意が俺まで伝わってきたら答えてあげる

多くの有力企業が採用するRoRにようこそ
10nobodyさん:2013/11/10(日) 20:22:03.37 ID:???
11nobodyさん:2013/11/10(日) 22:08:15.43 ID:???
>>7
読み込みながら別ファイルに書けばいいじゃん。
121:2013/11/11(月) 07:35:43.60 ID: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("http://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=';にすれば問題なく動くのですが、何が悪いですか?
13nobodyさん:2013/11/11(月) 10:23:19.27 ID:???
>>12
正規表現を勉強し直しなさい
14nobodyさん:2013/11/11(月) 11:56:52.28 ID:XJY1LijC
正規表現のどこが悪いのでしょうか?
$pattern2 = "/href=\".+>/"; 単純にこう書いてもダブルクォートがある限りエラー出るんですが
15nobodyさん:2013/11/11(月) 12:33:37.29 ID:sFgCUL53
>Notice: Undefined variable: con inとエラー
if(preg_match_all($pattern2, $zentai, $match2))
$con = 0;
16nobodyさん:2013/11/11(月) 12:40:46.85 ID:???
htmlspecialchars したらどーなるか考えよう。

オプションなしで使ってる時点で、
何をしたくてどうなって欲しいのか何にも考えてないのが分かる。
17nobodyさん:2013/11/11(月) 12:51:22.02 ID:XJY1LijC
>>16
やっと解決できたありがとう
エスケープされるとか完全に失念してた
18nobodyさん:2013/11/11(月) 15:53:52.85 ID:???
【Android】デベロッパーの集うスレPart21
http://kohada.2ch.net/test/read.cgi/prog/1381939989/l50

ここでPHPのソースがダウンロードして見られるって主張してる人がいるんですが
本当でしょうか?

>+ PHPのソースを見る方法はある
>+ その方法は誰でも出来る簡単な方法をついた盲点
>+ 方法は簡単でもその発想には普通行き付かないため今まで気づかれないでいた
>+ システム上は不正な方法ではなく正規な方法に分類されるので
>  今も放置されてる(一部のサーバーはこれに気づき、もしくは実際に攻撃され、設定で変更し対策済み)
>+ まだ放置されている場合が多いので公表はできない

>この方法が今まで何十年も気付かれず放置されていた事に恐怖するくらい
>記憶に新しい2chサーバーを襲った奴がこの方法(だけとは限らないが)を使い
>とある公開サイトに毎日莫大な量の企業の情報をUPしてる
>ヤフー、カネボウ、東京大学、etc
1918:2013/11/11(月) 16:00:52.24 ID:HoDQm5Na
すみませんID出すのを忘れていました
今年の6月くらいから発覚しているようです

>+ 今までそれが正しい設定という認識で、何十年としっかり機能しているサーバー(施錠)
>+ それが今年の6月頃に、特に違法な手段でもない誰にでもできる方法で壁をすり抜ける方法が発覚した
>  つまり鍵の意味がない
>+ 発覚するまでの過去何十年とそれを一部の人が悪用し、サーバー管理者と同じ権限をフルに悪用されていたこともあわせて発覚した
>  つまり神話が崩れた。神話に胡坐かかず独自にさらなるセキュリティーをかけていた技術者は
>  たとえ侵入されていたとしても大丈夫だった。これが侵入されても大丈夫を前提に組んだシステム全般に言えた
>+ この方法はバグでも違法でもないためセキュリティーパッチの対象にはなっていない
>+ 回避方法はその正当な手段で機能する何かをOFFにする
>+ しかしこれをOFFにすることで通常の運用にも支障をきたす運営状態のメーカーが多数存在する
>+ よってOFFにしないで運用している場所が今も存在しており このセキュリティーホール(…正式には違う)は今もなお眠っている
20nobodyさん:2013/11/11(月) 16:12:06.83 ID:???
>>18
PHPの脆弱性が見つかったかと思ってちょっとそのスレ読んだけど
発言主は恐らく闇プログラマーだと思われる
関わってはならない
21nobodyさん:2013/11/11(月) 16:15:40.38 ID:???
最後に.txtを付けるとかね(笑)
22nobodyさん:2013/11/11(月) 16:25:30.66 ID:???
apacheの設定でPHP関連を削除すればみれる
23nobodyさん:2013/11/11(月) 16:26:17.91 ID:???
あと教本とかに書かれているようなPHPをソースコードとして表示する設定をしてればみれる
24nobodyさん:2013/11/11(月) 16:30:25.26 ID:???
25nobodyさん:2013/11/11(月) 22:36:28.08 ID:dmRoqQkv
header('Content-Type: image/jpeg');で読み込んだ画像を編集してブラウザ出力しようとして、失敗したのでソースを削って消去法で探っていったらincludeが原因だったんですがこれはどういった理由になるんでしょか?
26nobodyさん:2013/11/11(月) 22:42:00.98 ID:???
>>25
回答者にエスパーがいることを期待しないでくれ
ちゃんと自分がやったことを書いてくれないと何も答えられん
27nobodyさん:2013/11/11(月) 23:03:28.69 ID:dmRoqQkv
すみません。。書くとややこしくなりそうだからあえて端折って書きました。。
【OS名】mac10.9
【PHPのバージョン】5.4
【連携ソフトウェア】gd
【質問内容】
header('Content-Type: image/jpeg');で保存している画像を読み込み編集した画像をただ出力しようとしてます。
やり方として画像クラスを書いてる別ファイルをincludeで読み込んで画像オブジェクトの画像として出力しようとしてます。
最終的にimagejpeg関数で出力してるのですが画像編集して保存はうまくいくのですが画像編集してブラウザで表示する事だけが何故かうまくいきません
別の所に同じようなブラウザ画像出力を作っててそっちはうまくいくので環境依存問題じゃないと思います。パーミッションも調べました
ソース削りながら消去法でしらべていったらincludeで引っかかりました。原因はほぼこれなので一応解決はしてるのですが画像objを出来れば使いたいのでincludeが原因の理由が知りたいです
28nobodyさん:2013/11/11(月) 23:10:05.92 ID:???
解読班はよ
29nobodyさん:2013/11/11(月) 23:12:28.45 ID:???
よくわからんがincludeではなくreadfile使ったら?
30nobodyさん:2013/11/11(月) 23:14:30.60 ID:???
なぜrequireではないのか
31nobodyさん:2013/11/11(月) 23:14:44.35 ID:???
うまくいかないじゃわからんわ
再現できる最小限のコードを
エラーが出たなら具体的なエラーを
32nobodyさん:2013/11/11(月) 23:17:00.84 ID:???
日商エスパー3級の俺でも分からん
33nobodyさん:2013/11/11(月) 23:19:37.68 ID:FYu5xnhQ
javascript で 特定のディレクトリ内のファイル名を取得するために
Ajax 通信でPHPを使用します。
<?php
$res_dir = opendir('../hoge');
while( $filename = readdir($res_dir)) {
echo "$filename";
};
closedir($res_dir);
?>
としたのですが返り値の配列にはファイル名毎ではなく1文字ずつ入ってしまいます。
何か解決方法はないでしょうか?
34nobodyさん:2013/11/11(月) 23:22:05.77 ID: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から別に変えてきます。。
35nobodyさん:2013/11/11(月) 23:25:22.46 ID:???
>>33
配列で返してるように見えない
サーバとブラウザの間のプロトコルがJSONだとすれば、ちゃんとJSONに整形して返してあげないと
36nobodyさん:2013/11/11(月) 23:26:20.64 ID:???
>>34
そのincludeしたphpでなにかechoされてるんじゃない?
37nobodyさん:2013/11/11(月) 23:27:09.46 ID:???
>>34
読み込みに失敗してwarningやcriticalエラー出力されてるのにコンテンツタイプがgifだからブラウザはgifとして扱ってるだけだろ
38nobodyさん:2013/11/11(月) 23:32:06.05 ID:dmRoqQkv
すみません原因分かりました。。include先で<?php 〜〜〜?>の後に一つ無駄な改行入れてたとこでした。。。

これも伝わってますかね、、?
39nobodyさん:2013/11/11(月) 23:45:19.43 ID:???
お決まりですね
40nobodyさん:2013/11/11(月) 23:48:37.35 ID:???
>>38
その説明ならみんなばっちり理解できたと思う
41nobodyさん:2013/11/12(火) 00:02:19.74 ID:OEcexEaQ
>>35
ありがとうございます。
json_encodeしてからだといけました。
42nobodyさん:2013/11/12(火) 00:04:22.72 ID:???
>>38
俺は最初から原因わかってたよ、日商エスパー2級だから
43nobodyさん:2013/11/12(火) 00:23:11.47 ID:???
DOM当たりかなと思ったけどそんなおちかよ
HTMLにコード埋め込む時以外なら?>で閉じんでよろしい
44nobodyさん:2013/11/12(火) 00:31:47.12 ID:???
>>38
他に何か言うことは?
45nobodyさん:2013/11/12(火) 00:34:56.29 ID:???
DOMじゃなくてUTFのBOMの話ね
もうだめかもわかんから寝るわ
46nobodyさん:2013/11/12(火) 00:37:17.85 ID:???
header前のincludeでエラーならゴミ出力は確実だと思った
>>34をアップする前の説明ではheader後にjpegをダイレクトにincludeしてるのかと思ってた

混乱させられただけに>>38の締め方で、ちょっとコメカミに血管浮いた
47nobodyさん:2013/11/12(火) 00:40:50.53 ID:???
>>44
どう書けば分かり易かったですかねぇ。。。?
48nobodyさん:2013/11/12(火) 00:41:07.92 ID:???
まあまあ、ありがちなミスだ
エスパー研究所の中上級事例として各自再発防止方法を検討する振りをして寝よう
49nobodyさん:2013/11/12(火) 11:31:05.35 ID:???
>>38
一応
http://www.infiniteloop.co.jp/docs/psr/psr-2-coding-style-guide.html
>PHPだけが書かれたファイルについては、終了タグ「?>」を省略しなければなりません。

PSR-2は必ず守らなければいけないものではないが、この1文はいつでも守って問題ない
50nobodyさん:2013/11/12(火) 11:32:38.08 ID:???
テンプレに
PHP: The Right Way
http://ja.phptherightway.com/
を入れて欲しい
51nobodyさん:2013/11/12(火) 15:32:44.23 ID:???
Rubyistの好きそうな洗脳サイトだな
52nobodyさん:2013/11/12(火) 15:55:43.98 ID:???
>>51
なんのこといってるの?
53nobodyさん:2013/11/12(火) 16:03:50.97 ID:???
ぱっとみたけどPHP初心者向けのサイトじゃないね
5.5を前提に話をすすめてるあたり
少なくともプログラム初めてって人向けではない
ぱっと見た感じ公平的な視点で書いてよさそうな感じ
結局どこかに利権が及んだり偏った記事になってそうだけど後で読んでみるわ
54nobodyさん:2013/11/12(火) 16:09:41.51 ID:???
他の言語を習得していて、PHPは始めての人向けって印象を持った
自分プログラミングはPHPが初めての初心者
55nobodyさん:2013/11/12(火) 16:36:33.98 ID:???
テンプレは、公式サイト系だけで十分でしょ。
理由
1. サイトの記述内容の正確性が担保されてない。
2. 単に宣伝したいサイトが紛れ込む可能性がある。
3. 個人サイトだと、その後どう変わるか予測できない。
56nobodyさん:2013/11/12(火) 17:18:08.98 ID:???
あれ、>>50のサイトみんな知らないの?
57nobodyさん:2013/11/12(火) 17:21:39.34 ID:???
初めて読んだがよくできてる
だけどここに来るような初心者が理解できるとは思わない
更にだけども>>3-4の腐ったFAQよりは載せる価値はある
58nobodyさん:2013/11/12(火) 17:26:22.94 ID:???
>>56
知ってるよ。有名すぎだもん

PHP勉強会とかで普通に有名。初心者は絶対読めって言われるサイト
ここと公式サイトと徳丸を押さえれば十分って言われてるよ
59nobodyさん:2013/11/12(火) 17:31:14.31 ID:???
>>53
ずっと最新版を使えって書いてあるだけだよ
内容自体は5.5に偏ってない
60nobodyさん:2013/11/12(火) 17:35:52.52 ID:???
有名なサイトじゃないでしょ。
他の有名サイト等から引用もしくはリンクされている箇所がないから。
61nobodyさん:2013/11/12(火) 17:40:00.51 ID:???
>>60
他の有名サイトってどこだ?
62nobodyさん:2013/11/12(火) 17:44:35.70 ID:???
日本で有名になってまだ日は浅いからな
63nobodyさん:2013/11/12(火) 17:46:05.42 ID:???
ここの人ってPSRも否定派が多いの?
64nobodyさん:2013/11/12(火) 17:49:23.19 ID:???
見てみたけど内容が難しすぎ
マニュアルを最初から読んでチュートリアルに従ったほうが理解しやすい
あれじゃ初心者敬遠してしまうわ
65nobodyさん:2013/11/12(火) 17:51:15.96 ID:???

別に載せるのには反対じゃないよ
分かる人は見ればよい
66nobodyさん:2013/11/12(火) 18:00:12.82 ID:???
>>61
定義が曖昧ですみません。たしかに、「有名」では客観性に欠けますね。
例としては、「PHP」で検索して上位20位くらいに有るサイト。
又は、ヤフーカテゴリの「PHP」に掲載されているサイト。
これらは、有名と言えると思います。

こういったサイトから引用やリンクされている箇所を見たいです。
あるのでしょうか。
67nobodyさん:2013/11/12(火) 18:10:25.71 ID:FYat+6O3
>>66
根本としてさ、既に上位20位に入ってるよ
68nobodyさん:2013/11/12(火) 18:10:27.67 ID:???
>>66
いまググったら、本家・ユーザ会・特集記事を除けば、ここが最も有名らしいぞ。

初心者用PHP入門
www.standpower.com/?
69nobodyさん:2013/11/12(火) 18:17:17.80 ID:???
>>50
そんなの、PHPの本スレのテンプレに入れとけと思ったが、本スレと呼べるものがなかったわ
70nobodyさん:2013/11/12(火) 18:19:22.53 ID:???
>>50
初心者向けではないな。
PHP触り始めて興味が湧いて、本気でやろうって思うときに見るサイトだ
71nobodyさん:2013/11/12(火) 18:23:28.93 ID:???
PHPのコーディング規約ってC系が多いな
俺Java系だからあうものがない
まぁ別にいいよね
72nobodyさん:2013/11/12(火) 18:25:59.71 ID:???
>>66
普通に奥村さんとかThe Right Way推してるからリンクしてるよ
上位10位に入ってるっしょ奥村さんのサイト
73nobodyさん:2013/11/12(火) 18:36:19.81 ID:???
奥村って誰よとググったけど、http://oku.edu.mie-u.ac.jp/~okumura/php/でいいのか
2005年くらいに見た感じのページだな。
74nobodyさん:2013/11/12(火) 18:49:27.53 ID:???
>>53
5.5前提が、なぜ初めての人向けでないのか意味がわからない。

>>55
みんな十分だというが、網羅されてないことは結構ある。
75nobodyさん:2013/11/12(火) 18:50:38.25 ID:???
>>67 灯台下暗し。お恥ずかしい限りです。
>>68 >>72 ありがとうございます。
76nobodyさん:2013/11/12(火) 19:01:26.98 ID:???
>>74
初心者なんかのライトユーザがもっとも使用するレンタルサーバで5.5が入ってると思ってんの?
77nobodyさん:2013/11/12(火) 19:30:01.02 ID:mGwFoyBt
phpの関数が多くて、ありそうかな?と思っただけなんですが
配列の全ての要素に@を追加するような関数ってありますか?

array[0] #hoge
array[1] #fuge
array[2] #sage

array[0] #hoge@
array[1] #fuge@
array[2] #sage@
みたいにしたいのですが
78nobodyさん:2013/11/12(火) 20:00:20.89 ID:???
array_mapでどうにかする
79nobodyさん:2013/11/12(火) 20:15:28.37 ID:???
>>77
ありません
簡単だから作れ
80nobodyさん:2013/11/12(火) 20:36:06.80 ID:mGwFoyBt
了解です
フツーに作ってみます
81nobodyさん:2013/11/12(火) 20:55:23.68 ID:???
>>76
おまえさんは、もうちょっとそのサイトの文章を読むべきだ
82nobodyさん:2013/11/12(火) 20:57:27.77 ID:???
そのサイトの文章と5.5が初心者向けではないは関係ないからね
83nobodyさん:2013/11/12(火) 21:01:49.86 ID:???
俺は初心者には5.5薦めるわ
共有サーバなんて使うやついないしな
84nobodyさん:2013/11/12(火) 21:05:39.05 ID:???
初心者がXAMPPに手を出しやすいのは事実だが
85nobodyさん:2013/11/12(火) 21:40:02.59 ID:???
>>83
現実を見ろ
86nobodyさん:2013/11/12(火) 21:42:31.98 ID:???
そんなに共有サーバ使わせたいの?
87nobodyさん:2013/11/12(火) 21:47:46.17 ID:???
気合いれてVPSとか上位プラン使うようなやつは開発者の中でも少数派
SNSやフリーのブログで十分なほどなのに月額300円が相場
一般人じゃ100円サーバだな
88nobodyさん:2013/11/12(火) 21:53:30.75 ID:???
僕の周りの初心者で公開してるやついないってのが味噌だな

PHP勉強したてで公開したいってただの趣味?
89nobodyさん:2013/11/12(火) 22:00:27.78 ID:???
趣味で触ってる人と仕事でやってる人で全然違うと思うぞ

共有サーバって
趣味でやってて、しかもWordPressとか既存のパッケージいれて
ちょっと手を加えてぐらいのレベル対象だろ

仕事で使うにはこのレベルじゃありえないから共有サーバなんてもたん
根本、会社でPHPを初心者に教えるときにまず、公開するなら相談しろと言う
何か漏洩されたら堪らんからな
90nobodyさん:2013/11/12(火) 22:04:07.73 ID:???
根本って誰や
91nobodyさん:2013/11/12(火) 22:05:25.89 ID:???
>>89の最後の3行が何を言いたいのかわからない
92nobodyさん:2013/11/12(火) 22:31:49.02 ID:???
仕事で共有サーバを使うことなんてない。
仕事で教えた初心者に共有サーバを使わせることなんてない。

って言ってるんだろ
93nobodyさん:2013/11/12(火) 22:40:43.43 ID:???
Q PHPをなんではじめるのですか?

A WPのテンプレートがいまいちなので改造してみたい
A 自サイトでこういうことをしたかったがPHPとかじゃないと出来ないと言われた
A 仕事でやらなきゃいけません
A プログラムの勉強をしたい
A こういうWebサービスをやりたい

専用サーバーが必要なのは最後のケースだけ
94nobodyさん:2013/11/12(火) 22:45:24.07 ID:???
>仕事で共有サーバを使うことなんてない。
誰が?
クライアントならそんなのパッケージ開発でもない限り知ったこっちゃないでしょ
ていうかWP改造案件とか多いし、共用サーバでWPだけで回してるクライアントも多い
開発者ならローカル使えばいいだけだし、共用サーバが持たないとか話がおかしい
95nobodyさん:2013/11/12(火) 23:06:28.67 ID:???
アカマイ使ってサイト構築してる人いる?
どんな構成?
96nobodyさん:2013/11/12(火) 23:12:41.27 ID:???
IDないわ、PHPと関係ないわ
97nobodyさん:2013/11/12(火) 23:17:12.91 ID:???
ごめん、質問変えるわ
グローバル対応をするために最適な構築はどんな感じ?
コスト考慮も
98nobodyさん:2013/11/12(火) 23:18:45.00 ID:???
レンタル鯖板でどうぞ
99nobodyさん:2013/11/12(火) 23:24:11.04 ID:???
>>92ってか>>89
IT土方をなめんな
PHPを使ってるのは自社サービスとか
大手の下請けで高給もらってるやつだけじゃないんだ
100nobodyさん:2013/11/12(火) 23:29:19.57 ID:???
>>93
共有
共有
不明
手元のPC
専用
101nobodyさん:2013/11/12(火) 23:40:23.21 ID:???
mixiとかヤフオクとかWebサービスが中心でない限り
アプリケーション開発とかやってるとこでも
会社の紹介や問い合わせフォームぐらいだろ
ようは会社のウェブサイトであるところがほとんどで
共用サーバでもおかしくないレベル
102nobodyさん:2013/11/13(水) 00:07:41.07 ID:???
共用サーバって、コンプライアンス上使えない会社が多いんだよな
103nobodyさん:2013/11/13(水) 00:11:00.53 ID:???
友人に毎朝8時に起動してメール配信するの作ってと言われて
無償でレンタルサ−バーのcronとphpの色々作ってあげたら
会社で使うためのものだったって経験したことあるわ

その程度に考えてるところもあるんだろクソ
104nobodyさん:2013/11/13(水) 00:11:34.07 ID:???
なんでコンプライアンスが関係するんだ?
105nobodyさん:2013/11/13(水) 00:14:40.09 ID:???
個人情報がらみだろ
106nobodyさん:2013/11/13(水) 00:16:10.91 ID:???
社内サーバならともかく、外部サーバにわざわざ個人情報入れるのかよw
107nobodyさん:2013/11/13(水) 00:17:00.95 ID:???
問い合わせフォームでアウトだよ?
108nobodyさん:2013/11/13(水) 00:20:51.35 ID:???
問い合わせフォームか
>>101見てなかったわ
109nobodyさん:2013/11/13(水) 10:39:37.89 ID:???
素人に毛を生やしただけのものが業務に使われてるのが、プログラム界だけのことだと思ってるなら、
絶望が足りない。
110nobodyさん:2013/11/13(水) 11:47:06.10 ID:???
どっちも底辺ってことだろ。
日本は底辺が多いからな
111nobodyさん:2013/11/13(水) 12:31:04.32 ID:???
ただの道具に、使う人間の問題もってきて道具の問題だって大騒ぎすんのはアホだってこと。
何が底辺だw
112nobodyさん:2013/11/13(水) 13:08:29.89 ID:???
>>111
意味不明やな
113nobodyさん:2013/11/13(水) 13:12:58.90 ID:???
>>103
会社に請求書叩きつけてやれ
114nobodyさん:2013/11/13(水) 13:26:56.75 ID:???
phpどころかプログラミングと全く関係ない製薬営業やってるけど
webサイト作ったりメール配信できるもん作るとどんくらい貰えんの?
転職考えてるんだけど
115nobodyさん:2013/11/13(水) 13:39:18.36 ID:???
>>114
転職?
誰もお前なんか雇わんと思うが
116nobodyさん:2013/11/13(水) 14:17:17.36 ID:???
絶 対 に 製 薬 営 業 の 方 が 稼 げ る
117nobodyさん:2013/11/13(水) 14:23:19.44 ID:???
夢みてフリーのデザイナーやるのはやめとけマジで
118nobodyさん:2013/11/13(水) 14:26:25.25 ID:???
>>114
まぁ、初級プログラマで50万円/月くらい
中級80万円/月
上級は青天井
あんまり大したこと無いよ
それでもよければどうぞ
119nobodyさん:2013/11/13(水) 14:39:40.87 ID:???
釣り糸がでかすぎて話になりませんね
120nobodyさん:2013/11/13(水) 14:42:48.78 ID:EC93HFLx
初級・中級・上級のスキルの区分は、どんな感じでしょうか?
(自分は、>>114 ではないです)
121nobodyさん:2013/11/13(水) 14:46:51.46 ID:???
せいぜい月20万ぐらいだろ
出来るやつでも30万ぐらい
ITドカタに夢を見過ぎ
122nobodyさん:2013/11/13(水) 15:08:35.97 ID:???
初級で50万はありえないけど>>121はもっとありえない
業界間違えてないか?
123nobodyさん:2013/11/13(水) 15:12:56.05 ID:???
ITドカタも普通の会社員と変わりねーぞ
スーツ着て出社してスーツ着て仕事して
アホな上司のいう事聞いて忘年会新年会の幹事させられて・・・。
124nobodyさん:2013/11/13(水) 15:13:25.32 ID:???
ま転職して現実を見るといいよ
そんな給料良ければみんなやってる
125nobodyさん:2013/11/13(水) 15:16:17.39 ID:???
あごめん、正社員の話か
126nobodyさん:2013/11/13(水) 15:16:56.96 ID:???
製薬会社の営業だから今の給料は良いんだろーけど
本当に会社員と変わりないから↓みたいな夢見るの止めとけ
http://farm1.static.flickr.com/211/461515655_9f3b7386ff.jpg
127nobodyさん:2013/11/13(水) 15:23:35.96 ID:???
この業界ってほとんど零細企業ばかりなのに不安定さがすきなの?
キャリア積んで20年勤続とかならともかく50万?
リクルートサイトが出してる年収例とかに騙されちゃう口?
それともMSやGoogleとか外資系ITトップに名を連ねるとこにでも就職できるの?
128nobodyさん:2013/11/13(水) 16:18:28.86 ID:???
プログラマーでスーツ着て出社する会社ってほとんど見たことないんですが
129nobodyさん:2013/11/13(水) 16:21:58.22 ID:???
ないね
130nobodyさん:2013/11/13(水) 17:43:10.12 ID:???
俺はニートだけどプログラマーやってる俺の友達仕事帰りに会うといっつもスーツだぞ
131nobodyさん:2013/11/13(水) 18:12:00.37 ID:???
客先常駐プログラマはスーツだろ
132nobodyさん:2013/11/13(水) 18:23:50.48 ID:???
この業界不安定なのは事実だが、零細ってわけじゃない

給与帯が上になるほど、センスとコネが重要な業界
133nobodyさん:2013/11/14(木) 04:10:03.48 ID:???
ゲーム作成会社へスーツで面接に行ったら
コスプレみたいだって言われたぞ
134nobodyさん:2013/11/14(木) 05:43:47.22 ID:F7e5g5ZR
単に似合ってなかったからだw
俺レベルのチビデブハゲになると、
一切の冗談も言ってもらえなくなるから
まだマシな方だだろう。
135nobodyさん:2013/11/14(木) 12:24:04.77 ID:E2bhgOuX
preg_replace 系(_all や _callback含む)で、正規表現にマッチした文が大きく(長く?)なるものを置換しようとすると、
レスポンスの応答がなくなってしまいます。

開発環境でこの現象は生じて、環境はWindowsXP、PHPのバージョンは5.4.19、Apache/2.4.4 (Win32)を使用しています。
同じものをサーバーにアップロードした場合は、ちゃんと動作します。

何か改善方法はありませんか?
136nobodyさん:2013/11/14(木) 13:11:45.16 ID:???
メモリが足りないんだろ
137nobodyさん:2013/11/14(木) 13:13:47.05 ID:???
PCのスペックとサーバーのスペック教えてくれ
138nobodyさん:2013/11/14(木) 13:26:01.78 ID:???
例え開発環境でもWindowsXP使ってるようでは…
139nobodyさん:2013/11/14(木) 13:41:39.01 ID:E2bhgOuX
調べてたら、PHPのバグレポートにありました

Bug #60231 child process exited with status 3221225725
https://bugs.php.net/bug.php?id=60231



どうやらスタックサイズを増やせば解決しそうなので試してみることにします
140nobodyさん:2013/11/14(木) 14:00:44.89 ID:???
>>139
Apacheのログに
child process exited with status
が出てたら正解

Windows特有の問題やな
PHPのバグではない

Apacheの設定ファイルでThreadStackSizeを設定すれば良いだけか
141nobodyさん:2013/11/14(木) 18:03:10.70 ID:???
>>140
ステータスコードを無視する人ってそそっかしいんだなぁ。
そそっかしいあまりWindows特有の問題だなんて思い込んでる。
142nobodyさん:2013/11/14(木) 19:08:01.53 ID:???
>>141
ステータスコード1個じゃないんだよ
143nobodyさん:2013/11/14(木) 19:13:38.15 ID:???
>>141
これってmpm_winntに起因する問題じゃないのか?
144nobodyさん:2013/11/14(木) 22:39:31.89 ID:???
>>142
スタックオーバーフローを示すステータスコードが複数あって、
さらに子プロセスが終了する原因はそれしかないというのならいいけど。

>>141
windows以外はスタックが無限にあると?
145nobodyさん:2013/11/14(木) 23:16:16.54 ID:???
スタック関係はWindows特有ではないけどWindows以外では滅多におきん罠
Javaとか別途に定義する系や、スレッド系は起きるけどな
146nobodyさん:2013/11/15(金) 15:13:17.81 ID:???
このスレでPHPの話をすることも有るんなだw
いつもの殺伐したした雰囲気じゃないと不安になるわ・・・
147nobodyさん:2013/11/15(金) 17:06:38.69 ID:???
Windowsで開発するの本当いい加減にしろよ
VirtualBoxすらいれられないチンパンども
148nobodyさん:2013/11/15(金) 17:09:16.09 ID:???
Windowsで開発してもいいけど、改行コードを勝手にCRLFにしてcommitするのだけは勘弁してくれ。
149nobodyさん:2013/11/15(金) 17:19:17.86 ID:???
GitならコミットするときにLFにすればいいじゃん
150nobodyさん:2013/11/15(金) 17:22:00.01 ID:???
どこの会社みても開発はWindows
Linuxで開発しろとかいってんのは100%尼
151nobodyさん:2013/11/15(金) 17:23:06.75 ID:???
どこの(へぼ)会社
152nobodyさん:2013/11/15(金) 17:27:26.50 ID:???
なんの問題もなく出来るのに、自分ができないからって道具のせいにするのは恥ずかしい限りだな。
153nobodyさん:2013/11/15(金) 17:58:59.94 ID:???
>>150
うちは全員Macだけど
154nobodyさん:2013/11/15(金) 18:01:19.41 ID:???
本番環境とできる限り揃えるかだけじゃないのか?
155nobodyさん:2013/11/15(金) 18:02:32.18 ID:???
全員って何?会社にPC持参したり普及PC選べんの?
156nobodyさん:2013/11/15(金) 18:03:31.25 ID:???
普及じゃなくて配給
日本語むずかしいね
157nobodyさん:2013/11/15(金) 18:07:57.50 ID:???
うちは配給PC選べるよ。持参PCは手続きがめんどくさい。
予算上限はあるけどね

MacでもWindowsでもLinuxでもなんでもいいのだが
Vagrantの利用がルール
158nobodyさん:2013/11/15(金) 18:33:35.37 ID:???
単体テストの段階は環境使い回し、結合テストで本番環境1つ用意。
PHPなんてこんなもんでいいよ。
別にPHPを馬鹿にしてるわけじゃなくて環境の差の影響を受けにくいから、
結合テストでバグが出ても数分で解決できるケースがほとんど。
もちろん要件定義がしっかりしてればの話。
159nobodyさん:2013/11/15(金) 18:46:25.01 ID:???
PHPには、そもそも単体テストとか結合テストとか必要ないだろ?
すぐに結果が出る。
すぐ修正できる。
それがメリットじゃん、サーバーサイドJavaとかと違って
160nobodyさん:2013/11/15(金) 19:05:09.92 ID:???
規模が大きくなるとそうもいってらんないんじゃ
161nobodyさん:2013/11/15(金) 19:07:06.19 ID:???
>>160
そんな規模ならPHPは使わないよ
162nobodyさん:2013/11/15(金) 19:23:52.11 ID:???
学生かニートの書き込み↓

150 名前:nobodyさん[sage] 投稿日:2013/11/15(金) 17:22:00.01 ID:???
どこの会社みても開発はWindows
Linuxで開発しろとかいってんのは100%尼
163nobodyさん:2013/11/15(金) 19:26:45.24 ID:???
>>161
世界のPHPベースのWebサービスはどうなるんだい
164nobodyさん:2013/11/15(金) 19:57:14.89 ID:???
>>162
くやしかったの?>>147さん
165nobodyさん:2013/11/15(金) 19:57:57.26 ID:???
>>163
161 にとってFacebook程度は雑魚レベルなんだろ。
166nobodyさん:2013/11/15(金) 20:25:14.54 ID:???
>>157
配給PC選べるならそりゃMACにするだろうな
単純に値段高いし壊れやすいけどハード自体は高性能だし
つうかリッチだなとこだなオイ
167nobodyさん:2013/11/15(金) 20:52:07.04 ID:???
>>166
Macは4割ぐらいしかいないよ

Linuxにするのが性能の割りに安いから
それにモニタ3枚とかしてるやつも多い
168nobodyさん:2013/11/15(金) 21:22:42.81 ID:???
全員Macって言うたやん。

ま、普通の規模のとこならHPやDELLあたりから法人向けのを導入するんじゃね。
少数精鋭じゃないけど小規模のとこはハードには金をかけざるを得ないからね。
169nobodyさん:2013/11/15(金) 22:12:17.28 ID:???
>>168
すまんな153は俺じゃないんだ

DELLも結構入ってる
自分で決められない奴はMacかDELLになる
170nobodyさん:2013/11/15(金) 22:48:10.58 ID:???
>>164はWindowsでしか開発したことがないからWindowsでの開発を否定されるとまるで自分を否定されたかのように感じちゃうんでしょ
171nobodyさん:2013/11/15(金) 22:54:48.89 ID:???
またその流れかよ。
マ板に行けよ
172nobodyさん:2013/11/15(金) 22:59:08.01 ID:???
>>170
くやしかったの?
173nobodyさん:2013/11/15(金) 23:10:52.20 ID:???
Mac使ってるアホは文系デザイナーなんだろ
174nobodyさん:2013/11/15(金) 23:11:12.10 ID:???
そもそも、IIS なんかで PHP を動作させてもパフォーマンスも悪いし安定動作しないよ
175nobodyさん:2013/11/15(金) 23:12:25.40 ID:???
>>173
頭の悪い土挫が言いそうなセリフだなw
176nobodyさん:2013/11/15(金) 23:14:59.73 ID:???
俺はやったことないが、IIS7でFastCGIで組むといいらしいじゃないか
177nobodyさん:2013/11/15(金) 23:17:02.85 ID:???
>>176
(ほんの)ちょっとはマシになったってくらい
178nobodyさん:2013/11/15(金) 23:25:35.23 ID:???
http://msdn.microsoft.com/ja-jp/gg535422.aspx
ASPとのライバル関係にあるPHPのシェアを無視できなかったMSは
せめてIISを使ってくれとPHPerに懇願しました
179nobodyさん:2013/11/15(金) 23:42:41.90 ID:???
開発なんて慣れてるOSが一番
個人的にはiOSの開発もしないしVisual Studio使えないからマックはいらないって感じだけど
マックはなんかデザイナーや開発者っぽい(=一般人向けではない)っていうイメージがあるし
もってたら出来る男って感じがするけど
最近はiPhoneのおかげで一般人でも浸透してきてるしレア度はあんまないね
180nobodyさん:2013/11/15(金) 23:54:54.86 ID:???
昔はVAIO持ってるとモテたけど今はMacbook Airだな。
10インチクラスのタブレット(iPad)を、
社長やってるいとこが出先でよく使ってたけど、あれは見てて滑稽だったわ。
タブレットはクールじゃないね。
181nobodyさん:2013/11/16(土) 00:03:59.42 ID:???
Macがモテる時代は2年前ぐらいに終わってるっしょ
182nobodyさん:2013/11/16(土) 00:07:59.93 ID:???
キモブサがどんなPC持ってたってモテるわけないだろ
鏡見ろよ
183nobodyさん:2013/11/16(土) 00:11:29.13 ID:???
ぼくあぽー
あいぽーん5が売れなくて困ってるの
だれかぽすけて
184nobodyさん:2013/11/16(土) 00:24:54.66 ID:???
プログラム自体の話は出来ないのに、混ざりたがるから、
自分でもなんか言える人の話に誘導しようと必死ないつものアホ
185nobodyさん:2013/11/16(土) 00:39:24.79 ID:???
おこなの?
186nobodyさん:2013/11/16(土) 00:43:26.50 ID:???
Windows最高
XAMPP最高

ということで終了
187nobodyさん:2013/11/16(土) 01:26:55.15 ID:???
結局、質問にちゃんと答えられたのは>>140だけで
それ以外は無知を晒してるだけだったな
挙句の果てに Winsowsガー PHPガー XAMPPガー とか言い出しちゃう低脳っぷり(笑)
188nobodyさん:2013/11/16(土) 01:29:07.24 ID:???
>>139が自己解決したってのにそれの後追いで別に大した追加情報もなしにドヤ顔してるのが>>140
189nobodyさん:2013/11/16(土) 01:33:09.14 ID:???
いや、140は質問者が自分でほぼ答えを出した後だろ
まあ、それ以前の間抜けな回答や以降の低脳っぷりってところは同意だが。
190nobodyさん:2013/11/16(土) 01:35:30.17 ID:???
>>186
一生マスかいてろw
191nobodyさん:2013/11/16(土) 02:01:46.78 ID:???
まぁこんな雰囲気にした>>147がチンパンだったということでもういいだろ?
192nobodyさん:2013/11/16(土) 02:08:23.19 ID:???
まぁ、いいけど、PHP と Windows は、そもそも相性が良くない。
遊びならなんでもいいけどね
193nobodyさん:2013/11/16(土) 02:10:44.25 ID:???
開発環境と動作環境は別の話。
相性がよいかどうかは開発環境には関係ない。
194nobodyさん:2013/11/16(土) 02:18:15.25 ID:???
>>193
開発環境が Windows で、動作環境が Unix系 + Apache ってこと?
なんと無駄なことを
195nobodyさん:2013/11/16(土) 02:28:39.00 ID:???
無駄と発想する時点でお前が底辺なのは判った
196nobodyさん:2013/11/16(土) 02:32:02.75 ID:???
>>194
それは無駄ってか、単なる情弱なだけだろw
197nobodyさん:2013/11/16(土) 02:38:18.02 ID:???
>>194
apacheなんてのはおまけなんだよ
開発に主眼をおくべきものは自分にとって使いやすいOSと使いやすいIDEだ
198nobodyさん:2013/11/16(土) 02:48:07.07 ID:???
>>197
一生マスかいてろw
199nobodyさん:2013/11/16(土) 07:50:04.07 ID:???
httpdに何を使ってるか
OSが何かで影響受けないプログラムもあれば、受けるものもある
それ次第だから、勝手にすればいいんじゃね?

大体ひっかかるのがWindowsにImageMagickをインストールするのが大変ってとこか

開発環境と、開発実行環境も別か
俺はPhpStorm派だから、IDEはWindowsでもMacでもLinuxでも動くから問題ない
Windowsでやってたときは、当然VMだった
200nobodyさん:2013/11/16(土) 08:02:01.34 ID:???
IDEがクロスプラットフォームでも、それを使えるまでにかかる労力や、
その他全体の使い勝手・作業効率なんかを考えると、
慣れ親しんだOS使うのが一番いいに決まってるわ。
最悪プログラムなんてのはメモ帳で書ける。
WindowsクライアントからSSHでLinuxサーバにログインして、
サーバのファイルを直接viで編集なんてのは昔ならよくあった話。
201nobodyさん:2013/11/16(土) 08:15:44.39 ID:???
スクリプトでOS依存書いてる時点で極限のアホだろ
とは思う
202nobodyさん:2013/11/16(土) 08:16:52.02 ID:???
>>201
お前の中ではそうなんだろうな
203nobodyさん:2013/11/16(土) 08:20:03.05 ID:???
>>202
俺だけじゃない、お前以外な
204484:2013/11/16(土) 08:24:54.41 ID:???
>>201
redis依存書いたら前までWindowsじゃ無理だったしな
OS依存なんて腐るほどあるっしょ

スクリプトのPATH_SEPARATORとかそういう意味を言ってるなら同意だが
205nobodyさん:2013/11/16(土) 08:29:32.63 ID:???
C:\WINDOWSとかOS依存がわかりやすい記述は無意識に排除しちゃうし
PHPの場合OS依存で書くほうが難しいな
初めて使う関数はマニュアルちゃんと見るし知らずにOS限定の関数使うなんてこともない

この手の問題に遭う低スキルの人はちゃんと環境構築したほうがいいだろうね
206nobodyさん:2013/11/16(土) 08:37:12.04 ID:???
最近はネットだけでいいって人もいるだろうけど
現実問題PHP開発以外にもやることはたくさんあるのでWindowsじゃないと不便
だからWindowsでいい
VMはOSが重くなるし汚くなるから入れない
世の中の人間そんなにPCいっぱい持ってませんよ
207nobodyさん:2013/11/16(土) 08:43:55.39 ID:???
人それぞれってことだ

俺っは今Linuxで苦労したことないし
Windowsじゃないと駄目なことが今のところない
208nobodyさん:2013/11/16(土) 08:53:13.23 ID:???
Windowsで苦労したことないし
Linuxじゃないと駄目なことも今のところないね
209nobodyさん:2013/11/16(土) 08:59:50.40 ID:???
OS依存で書くバカは他人に使ってもらう前提のフレームワークやライブラリを
書いたことがないんだろうな、とは思う
210nobodyさん:2013/11/16(土) 09:05:25.89 ID:???
OS依存の話はやめよう

C:\WINDOWSとかならただのバカだし
使用するミドルウェアの問題ならどうしようもない

話すだけ無駄ですよ
211nobodyさん:2013/11/16(土) 09:10:09.28 ID:???
Linuxで開発すれば OS依存しないのかよwwww
212nobodyさん:2013/11/16(土) 13:29:14.82 ID:???
>>211
誰かそんなこと言ってるか?このスレで
被害妄想なのか劣等感の現れなのか
213nobodyさん:2013/11/16(土) 13:40:46.89 ID:???
今更どうしたの?悔しいの?
214nobodyさん:2013/11/16(土) 13:47:56.32 ID:???
>>213
相当悔しそうだなw
215nobodyさん:2013/11/16(土) 14:08:58.49 ID:???
>>213
なにがそんなに悔しいんだ?
216nobodyさん:2013/11/16(土) 15:27:22.51 ID:???
( ゚,_・・゚)ブブブッ
217nobodyさん:2013/11/16(土) 17:47:20.20 ID:???
WindowsでPHP使えるの?
てか、そんなことして何か意味あるの?
218nobodyさん:2013/11/16(土) 18:08:16.94 ID:???
レンタルサーバに変更するたびにアップロードして開発するやつにはわからない話
219nobodyさん:2013/11/16(土) 18:18:13.33 ID:???
>>218

> アップロードして開発する

この意味がわからないんですが、解説してくれる?
全体も意味不明なんだけど
220nobodyさん:2013/11/16(土) 18:37:26.94 ID:???
221nobodyさん:2013/11/16(土) 18:38:46.80 ID:???
>>220
うるせい馬鹿
222nobodyさん:2013/11/16(土) 18:43:44.24 ID:???
>>220
>>1001
223nobodyさん:2013/11/16(土) 22:05:00.99 ID:???
>>217
アドベソフトと仲良くさせるためです。。わし的には、
224nobodyさん:2013/11/16(土) 22:08:30.79 ID:???
>WindowsでPHP使えるの?
無知の極みだな
225nobodyさん:2013/11/16(土) 23:20:32.23 ID:F3TLx1sI
$ints = array(1,3,4,5,6,7,8,9....∞);
$intsの中にある数字の最大値maxのキーを収得する関数はありますか?
226nobodyさん:2013/11/16(土) 23:21:01.62 ID:???
>>225
ある
227nobodyさん:2013/11/16(土) 23:23:24.27 ID:???
あぁ、sortすればいいのか。
めんどくさいこと考えてたわw
228nobodyさん:2013/11/16(土) 23:34:15.95 ID:???
sortしたらキーは失われるけどいいのけ?
229nobodyさん:2013/11/17(日) 00:48:19.62 ID:???
配列操作のパターンと
sqlite::memory:に1回いれてmax使うパターン試してみたけど
やっぱ配列操作でやるほうが断然早いしメモリ使用量も少ないな
230nobodyさん:2013/11/17(日) 02:28:59.85 ID:???
>>217
Windowsだろ?
使えるわけないじゃんw
アホなの?
231nobodyさん:2013/11/17(日) 09:37:26.57 ID:???
誰も反応してくれないからって自演か
232nobodyさん:2013/11/17(日) 13:01:07.39 ID:iaEwZT+S
>>229

あなたみたいに、無駄かもしれないけどとりあえずやってみようっていう人は素晴らしいと思う。
233nobodyさん:2013/11/17(日) 18:10:59.78 ID:???
「使える」ってのがどういう意味なのかにもよるな

「動作する」って意味ならLinuxでもWindowsでも使える

「実用に耐える」って意味ならLinuxでもWindowsでも使えない
234nobodyさん:2013/11/17(日) 23:19:57.93 ID:???
あるログインサイトが、Operaには対応していないため、
[ID]と[パスワード]の入力欄は表示されますが、肝心な[ログイン]ボタンが表示されないので、ログインできません
このOperaは、ガラケーのフルブラウザなんですが、どうにかしてログインさせる方法はありませんでしょうか?
[ID]と[パスワード]の入力欄は問題なく入力できます
宜しくお願いします。
235nobodyさん:2013/11/17(日) 23:33:39.91 ID:???
EnterでFormにSubmit飛ばない?
236nobodyさん:2013/11/17(日) 23:35:12.68 ID:???
つうかPHP関係あるのかよ
237nobodyさん:2013/11/18(月) 00:08:15.70 ID:???
>>233
どこの言語に人?
238nobodyさん:2013/11/18(月) 00:15:21.89 ID:???
>>237
どこの言語の人って言いたかったかw

PHPが使えないって言ってるやつは大体本人が使えないだけって決まってるからな
239nobodyさん:2013/11/18(月) 12:57:44.49 ID:+1FXVq0T
PHPのオブジェクト指向における多態性(ポリモーフィズム)について質問です。
多態性(ポリモーフィズム)とは、端的に、どういうことを指すのでしょうか?
わかりやすい要点や具体例、使いどころなどをご教示ください。

なお、自分で調べて次のことを知りました。
ネットで調べると、複数のクラスのメソッドの命名を同一にして、場面により切り替えることとありました。
また、ある本では、オブジェクトの引数に他のオブジェクトを渡してそのメソッドを切り替えることとありました。(ストラトジーパターン)
Javaの本では、オーバーロードという仕組みで、引数の数の違いによりメソッドの振る舞いを変えることとありました。

ただ、調べても抽象的で理解が困難です。
ご回答よろしくお願いします。
240nobodyさん:2013/11/18(月) 14:04:36.24 ID:???
>>239
いろんな言語にある ToString メンバがソレにあたるよ
241nobodyさん:2013/11/18(月) 14:05:27.46 ID:JW8eEpfY
【OS名】xampp
【PHPのバージョン】5.4.7
【連携ソフトウェア】MySQL
【質問内容】
PHPでDBの内容を複数取得して表示する時、どの方法がいいんでしょうか?
PDO::query、PDOStatement::fetch+execute等色々あるようで、
検索しても色々な方法があってよくわからないです。。。
最新のものがいいとは思うのですが、最新のものもどれかよくわかりません。お助け下さい。
242nobodyさん:2013/11/18(月) 14:45:15.05 ID:???
>>241
複数取得の意味が良くわかんない
どうゆうこと?
243nobodyさん:2013/11/18(月) 15:12:26.33 ID:???
>>239
PHPのような動的型付け言語(インタープリター)では、基本的にオーバーロード(多重定義)という仕組みはない。
PHPの場合オーバーロードを実現するために、func_get_argsなんかを使って条件分岐でやる必要がある。
ようは引数に渡す型の種類や引数の数は違えど、処理内容が同じになる場合とかに使うわけだけど、
何が嬉しいかというと、メソッド名(関数名)を1つだけ覚えとけばいいとか、メソッド名を考えるのに困らないとか、
まぁそんなところ。(多重定義否定派やそれがよくないと感じる人もいる)
オーバーロードを使わない場合、>>240のあげるtoStringは、
intToString($int)とかboolToString($bool)とか冗長な名前でごった返すことになる。
ただPHPではfunc_get_argsでやると複雑になるので、そういう実装を取る人も多い。

http://php.net/manual/ja/language.oop5.overloading.php
ここで書かれているPHPのオーバーロードというのは、
注釈にも書いてる通り他の言語のオーバーロードとは意味あいが違うので注意。
244nobodyさん:2013/11/18(月) 15:18:20.79 ID:???
何を取得しようとクエリ使っとけば無難
245nobodyさん:2013/11/18(月) 15:28:53.99 ID:???
つか、オーバーロードじゃなくてオーバーライドだろ
246nobodyさん:2013/11/18(月) 15:37:21.09 ID:???
>>239
> ネットで調べると、複数のクラスのメソッドの命名を同一にして、場面により切り替えることとありました。
> また、ある本では、オブジェクトの引数に他のオブジェクトを渡してそのメソッドを切り替えることとありました。(ストラトジーパターン)
これらがポリマーフィズム
> Javaの本では、オーバーロードという仕組みで、引数の数の違いによりメソッドの振る舞いを変えることとありました。
これはポリマーフィズムじゃない

多態性(ポリモーフィズム)は複数のクラスに同じメソッド名を設定することで
どのクラスが来ても同じメソッドの呼び方で実行させられってもの
大体は、インターフェースか継承で実現するもの

ポリマーフィズムに関してはJavaもPHPも差がない
247nobodyさん:2013/11/18(月) 15:51:04.64 ID:???
Javaだと仮引数に型を明示しないといけないが、PHPは型を明示する必要がなく(しようと思えばできるが)、
その場合、全く関連性の無いオブジェクトでも同一メソッド名のメソッドがあればポリモーフィズムを実現できる。
というのが、JavaとPHPの違い。
248nobodyさん:2013/11/18(月) 16:06:16.24 ID:???
え?オーバーライドもポリモーフィズム実現手段だけどオーバーロードもポリモーフィズム実現手段だろ
素人ばかりだな
249nobodyさん:2013/11/18(月) 16:07:41.17 ID:???
オーバーライドっていうか継承ね
250nobodyさん:2013/11/18(月) 16:11:32.63 ID:???
>>248
全ての言語仕様は実現手段だよな
251nobodyさん:2013/11/18(月) 16:13:50.49 ID:???
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1430714984
この人の言ってることがわかれば参考になると思うよ
わからないからそんな質問してるんだろうけどね
オブジェクト指向の勉強なんてのはPHPでやるもんじゃないので
一回Javaコース入ったほうがいいと思う
252nobodyさん:2013/11/18(月) 16:32:37.32 ID:???
253nobodyさん:2013/11/18(月) 16:38:37.75 ID:???
オーバーロードがポリマーフィズム実現手段かは
SmallTalkのときから長らく議論されてる問題

僕はポリマーフィズム実現手段派
254nobodyさん:2013/11/18(月) 16:45:12.30 ID:???
ポリマーフィズム → ポリモーフィズム
SmallTalk → Smalltalk
255nobodyさん:2013/11/18(月) 16:51:58.32 ID:???
ポリマーってエチレン思い出すからやめてくれ
256nobodyさん:2013/11/18(月) 17:14:25.82 ID:???
俺は破裏拳
257239:2013/11/18(月) 17:27:24.47 ID:hjGdNC9C
ご回答ありがとうございます。とても参考になりました。

>>243
多態性(ポリモーフィズム)のメリットを理解できました。
メソッド名の統一により楽できることが利点の一つなのですね。

>>246
抽象クラスで、メソッドの実装と名称を強制するのと同義と考えて大丈夫ですよね。

>>247
同一のメソッド名にすれば、その効果が、結局、ポリモーフィズムであるということですよね。

>>251
そのページの説明を読みましたが、解答がポリモーフィズムからずれて、オブジェクト指向全般の概要になっている気がします。
ただ、次の部分は、ポリモーフィズムの説明だと思いました。
もっとも、PHPのオーバーロードは、Javaとは別物のようです。

『他にも "オーバーロード" といった便利な機能があります。
引数の種類を変えれば、同名のメソッドを定義できるというものです。
いい例えが思いつきませんが、攻撃する際に "こうげき" のみでダメージ判定されるものと
"こうげき" と "まりょく" でダメージ判定される攻撃の二つがある場合、必要な引数が前者で1つ、後者で2つなのでどちらも記述できるといったカンジです。』

ありがとうございました。
258nobodyさん:2013/11/18(月) 19:39:12.50 ID:???
>>241
外部からのデータを扱う場合、prepareメソッドを使う(無害化する機能有り)
外部からのデータを扱わない場合、queryメソッドを使う(無害化する機能無し)

分からなければ常にprepare使えばOK
259nobodyさん:2013/11/18(月) 21:31:57.27 ID:???
order by ascかdescかを選択するときなんかの時はprepare使いづらいよね
260nobodyさん:2013/11/18(月) 21:44:21.81 ID:???
>>259
え?
261nobodyさん:2013/11/18(月) 21:52:48.72 ID:???
入力値でどっちにするか決まるけどbindできないじゃん
条件文使わないといけなくなるから使いづらい
262nobodyさん:2013/11/18(月) 21:53:41.23 ID:HK3o2Mp0
>>261
それ何でやっても同じだろ
263nobodyさん:2013/11/18(月) 21:58:12.44 ID:???
プリペアードステートメント使うことと
条件によってクエリが変わることは全く別物だぞ
264nobodyさん:2013/11/18(月) 22:00:52.85 ID:???
はい

じゃやっぱクエリ2つ用意するのね
265nobodyさん:2013/11/18(月) 22:04:57.29 ID:???
何のためにプリペアードステートメント使うか理解してから使おう、な
266nobodyさん:2013/11/18(月) 22:53:34.11 ID:???
気持ちは分かる。
パラメータを無害化することしか知らない人には分からないだろうけど。
267234:2013/11/18(月) 23:36:38.28 ID:???
済みません、スレチでしたら誘導お願いできませんか?
268nobodyさん:2013/11/18(月) 23:39:32.18 ID:???
>>267
そもそもなんでPHPスレだと思ったの?
269nobodyさん:2013/11/18(月) 23:53:32.87 ID:???
>>234
それはそのサイトの管理者問い合わせしたほうがいいんじゃね?
連絡がつくなら修正してくれるんじゃね?
270nobodyさん:2013/11/19(火) 00:24:28.55 ID:???
>>266
プリペアドステートメントの他の使い方って?
271nobodyさん:2013/11/19(火) 01:02:24.07 ID:???
>>270
プリペアすることだろ
272nobodyさん:2013/11/19(火) 10:43:34.31 ID:???
PHPがレベル低いって思われる最たるものが大手のFWでprepare使わずに、自前やquoteメソッドで対応してる例があることだ
273nobodyさん:2013/11/19(火) 10:54:41.60 ID:???
そういうのをPHPガーって言うのが恥ずかしくない頭なんだろうな。
274nobodyさん:2013/11/19(火) 11:09:09.11 ID:???
>>273
これに関しては仕方ないんじゃないか
FuelPHPとかあそこらへんも終わってたような
275nobodyさん:2013/11/19(火) 11:57:37.76 ID:???
個別のソフトの問題や、使ってる人の問題を、言語自体の問題にすり替えて仕方ないと言ってるから、
あおりのレベルが低いんだよな。
276nobodyさん:2013/11/19(火) 12:16:10.14 ID:???
使えないFWが多いのはちょっと問題だとは思うけどなー
使ってる人の問題だけど、そういうFWを推してる人はどうにかならんかな
277nobodyさん:2013/11/19(火) 12:17:54.87 ID:???
下見て暮らしてる奴だからしょうがない
278nobodyさん:2013/11/19(火) 12:18:57.84 ID:???
>>277>>275に対してね
279nobodyさん:2013/11/19(火) 12:20:03.73 ID:???
FWなら結局、CakePHPがいいよね。
280nobodyさん:2013/11/19(火) 12:28:14.36 ID:???
よくない
281nobodyさん:2013/11/19(火) 12:30:37.60 ID:???
CakePHPは日本と日本のオフショア先だけまだまだ盛んだな
282nobodyさん:2013/11/19(火) 12:39:02.32 ID:???
fuelは出た手の頃、ormがPrepare使ってなくて使うのやめたんだが
今も治ってないの?
283nobodyさん:2013/11/19(火) 12:53:02.64 ID:hKBGRur1
284nobodyさん:2013/11/19(火) 13:15:30.92 ID:???
>>283
ダメではないか
285nobodyさん:2013/11/19(火) 13:17:38.96 ID:???
私JKで試したわけぢゃないけどーprepare+bindXxxって
query+quoteに比べて処理工数が多いだけに遅そうだしー
ただでさえ遅いFWの速度をあげるには仕方ないのでゎ
286nobodyさん:2013/11/19(火) 13:21:29.56 ID:???
>>285
そんなんボトルネックにならん
287nobodyさん:2013/11/19(火) 13:23:36.67 ID:???
ちっちゃいのが積み重なると大きくなるけどね
288nobodyさん:2013/11/19(火) 13:24:21.74 ID:???
>>284
一昔前の文字コードやエスケープ処理での脆弱性を知らないんだろうし

シングルバイト系の人は知らない人多いし
289nobodyさん:2013/11/19(火) 13:37:06.01 ID:hKBGRur1
>>284 >> 288
だめなの?
fuelphpてSQLインジェクション防げないんだ…
これはオワコンだわ
290nobodyさん:2013/11/19(火) 13:49:33.19 ID:???
>>289
基本的には防げてるし、新たに発見された脆弱性も継続して修正されてる。
http://fuelphp.com/security-advisories

「プリペアードステートメントを使ってないからSQLインジェクションの脆弱性がある」というのはFUD。
とはいえ、プリペアードステートメント使えやとは思うけどね。
291nobodyさん:2013/11/19(火) 13:57:50.15 ID:???
SQLインジェクションは、Prepare使わないと防げないわけではない。
そもそもでいえば、インジェクション防止の機構じゃねーし。
SQLの機構じゃなくて、ライブラリのラッパなので、仕様によっては
使っていても問題ないというわけではない。
292nobodyさん:2013/11/19(火) 13:58:01.02 ID:???
>>285
クエリを実行するとき、データベースサーバでは、
1. 構文解析
2. 実行計画立案
3. クエリ実行
の処理が必要で、prepareでは1または1&2が行われる。(構文のみで実行計画を立てて固定する場合と、3で渡された
パラメータをもとに実行計画を立てる場合がある)
一方、exec queryでは毎回1〜3が行われる。
なので、同じ処理をパラメータを変えながら複数回実行する場合、プリペアードステートメントを使った方が速い場合がある。
293nobodyさん:2013/11/19(火) 14:08:35.69 ID:???
レスありがとうございます
>>268
PHPが何なのか解らず、単にネットプログラムの質問スレで質問させて頂きました

>>269
大手企業サイトなので厳しいですね

ど素人ながら、ログインボタンのURLとかPCでログイン後のURLとか試したんですが、無理でした
294nobodyさん:2013/11/19(火) 14:12:15.36 ID:???
>>293
> 大手企業サイトなので厳しいですね
大手こそ対応してくれそうなもんだが。
「○○のサイトって、ガラケーのフルブラウザだとログインもできない糞サイトだわ」
とかネットで言われると困るだろうし。
295nobodyさん:2013/11/19(火) 14:15:18.76 ID:???
>>289
そこそこ有名なPHPのフレームワークにそんな基本的な脆弱性があるなら、大垣氏あたりが騒いでるよ。
296nobodyさん:2013/11/19(火) 14:48:00.13 ID:???
>>295
もちろん知ってる。>>284>>288を皮肉ったんだよ、
297nobodyさん:2013/11/19(火) 15:30:48.92 ID:???
>>288の話ってPHPの脆弱性の話じゃないだろ、常識だろ?
298nobodyさん:2013/11/19(火) 15:39:16.53 ID:???
299nobodyさん:2013/11/19(火) 15:49:48.19 ID:???
>>295
quoteだけでは防げない問題を見つけてつぶしていってくれてるんだよ。
300nobodyさん:2013/11/19(火) 15:55:45.62 ID:???
http://www.tokumaru.org/d/20100701.html

昔のMySQLみたいなprepareがクライアントサイドで処理とかゴミな実装されてると
prepareのほうが脆弱性の巣窟になりかねない。

この場合、徳丸氏や大垣氏が騒ぐから問題はいつか解決される
301nobodyさん:2013/11/19(火) 16:05:50.48 ID:???
今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で弾くべきですか?
302nobodyさん:2013/11/19(火) 16:09:44.47 ID:???
>>301
大丈夫
303nobodyさん:2013/11/19(火) 16:12:49.08 ID:???
>>302
ありがとうございます。。
304nobodyさん:2013/11/19(火) 16:17:55.45 ID:???
>>301
一応、問題ない。
ただ、不正な値をエラーとして弾くと、ログから変な操作をする奴を突き止めやすい。
305nobodyさん:2013/11/19(火) 17:47:12.58 ID:???
自分はpost値をひと通りチェックして処理入る前に
想定外のものがあったらexitして真っ白にして不気味感を演出したり
headerでbad requestあたりを返すと思う
306nobodyさん:2013/11/19(火) 18:06:18.79 ID:???
俺は大抵302でヤフーにお任せするわ
307nobodyさん:2013/11/19(火) 20:51:48.38 ID:???
headerにbad request(400)なんてあるんだね。
余談だが、404にすべきページをエラーページに飛ばしてたら
ソフト404とかで注意されたよ。
308nobodyさん:2013/11/19(火) 20:54:19.28 ID:???
>>307
ステータスを404にしないからだな
309nobodyさん:2013/11/19(火) 21:10:38.01 ID:???
うわー自前で正規表現やらintvalだの使ってvalidationしてたけどfilterなんてあったのか
310nobodyさん:2013/11/19(火) 21:14:07.64 ID:???
<?php
header("HTTP/1.0 404 Not Found");
header("Location: http://www.example.com/error/");

こんな感じにしたら、なぜか、最初のヘッダーは無視されて、
結局、302でのリダイレクトになっちゃうから404を出すのは諦めたんだけど。
404出してから更にエラーページに遷移するのは無理っぽい。
fiddlerでステータスコードを確認した限りの話だが。
311nobodyさん:2013/11/19(火) 21:14:29.22 ID:???
>>309
FilterとCtypeは重要
312nobodyさん:2013/11/19(火) 21:15:39.77 ID:???
>>310
そりゃだめだろ
リダイレクト先で404出さないと
313nobodyさん:2013/11/19(火) 21:17:35.20 ID:???
>>310
それおかしいだろ
リダイレクト先のそのURLで404を返すようにしなさいよ
314nobodyさん:2013/11/19(火) 21:18:06.73 ID:???
リロードしてなかったのごめんね
315310:2013/11/19(火) 21:37:04.47 ID:XtFCM7Hl
まじですか・・・。
いや、エラーページは200を返す普通のページにしてたんだけど。
もちろん、存在しないページ用の404ページ(ヘッダー404)は別に用意してるんだけど。
つーか、むしろエラーページに飛ばさないで、素直に404ページに飛ばせばいいのか。
316310:2013/11/19(火) 21:42:44.27 ID:XtFCM7Hl
普通、エラーページも404ヘッダーを出すものなのですか?
317nobodyさん:2013/11/19(火) 21:49:59.72 ID:???
エラーページで404が必要なときは404

厳密には200を返す必要があるときはない
318nobodyさん:2013/11/19(火) 21:54:36.62 ID:???
404 FOT FOUNDとかechoしておいて200返してるのはかなりかっこ悪いとは思う
319310:2013/11/19(火) 22:48:57.12 ID:9JiWXD43
レスありがとうございます。
どうも頭が混乱してしまいました。
こうすれば大丈夫でしょうか?

POSTパラメーターが不正 → エラーページ
(200ステータス: echo ”リクエストが不正です”)

GETパラメーターが不正か不存在 → 404ページ
(404ステータス: echo ”ページが存在しません”)

GETパラメーターの場合に、エラーページに飛ばしていたのが、
ソフト404の原因だと思うのです。
320nobodyさん:2013/11/19(火) 23:00:34.26 ID:???
>>319
RFC2616か、WikipediaのHTTPステータスコードでもいいから読んで
どういう時にどれを使えばいいか分かるから
321nobodyさん:2013/11/19(火) 23:04:02.90 ID:???
パラメーターの問題じゃない
hoge.phpというファイルは存在しているんだから404を返すのは不自然
322310:2013/11/19(火) 23:29:26.30 ID:9JiWXD43
>>320
ご指摘に従い、HTTPステータスコード等について調べてみます。

>>321
mod_rewriteで、GETパラメーターを静的URLに書き換えてリンクとして活用しているのですが、
この場合もhoge.phpは存在するとみなされるのでしょうか?
(例)ttp:example.com/hoge/2013/11/29
9999とか不正な値がきたら、404に飛ばせばいいかなと思ったのですが。

わかりづらい説明ですみません。
323nobodyさん:2013/11/19(火) 23:44:52.18 ID:???
mod_rewriteでやってもアプリケーション側で弾かない限り
実質的にはhoge.php?y=2013&m=11&d=29みたいな感じで見れると思うけど
hoge.phpが存在するというのを表向きに知られたくないのなら好きにすればいいんじゃね
目的とか実装によりけりだよそのへんは
324nobodyさん:2013/11/19(火) 23:51:53.10 ID:???
>>322
ファイルがあろうがなかろうが、そのURLを存在させたくなければ404でよい

> (例)ttp:example.com/hoge/2013/11/29
> 9999とか不正な値がきたら、404に飛ばせばいいかなと思ったのですが。
404が適切。
325nobodyさん:2013/11/19(火) 23:59:01.39 ID:???
ブログ記事を表示するページのurlが
example.com/post/ブログ記事のid
だとして、存在しないidだったときは404返してたんだけど間違ってる?
326310:2013/11/20(水) 00:10:19.19 ID:VLPy2k85
>>323 >>324
(例)ttp:example.com/hoge/2013/11/29
結論として、このurlの不正な値の場合に、200のエラーページに飛ばしていたのがソフト404の原因ですよね。

ご指摘くださったことを参考に、もう一度、ページの構成と遷移、
ステータスコードの関係について検証したいと思います。
ありがとうございました。
327nobodyさん:2013/11/20(水) 00:31:49.62 ID:???
>>325
あってる
328nobodyさん:2013/11/20(水) 07:53:07.64 ID:???
訳もわからず404や403を返しちゃうのは恥ずかしいよね。
自分で書いてるスクリプトなのにw
400と500のどちらかを返すだけの方が無難だよねw
329nobodyさん:2013/11/20(水) 08:01:27.90 ID:???
>>328
君は存在してることが恥ずかしい
330nobodyさん:2013/11/20(水) 09:35:19.42 ID:???
>>328
httpステータスコードでググってこい
331nobodyさん:2013/11/20(水) 11:28:24.00 ID:35fCUlou
通常、ファイルが存在しない場合に備えて、.htaccessに次の様な設定をすると思います。
ErrorDocument 404 /error/404.php(404ヘッダーを出力)

ここから質問です。
次のURLのid値が不正な場合、404となるよう、同様に、/error/404.php に遷移できますか?
ttp://example.com/post/id

header('Location: ttp://example.com/error/404.php');
post.phpで出すこのヘッダーは302ですが、遷移すれば、結果として404扱いになるのでしょうか?
332nobodyさん:2013/11/20(水) 11:33:09.19 ID:???
その 404.php は何を返すの?
333331:2013/11/20(水) 11:36:20.51 ID:35fCUlou
>>332
オリジナルに作成した、いわゆる404ページです。

もしかしたら、(404ヘッダーを出力) という部分は間違いかもです。
334nobodyさん:2013/11/20(水) 11:57:47.58 ID:???
UAがリダイレクトを許可する設定なら404
そうでないなら302
不安ならPHP側で処理に合わせてheaderとresponse返すようにすればおk
335nobodyさん:2013/11/20(水) 12:22:36.67 ID:???
>>331
Locationは「リソースの別の場所を案内する」ために用いられるもの
「リソースが見つからない」場合の挙動は定義されていない
各ベンダーの実装は404とLocationを一緒に出すと無視される
よって include('error/404.php'); 等とするしかない
336331:2013/11/20(水) 12:41:10.58 ID: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;

やはり、こうして読み込むしかないということですね。
ありがとうございました。
337nobodyさん:2013/11/20(水) 12:43:47.50 ID:???
404.php側でヘッダに404を出せよというだけじゃね?w
338nobodyさん:2013/11/20(水) 12:48:58.33 ID:???
>>337
ソフト404エラーでググれ
339nobodyさん:2013/11/20(水) 17:14:42.69 ID:???
>>337
だよね

>>338
340nobodyさん:2013/11/20(水) 17:32:58.48 ID:???
>>337
404.phpに移動していいならそれでいいね。
ただ、.htaccessにErrorDocument設定をしたのと同じ振る舞いを希望するなら、その手じゃ駄目なんじゃ。
341nobodyさん:2013/11/20(水) 17:55:26.35 ID:???
変な質問ですみません。

最近転職してPHPを触るようになったのですが、Linux上のvimで開発しています。
開発時にインデントをある程度入れると思うのですが、普通はどのようにインデントを
入れるのが正しいソースの書き方なんでしょうか?

今触っているソースは特に改行やTABインデントがなく、そのまま1行でずっと
書かれてあり可読性としてどうなのかなと思いつつも、そういうルールかもしれないと思い
自分も特にインデント等を入れずに開発しているのですが。。

わかりにくい書き方で申し訳ありませんが、どなたか教えて頂けないでしょうか
342nobodyさん:2013/11/20(水) 17:57:19.88 ID:???
難読化してんのかね?
整形して編集してリリース時にまた改行消す、とかでいいんじゃ?
343nobodyさん:2013/11/20(水) 17:58:27.74 ID:???
コーディング規約ないならご自由に
後で自分が追うことになっても苦労しない程度にね
344nobodyさん:2013/11/20(水) 18:00:00.26 ID:???
>>337 >>339
次の文は正しい?それとも間違い?
『転送元で302を出しても、転送先で404を出せば「ソフト404」にならない』
345nobodyさん:2013/11/20(水) 18:00:42.18 ID:???
>>341
インデント、改行の入れ方はいろいろある
http://www.infiniteloop.co.jp/docs/psr/psr-2-coding-style-guide.html
http://ja.phptherightway.com/
のコーディングスタイル
いろいろあってどれが正しいとかはないが、会社やプロダクトでどうなっているか次第

一行に書くのがルールですって言われたら会社辞めちゃいそう
346nobodyさん:2013/11/20(水) 18:01:44.56 ID:???
>>344
Googleの話だよな?ソフト404って
正しいよ。ただ転送は301がオススメ
347nobodyさん:2013/11/20(水) 18:05:42.61 ID:???
>>346
そうGoogleの話。
理解できた。ありがとう!
348nobodyさん:2013/11/20(水) 18:05:59.79 ID:???
>>342-343
パッと見た時に「読みにくい」と思ったのが最初です
例えば

 $hoge = array('aaa' => $aaa, 'bbb' => $bbb);

のようなものがあったとして(実際はもっと多いです)

 $hoge = array
          (
           'aaa' => $aaa,
           'bbb' => $bbb
          );

のように書いた方が後で見た時に読みやすいと思いまして。。

>>345
資料の方ありがとうございます。
そちらを見てみます。
349nobodyさん:2013/11/20(水) 18:07:21.19 ID:???
>>341
それって最終的にそうしてるってだけで、
編集用のコメントが入ってたりインデントもちゃんと入ってるソースが別にあるでしょ?
つうか会社に人に聞きなさいよ。
350nobodyさん:2013/11/20(水) 18:08:46.70 ID:7VTPw3qr
変なこと聞きますが、base64_encodeでダブルクオーテーションが
含まれる文字列に変換されることってありえませんよね?
351nobodyさん:2013/11/20(水) 18:11:55.88 ID:???
インデント、手で入れてるんですか?
352nobodyさん:2013/11/20(水) 18:13:31.78 ID:???
>>350
ないと思うけど
353nobodyさん:2013/11/20(水) 18:14:21.21 ID:???
>>341
インデントはスペース4つが普通。
いろんな文法チェッカーツールも、デフォルトではタブでインデントしてると警告を出すのが多い。
354nobodyさん:2013/11/20(水) 18:17:04.21 ID:???
>>349
ないんです
聞いてみたら「昔からこうだった」らしいので。
そういうものなのかなと少し疑問に思って質問しました。すみません

>>353
TABじゃないらしいですね。
>>345さんの教えてくれたページを見て驚きました

スレ汚し申し訳なかったです
355nobodyさん:2013/11/20(水) 18:17:34.09 ID:7VTPw3qr
>>352
ですよね。CSVファイルに保存するとき、base64_encodeして保存してるのですが、
たまにダブルクォーテーションが余分についてファイルが壊れている事があります。
原因が全くわからないので、バグを見つけられずに困っていました。

他の原因を探ってみます。
356nobodyさん:2013/11/20(水) 18:19:19.18 ID:???
>>354
PHPのインデントはスペース派が多いけど
どっちでもいいよ。会社やプロダクトで決められたほうを使うべきかな
357nobodyさん:2013/11/20(水) 18:20:47.24 ID:???
>>356
PSR-2がスペース使うのがMUSTだから、どっちでもいいならスペース使っといた方がいい。
358nobodyさん:2013/11/20(水) 18:43:18.00 ID:???
>>341
vimの設定ちょこちょこしておけばインデントは勝手にやってくれるよ。
インデントを入れずに書くのはやめといたほうが。
359nobodyさん:2013/11/20(水) 18:56:19.40 ID:???
>>354
やべえなその会社w
お前が引っ張っていってやれ
360nobodyさん:2013/11/20(水) 19:11:37.50 ID:???
>>357
PSR-2に従うならだな
従うかはMUSTではないからな

うちはPSR-1までは従ってるけど、コーディングスタイルは全然違うな
361nobodyさん:2013/11/20(水) 19:29:19.34 ID:???
>>346
いい加減な事を教えないでくれ
301はリソースが一時的に別の場所に「ある」時に使う
ソフト404エラーは404を返すべきところで「404を返さない」事を指す
362nobodyさん:2013/11/20(水) 19:45:20.59 ID:???
>>361
違うよ、まず301は恒久的だぞ、一時的は302
301にしろ302にしろ、リソースが新しいURIに移動したことを示す。
404はURIに一致するリソースが見つけられない、リソースはあるがリクエストを拒否したい等々
移動させることは勝手だし、リソースのあるなしは関係ない。

>ソフト404エラーは404を返すべきところで「404を返さない」事を指す
その通りだが、そのURIを301にしてその先で404を返すのは勝手。
その場で404を返そうがどっちでも良い
返せるならその場の方が好ましいとは言えるかもしれない
363nobodyさん:2013/11/20(水) 19:48:23.17 ID:ZNkS7nHy
PHPで重複組合せを簡単にやるにはどうしたらよいでしょうか?
もし関数やライブラリがあれば教えてください。
無ければサンプルコードを教えてください。よろしくお願いします。
364nobodyさん:2013/11/20(水) 19:52:53.93 ID: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]
];

このように出力したいです。
365nobodyさん:2013/11/20(水) 20:08:13.76 ID:???
PHPマニュアルが変わった?
366nobodyさん:2013/11/20(水) 20:10:39.68 ID:???
変わった
367nobodyさん:2013/11/20(水) 20:39:38.18 ID:???
>>362
> 違うよ、まず301は恒久的だぞ、一時的は302
ごめん、俺が取り間違えてる

> 404はURIに一致するリソースが見つけられない、リソースはあるがリクエストを拒否したい等々
> 移動させることは勝手だし、リソースのあるなしは関係ない。
404は適当な理由による拒否として使うコードではない (RFC 2616#10.4.5)
拒否する理由に合わせて400、401、403、406等が用意されている

> その場で404を返そうがどっちでも良い
> 返せるならその場の方が好ましいとは言えるかもしれない
Googleが決めたソフト404エラーを回避する義務がないのは同意するけど
無いものを無いと知っててクライアントに教えないのはHTTPサーバーとして行儀が悪い
今回のケースではPHPで対応できるのだから404を返すべき。この点は譲れん
368nobodyさん:2013/11/20(水) 20:59:29.17 ID:???
>>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;
}
369nobodyさん:2013/11/20(水) 21:02:06.21 ID:???
>>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じゃないし問題なし
370nobodyさん:2013/11/20(水) 21:25:52.44 ID:???
>>369
> 10.4.5
それは404の説明ではなく commonly used な
「リクエストを拒否する理由を隠したい、適当なものがない時にも使われている」という使用例だ
ソフト404エラーの話とはまた違う

> 301と404のセットで教えてるから良いんだよ
だから選択ではなくセットで使えという事が
ソフト404エラーに該当するしHTTPサーバーとしての振る舞いとしても良くないと言ってるんだ
371nobodyさん:2013/11/20(水) 21:31:48.37 ID:???
まだやってたのか
372nobodyさん:2013/11/20(水) 21:38:05.31 ID:???
>>369
>>344に対する回答>>346が間違い
それだけの話だ
373nobodyさん:2013/11/20(水) 21:42:05.18 ID:???
>>370
HTTPステータスの話とソフト404の話をごっちゃにしないでくれ

ソフト404はあくまでGoogleがこれ404がいいよねってURLだ
あくまで提案であり、このままだと404と見なすよって意味だ

元の質問が、302→404としたらソフト404でなくなるかだ
答えは「なくなる」だ。これはHTTPステータスではなくGoogleの話だ

>それは404の説明ではなく commonly used な
>「リクエストを拒否する理由を隠したい、適当なものがない時にも使われている」という使用例だ
>ソフト404エラーの話とはまた違う
そのとおり、最初からソフト404エラーとしてそれを説明してないので問題ない
374nobodyさん:2013/11/20(水) 21:45:08.54 ID:???
>>372
どうみてもあってるんですが、どこが間違ってるんでしょうか?
375nobodyさん:2013/11/20(水) 21:48:25.66 ID:???
厳密には
https://support.google.com/webmasters/answer/181708?hl=ja
>存在しないページに対して 404 と 410 以外のコードを返すこと(または 404 を返す代わりにホームページなど他のページにリダイレクトすること)は、問題となる可能性があります。
と書いてはあるんだ

実際は302か301で404に飛ばしても、ソフト404エラーの解決にはなる
376nobodyさん:2013/11/20(水) 22:06:42.02 ID:???
>>373
そうだな対Googleの話に絞ろう
https://support.google.com/webmasters/answer/181708?hl=ja
> 存在しないページに対して 404 と 410 以外のコードを返すこと
> (または 404 を返す代わりにホームページなど他のページにリダイレクトすること)は、問題となる可能性があります。
> まず、その URL にページが存在することが検索エンジンに明示されます。
> その結果、URL がクロールされ、コンテンツがインデックスに登録される場合があります。

質問者はそのURLに対するリクエストをリダイレクトすると
ソフト404エラーにならなくなるのか?を訪ねているのだから答えはNOだ
377nobodyさん:2013/11/20(水) 22:13:11.42 ID:???
>>376
どうやってコンテンツがインデックスに登録されるんだい?
404返してるページはgoogleはインデックスしないぞ
378nobodyさん:2013/11/20(水) 22:17:24.84 ID:???
>>375
ごめんリロードしてなかった
俺のサーバーじゃないならリダイレクトしようが何しようが全然構わないけど、
初心者が見に来るスレだからこそ理想的な手段でやって欲しい
379nobodyさん:2013/11/20(水) 22:23:26.54 ID:???
スレチだしそろそろ終わらせようか

>>377
404や410を返さないURLをどう扱うかは俺ではなくGoogleが決める事
そしてソフト404エラーを回避するためには404、410を返す以外の解決手段が書かれていない
それ以上何を語ればいいんだ
380nobodyさん:2013/11/20(水) 22:26:20.27 ID:???
>>344 >>346
404か410をその場で返す方が
301や302を利用して404に飛ばすより好ましい

ってレスすれば良いだけではないか
>>361の暴走が全てを狂わせた感じだな
381nobodyさん:2013/11/20(水) 22:39:23.48 ID:???
>>380
はいはい俺の暴走俺の暴走
質問者も居ないみたいだしもう終わらせよう
382nobodyさん:2013/11/20(水) 22:39:40.62 ID:???
>>377
これこれ。
> (または 404 を返す代わりにホームページなど他のページにリダイレクトすること)
404を返さずに404らしきページを返すことを、google用語でソフト404という。
だから、404らしきページを返すんなら、ちゃんとステータスコードも404にしろよってことだ。
383nobodyさん:2013/11/20(水) 22:42:16.58 ID:???
>>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 {::::::::::::::Υ   /
384nobodyさん:2013/11/20(水) 22:46:13.11 ID:???
>>383
分かってる人が多い中で、単にかみ合わなかっただけに見えるけど、
そんな荒れなさんな。よくあること。
385nobodyさん:2013/11/21(木) 11:52:00.88 ID:???
>>376
> ソフト404エラーにならなくなるのか?を訪ねているのだから答えはNOだ

ならなくなるのがNOなのか、
なるのがNOなのか。
386nobodyさん:2013/11/21(木) 13:55:32.19 ID:z+wm09wI
ところで、フレームワークについてはどう思う?
俺は、Symfony、Zend、Cakeを利用したことがあるけど、
実際は、PurePHP派なんだ。
フレームワークは重い。
人材を探すのが難しい、学習コストがかかる(特にSymfony)
そして、案件が少ない。
と商業的にはいいとこなしなんだけど。
逆に、標準PHPは、PHPプログラマならどんなフレームワーカーでも、対応できる。
設計書とオブジェクト指向さえしっかりしていればね。
こう思うんだけど、皆はどう思ってる?まさかクールだからって理由でフレームワークを使っているわけではあるまい。
387nobodyさん:2013/11/21(木) 13:59:57.42 ID:z+wm09wI
PureなPHPと、一般普及してるフレームワークを利用しているPHPとどちらの
案件が多いのだろうか?
やっぱ、殆どがフレームワークでの案件?
388nobodyさん:2013/11/21(木) 14:08:25.90 ID:???
フレームワーク指定の案件を受けたことないわ
フレームワークを知ってる人たちが使うと早く案件が終わるから使うってパターンが多いんじゃないの?
389nobodyさん:2013/11/21(木) 14:33:34.62 ID:???
フレームワーク禁止案件ならいくつかあった
390nobodyさん:2013/11/21(木) 14:35:35.69 ID:???
自社フレームワーク禁止案件ならあったな
391nobodyさん:2013/11/21(木) 14:37:29.80 ID:???
何を使うかは受注側、それもメインプログラマが決定すべきものでしょ
既に開発が始まってるPJにアサインされたらやるしかないけど
開発中から開発後まで使うことでメリットを感じるフレームワークならそれでいい
392389:2013/11/21(木) 15:32:28.62 ID:???
>>391
> 何を使うかは受注側、それもメインプログラマが決定すべきものでしょ

リリース後、自社メンテを睨んでたんだと思うよ。
393363-364:2013/11/21(木) 16:58:54.01 ID:Bf2F+E9Z
>>368
ありがとうございます!!
神様と呼ばせてください!!
神様ありがとうございました!!!
394nobodyさん:2013/11/21(木) 17:32:10.23 ID:???
ごめん、一箇所無駄があるわw
395nobodyさん:2013/11/21(木) 20:12:07.71 ID:???
>>368
これだと数が増えるにつれ際限なくメモリ使うから糞コードだぞ
396nobodyさん:2013/11/23(土) 02:09:37.21 ID:???
phpで掲示板を作ったのですが、次は何を作るのがオススメですか?まだ3ヶ月の初心者です。
397nobodyさん:2013/11/23(土) 02:18:18.78 ID:???
>>396
PHPから離れて別の言語を探索してみるのもよし
398nobodyさん:2013/11/23(土) 02:19:06.56 ID:???
流体シミュレーションでも作るといいよ
399nobodyさん:2013/11/23(土) 02:20:08.49 ID:???
>>396
次はwordperssを使いましょう
それでHPを作成販売すればお金が稼げます。実際にやってる企業も多いですよ
400nobodyさん:2013/11/23(土) 02:21:36.61 ID:???
>>396
次はDBMSを勉強しよう
お薦めはPostgreSQL
日本では使用例も日本語文献も多いから
401nobodyさん:2013/11/23(土) 02:23:15.44 ID:???
>>396
WordPressのようなものは初心者にはおすすめしません。
まずはPHPをしっかり理解して自分である程度のシステムを組めるようになること
402nobodyさん:2013/11/23(土) 02:24:53.38 ID:???
WordPressこそ初心者向けだろwww
使いこなすだけでプロとなんら変わらない事が出来るからやっておけw
403nobodyさん:2013/11/23(土) 02:44:24.06 ID:???
全くつられやすいなお前らは
404nobodyさん:2013/11/23(土) 02:56:51.81 ID:???
>>402
おまえが初心者だろ?
プロの仕事わかってないだろwww
405nobodyさん:2013/11/23(土) 03:05:42.91 ID:???
いや、今時主流になってるサイトはWordPressで作れるだろ
しかも簡単。面倒臭い事は全部WordPressでやってくれる
まさに初心者向けな

必死になっちゃってる奴はライバル増えておまんま食い上げられる事でも危惧してんのか?www
406nobodyさん:2013/11/23(土) 03:45:46.44 ID:???
という自演でしたwww

釣られてやったんだ感謝しろよ>>396
407nobodyさん:2013/11/23(土) 11:05:07.08 ID:co3F0dNX
TwitterのOAuthログイン実装してるんだけど
ローカルの開発環境だとどうやって試せばいいの?
408nobodyさん:2013/11/23(土) 11:45:06.48 ID:HUwpIheR
PHPは社員研修で習ったばかりの新卒エンジニアです
PHPで利用できるフレームワークの選定のための準備を任せられまして
ORMでセキュリティが問題ないものを探しています
フレームワークからORMが分離できないものでも問題ないです

・クライアントの文字コードを接続時に指定できること
・クエリパラメータはプリペアードステートメントを利用していること
・識別子はクォートされること
は最低条件です

最終的には先輩エンジニアと全コードを見ることになっています
目星をつけておきたいのです
お願いしまうす
409nobodyさん:2013/11/23(土) 11:45:24.53 ID:???
>>407
xampp
410nobodyさん:2013/11/23(土) 11:47:40.85 ID:???
>>408
smarty
411nobodyさん:2013/11/23(土) 12:07:02.08 ID:HUwpIheR
>>410
smartyはテンプレートエンジンだと習ったのですが
ORMでsmartyがあるのでしょうか?

URLを教えていただけるとうれしいです
412nobodyさん:2013/11/23(土) 12:12:05.98 ID:???
>>408
Doctrine、ZF2、PHP ActiveRecordは大丈夫
使うと怒られるだろうがPhalconPHPも大丈夫

FuelPHP、ZF1はダメ
413nobodyさん:2013/11/23(土) 12:50:13.63 ID:???
選定の準備を任されたってことの意味を理解してないな
こんなところで聞いてるのがバレたらお叱りを受けますよ
414nobodyさん:2013/11/23(土) 12:58:11.24 ID:???
最終的に「オレオレフレームワーク」が最強ってのに辿り着くんだけどね。
415nobodyさん:2013/11/23(土) 13:06:08.32 ID:HUwpIheR
>>412
ありがとうございます。PhalconPHPおもしろそうです
Cは会社の人で触れる人多いのでこちらも候補にあげさせてもらいます

>>413
選定のための準備でWeb上のブログ記事や質問サイトを使うことは許可されてるので大丈夫です
目星をつけたものを全ソースコードを読むことになっています
416nobodyさん:2013/11/23(土) 13:10:46.92 ID:???
教育係がめんどくさくて新人に全部丸投げとかwww
417nobodyさん:2013/11/23(土) 13:51:08.24 ID:xzL6Vqsq
http://kohada.2ch.net/test/read.cgi/php/1362790136/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: http://kohada.2ch.net/test/read.cgi/php/1362790136/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);
?>
418nobodyさん:2013/11/23(土) 13:57:05.37 ID: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>で分けるなど、他のページで使えない方法ではないものを教えてほしいです。
よろしくお願いします。
419nobodyさん:2013/11/23(土) 15:20:20.90 ID:???
>>418
空行で分割
420nobodyさん:2013/11/24(日) 11:00:32.25 ID:???
ヘッダは空行までというのはhttpに限らず広く使われてる
421nobodyさん:2013/11/24(日) 17:32:01.73 ID:BjxkHZDb
【OS名】Mac OSX 10.8.5
【PHPのバージョン】5.3.26
【質問内容】
ウェブ上のサンプルコードを参考に、
PHPからアメブロに投稿しようとしているのですが、
403エラーが返ってきて、うまく行きません。

ホームページ・ビルダーのブログ投稿機能では投稿できているので、
API自体は生きていると思うのですが・・・

原因のわかる方、よろしくお願いします。
422nobodyさん:2013/11/24(日) 17:35:58.91 ID:???
>>421
その情報じゃ答えようがないよ
423nobodyさん:2013/11/24(日) 17:48:32.03 ID:BjxkHZDb
>>422
どんな情報が必要でしょうか。
424nobodyさん:2013/11/24(日) 18:15:31.18 ID:???
>>423
実行したコードと
403エラーを認識したもの

があれば大体いけるんじゃないか?
425nobodyさん:2013/11/24(日) 19:08:52.68 ID:97obQaT5
>>419>>420
ページ本体にも空行が使われていたら、一つ目の空行で分割
ということで良いのでしょうか?
426421:2013/11/24(日) 19:41:29.93 ID:BjxkHZDb
>>424
文字数制限とリンク制限で書き込めないのですが、
「phpを使ってアメブロへ投稿する方法」などを参考にしました。

cURLのレスポンスを見ると403エラーになっています。
427nobodyさん:2013/11/24(日) 21:15:33.33 ID:???
>>426
アメブロは調べる限り公式な情報が不足しすぎてるから
根本AtomAPI理解できてないなら難しいと思うよ

401エラーでないってことはWSSEでこけてるわけではないな
403エラーは、根本何か間違えてる以外にも、記事の中にYoutubeの動画をいれるとか
iframeいれるとかでもおきるみたいで、いろいろ謎

ソースをhttp://codepad.org/で公開して、パスだけ貼るとか
リクエスト全部を貼るとかか

いろいろ長いので投稿テストしてるなら、短いのにしてくれな
428421:2013/11/25(月) 03:25:17.64 ID:kknZe82B
>>427
丁寧にありがとうございます。

ソースはcodepad.org/p9CmA3rZです。

nonceの値を変えてみたり、パスワードのハッシュ化あり・なしなど、
いろいろな組み合わせを試したのですが、
すべて403になります。

ホームページ・ビルダーにアメブロに投稿できる機能があり、
パケットキャプチャで解析したところ、
同じエンドポイントを使っていて、そちらはちゃんと投稿できているので、
PasswordDigestの仕様が変わったのか、もしくは根本的に何か間違えているのか・・・

よろしくお願いします。
429nobodyさん:2013/11/25(月) 09:47:03.64 ID:???
>>425
そうだよ、ヘッダに空行は無い約束だけど、本文に空行はありうるからね。
430nobodyさん:2013/11/25(月) 09:48:37.45 ID:???
あ、ついでに、ヘッダの先頭が空白(TAB含む)だったら前行からの継続ということね
431nobodyさん:2013/11/25(月) 15:02:57.99 ID:???
名前空間使うと、new \Exception() とかに \ 付けなきゃいけなくなってめんどくさいですね
432nobodyさん:2013/11/25(月) 17:17:33.17 ID:???
>>431
¥が嫌ならバクスラにしたら?
433nobodyさん:2013/11/25(月) 17:56:46.92 ID:???
どういうつもりでそんなこと言うんだろうか
434nobodyさん:2013/11/25(月) 19:29:47.02 ID:???
相対参照する場面すべてで .\ をつける羽目になるよりはいいと思うんだよね。
435nobodyさん:2013/11/26(火) 03:31:23.15 ID:5uCWNNk/
初心者ですが、教えてください。
サイトのトップページにコンテンツの更新情報を載せたいのですが、
データベースを利用せず実現したいです。
どのようにすればいいですか?
436nobodyさん:2013/11/26(火) 03:35:37.67 ID:???
【OS名】windows 7
【PHPのバージョン】5.3.26
【質問内容】
<div id="exa">
<select name="exmanple" id="exmanple">
<option selected value="test1">test1</option>
<option value="test2">test2</option></select></div>

でPOST通信を行ってます。一部JSでselectタグを書き換えており
document.createElement('select')〜document.getElementById("exa").appendChild("select")して
います。動的に書き換え後にPOSTした遷移ページでhistory.back()すると
JS書き換え前のHTMLが復元されてしまいます
JS介さない場合は、POSTした要素が復元されますが、動的に書き換え後にselect要素を
復元するためにする事はなんでしょうか?
437nobodyさん:2013/11/26(火) 04:04:53.98 ID:???
>>435
コンテンツのタイムスタンプ。

>>436
history api?
438nobodyさん:2013/11/26(火) 04:43:11.65 ID:???
クラスのメソッドにpublicは省略せずに付けるべきですか?
439nobodyさん:2013/11/26(火) 05:01:07.63 ID:???
好きにしろ
440nobodyさん:2013/11/26(火) 08:17:31.39 ID:???
>>435
require_once('koushinjouhou.html');
441nobodyさん:2013/11/26(火) 14:49:11.80 ID:???
>>435
どういうサイト形式なのか知らないけど、いずれにしても
更新と連動して記事タイトルとURLを蓄積するデータファイル
を作成する必要がある
必要なデータをデータベースに放り込んでおけば、後は必要に応じてリクエスト
するだけなので楽ができる

データベース使わなくても、PHPでCMS作って記事投稿と同時にkousinjyouhou.htmlに
<a href="example">記事タイトル</a>を追加して、それをincludeしたり、iflameで
読み込んだり、JSでdocument.writeしたり諸々方法論はあるけど
442nobodyさん:2013/11/26(火) 15:04:48.50 ID:???
>>441
> <a href="example">記事タイトル</a>を追加して、

それをするためのソースをどうやって作っておけばいいのかって質問だと思うんだが。
443nobodyさん:2013/11/26(火) 18:54:53.30 ID:QvBM31iq
>>441
>>442
みなさんご回答ありがとうございます。

私の説明不足で申し訳ございません。
考えていたのは「yyyymmdd.csv」という更新情報ファイルを日ごとに作成し、
ディレクトリに保存しておく(5日分のみ)。
トップページにアクセスすると、ディレクトリからファイル一覧を取得し
最終更新日ファイルの内容を表示させるというものです。

気になっていたのは、
FTPで更新情報ファイルをアップする際に、PHP側のプロセスと排他制御ができるのか
という点です。
444nobodyさん:2013/11/26(火) 19:23:45.69 ID:QvBM31iq
435です。
追記します。
FTPに限らず、サーバーのApache(PHP)とは
別のプロセスで更新される「update.txt」があるとして、
ファイル更新中に、ユーザーからのリクエストを待たせることは可能ですか?

ニコニコ動画のランキングのようなものをDBを利用せず実現したいです
445nobodyさん:2013/11/26(火) 20:22:42.40 ID:QvBM31iq
435です。
またまた追記します。

http://heartbeats.jp/hbblog/2013/10/atomic01.html
上記のようにスクリプトを組めばいいのでしょうか?
一度試してみます。

また
「ニコニコ動画のランキングのようなものをDBを利用せず実現する」場合、
一般的にどのような方法が用いられるのでしょうか?
ご存知の方、教えてください。
446nobodyさん:2013/11/26(火) 21:46:53.29 ID:???
PHPで画像サイズを縮小するためにEXIF情報を削除することは一定レベル以上の方であれば実行していると思います
このEXIF情報ですが削除してはいけないものというのはありますでしょうか?
熟達者の方のご意見をいただければ幸いです
一定レベル以下の方はEXIF情報削除などしていないでしょうから、コメントしてくださらないで結構です
447nobodyさん:2013/11/26(火) 21:59:48.25 ID:???
>>446
テンプレ読もう、な
448nobodyさん:2013/11/26(火) 22:03:35.43 ID:???
マルチなのか〜なんなのか〜上から目線の変な人

EXIF情報を使う予定がなければ削除して問題ない
449446:2013/11/26(火) 22:18:16.15 ID:???
>>448
アホやな
てめえみたいな低レベルには聞いてないんだよw

全部消したら、お前のへぼサイトみたいになってまうやないか
分かる奴おらんのか?

教えたろか?
450446:2013/11/26(火) 22:30:07.63 ID:???
もうええわ
自己解決したし
451nobodyさん:2013/11/26(火) 22:30:55.58 ID:???
バイナリプログラミングなんて誰でもできるのに
exifでドヤ顔()
452nobodyさん:2013/11/26(火) 22:36:51.93 ID:???
>>450
hetakusonaengiyana

>>451
おたくはちょっとできそうやな
他の虫けら先生とは違うようや
バイナリプログラミング、ここにいる分かってない連中に解説したれや
453nobodyさん:2013/11/26(火) 22:40:08.53 ID:???
>>451
んで、具体的にはどうするよ?
454nobodyさん:2013/11/26(火) 22:43:09.38 ID:???
RFCとか技術仕様書をちゃんと読めて理解できる人もこういうスレには多いので、
ちょっと先の段階に進めたからって天狗にはならないほうがいいですよ。
傍から見てるとかなり恥ずかしいので。
455446:2013/11/26(火) 22:43:37.79 ID:???
>>453
解説などできないさ
このスレには>>448みたいな低レベルがド素人に教えるスレなんだから
456nobodyさん:2013/11/26(火) 22:44:24.44 ID:???
Railsスレで門前払いされたもんだからここで何とか回答を引き出そうと必死
457nobodyさん:2013/11/26(火) 22:45:32.10 ID:???
458nobodyさん:2013/11/26(火) 22:51:17.32 ID:???
まぁここは入門生に下級武士が教える場だから
込み入った質問には答えられないよ
上級武士探しな
459446:2013/11/26(火) 23:03:44.72 ID:???
いや、わしは答えを知っているから探さないでもよい
ここにいる人間がそんな簡単な質問にも答えられない分際で偉そうに教えてるという証明がしたかっただけ
460446:2013/11/26(火) 23:05:37.89 ID:???
無能同士仲良くやっとけ
ほな
461nobodyさん:2013/11/26(火) 23:11:35.16 ID:???
Railsにもいたかまってチャンか

あぼーんしとこ
462nobodyさん:2013/11/26(火) 23:12:53.99 ID:???
ある一定以上っていうからどんな話かと思ったら
ただのバイナリ操作とか・・・
あんまり僕をがっかりさせないでくれ
463nobodyさん:2013/11/26(火) 23:16:06.62 ID:???
でも低レベルな解答が出ちゃったのも事実
>>462も上から目線だけど解説できないんでしょw
464nobodyさん:2013/11/26(火) 23:17:04.19 ID:???
自演が特長なんで、ほっといたほうがいいよ

Railsスレだと釣られて、かわいそうなことになってたよ
465nobodyさん:2013/11/26(火) 23:17:11.11 ID:???
そうやって解説させようとするいつもの煽り教えて君
466nobodyさん:2013/11/26(火) 23:18:49.89 ID:???
解説してやるから金用意しろ
467nobodyさん:2013/11/26(火) 23:20:05.23 ID:???
ここにはチンカス素人しかいないから難しい解説はムリポ
前から思ってた
468nobodyさん:2013/11/26(火) 23:21:02.70 ID:???
いきり立っても正解は答えられず
結局無能集団の証明になっちまったな(-_-;)
469nobodyさん:2013/11/26(火) 23:21:19.61 ID:???
暴言入り煽りの自演が入るのが特徴
470nobodyさん:2013/11/26(火) 23:22:36.97 ID:???
技術的に負けちゃったね
今の所不正解しか出てないし
471nobodyさん:2013/11/26(火) 23:23:14.65 ID:???
446の一人芝居に付きあわんでいいよ

はい次のかたどうぞ〜
472nobodyさん:2013/11/26(火) 23:26:01.77 ID:???
自分も実はこのスレ低能ばかりだなと思ってた
473nobodyさん:2013/11/26(火) 23:27:06.12 ID:???
ちょっと難しい問題には不正解者しか出なかった
それが全て・・・・
474nobodyさん:2013/11/26(火) 23:28:09.89 ID:QvBM31iq
445をお願いします
475nobodyさん:2013/11/26(火) 23:31:52.27 ID:???
>>474
ggrks
476nobodyさん:2013/11/26(火) 23:33:17.67 ID:???
>>474
何を聞きたいのかもう1度整理して
477nobodyさん:2013/11/26(火) 23:33:47.55 ID:QvBM31iq
>>475
キーワードだけでも教えていただけないでしょうか?
478nobodyさん:2013/11/26(火) 23:35:40.53 ID:QvBM31iq
>>476
「ニコニコ動画のランキングのようなものをDBを利用せず実現する」場合、
一般的にどのような方法が用いられるのでしょうか?

でお願致します。
479nobodyさん:2013/11/26(火) 23:35:50.30 ID:???
>>477
PHP 入門 amazon
480nobodyさん:2013/11/26(火) 23:37:32.00 ID:???
初心者の私は446の答えが448に思えてしまいます。
446さん、解説願えますか?
481nobodyさん:2013/11/26(火) 23:39:38.09 ID:???
>>480
ここには正解出せる人はいないよ
そういうスレだから
残念ながら>>449の反応が理解した人間の反応
482nobodyさん:2013/11/26(火) 23:40:57.00 ID:???
>>481
そうでしたね446さんには答えられないんでしたね
483nobodyさん:2013/11/26(火) 23:40:57.00 ID:???
ちょっとお前ら黙ってみな
446が名無しに戻って荒らしてるからそのうち連投規制かかるから
それまでスレ放置しとけ
484nobodyさん:2013/11/26(火) 23:52:56.53 ID:fv8eO2Pf
PHP5.4です。
bindvalueで演算子を変更することはできるでしょうか?
WHERE id > 5
や、
WHERE id < 5
など、bindvalueでsql文を変更したいと思っています。無理でしょうか。

$query = 'SELECT * FROM table WHERE ? ? ?';

$st = $pdo->prepare($query);
$st->bindvalue(1, 'id', PDO::PARAM_INT);
$st->bindvalue(2, '<', PDO::PARAM_STR);
$st->bindvalue(3, '5', PDO::PARAM_INT);
$st->execute();
485nobodyさん:2013/11/27(水) 00:00:46.17 ID:???
無理です
486nobodyさん:2013/11/27(水) 00:03:51.59 ID:???
>>483
不正解者おつ
487nobodyさん:2013/11/27(水) 00:19:17.40 ID:???
446も答えられないのか
488nobodyさん:2013/11/27(水) 00:26:43.68 ID:???
間違った解答者が出てから446が興奮しだした
railsにも出没したが446は正解知って問題を出す
やや難しいレベルの
んで間違えた解答者が出たら馬鹿にして罵る
でもスレの1/5か1/10程度の人間しか解答できないくらいの難度設定の問題だから馬鹿にされた解答者に援軍は来ない
railsでは何度かあったよ
正解の最後の文字を言ったりしていたから質問が目的じゃないみたい
489nobodyさん:2013/11/27(水) 00:27:54.31 ID:???
だから黙っとけって!
490nobodyさん:2013/11/27(水) 00:29:49.15 ID:???
>>489
馬鹿らしい
解答できなかったからって見苦しい
一人で黙っておきな
491nobodyさん:2013/11/27(水) 00:31:42.08 ID:???
>>443
>>1といいたいところだけど、ほっといても連投するだろうから。
参照されるパスに直接アップロードすることを避ければいいよ。
一般に言われる、cp -> mvと同じ。
492nobodyさん:2013/11/27(水) 00:35:03.63 ID:???
誰もまともに取り合ってないだけなのに、空気読めないって怖いね。
493443:2013/11/27(水) 00:35:23.02 ID:???
>>491
ありがとうございます
あまり参考になりませんでしたのでもう少しググって調べます
494nobodyさん:2013/11/27(水) 00:36:31.68 ID:???
>>488
Railsスレだと2人に釣られてたみたいだが
495nobodyさん:2013/11/27(水) 00:38:45.93 ID:???
>>493
具体的にいうと、creatだと途中を読まれるかもしれないから排他制御が必要かもって思うんでしょ?
だったらinodeを別にすればいいって話。単純だよ。
496nobodyさん:2013/11/27(水) 00:40:07.98 ID:???
railsスレでは一人正解者が出ていたかな
ここは今のところゼロで不正解者一人
railsの方が優秀だね
497nobodyさん:2013/11/27(水) 00:40:40.42 ID:???
そうだね
じゃ早くrailsスレに戻ったほうがいいよ
ここにいると優秀じゃなくなっちゃうからね
498493:2013/11/27(水) 00:41:43.37 ID:???
>>495
そんな簡単なことを聞いているのではないんですよ
しょうもな
499nobodyさん:2013/11/27(水) 00:42:09.19 ID:???
>>496
railsスレって正解者一人だと思ってたんだ
釣られた事実に気づいてなかったとは驚き
500nobodyさん:2013/11/27(水) 00:43:09.33 ID:???
>>498
?じゃあ、改めて質問を書いてくださいな。
> FTPで更新情報ファイルをアップする際に、PHP側のプロセスと排他制御ができるのか
これについてはこれ以上情報いらないでしょ。あとID
501nobodyさん:2013/11/27(水) 00:43:53.63 ID:???
とりあえずIDがないのは無視する方向に切り替えるか
502nobodyさん:2013/11/27(水) 00:44:39.79 ID:???
まぁ、スレのルールだしね。日付も変わってるしどうにもならん。
503nobodyさん:2013/11/27(水) 00:44:57.28 ID:bulawsjl
>>491
>>495
493は私?ではありません。
491、495さんありがとうございます。

上げていただいたキーワードで調べてみます。
何度も同じようなことを書き込んでしまい申し訳ありませんでした。
504nobodyさん:2013/11/27(水) 00:45:56.41 ID:???
>>503
何でキレた?
あやまれよクズが
505nobodyさん:2013/11/27(水) 00:46:20.86 ID:???
大丈夫弁解しなくても荒らしてるのは1人だけなのはみんな知ってるから
506nobodyさん:2013/11/27(水) 00:47:14.75 ID:???
>>504
質問するならID出そう
507nobodyさん:2013/11/27(水) 00:47:24.46 ID:???
別人なんだ
ならいいや
508nobodyさん:2013/11/27(水) 00:49:05.39 ID:???
Railsスレと一緒

質問者にも暴言吐いて絡んでくる荒らしだから無視してあげてね
509nobodyさん:2013/11/27(水) 00:50:19.52 ID:???
風呂入ってる間に部下どもが騒いでしまったようだな

さぁ、ものども、RoRスレに帰るぞ

phpにもまた来てやるから、もう少し勉強して正解出せるように鍛えときな
510nobodyさん:2013/11/27(水) 00:53:23.54 ID:???
>>509
釣られたところに戻るんだ

511nobodyさん:2013/11/27(水) 00:55:35.14 ID:???
--------------------------終 了--------------------------




--------------------------再 開--------------------------
512nobodyさん:2013/11/27(水) 00:59:15.49 ID:???
正直何が正解なのか分からなかった
分かってる人はすごいな
513nobodyさん:2013/11/27(水) 01:08:31.55 ID:???
誰も回答してないのに正解も不正解もないし
>>448が回答じゃなくて単にあしらってるだけ
最近写真にGPS情報入ってるかもしれないのを知ってはしゃいでるガキにしか見えない
514nobodyさん:2013/11/27(水) 01:10:10.08 ID:???
消しちゃいけない例外項目は何で、それを実装するには?
てな問題意図なのかな?

そしたら一つは思い浮かぶけど
515nobodyさん:2013/11/27(水) 01:17:17.68 ID:???
言葉遊びには付き合わなくていいと思うの
516nobodyさん:2013/11/27(水) 01:20:04.87 ID:bulawsjl
>>491,495
教えていただいたキーワードより
http://d.hatena.ne.jp/kaz-coz/20111220/1324359287
http://za.toypark.in/html/2009/06-01.html
http://d.hatena.ne.jp/LukeSilvia/20081001/p1
http://www.wikihouse.com/linuxfs/index.php?inode_operations
上記を参考に理解することができました。
ありがとうございました。
517nobodyさん:2013/11/27(水) 01:21:17.05 ID:???
>>514
思い浮かばない人もいるだろうね
それで上げ足を取られたという構図か
518nobodyさん:2013/11/27(水) 01:39:30.20 ID:???
思い浮かばないってのは普通だから気にしなくてもいいんじゃない?
技術っていうものは必要になったときに都度調べてやるわけで、
EXIFがどういうものかは知っていても、その細かな仕様までは普通知らないでしょう。
特にプログラムの世界では、前提知識から調べたいことに早く辿りつくのを目的として、
用語と大雑把にどういうものかを把握してるだけで良い。
519nobodyさん:2013/11/27(水) 01:43:40.25 ID:???
>>518
でも通過した人ならある程度は覚えてるよね
こんなことも通過していない人が多いのにはびっくり
ここで教える前に自分が制作したサイト見直した方が良いと思う
厳しいかもしれないけど
520nobodyさん:2013/11/27(水) 01:45:05.93 ID:???
車輪の再発明とかオナニーが好きな人はそう多くないと思うの
521nobodyさん:2013/11/27(水) 01:46:45.67 ID:???
中学生ぐらいまでだったら無意識でやってたかもしれないけど
今の俺にとって覚えたのを披露したくてドヤ顔して質問スレで問題出してくるとかちょっと理解できないwww
522nobodyさん:2013/11/27(水) 01:49:58.36 ID:???
>>519
それはある
予想される正解を辿っていない人が結構いそうで驚き
悔しいのか荒らしに一々反応してるところから低レベル
おっと、こういうレスすると自演とか言われちゃうなw
523nobodyさん:2013/11/27(水) 01:59:14.86 ID:???
世の中には画像のないWebサイトだってあるわけで
何がその人の通過点であるかなんてのは個人によりけり
俺もexifにはjsでライブラリ作ったことある程度には詳しいけど
煽ってる人はたまたま知ってる話題でよかったね
524nobodyさん:2013/11/27(水) 02:03:35.44 ID:???
画像ないWEBサイトかw
少なくともここで教えるには値しないよな
>>523のような熟練者なら何を気をつけるのよ
525nobodyさん:2013/11/27(水) 02:15:52.60 ID:???
>少なくともここで教えるには値しないよな
なんで?
画像処理には疎くてもパフォーマンス厨でキャッシュ周りは任せろとかいうやつもいるだろ
何が得意かというのは人それぞれ
526nobodyさん:2013/11/27(水) 02:18:42.64 ID:???
通過点とか学校の授業みたいに一定のカリキュラムでもあるのかよwww
ウルトラC級の馬鹿が混じってるなー
527nobodyさん:2013/11/27(水) 02:19:42.31 ID:???
論より証拠でEXIF削除で気をつけることぐらい瞬殺で答えたら?
別に出し惜しみするレベルの問題でもないじゃんw
528nobodyさん:2013/11/27(水) 02:25:53.06 ID:???
人を試すような人間に答える義理もないし煽っても答えは出ませんよ
529527:2013/11/27(水) 02:29:17.20 ID:???
a〜〜〜〜o〜〜〜〜
ヒント
これすぐに出てこないのに熟練者気取りか
荒らしと同レベルか偉そうにしている分ひどいなw
530nobodyさん:2013/11/27(水) 02:33:05.25 ID:???
偉そうって・・・
通過点なんてのは個人によりけりと当たり前のことを言っただけなんだがな
あんたのことなんて鼻から相手にしてません
531527:2013/11/27(水) 02:36:04.47 ID:???
>>530
こちらは知っていて、あなたが知らない事を馬鹿にされているわけだから、
当該問題に即答するのが手っ取り早いのに
御託ばっかり並べてるところを見ると知らないね?
知らないなら恥さらしのように熟練者なんていきがらなければいいのに

普通これ知らないとまともなサイトには遠く及ばないよ
532nobodyさん:2013/11/27(水) 02:41:55.01 ID:???
誰も熟練者と名乗った覚えはないしw
まぁ熟練者でもいいけどいくら煽っても答えませんけどね

>普通これ知らないとまともなサイトには遠く及ばないよ
こういう馬鹿なことを言うから突っ込まれてるだけなのをそろそろ理解したほうがいい
普通って何?まともなサイトって何?
主観なんてどうでもいい
533527:2013/11/27(水) 02:45:39.79 ID:???
>>532
まぁこれやってないと普通とは程遠いよ
簡単な質問にばかりドヤ顔で答えてないで少しは自分の精進をはかった方が良いよ
あなた低レベルだからこちらは得るもの少ない
ヒントを頼りに考えて脳ミソ鍛えなノシ
534nobodyさん:2013/11/27(水) 02:46:25.50 ID:???
はい論破完了
もう少し頭使いましょうね
535nobodyさん:2013/11/27(水) 02:54:18.54 ID:???
>>534
ヒント付きでも分からないのかwww
536nobodyさん:2013/11/27(水) 02:55:36.85 ID:???
>>535
おまえもだろ
俺もだけどw
537nobodyさん:2013/11/27(水) 03:00:34.65 ID:???
荒らしの要求は徹底的に無視して相手にせず、
矛盾をつきまくってピエロにしていくとはなかなかいい勉強になりました。
538nobodyさん:2013/11/27(水) 03:05:00.55 ID:???
>>534 = >>537
荒らしごときの簡単な問題が分からないなんて悔しいね
あんまり落ち込むな
539nobodyさん:2013/11/27(水) 03:10:39.69 ID:???
おこなの?
くやしいのうwwww
540nobodyさん:2013/11/27(水) 03:12:00.94 ID:???
>>527はとりあえずめちゃくちゃ恥ずかしいやつ。
顔真っ赤にしてもっと怒れよ!
541nobodyさん:2013/11/27(水) 03:17:06.06 ID:???
荒らしの愉快犯より技能低いとか正直恥ずかしい
しかももてあそばれて大激怒してるとかどんだけw
542nobodyさん:2013/11/27(水) 03:18:22.82 ID:???
>>527=>>535=>>538=>>541
悔しいのはわかったからもう寝ろ
543nobodyさん:2013/11/27(水) 03:41:36.07 ID:???
Webサイトを作るためにExifを除去しなければならないことがマストになる日が来てたとはなぁ。
言い換えると、Webサイトを作る際にはjpegだったりtiffだったりを使わなければならないのか。
実に面倒だなぁ。gifを排除せよってときよりも面倒だ。
544nobodyさん:2013/11/27(水) 03:58:40.14 ID:???
タイプヒンディングいいな
スカラー型には使えないのが残念だけど
phpにもuse strictみたいなの作って型宣言強制してほしいわ
545nobodyさん:2013/11/27(水) 06:41:19.95 ID:i5P0J2fr
>>485
ありがとうございます
悲しいです
546nobodyさん:2013/11/27(水) 06:54:22.79 ID:???
そりゃbindValue(Param)は字のごとく、(変数)値拘束だからな。
カラム名や文や演算子には使えない。
>>484の例で使えるのは3番の5の部分のみ。
'<'っていう演算子にPARAM_STRしてるのはちょっと笑ってしまったわ。
547nobodyさん:2013/11/27(水) 07:13:21.31 ID:???
$col = 'id';
$com = '<';
$query = "SELECT * FROM table WHERE {$col} {$com} ?";

$st = $pdo->prepare($query);
$st->bindvalue(1, '5', PDO::PARAM_INT);
$st->execute();

$colと$comが外から受け取る値なら、適切な処理をしないと、
全部SELECTしてしまうような事態になりかねないので、
セキュリティに自信がないならお勧めしない。
548nobodyさん:2013/11/27(水) 07:30:14.33 ID:i5P0J2fr
>>546-547
おぉ、ありがとうございます
>>547さんの方法で行けそうです。使わせていただきます。
↓みたいな感じならセキュリティ的にも大丈夫そうですね。
if(分岐条件){
$com = '<';
}else{
$com = '>';

}
549nobodyさん:2013/11/27(水) 07:56:14.73 ID:???
かまってちゃんは
顔真っ赤ってワードが好きなんだよな〜
550nobodyさん:2013/11/27(水) 08:20:38.22 ID:???
語尾に縮れ毛も好きだよね
551nobodyさん:2013/11/27(水) 08:45:11.78 ID:???
純粋にわからんわ
EXIFの中身さわったことないしな

まいっか。正答も見当たらんし、ないのかもしれん
552nobodyさん:2013/11/27(水) 09:29:31.86 ID:???
EXIFにはGPSデータが入ってるし除去するのが適切として
確かに消してはいけないものが一つ(私は一つだけ思い浮かぶ)ある
さすがに多くの人が使っているのだろうとは思ったけど皆の反応見ると意外に対策してない?てかEXIFすら除去してない?
私は上にあったようにimagemagckではaから始まるコマンドで対処する
553nobodyさん:2013/11/27(水) 10:02:00.90 ID:???
Exifで消しちゃいけない情報とか画像スレじゃないんだから、どうでもいいっすね。
消しちゃまずいとこ消さないで、画像閲覧に支障がない部分を全部消すにしても、
出来るマーならライブラリを使ってさっくり解決すればいいこと。
中の仕様とかそんなの隅々まで知る必要もないし時間の無駄。
というか知らんでも同じ結果に至るのに、知ってなきゃまともなサイト作れないとかイミフ。
だいたいExif関連が問題になりそうな不特定多数のWebサービスを、
仕事じゃなしに、低効率なPHPで気合入れて個人で作るんですか?(笑)
XAMPP使うなとか、FWのソース嫁とか、マシン語やれってのもそうだけど、
問題が起きたら自己解決できないからとか言って、
不必要なことまでやりたがるのは研究ならいいけどマーには向いてないね。
554nobodyさん:2013/11/27(水) 10:11:51.47 ID:???
stripImageしかしてないわ
555nobodyさん:2013/11/27(水) 10:16:59.85 ID:???
>>552
自尊心とかくすぐる煽りが足りないから無視してるだけ

少なくともこういう時困るってのを出さないと誰もまともには反応しない
556nobodyさん:2013/11/27(水) 10:30:20.04 ID:???
exifなんてgdでimagecreatefromjpegで読み込んでそれをimagejpegして画像作成するだけで全部情報吹っ飛ぶわ
557nobodyさん:2013/11/27(水) 10:57:27.37 ID:???
どーせ 例の縦横のこと言いたいんだろ。
558nobodyさん:2013/11/27(水) 11:22:49.91 ID:???
orientaionの話なら、対応しないよ
iOSのブラウザ以外基本対応してないから要件で特別なことがない限りしない

exifから削除したらいけない情報でもなんでもない

どちらかというとiPhoneだって認知したときのみ対応等の特別処理
559nobodyさん:2013/11/27(水) 11:31:55.74 ID:???
スペル間違えるし。orientationだ

>>552というか>>527というか>>446が直接ImageMagickを叩いてるとは驚いた
IMagickあるんだから使えよ、auto-orientに値するものはまだないけどな

あと、ImageMagickの-auto-orientはコマンドじゃなくてコマンドラインオプションだからな
間違えるなよ

別の言語系のImageMagickの実装はauto-orientのメソッドあるのにPHPはまだだな
getImageOrientationで方向とってrotateか
560nobodyさん:2013/11/27(水) 11:35:28.67 ID:???
いや、聴きもしてねーことをぐだぐだ書くスレじゃねーし。
優越感に浸れて気分いいんだろうけどさ
561nobodyさん:2013/11/27(水) 11:39:47.34 ID:???
まぁ落ち着けよ
もう>>446は恥ずかしくて出てこれないだろうし
ただこういうやつはまた現れるものなので
夜になったら帰ってくるかもしれないからそれまでにとりあえず話題を変えてくれ
562nobodyさん:2013/11/27(水) 11:57:21.67 ID:???
あれ、これ>>446の質問が間違ってね?

もし、auto-orientのことだったら
EXIFから削除してはいけないものでなくて
EXIFを削除するときにやらなければいけないことってだけ
(やらなくても実は良いんだけど)

って考えると>>448の回答えぐいな
563nobodyさん:2013/11/27(水) 12:50:42.82 ID:???
えぐくないよ。
GPS情報を消すのが適切って言ってる人いるけど、場合によるもの。
564nobodyさん:2013/11/27(水) 13:04:02.94 ID:???
exifなんてものはユーザの意図を知らないサーバ側でどうにかする問題じゃないし
本来無知なユーザに責任を持つ必要はないが
問題になる可能性を考慮してSNSやアプロダでは消してもいい
無知は問題がおきたときにサイトのせいにするので評判にも関わるからな
565nobodyさん:2013/11/27(水) 13:07:21.44 ID:???
>>563
至極当たり前のことだけ書いてるからさ

これに>>446が鬼の首を取ったように反応する

って構図がえぐいなと
566nobodyさん:2013/11/27(水) 16:19:49.21 ID:???
>>436
自己解決

ユーザーが指定するoptionタグを1つに絞るためselectタグを
parentNode.removeChild(select);
としてからselectタグをcreateElementしてた事がhistory.back()で復元されない原因

単にJSで指定のoptionをselectedさせると動的に書き換え後のselectも復元された
567nobodyさん:2013/11/27(水) 20:16:00.24 ID:???
>>558>>559
おっ、正解者出たね。それにしても正答率少ない。
他の奴にいたっては、あぁそれね、みたいなリアクション取ってるねw
昨日いたぶりまくっても答えなられなかった分際で¥

ときに、>>558さんよ
EXIFでは気を付けるところってそんなもんでいいんだよな?確認のため
他にもアドバイスあるかい?

俺もここにいる多数と同様エキスパートでも何でもないから、何かあったら教えてくれ

ちなみに俺はRoR派でimagemagick直接はいじっていない。
568nobodyさん:2013/11/27(水) 20:17:40.06 ID:???
他にもって、画像周りでEXIF除去以外の分野ってことね
569nobodyさん:2013/11/27(水) 20:37:56.63 ID:???
>>567
知ってる人いた!僕に何か教えてください!
570nobodyさん:2013/11/27(水) 21:12:46.95 ID:???
まだ頭悪いやついたのか
馬鹿にされてんのに上から目線で何が正解者だよ
571nobodyさん:2013/11/27(水) 21:19:51.66 ID:???
>>567
ほんもの?
572nobodyさん:2013/11/27(水) 23:05:39.42 ID:???
IDのない質問は無視
573nobodyさん:2013/11/27(水) 23:14:33.16 ID:ZK+gtB40
>>558>>559
おっ、正解者出たね。それにしても正答率少ない。
他の奴にいたっては、あぁそれね、みたいなリアクション取ってるねw
昨日いたぶりまくっても答えなられなかった分際で¥

ときに、>>558さんよ
EXIFでは気を付けるところってそんなもんでいいんだよな?確認のため
他にもアドバイスあるかい?

俺もここにいる多数と同様エキスパートでも何でもないから、何かあったら教えてくれ

ちなみに俺はRoR派でimagemagick直接はいじっていない。



他にもって、画像周りでEXIF除去以外の分野ってことね
574nobodyさん:2013/11/27(水) 23:24:20.58 ID:???
・ 質問者として、態度をわきまえること。
575nobodyさん:2013/11/27(水) 23:31:07.54 ID:???
>>574
低技能乙
576nobodyさん:2013/11/27(水) 23:34:34.87 ID:???
> EXIFでは気を付けるところってそんなもんでいいんだよな?確認のため
> 他にもアドバイスあるかい?
最初からちゃんとこれで質問してれば回答する気にもなったが、さすがになぁ。。
577nobodyさん:2013/11/27(水) 23:35:56.40 ID:???
>>576
まぁまぁ
578nobodyさん:2013/11/28(木) 00:34:21.10 ID:HGMmiVb1
皆さんのやり取りを見ていて一つ疑問が
exif情報を消して保存した後にauto orientをしたくなった場合はどうすれば良いのでしょうか?
つまりEXIF削除し元データとして保存しその後別のサイズで画像を作りたくなった場合です
根本的にorientation情報だけ残して他を消すという方法はないのでしょうか?
579nobodyさん:2013/11/28(木) 01:10:06.24 ID:???
>>578
EXIF情報のorientationはおまけ
消したらその方向はもうわからない。

>根本的にorientation情報だけ残して他を消すという方法はないのでしょうか?
ない。

>つまりEXIF削除し元データとして保存しその後別のサイズで画像を作りたくなった場合です
リサイズするだけで良いでしょうに、元データと同じ方向にはなるよ
580nobodyさん:2013/11/28(木) 01:21:26.95 ID:HGMmiVb1
>>579
非常に助かりました。ありがとうございます。
上記で言う所の元データ保存時には、auto-orientで方向の情報がついたものが保存されるということでしょうか
auto-orientというのはEXIF情報から違うところへ方向情報を移し替えるものという理解になりつつあります
581nobodyさん:2013/11/28(木) 01:24:20.70 ID:???
>>580
>auto-orientというのはEXIF情報から違うところへ方向情報を移し替えるものという理解になりつつあります
auto-orientは実物の画像を回転させるの。物理的に

本来画像にEXIFで向きなんて必要ない。元の画像がその方向を向いてれば良いだけ。
582nobodyさん:2013/11/28(木) 01:27:33.55 ID:HGMmiVb1
>>581
ありがとうございます。
PHPからは少し話題が外れてしまいますが、実践では欠かせないポイントとなりそうですね
助かりました。
583nobodyさん:2013/11/28(木) 01:35:55.37 ID:???
>>582
EXIFに関しては>>448が完璧。これはEXIFの宿命

EXIFのorientation情報で回転させるかは要件次第だからむやみにやるものではないってのも認識すべき
584nobodyさん:2013/11/28(木) 01:45:42.77 ID:HGMmiVb1
>>448さんのコメントからすると、とりあえず消してOKということですね
私の場合はユーザーが意図した方向を向いてアップロードされていれば良いという要件だけなのでauto-arientを活用させていただきたいと思います。
585nobodyさん:2013/11/28(木) 07:02:39.50 ID:???
なんだ、ちゃんと質問できんじゃん
586nobodyさん:2013/11/28(木) 10:05:08.57 ID:???
人格が入れ替わっトルw
587nobodyさん:2013/11/29(金) 11:14:51.89 ID:???
久々に見に来てみたら、PHPと関係ない話で盛り上がってた。
95%以上、データ取扱の仕様の話じゃん。
588nobodyさん:2013/11/29(金) 23:35:44.90 ID:???
>>587
そして俺とお前のようにゴミしかいなくなった
589nobodyさん:2013/11/30(土) 10:06:52.02 ID:W5pThAv1
【OS名】FreeBSD 9.1-RELEASE-p7 amd64
【PHPのバージョン】5.3
[mysql]5.5

古いサーバーから新しいサーバーへサイトを移転したんですが、何故かDBのデータが表示出来ません。
Mysqlのデフォルト文字コードはutf8なんですが、set names ujisとデータベースに接続した時にクエリーを発行しています。
サイトの管理画面である設定を更新した所、DBへはデータが更新されてるんですがなぜかPHP経由で表示しようとすると出力出来ません。
(phpMyadminで確認)
set namesで以前は古いサイトを新しいサーバーへ移転した時は問題なかったんですが、今回のサイトだけは上手く行きません。
DBのデータをprint_rで見たところ、日本語だけ出力出来ないようです。
何か解決策はあるんでしょうか?
590nobodyさん:2013/11/30(土) 10:13:17.46 ID:???
set names utf8
591nobodyさん:2013/11/30(土) 10:28:57.00 ID:???
set names utf8 は使うな
592nobodyさん:2013/11/30(土) 12:14:34.97 ID:???
593nobodyさん:2013/11/30(土) 12:58:27.16 ID:R4pRLN+y
【OS名】win7
【PHPのバージョン】5.3

PHP+MYSQLで掲示板を作成・運営してます。所が、外国の人から
スパムコメントをされる事があり、日本語以外のコメントは受付ないように
設定した所、英語+ソニーのようにこちらの対応をかいくぐってスパム
コメントを残されてしまいました。
当然、ipでその都度BANしているのですが、イタチごっこです。
やはり画像認証等を導入すべきでしょうか?
594nobodyさん:2013/11/30(土) 13:47:43.76 ID:???
>>593
それはお前が決めることだ
595nobodyさん:2013/11/30(土) 14:36:43.64 ID:???
ドメインで、国外を排除したら?
596nobodyさん:2013/11/30(土) 15:06:05.97 ID:???
>>595
.comはどうすんの?
597nobodyさん:2013/11/30(土) 15:08:12.49 ID:???
ipで国判定して弾くとか
geoipってあったきがする
598nobodyさん:2013/11/30(土) 15:15:38.61 ID:???
掲示板やブログコメで画像認証ってハードル高いよな
「じゃあ書くのやめるわ」って思われるのがオチ
599nobodyさん:2013/11/30(土) 15:21:56.14 ID:???
お前らが今書き込んでる2chはどうやって海外IPを弾いてるかも知らんのか・・・
まともな解答者いねーな、ここは。
600nobodyさん:2013/11/30(土) 15:30:01.18 ID:???
>>599
海外IPを弾くのがベストアンサーとは限らんだろ。
海外に住んでる日本人や外国人と交流するサイトもあるんだから。
自分の視野の狭さに気づかず上から目線とか恥ずかしいね。
そもそも英語のコメが海外のIP発とも限らんし。
601nobodyさん:2013/11/30(土) 15:30:01.43 ID:???
2chは海外ipウェルカムでしょアメリカ合衆国とかドイツとか
地域表示欄に度々表示されてるがな
602nobodyさん:2013/11/30(土) 15:48:55.88 ID:???
>>599
恥ずかしいw
603nobodyさん:2013/11/30(土) 15:54:24.18 ID:???
>>593
スパムがbotなら、JavaScript+PHPでbotか人かを判別できるよ。
たとえば、投稿ボタンがクリックされたら、仕込んだトークン値をJavaScriptで加工してからPOSTで送信。
PHPでは、その加工したトークンの値が正しいかを確認。
これだけでも随分スパムは減るよ。
604nobodyさん:2013/11/30(土) 23:11:17.51 ID:HGPAKAoD
(>>)1,2,3は「array(1,2,3)」、(>>)4-10は「array(4,5,6,7,8,9,10)」
というように2chの投稿にある安価の数字から配列を作りたいのですが、
(>>)1,2,3,4-10,11,12
というようなアンカーを処理するにはどうすればいいでしょうか?

カンマでexplode()して配列ループ、ハイフンがあったら分割して
range()する三度手間しないといけないでしょうか?
605nobodyさん:2013/11/30(土) 23:55:12.81 ID:???
>>604
どんな風になったらいいと思ってるの?
606nobodyさん:2013/12/01(日) 22:09:29.70 ID:???
>>603
JavaScriptオフの人は・・・
まあ今どきそんな人考えなくてもいいのかね
607nobodyさん:2013/12/01(日) 22:33:57.70 ID:AEFe7KWl
YouTubeのリンク先の動画が消されてるかどうかを調べる事ってPHPでできる?
608nobodyさん:2013/12/01(日) 22:39:02.70 ID:???
>>607
×できる?
○できますか?
609nobodyさん:2013/12/01(日) 23:19:23.69 ID:???
>>607
出来る。
でもめんどくさい
610nobodyさん:2013/12/01(日) 23:23:31.98 ID:???
>>606
ワンタイムトークンをhiddenに入れときゃいい
トークンまで読み取るSPAMなら負けを認める
611nobodyさん:2013/12/02(月) 03:01:40.84 ID:???
JavaScriptを解釈するHTTPクライアントは難しいけど
hiddenフィールド読みとりは簡単で対策にはならんな
612nobodyさん:2013/12/02(月) 06:49:31.44 ID:dhG1eR96
$fp = fsockopen('tls://smtp.gmail.com', 465, $errno, $errstr);
//echo fread($fp, 4096);
fwrite($fp, "EHLO localhost\r\n");
echo fread($fp, 4096);

こんな感じで2行目のfreadをコメントアウトすると
4行目のfreadには3行目のEHLOのレスポンスは含んでおらず
1行目でソケット接続した際のwelcomeメッセージが返ってくるだけになり
スクリプトが進行していないように思えます
これはソケット接続の際とfwriteをした際には
毎回freadを使わないといけないのでしょうか?
613nobodyさん:2013/12/02(月) 06:57:23.29 ID:???
は?
614nobodyさん:2013/12/02(月) 11:57:12.20 ID:???
配列定義のリテラルが十年も拒否られ続けた理由って何?
一度聞いた気がするけどあまりに昔のことなので忘れてしまった
615nobodyさん:2013/12/02(月) 13:19:06.81 ID:???
>>614
同じ事をするために複数の構文は要らない
616nobodyさん:2013/12/02(月) 14:03:16.04 ID:???
>>612
4行目のfreadの後でもう一回freadしてみ
617nobodyさん:2013/12/02(月) 19:40:09.11 ID:dhG1eR96
>>616
レスありがとうございます
fsockopenの1回+fwriteした回数分freadしたら全部表示されました
ということはちゃんとリクエストは到達してるということなんですね
fread使うのは直前のコマンドのレスポンスでエラー処理や条件分岐なんかをするだけで
正常に実行されてるなら使わなくても問題なさそうですね
どうもありがとうございました
618nobodyさん:2013/12/02(月) 20:08:52.31 ID:???
>>614
あの言語とかあの言語っぽくなるから
619nobodyさん:2013/12/02(月) 20:42:19.34 ID:???
>>617
直前のコマンドのレスポンスが返ってくるの?
君の質問と矛盾しているように見えるが
620nobodyさん:2013/12/02(月) 21:04:34.95 ID:???
>>619
お前言いたいことはわかってるのにわざと揚げ足取る友達いないタイプだろ
621nobodyさん:2013/12/02(月) 21:59:28.38 ID:???
いや、fsockopenの仕様なんて知らないけど文章読んでるだけで矛盾があったから聞いただけだけど・・・
何なのこの人・・・
622nobodyさん:2013/12/02(月) 23:57:27.93 ID:???
>>617
やろうとしてることって、直前のレスポンスが取れるまでぐるぐる読むってことだよね。
気持ち悪いしメモリにも悪いんで都度レスポンスは読んでください。
内部使用しらないけど、ソケットバッファあふれてもしらないよ
623612:2013/12/03(火) 02:01:56.77 ID:Fpfk36ag
日付変わってるのでID変わってると思いますが612です

>>619
freadを使う目的としての話をしました
コマンド実行後freadすれば直前のが返ってくるという意味ではありません

>>622
fsockopenの使用例と関連関数ではいまいち使い方がわからなくて
おかしなこと書いてたらすみません
>>617>>616にヒントを頂いてそう書いたのですが
都度レスポンスを読むとは>>612の最後の2行で言ってることでよいということなのでしょうか?
それともfreadの使い方や使う関数間違ってますか?
624nobodyさん:2013/12/03(火) 02:53:04.73 ID:???
>>623
向こうが送ってきたデータは読み取り用のバッファに消えずに蓄積されると思いなさい
625612:2013/12/03(火) 07:21:36.31 ID:Fpfk36ag
>>624
なるほどだいたいイメージが掴めました
レスポンスが必要なくてもfreadは使ってどんどんデータを消していくってことですね
レスポンスが必要ない場合>>612のコメントとechoを外した感じのソースでやろうと思います
ありがとうございました
626nobodyさん:2013/12/03(火) 15:49:16.46 ID:???
https://paiza.jp/poh/ec-campaign

言語 最速実行時間 最遅実行時間 受験数
Java 0.07 秒 0.59 秒 293
PHP 0.01 秒 9.08 秒 295
Ruby 0.02 秒 9.47 秒 274
Python 0.08 秒 9.61 秒 302
Perl 0.02 秒 8.56 秒 183
C 0.01 秒 0.08 秒 205
C++ 0.01 秒 2.05 秒 453
C# 0.04 秒 2.95 秒 159


PHPってCやC++と同じくらい速いんだな(驚愕)
Ruby(笑)Python()
627nobodyさん:2013/12/03(火) 16:08:23.59 ID:???
多言語を貶す人ってちょっとおかしいよね。
628nobodyさん:2013/12/03(火) 16:42:06.00 ID:c8Q9t4rO
formからボタン押して、PHPでファイルのダウンロードダイアログを出した時って、
画面の更新されないけど、これってダウンロードダイアログ出さずに意図的に行えないですか?
ダウンロードとは全く関係ない、formからのボタンを押した際、画面の更新無しで処理進めてほしいんだけど。
629nobodyさん:2013/12/03(火) 16:51:33.64 ID:???
>>626
あの記事に450人は釣られたってことか
何やってんだか
630nobodyさん:2013/12/03(火) 17:28:16.50 ID:???
>>626
CとC++は2.5倍の試行回数じゃないか?
631nobodyさん:2013/12/03(火) 17:48:59.09 ID:???
PHPがJavaやC#に勝てるはずないじゃん。
実行時に文法チェックしてんだから。
632nobodyさん:2013/12/04(水) 00:34:32.24 ID:???
定期的にこういう話題出るけどもう秋田
633nobodyさん:2013/12/04(水) 03:38:21.32 ID:RQaJn6C5
捨て台詞を標準エラー出力に吐いてプログラムを終了する関数ってありますか?die()みたいな感じのです
fputs(STDERR,"aa")を使って自前で作るしか無いですかね?
634nobodyさん:2013/12/04(水) 04:21:08.49 ID:???
635nobodyさん:2013/12/04(水) 07:20:30.17 ID:???
die()
636nobodyさん:2013/12/04(水) 08:49:45.88 ID:???
>>635
通報した
637nobodyさん:2013/12/04(水) 12:34:33.47 ID:PBvUKlOP
>>628ですけど答えがわからず困ってます。
他で聞いてみますありがとうございました。
638nobodyさん:2013/12/04(水) 13:43:53.74 ID:???
>>637
セキュリティのためだから無理
639nobodyさん:2013/12/04(水) 13:44:56.75 ID:???
ってダウンロードの話じゃないのか
Ajaxで
640nobodyさん:2013/12/04(水) 18:51:38.51 ID:???
rssで画像表示させたいんだけど、simplexmlって関数じゃ出来ないかな?
641nobodyさん:2013/12/04(水) 23:58:15.96 ID:???
言語も関数も関係ないわ。RSS 仕様 でググれ。
642nobodyさん:2013/12/05(木) 00:13:39.15 ID:???
PHPの関数なら実装しかねないからなそういうの
643nobodyさん:2013/12/05(木) 00:59:46.01 ID:???
文字列の加工は正規表現でいいじゃん
正規表現使えるならxml関数使う必要ない
644nobodyさん:2013/12/05(木) 03:49:17.06 ID:???
>>1読まないやつに答えるな
645nobodyさん:2013/12/06(金) 04:34:47.39 ID:KKHOJGxq
file get contentsをログインが必要なサイトで使いたいです
ログイン画面でurlにidとpasswordのパラメータ含めてログインして、目的のページに遷移してからfile get contentsしてもログインしてない状態のhtmlを取得してしまいます
何か知恵を下さい お願いします
646nobodyさん:2013/12/06(金) 06:15:05.28 ID:???
第三引数のcontextを作成してクッキー食わせろ
まぁcurlでやるのがより簡単だろう
647nobodyさん:2013/12/06(金) 09:59:38.77 ID:Z8WCy1ZX
超初心者ですみません。
ファイルを読み込んで、ファイルの中身が10文字以下の場合、アラートを出したいのです。
以下のようにしてしまうと、一行が10文字以下の場合になってしまいます。
hogehoge.txt全体で10文字以下の場合にアラートを出すようにするには、どのようにしたらよいでしょうか?

$file_name = "hogehoge.txt";

$fp = fopen($file_name, "r");
while ($line = fgets($fp)) {
アラートを出す処理;
}
fclose($fp);
648nobodyさん:2013/12/06(金) 10:09:43.12 ID:???
10文字ってのが10バイトでいいならfilesizeでやれば?
そのコードでやるならwhile内で文字数カウントしてループ外でアラートを出せばいい
649nobodyさん:2013/12/06(金) 10:10:14.01 ID:???
whileの後
650nobodyさん:2013/12/06(金) 10:23:34.34 ID:???
マルチバイト文字は考慮するのかうんぬん
651nobodyさん:2013/12/06(金) 11:47:05.85 ID:???
>>647
$data=file_get _contents("./hoge.txt")

if(strlen($data)<10){
echo "alert";
die();
}
652nobodyさん:2013/12/06(金) 11:56:38.20 ID:???
マルチバイト考慮するならmb_strlenを使う
10文字以下なので<=もしくは11にする
echoのあとにdieとか冗長die('alert')でよい
653nobodyさん:2013/12/06(金) 12:48:47.10 ID:???
curlでcookie使う時にCURLOPT_COOKIESESSIONってcookie受信する時はtrueで
送信する時はfalseでいいですか?
654nobodyさん:2013/12/06(金) 13:21:29.61 ID:KKHOJGxq
>>646
ありがとうございます
できればそのcurlでの具体的なプログラムを記述して頂ければ幸いです
655nobodyさん:2013/12/06(金) 13:26:01.71 ID:???
curl php cookieとかでぐぐれよ
656nobodyさん:2013/12/06(金) 13:32:47.14 ID:KKHOJGxq
ごめんなさい
ググってきます
657nobodyさん:2013/12/06(金) 19:59:55.57 ID:bFPQLUri
質問です
curlでログイン処理をしているのですが、ログイン失敗してもエラーが出ません。
どうしたらエラーがでますか?よろしくお願いします。
658nobodyさん:2013/12/06(金) 22:49:00.32 ID:???
>>657
ID変わってるが>>654だろ?
>>1-4 を読め。テンプレうめろ。ルールも守れないなら人に頼るな。
自分の仕事を人に無料で書かせてコピペで済ませようとすんな。
659nobodyさん:2013/12/07(土) 02:33:21.08 ID:f05rVb/u
>>658
656ですけど657は私ではありませんよ
660nobodyさん:2013/12/07(土) 02:52:12.25 ID:epRjxDfQ
いや私が656です
自己解決しました
661nobodyさん:2013/12/07(土) 07:57:51.95 ID:???
ログイン失敗してもエラーが出ないってそりゃそうだろ
PHP側で問題がおきてるわけじゃないしな
相手サイトのログイン失敗時のメッセージでもソース中から探し出すしかないわな
662nobodyさん:2013/12/07(土) 08:01:32.52 ID:Pb/7pHpN
みなさん騙されないでください、私が本人です。
違う場所で質問して回答貰えたのでここでの回答受付は終了します。
663nobodyさん:2013/12/07(土) 08:11:31.96 ID:???
つまらないし誰もそんな低レベルな自演煽りなんて相手にしないのでさっさと帰りな
664nobodyさん:2013/12/07(土) 12:46:47.91 ID:???
回答受付って何様こいつ。心配しなくても誰も答えんよ。
665nobodyさん:2013/12/07(土) 21:18:32.99 ID:???
header関数でページ遷移したいのですがうまく行きません。
a.phpからb.phpに遷移したいのですが、遷移せずにhtmlとbodyだけが出力された状態になります。(エラーメッセージは出ません)

しかし、不思議なことにローカルホスト上では正常に動きます(遷移します)


わかる方いたら教えて下さい!
666nobodyさん:2013/12/07(土) 21:54:27.10 ID:???
>>665
テンプレ読もうな
667nobodyさん:2013/12/07(土) 22:27:54.64 ID:???
お前はそれで質問してるつもりなのか?
668nobodyさん:2013/12/07(土) 23:32:44.66 ID:???
しまった、ここにはゴミクズしかいなかったか
669nobodyさん:2013/12/08(日) 16:07:21.67 ID:???
arrayの内容がkey=>valueの配列でkeyがstringであった場合において
そのkeyが存在する要素が先頭から何個目のindexなのか調べる関数は
あるのでしょうか?

無いから大人しく回そうかと思います。
670nobodyさん:2013/12/08(日) 16:25:39.77 ID:???
連想配列として使うなら順序が保証されない前提でプログラムした方がいい。
順序が必要ならキーを別の配列に入れておくか値をオブジェクトにして順序をつっこんでおいた方がいいんじゃないかな。
671669:2013/12/08(日) 16:34:31.90 ID:???
無いから → 無いなら

>>670
構造体だとindex管理が面倒なのでclassで作った方がよさそうですね
ありがと
672nobodyさん:2013/12/08(日) 20:01:06.71 ID:???
連想配列に順序なんてねぇよなw
673nobodyさん:2013/12/08(日) 21:23:55.40 ID:???
http://www.php.net/manual/ja/language.types.array.php
> PHP の配列は、実際には順番付けられたマップです。
674nobodyさん:2013/12/08(日) 23:22:42.65 ID:???
PHPの配列は順番保証されるよ
この程度も知らんでおまえらよくやってるな
PHPしかやってないからかえってPHPのことがよくわかってないのでは?
675nobodyさん:2013/12/08(日) 23:42:44.31 ID:???
何のために順番保障してんの?
676nobodyさん:2013/12/08(日) 23:44:05.67 ID:???
順番が保証されないと思ってるのは>>672だけか。。がんばりな。
言語仕様マジ重要。
677nobodyさん:2013/12/08(日) 23:56:42.29 ID:???
>>675
単なる実装上の都合かと
678nobodyさん:2013/12/09(月) 00:00:32.72 ID:???
PHPの配列使う上でその違いがユーザになんか影響あんの?
679nobodyさん:2013/12/09(月) 00:03:13.16 ID:???
順序保証がないとksortも無意味になるな
680nobodyさん:2013/12/09(月) 00:08:44.70 ID:???
>>678
活用できる場面で活用すれば、レスポンスがはやくなる。
681nobodyさん:2013/12/09(月) 15:20:10.15 ID:qNQlBpJg
GETで値を取得して、比較する文がたくさんある場合、
一度GETを変数に取り込んで、
その変数で比較した方が早かったりするの?
めんどくさいから、すべてGETのまま比較してるんだけど、
一般的にはどちらでするの?
682nobodyさん:2013/12/09(月) 15:23:06.45 ID:???
見やすい方で
683nobodyさん:2013/12/09(月) 16:21:14.67 ID:???
>>681
速い・遅いって、100万回比較して1ms違うかどうかレベルの話でしょ。
なので>>682で。
684nobodyさん:2013/12/09(月) 16:51:43.20 ID:???
>>681
まず最初に、get で期待どおりに値を取得できてるかどうかを判定するのが基本。
isset とかでね。
だから、そんときに別の変数に代入されるな、普通は
685nobodyさん:2013/12/09(月) 17:06:09.97 ID:???
普通はこう変数に取り込むでしょ。速さは知らないが。

$val = isset($_GET['key']) ? $_GET['key'] : '';
686nobodyさん:2013/12/09(月) 17:47:42.09 ID:???
>>685
それだと空文字列のパラメータが渡されたのか、パラメータ自体がなかったのかわからなくなる
687nobodyさん:2013/12/09(月) 18:06:18.04 ID:???
>>686
たしかに、そうだね。
しかし、いずれにしても、空文字の場合には、エラーとして弾けば問題ないよ。
まあ、要件と実装の方法にもよるけど。
688nobodyさん:2013/12/09(月) 19:33:11.49 ID:qNQlBpJg
$hennsuu = HtmlConvert($_GET['nantoka']);
おらはゲットダイレクトしない場合は
こんな感じで、関数を5つくらい作って
パターンによって取り込んでる。
isset使ったことなかった。
速さは変わらないのか。今のままでいいかな。
なんかGETダイレクトだと、イメージでは
遅くなる感じしたもんで。どもでした。
689nobodyさん:2013/12/09(月) 19:59:56.92 ID:???
>>688
論点がずれるけど、それだと $_GET['nantoka'] が存在しない場合に、
noticeエラーが出るよ。その点でよくないと思う。
690nobodyさん:2013/12/09(月) 20:03:56.78 ID:???
組み込みのFilter使ってる
691nobodyさん:2013/12/09(月) 22:53:39.77 ID:???
issetって不思議な関数だよな
それに渡すときだけはそれがなくてもNoticeにならない
692nobodyさん:2013/12/09(月) 23:00:23.09 ID:???
>>691
別に自前の関数でも
func($foo = '') {

}
とかしとけばNULLを渡してもNoticeにはならんだろ
693nobodyさん:2013/12/09(月) 23:07:01.92 ID:???
>>691
issetやemptyは関数ではなくて言語構造だからですよ。
694nobodyさん:2013/12/10(火) 00:11:01.34 ID:???
>>692
$ary['存在しないキー'] 使った時点でNoticeでるよ
695nobodyさん:2013/12/10(火) 03:34:52.84 ID:???
なんでベンチとらないんだろ
696nobodyさん:2013/12/10(火) 08:21:30.23 ID:???
みんながやってるのと同じことを選んでで安心を得たいだけなんだから、
自分で確認するわけが無い。
697nobodyさん:2013/12/10(火) 12:54:42.14 ID:???
ベンチの問題じゃないよこれは。
698nobodyさん:2013/12/10(火) 17:13:14.99 ID:ZXq0cpwg
class none{
var hairetu = array();
}

$h = new none;
$h->hairetu['newkey'] = ''newvalue;

こういうことをしようとすると
Cannot use object of type stdClass as array
と怒られるわけですがnewkey付きで要素は追加できないの?
699698:2013/12/10(火) 17:24:01.12 ID:???
$h->hairetu[] = ''newvalue; ←これだと問題ないけど
$h->hairetu['newkey'] = ''newvalue; ←こっちだと
arrayではなくてobject(stdClass)になるからだめなんだね
classを違う書き方することにします。
700nobodyさん:2013/12/10(火) 17:46:31.39 ID:???
>>698
うちの環境(5.3でも5.5でも)だと普通にそのソースで通る
ダブルクォーテーションは足した

何か他間違えてるよ
701nobodyさん:2013/12/10(火) 17:47:41.02 ID:???
>>698
うちでは問題無いけど。
PHPのバージョンいくつ?
702nobodyさん:2013/12/10(火) 17:57:36.95 ID:???
>>698
通らないはずがない
別のミスはないか?
703698:2013/12/10(火) 18:05:04.88 ID:???
$php5 -v
PHP 5.5.6-1 (cli) (built: Nov 21 2013 09:55:16)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies

$time = time();
$h->hairetu[] = $time; ←これだとvar_dumpはarray()だしvalueはintだけど
$h->hairetu[$time] = 'value';←これにするとarrayではなくobject(stdClass)になって
キーがstringにになってしまう。$timeを123の数字に置き換えても文字列になるから
仕様なのだと思う。
704698:2013/12/10(火) 18:10:49.00 ID:???
あ、ごめん
確かにこっちに書いた部分だと通ったw

出直してきます!
705nobodyさん:2013/12/10(火) 18:11:40.85 ID:???
var hairetu →var $hairetu
706698:2013/12/10(火) 18:31:47.41 ID:???
同じ部分でjsonを使っていたので何となくjsonで読書していたのが原因でした。
お騒がせしました。

夕食後にserializeにしたいと思います。

class none {

var $hairetu = array();

}

class s {

var $Value = 'value';

}

$s = new s();

$h = new none;
$time = time();
$name = 'hairetu';
$h->{$name}[$time] = $s->Value;

var_dump($h);

$json = json_encode($h);
var_dump(json_decode($json));
707nobodyさん:2013/12/10(火) 20:40:26.57 ID:???
仕様なのだと思う(キリッ
708nobodyさん:2013/12/12(木) 18:44:48.26 ID:fJCy4SYM
PHP4で作ってたサイトをPHP5環境に移行させてます
変数を <?=変数?> で表示してたんですが、PHP5で表示されなくなりました
この書き方は廃止されたのでしょうか?
また廃止されていた場合、
<?php
echo 変数;
?>
の書き方しかないのでしょうか?
ググりたいんですがなかなかこの点について書いてるサイトが見つからず困ってます
709nobodyさん:2013/12/12(木) 18:46:55.97 ID:???
>>708
php.iniのshort_open_tag
ビルド時に無効にしてたら効かないかも
710nobodyさん:2013/12/12(木) 19:16:08.72 ID:???
http://togetter.com/li/600908

やっちゃったか
711nobodyさん:2013/12/12(木) 19:57:57.29 ID:???
>>710
大垣が完全論破されたってことでいいの?
712nobodyさん:2013/12/12(木) 20:07:51.06 ID:fJCy4SYM
>>709
いけました!
ありがとうございます
713nobodyさん:2013/12/13(金) 00:48:59.15 ID:???
>>711
実務上ではそうみたい

バインドを使わないのはゴミって言われたに等しいな
714nobodyさん:2013/12/13(金) 01:47:44.69 ID:???
php5.4~ではShort_open_tag=0でも<?=が使えるらしいよ
715nobodyさん:2013/12/13(金) 08:37:59.63 ID:???
>>710
よく分からん。まとめてくれ。
716nobodyさん:2013/12/13(金) 09:39:31.42 ID:???
あっちでやってくれ
717nobodyさん:2013/12/13(金) 10:40:37.06 ID:???
>>710
>>295
ウケル
718nobodyさん:2013/12/13(金) 15:25:45.87 ID:???
大垣ってほんとウザイな
719nobodyさん:2013/12/13(金) 15:53:22.32 ID:???
大垣ってなんでそこまで必死になれるんだろう
功績は認めるけど、性格が小物すぎる
720nobodyさん:2013/12/13(金) 15:56:19.52 ID:???
わざわざこんなスレで叩いてるやつも同一人物で必死に見える
721719:2013/12/13(金) 16:28:40.67 ID:yL3mhT89
ちげーよ
ID出しておくわ
722nobodyさん:2013/12/13(金) 16:50:28.51 ID:???
>>720
わざわざって、2chでPHP関連の総合スレ的役割なのは、このスレしかないじゃん
俺からすると、別の場所で書く方がわざわざ感を感じるけどな
723nobodyさん:2013/12/13(金) 17:04:47.52 ID:???
PHP関係なくね?
それを言うなら2chで大垣関連の総合スレがこのスレだからここでやるおだろ
724nobodyさん:2013/12/13(金) 17:11:03.83 ID:???
徳丸先生のブログ。

PHPとセキュリティの解説書12種類を読んでSQLエスケープの解説状況を調べてみた
http://blog.tokumaru.org/2013/12/php12sql.html

> 安全なSQLの呼び出し方は、公開されてから一度も改版されていないので、「安全になった」という表現は
> 適当でありません。現在のものが安全だとすれば、それはもともと安全であったことを意味します。

バッサリ
725nobodyさん:2013/12/13(金) 17:15:45.51 ID:???
何をしたいんだか。
どこがどうおかしいのかの説明がなければ意味不明だぞ。
726nobodyさん:2013/12/13(金) 17:25:56.11 ID:???
>>725
つい最近、大垣氏が次のようなブログを書いたんだけど、

IPAの「安全なSQLの呼び出し方」が安全になっていた
http://blog.ohgaki.net/ipa-how-to-use-sql-calls-to-secure-your-web-site

徳丸先生が、それをバッサリと切り捨てたって話ね。

関連Togetter:
大垣さんのIPA批判
http://togetter.com/li/599648
727nobodyさん:2013/12/13(金) 17:27:51.83 ID:yL3mhT89
>>724
さすが徳丸さんだな
とてもわかりやすい解説してるし、意見を押し付けていない
何より徳丸本と大垣本も解説してくれたのはよかった
728nobodyさん:2013/12/13(金) 17:31:38.18 ID:???
エスケープエスケープうるさいんだよ
729nobodyさん:2013/12/13(金) 18:55:09.64 ID:???
わざわざここに書いて賛同を得るような話題でもあるまい。
そもそも質問じゃねーから、勝手に総合スレ扱いするのが間違い。

俺様の気になった事柄がみんなの話題になるとうれしいだけだろう。
730nobodyさん:2013/12/14(土) 00:28:35.98 ID:???
つうか名前出してるやつ叩くなら同じ土俵に上がれよ
ツイッター参戦すればいいだけでここは場違い
731nobodyさん:2013/12/14(土) 01:37:34.24 ID:???
大垣はどうでもいい
このスレの回答者も平気でプリペアてかバインド使わないで良いとか言うから心配だ
732nobodyさん:2013/12/14(土) 06:29:09.87 ID:???
昔はそんなもんなかったからな
733nobodyさん:2013/12/14(土) 09:05:24.68 ID:???
>このスレの回答者も平気でプリペアてかバインド使わないで良いとか言うから
そんなの見たことないけど無理して妄想ででっちあげしなくてもいいのよ
734nobodyさん:2013/12/14(土) 13:34:25.00 ID:N7nQofZQ
質問させて下さい。
cmsを使わずに、phpのみのプレーンでサイト製作中なのですが、
cmsのような投稿記事の仕組みを実現したいと思っています。

トップページ(index.php)に「お知らせ記事」の最新1件だけ、表示させて、「全件見る」のリンクから「お知らせ記事」のアーカイブページ(archive.php)に全件表示させたいです。
それで記事なのですが、archive.phpにソースを追加していくのではなくて外部ファイル(info.inc)に記述してそれを読み込む形にしたいと思っています。

info.incには

<div class="post num001">
<h3>お知らせ1</h3>
<p>文章。文章。文章。文章。文章。</p>
</div>

<div class="post num002">
<h3>お知らせ2</h3>
<p>文章。文章。文章。文章。文章。</p>
</div>

・・・続く

といった形で、お知らせ記事をエディタで追加記述しようと思っています。
・index.php、・archive.php、・info.inc
にどのような構文を書けば実現できるでしょうか?宜しくお願いします。
735nobodyさん:2013/12/14(土) 13:40:22.39 ID:???
>>734
info.inc のフォーマットにもよるけど、上のような内容なら、index.php では空行まで読めばいいんじゃないかな
もちろん、require は使えないから、ファイルを読む関数を使って echo で出す感じになると思う

archive.php では単純に require すればいいと思う
736nobodyさん:2013/12/14(土) 13:46:08.86 ID:N7nQofZQ
>>735
早速のご回答ありがとうございます。
しかしながら、php素人でして、具体例的なソースコードを教えていただければ幸いです。
737nobodyさん:2013/12/14(土) 13:50:00.54 ID:???
>>736
素人でも書いてみなよ
そしたらコメントつけるからさ。他の人もコメントしてくれるよ

ただ教えてもらうより、学習の能率が断然違う
738nobodyさん:2013/12/14(土) 22:10:27.56 ID:???
>>736
>>1-5 読め
お前が書いたソースを貼れば校正や意見はもらえる。
てめえの仕事を人に無料でやらせようとすんな。入門書読んでから取り組む程度のことができないなら大人しく人に金払ってやってもらえカス。

皆さん、こういうカスは職業プログラマの質を下げ単価を下げる原因を作り技術者を安くこき使うことしか考えないカスな輩ですので相手にしないようにしましょう。
739nobodyさん:2013/12/14(土) 23:01:51.81 ID:N7nQofZQ
>>738
info.incには
<!--Post STA-->
<div class="post num001">
<h3>お知らせ1</h3>
<p>文章。文章。文章。文章。文章。</p>
</div>
<!--Post END-->

<!--Post STA-->
<div class="post num002">
<h3>お知らせ2</h3>
<p>文章。文章。文章。文章。文章。</p>
</div>
<!--Post END-->

とコメントをいれ、

archive.phpには
<?php
$src = file_get_contents('http://URL');
$src = mb_convert_encoding($src, 'UTF-8', 'auto');
$res = preg_match('/<!--Post STA-->(.*)<!--Post END-->/su', $src, $mch);
echo $mch[1];
?>
こんな感じでなんとか表示させることはできました。
あと、indexの最新が分かっていない状況です。
修正やご指南宜しくお願いします。
740nobodyさん:2013/12/14(土) 23:58:11.16 ID:3rH+tT3X
まず
プログラムは魔法じゃない
つまり
指示したようにしか動作しない

つまり
1件だけ取り出したいなら
基本的にはそれを区別して取り出せるように保存する必要がある

細かいところにまで行き届いてるプログラムには一々そういう手間をかけてこさえてあるんだよ
741nobodyさん:2013/12/15(日) 00:01:18.71 ID:???
>>739
自分である程度やったなら少しアドバイスする。
最新をinfoの上に追記するか下に追記するかでプログラムは変わるが、お知らせなら上に追加して行く方がいいだろう。
上に追加するならstrpos関数で最初に出てくる<!--Post END-->の位置までを取得してsubstrで一つ目の記事を取得するといい。
$latest = substr($text, 0, strpos($text, '
<!--Post END-->'));
みたいな感じだな。
保存フォーマットがスマートじゃないが手書きなら仕方あるまい。
742nobodyさん:2013/12/15(日) 00:08:18.33 ID:???
>>739
ではヒントを

正規表現の (.*) の部分は greedy match といってなるべく長い文字列にマッチするようになっている
abcabcabc に a(.*)c をマッチさせると、 bcabcab がひっかかる
743nobodyさん:2013/12/15(日) 00:13:23.33 ID:???
>>739
自分である程度やったなら少しだけアドバイスしてやる。
最新をinfoの上に追記するか下に追記するかでプログラムは変わるが、お知らせなら上に追加して行く方がいいだろう。
上に追加するならstrpos関数で最初に出てくる<!--Post END-->の位置までを取得してsubstrで一つ目の記事を取得するといい。
$latest = substr($text, 0, strpos($text, '
<!--Post END-->'));
みたいな感じだな。

保存フォーマットがスマートじゃないが手書き更新で素人でもできるが目的があるなら仕方あるまい。

だが、なぜURLから読み込むのとかarchiveはそんなプログラム書く必要あんの?とかツッコミどころは多すぎるからもう身近な人にレビューしてもらえよ。あんた一人で納品は無理だわ。
744nobodyさん:2013/12/15(日) 01:23:13.20 ID:ASKbBAVd
>>739
大人しく聞いてたらアンタ何様?趣味で作っているサイトだから納品とか言ってもねーこと勝手に述べてんじゃねーよ。
たかだかphpごときで、2chで素人相手にえらそーにして喜んでるレベルじゃ、現実社内で誰にも相手されて無い日陰もんのさびしー奴なんだろな。
ろくに教える事もできないんだったら黙ってろよ。無視すればいいだろ?お前みたいな存在が、掲示板の質を落とすんだよ。
注意したいことがあっても、いい大人だったら言葉使いくらいちゃんとしろよ。
「カス」とか言ってる事が低俗な人間だぞ。まあ頑張れ
745nobodyさん:2013/12/15(日) 01:38:10.14 ID:???
これがあの煽り教えて君か
746nobodyさん:2013/12/15(日) 02:35:53.39 ID:???
教えて君がキレたな。カス程度言われてきれるなら2chにくんなよカス。
たかがそのpho「ごとき」だってさ。たかがなら人に聞かずにひとりでやれば?
747nobodyさん:2013/12/15(日) 03:47:29.81 ID:???
>>739
archive.php:
<?php

$src = file_get_contents('./info.inc');
preg_match_all('/<!.+?>(.*?)<!.+?>/s', $src, $m);

foreach ($m[1] as $v) {
print($v);
}


index.php:
<html>
<body>
<?php require './archive.php'; ?>
</body>
</html>
748nobodyさん:2013/12/15(日) 08:21:04.01 ID:???
POST STA☆
749nobodyさん:2013/12/15(日) 10:01:17.44 ID:???
>>739
CSVかDBにしなよ
正規表現で無理やり取得する珍回答が続いてるが
750nobodyさん:2013/12/15(日) 11:59:54.80 ID:???
info.inc を直接修正したい、という要求があるんだろう
その要求自体がなんだかなあと思わないでもないが、分からないでもない
751nobodyさん:2013/12/15(日) 12:40:58.89 ID:???
趣味とか言い訳してたがそう言う要求がある時点で趣味じゃないだろ。趣味や勉強ならDB使うわな。
やっぱ教えて君で人に仕事させようとするカスだな。もうスルーしよ。
752nobodyさん:2013/12/15(日) 13:15:52.51 ID:???
PHP素人が手を出すようなことじゃない
やりたいなら場数を踏みなさいって言ってあげればよかったのに
753nobodyさん:2013/12/15(日) 13:43:32.16 ID:???
>>750-751
趣味なんだから自分からの要求だろ
自分からの要求は容易に変えられる
CSVに変えるのが一番まとも
754nobodyさん:2013/12/15(日) 13:55:45.36 ID:NrEa4Wnc
phpでmysqlに接続したいけど、こんなエラーが出る。
Error:Can't connect to local MySQL server through socket '/tmp/mysql.sock' (13)


phpのソースはこれ。
<html>
<body>
<?php
$link = mysql_connect('localhost:/tmp/mysql.sock', ‘root’, ‘password’);
if (!$link) {
die('Error:'.mysql_error());
}
$close_flag = mysql_close($link);
?>
</body>
</html>


コマンドラインでは接続できる。

# mysql -S /tmp/mysql.sock -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.5.31-log Source distribution


環境はCentOS 6.4でhttpdもphpもyumで入れた。
なんでこんな簡単そうなのが動かないんだろう?
755nobodyさん:2013/12/15(日) 14:45:50.72 ID:???
>>754
エラーメッセージの13はpermission deniedだから、その辺を疑ってみては?
httpdユーザから/tmp/mysql.sockにアクセスする権限があるかどうか、とか
756nobodyさん:2013/12/15(日) 15:05:17.54 ID:???
>>755

サンキュウ。一応誰でもアクセスできるはずなんだけど。勘違いしてるかな?

# ls -la /tmp/
drwxrwxrwt. 13 root root 4096 Dec 15 05:03 .
dr-xr-xr-x. 23 root root 4096 Dec 15 03:38 ..

srwxrwxrwx. 1 mysql mysql 0 Dec 15 05:03 mysql.sock


httpdはユーザapacheで動いてる。
757nobodyさん:2013/12/15(日) 16:17:11.22 ID:???
>>755

apache使わずに直接phpでならアクセスできるんで、
apache側の権限の問題みたい。

とりあえず、ありがとう。
758nobodyさん:2013/12/15(日) 17:15:35.68 ID:???
restart
759nobodyさん:2013/12/15(日) 18:30:48.75 ID:???
restartしてもダメだった。

httpd.confもいじるところがない。困った。

php単体では動くからスレ違いだよね。
760nobodyさん:2013/12/15(日) 18:40:18.06 ID:???
$link = mysql_connect('localhost', ‘root’, ‘password’);
761nobodyさん:2013/12/15(日) 19:03:59.94 ID:???
だから、php直なら動く。
apacheからだとダメ。

明示的にソケット名を書いても書かなくても同じ。

そのくらいは全部試してるよ。
762nobodyさん:2013/12/15(日) 19:40:34.73 ID:???
>>761
Secure libuxがonとかない?OSの環境が詳しくわからないとなんとも言えないが。
763nobodyさん:2013/12/15(日) 20:31:36.75 ID:y5Xmkgcg
CSVはないわ
,使うだけで面倒な手間かかるとかないわー
764nobodyさん:2013/12/15(日) 21:19:51.99 ID:???
>>754 mysql_connect('127.0.0.1:/tmp/mysql.sock'...で
765nobodyさん:2013/12/15(日) 22:30:06.88 ID:r6HNRZ2+
>>759
centosでyumで入れた、php.iniの
mysql.default_scoket =
は空。空だと、mysqlの設定に従う。
こっちはデフォルトだと
/var/lib/mysql/mysql.sock
/tmp/mysql.sock
になってるってことは、どっかの設定をいじってるか、
他の環境で書かれた見本をそのまま使ってしまったか。
766nobodyさん:2013/12/15(日) 22:31:29.50 ID:???
sq.safe_mode=1の可能性も微レ
767nobodyさん:2013/12/16(月) 03:03:17.87 ID:???
ソケット名は制御できてる。明示的にmy.cnfもphp.iniも書いた。
そもそも最初の質問時、mysqlコマンドでソケット名を明示的に書いてるよ。


そんで、やっとわかった。SELinuxが邪魔してた!!!
/etc/selinux/configでdisabledにしてやった。ざまあみろ

SELinux最低。あの海外って奴も最低。ろくなドキュメントも資料もなしで
こんなダメダメ機能作っちまうんだから。
768nobodyさん:2013/12/16(月) 08:06:14.95 ID:???
無視された>>762さん可哀想
769nobodyさん:2013/12/16(月) 08:25:20.63 ID:???
ID出してなくて態度も悪い質問者なのにな
770nobodyさん:2013/12/16(月) 09:12:48.07 ID:???
初歩的なサーバ設定で躓いてましたか

クリアできて良かったですな
771nobodyさん:2013/12/16(月) 09:37:25.23 ID:???
>>767
だめなのはお前の頭だ
Windowsでも使ってろよ
772nobodyさん:2013/12/16(月) 11:52:15.85 ID:???
バカはお前らだろ
ソケット名がどうしたとかrestartしろとか、見当違いの意見ばっか書きやがって。
何にもわかってないの、お前らだろ。
基本的な設定でつまずいた?その基本的な設定について想いもよらず、書いておいたソケット名も観ないで、
php.iniがどうしたとか、知ったかかましたのは誰だよw


そもそもこんなレベルのyohgakiってバカがPHP認定試験なんてやってる時点で
お前らPHPやろうどものオツムのレベルも知れるってもんだよw
http://bogus.jp/wp/?p=1452
773nobodyさん:2013/12/16(月) 11:56:52.97 ID:???
ふーん。いろんな意味で乙
774nobodyさん:2013/12/16(月) 12:09:30.34 ID:???
馬鹿が使っちゃいけないわけではないからな。
775nobodyさん:2013/12/16(月) 13:53:34.83 ID:???
>>772
おまえのサーバ環境はここの住人にはわからん
誰よりもおまえが一番わかってるじゃんか
776nobodyさん:2013/12/16(月) 14:13:55.53 ID:???
おい、何なんだよ、クソZendのサイトの重さは!!
一番模範にならんといかんのに、あんだけ重いと、
PHPで作ったサイトなんてゴミじゃないかと思うだろ
777nobodyさん:2013/12/16(月) 14:21:02.92 ID:???
>>776
普通の感覚だと思わん
778nobodyさん:2013/12/16(月) 15:01:07.85 ID:???
は?
779nobodyさん:2013/12/16(月) 15:30:25.86 ID:???
>>778
質問ならID出してね
780nobodyさん:2013/12/16(月) 16:20:51.66 ID:AASW/wKp
誰かさ、IDE、Zend-Eclipse-PHP使った場合のPleiadesの反映の仕方しってる人いたら教えてくれない?
使ってる人PHPerいると思うんだけど
昔のEclipsePDTと設定方法変わってるようで出来ないんだけど
781nobodyさん:2013/12/16(月) 16:23:13.48 ID:AASW/wKp
782nobodyさん:2013/12/16(月) 22:30:47.92 ID:xJSmvJCz
こいつアフィikuraだろ
783nobodyさん:2013/12/17(火) 15:03:14.51 ID:YSE5hBqx
http://tenhou.net/0/?7041
天和というオンライン麻雀のURLなんですが、
この?以降ってGETで取れるんでしょうか?
784nobodyさん:2013/12/17(火) 15:16:46.81 ID:???
>>783
取れる
785nobodyさん:2013/12/17(火) 15:35:45.50 ID:YSE5hBqx
>>784
ありがとうございます!
786nobodyさん:2013/12/17(火) 16:13:22.84 ID:???
getっていうかQUERY_STRINGだな
787nobodyさん:2013/12/17(火) 23:13:47.59 ID:???
file_get_contentsでリクエストしているプログラムでタイムアウトの検知が思うようにいきません。
php.iniのdefault_socket_timeoutの設定を30として、
30秒以上たったらタイムアウト処理をしたいのですが、
file_get_contentsがタイムアウトの判定をして戻り値が帰ってくるのがリクエストしてから60秒後になります。
なぜ30秒後ではなく60秒後になるのか理由がわかる方いましたらお願いします。
788nobodyさん:2013/12/17(火) 23:32:30.00 ID:???
まずスレタイを読もう
789787:2013/12/17(火) 23:40:28.62 ID:3IDEqrk4
すみません
>>787宜しくお願いします
790nobodyさん:2013/12/18(水) 00:39:42.75 ID:???
突っ込んだんなら答えてやれよ…

俺はhttpリクエストにfile_get_contents使ったことないから内部実装知らんし
使う気ないから調べる気もないから確認手順くらいだが。

iniに直接書いたんだよな?webサーバの再起動はしたよな?
直前でini_getしてみたか?タイムアウトの値はちゃんと変わってる?
変わってないなら書き換えたiniは正しい?
ini_set使ってるなら権限あるか?

ちゃんと反映されてるのにそうなるなら
ソケットタイムアウトとリクエストタイムアウトの設定別なんじゃないか?
他の言語でもcurl関数でも別に設定できるもんだし。リクエストタイムアウトの方が60になってるとかじゃないの?
第三引数にstream contextでタイムアウト渡せるみたいだし、それも渡して見たらどうだい?
791nobodyさん:2013/12/18(水) 00:44:20.61 ID:???
ピコーン
30秒指定して60秒になるなら15秒に設定すればよい
792nobodyさん:2013/12/18(水) 00:49:40.83 ID:???
>>791
それでうまくいかない(60秒のまま)なら、設定すべき場所が違うってことだな。
しかしなんでPHPは設定ファイルが変に散らばってるんだ
793nobodyさん:2013/12/18(水) 03:14:24.81 ID:???
設定ファイルが変に散らばってる・・・?
794nobodyさん:2013/12/18(水) 11:44:06.98 ID:???
ini_get で確認と
https://bugs.php.net/bug.php?id=41631
795nobodyさん:2013/12/18(水) 12:48:03.32 ID:???
うちのPHPは設定ファイルが変に散らばったりしてないいい子だよ。
796nobodyさん:2013/12/19(木) 08:48:51.27 ID:wgY346L5
【OS名】-
【PHPのバージョン】-
【連携ソフトウェア】-
【質問内容】PHPの設定方法を解説しているような書籍はないでしょうか?
mbstring.languageを設定せず、mbstring.internal_encodingのみ設定すればどうなるか
などがわかるようになりたいです
797nobodyさん:2013/12/19(木) 12:14:49.99 ID:???
そこまで実験したいデータが整ってるなら実践すればいいのに
ローカルにxamppでもインスコしてphp.iniいじればいいだけの話よ
798nobodyさん:2013/12/19(木) 13:01:02.19 ID:???
>>796
ソース読めないの?
799nobodyさん:2013/12/19(木) 19:55:29.39 ID:+TJKY+xb
$opts = array(
'http'=>array(
'method'=> "GET",
'header'=> "User-Agent: Agent\r\n"
)
);
$context = stream_context_create($opts);
echo file_get_contents('http://example.jp/ex.php', false, $context);

上のようにUser-Agent(UA)などヘッダーを変えてサイトにアクセスしたいのですが、
アクセスするとUAが分かるサイトにアクセスしてもUAは「PHP/5.2.17」のままで、ヘッダーが変更されていません。
WindowsのPHPで試すと普通に変更されているのですが、
どうすればちゃんと変更されるか、おかしいかもしれない所を教えて下さい。

OSは多分Linuxで(ディストリビュージョンは分からない、)
PHPのバージョンはUAの通り5.2.17、
ホスティングサービスは「000webhost」です。
800nobodyさん:2013/12/19(木) 22:44:15.58 ID:???
stream_context_createのユーザノートで、5.2系のバグだって言ってる人いるね
ini_set(user_agent', ...しろってさ
でもこれbtsでは見つからんね
801nobodyさん:2013/12/20(金) 02:32:21.57 ID:???
PHPのリファレンス的な本てない?
Webで調べられるんだけど、どうも本がないと落ち着かない性分で。
802nobodyさん:2013/12/20(金) 11:40:46.63 ID:???
>>801
ID出せ
803nobodyさん:2013/12/21(土) 10:39:14.61 ID:???
PHPのリファレンス的な本があるかないかだって
Webで調べられる
804nobodyさん:2013/12/21(土) 11:57:35.62 ID:???
これはひどい
805nobodyさん:2013/12/21(土) 12:04:51.56 ID:???
>>801
たぶんない
本にすると広辞苑も真っ青の厚さ
806nobodyさん:2013/12/21(土) 12:17:23.90 ID:???
印刷すればいい
807nobodyさん:2013/12/21(土) 13:42:28.86 ID:???
持ち歩くの大変そうだな
3kgぐらいにはなるんじゃね?w
808nobodyさん:2013/12/21(土) 16:54:16.17 ID:Fs+OLeyH
艦橋変数を取督したかったんだけど、$_ENV だと
中身が空っぽで、 getenv() でならちゃんと取れた。
$_ENV って廃止にでもなったの?
809nobodyさん:2013/12/21(土) 17:02:03.83 ID:???
>>808
variables_order
810nobodyさん:2013/12/22(日) 03:40:53.85 ID:???
わざとなのか知らんが誤字がうざすぎる
811nobodyさん:2013/12/22(日) 10:52:42.43 ID:ZRst6cJ1
>>800
stream_context_create()を実際に使いたい所では
User-AgentだけでなくPOST送信や他のヘッダも送信したかったので、
ホスティングサービスを変えてしまう事で解決しました。
他のPHP5.3系のホスティングで同じようにテストしても
UAが「PHP/5.3.20」になっていた物があったので、バージョンのせいでは無いと思います…

ですが、ありがとうございました
812nobodyさん:2013/12/22(日) 15:25:35.88 ID:???
>>811
デフォだとUAは空かPHPやから、バージョンまで入ってるのはどっかで
設定されとんのやろな
管理者に聞いてみるのがはやそうと思う
813nobodyさん:2013/12/24(火) 20:19:35.69 ID:???
function ikioiSort( $a, $b )
{
$var="ikioi";
if ($a[$var] == $b[$var]){return 0;}return ($a[$var] < $b[$var]) ? -1 : 1;
}
function timeSort( $a, $b )
{
$var="time";
if ($a[$var] == $b[$var]){return 0;}return ($a[$var] < $b[$var]) ? -1 : 1;
}
$s = array(
array( 'id' => 1, 'ikioi' => 0, 'time' => 30 ),
array( 'id' => 2, 'ikioi' => 0, 'time' => 10 ),
array( 'id' => 3, 'ikioi' => 56756, 'time' => 10 ),
array( 'id' => 4, 'ikioi' => 87, 'time' => 10 ),
array( 'id' => 5, 'ikioi' => 86, 'time' => 90 ),
);
usort($s, "timeSort");
usort($s, "ikioiSort");


timeとikioiで連想配列を二段ソートしたくてusortを二回かけてみたんですけどうまくいきませんでした。
上の例だとikioiとtimeが最小のid=>2が一番上に来てほしいんですがどうすればいいでしょうか??
814nobodyさん:2013/12/24(火) 21:02:23.96 ID:???
IDないね
815nobodyさん:2013/12/28(土) 03:32:26.02 ID:ylfqKSgs
ゲーム・漫画作品の検索結果にAMAZONからリンクした画像を表示するシステムを組んだのですが
ブラウザが広告非表示アドオン(Adblockなど)をかけている場合表示されません
自サーバー内にも画像は用意できるのですが、
弱小サーバーの趣味サイトですので、できるだけ転送量は減らしたいのです
ユーザーにAdblockを外すよう促すのもユーザビリティ的に良いとは思えません
ですのでAdblockがかかってる場合のみ、自前のサーバーからの画像を表示するようにしたいのですが、
アドオンの有効無効をPHPで判定することは出来ますか?
816nobodyさん:2013/12/28(土) 03:46:47.58 ID:???
アフィ消えてユーザもよろこんどるやろ
817nobodyさん:2013/12/28(土) 08:24:22.97 ID:???
>>815
出来ません。以上です。
818nobodyさん:2013/12/28(土) 13:06:29.45 ID:0EjFEbqK
URLの最後のスラッシュ以降だけ取得する方法教えて

ttp://hoge/apple → apple

ttp://hoge/hoge/orange → orange
819nobodyさん:2013/12/28(土) 13:18:30.58 ID:???
parse_url
820nobodyさん:2013/12/28(土) 13:46:19.96 ID:0EjFEbqK
サンクス

$url = 'ttp://〜';

print_r(parse_url($url));

この後は?
821nobodyさん:2013/12/28(土) 13:59:14.20 ID:???
$parseUrlArray[count($parseUrlArray)-1]
822nobodyさん:2013/12/28(土) 13:59:16.82 ID:1zQ6eOqn
s|.*/||
823nobodyさん:2013/12/28(土) 14:08:07.49 ID:0EjFEbqK
ごめん わかんないや
配列が表示されるんだけど、どうやって最後だけ表示するの?
Array ( 〜〜〜
824nobodyさん:2013/12/28(土) 14:23:00.86 ID:???
$arr = explode("/", $_SERVER["SCRIPT_NAME"];
echo $arr[count($arr)-1];
825nobodyさん:2013/12/28(土) 15:40:38.61 ID:???
>>823
$URL = "http://www.〜";
$path_info = pathinfo($URL);
echo $path_info['basename'];//拡張子あり
echo $path_info['filename'];//拡張子なし
826nobodyさん:2013/12/28(土) 19:15:36.85 ID:0EjFEbqK
>>824>>825
ありがとう!
$URL = "http://www.〜";
$path_info = pathinfo($URL);
echo $path_info['basename'];//拡張子あり
echo $path_info['filename'];//拡張子なし
で逝った!
827nobodyさん:2013/12/29(日) 12:47:22.13 ID:???
ご愁傷様
828nobodyさん:2013/12/30(月) 01:27:01.42 ID:pS70nk2t
スレ違いかもしれませんがちょっと質問させてください。

海外サーバにお名前.comで取得したドメインを割り当てサイトをWPで構築しています。

そのサイトには、特定のホスト(プロバイダ)からアクセスした際には
ドメインがうまく認識されず閲覧する事が出来ません。

具体的には、
http//hoge.com/ というテストサイトに対して
e-mobile.ne.jp  からならアクセス出来るのに
***.cims.jp からアクセスすると”ページが見つかりません。” というエラーメッセージが表示されてしまいます。

もうドメインをサーバに割り当ててから随分と時間がたっているのでドメインの浸透具合では無いと思うのですが・・・
一体何が原因なのでしょうか?
829nobodyさん:2013/12/30(月) 02:42:29.34 ID:???
ネームサーバーにでも問い合わせて調査したら?
830nobodyさん:2013/12/30(月) 04:28:56.27 ID:???
IEならDNSミスの場合はページを表示できませんじゃなかったっけ
ページが見つかりませんはWPのRoute設定がおかしいやもしれんぞ
831nobodyさん:2013/12/30(月) 11:21:09.19 ID:???
hostとかdigとかで調べたら
832nobodyさん:2013/12/30(月) 13:35:34.79 ID:???
まずは、3日待てw
833nobodyさん:2013/12/30(月) 14:53:33.98 ID:???
>>828
Webサーバのログ見れば403か404か500かわかる
834nobodyさん:2013/12/30(月) 15:25:58.34 ID:???
>>828
このスレにまったく関係ないのに質問してる所がたちが悪い
835nobodyさん:2013/12/30(月) 19:48:41.84 ID:cOhuElU4
>>829 〜 >>833
確認してみます。


>>834
断りいれてるだろうが。バカ。
836nobodyさん:2013/12/30(月) 21:39:32.15 ID:???
>>835
4ね低能
837nobodyさん:2013/12/31(火) 01:51:29.62 ID:???
キレやすい若者
838nobodyさん:2013/12/31(火) 20:29:04.70 ID:???
断り入れると許されるのか、斬新だな
839nobodyさん:2013/12/31(火) 22:34:55.40 ID:8qYMp9pv
>>838
ちんぽ も アナルも小さいおっさんだなw
840nobodyさん:2014/01/01(水) 04:00:43.04 ID:???
断れば許されるかもしんないけど、いきなりフルスロットルの正義面はやりすぎやろ
せめて解決まで本性隠すべき
841nobodyさん:2014/01/01(水) 06:28:54.74 ID:JfNBMGF/
ページャーを作っています。
1ページに20項目表示(0〜20番目)、$_GET['page']の値が1なら21〜40、といった感じで
SQLで取得しようとしています
ですが、以下だとうまく取得できません。行数が0になっているようです。
下から三行目を
$query = 'SELECT id , comment , time FROM db WHERE 1 = 1 ORDER BY `id` ASC LIMIT 0 , 20';
とLIMIT ?をLIMIT 0とすればうまく動くのですが、どこが間違っているのでしょうか?
$queryに直接
・・・ LIMIT' . $_GET['post'] * 20 .' , 20';
と代入するのは避けたいです。よろしくお願いします

$_GET['post'] = 0; /* デバッグ用。任意の数値が入ります */
$server = "localhost";
$mydb = "db";
$usr = "root";
$pass = "";
$pdo = new PDO("mysql:dbname=" . $mydb . ";host=" . $server, $usr, $pass);

$query = 'SELECT id , comment , time FROM db WHERE 1 = 1 ORDER BY `id` ASC LIMIT ? , 20';
$st = $pdo->prepare($query);
$st->execute(array($_GET['page'] * 20));
842nobodyさん:2014/01/01(水) 07:15:20.78 ID:???
$_GET['post']
$_GET['page']
存在しない変数*20=0
843nobodyさん:2014/01/01(水) 07:21:24.17 ID:JfNBMGF/
>>842
ありがとうございます!
ですが、まだだめです。。。
エラーなどは表示されず、SELECTの結果が0行になってるようです。
>>841以降は
foreach ($st as $key) {
echo 1;
}
などと書いています。
また、MYSQLで
SELECT id , comment , time FROM db WHERE 1 = 1 ORDER BY `id` ASC LIMIT 0 , 20
と流してみても結果はちゃんと返ってきました
844nobodyさん:2014/01/01(水) 07:29:05.40 ID:JfNBMGF/
自己解決しました
http://9jp.info/archives/89
LIMITの場合は数値で渡す必要があり、この場合は文字列で渡していることになっているようです。
bindValueでPARAM_INTを指定して渡さければならないようです。
お騒がせしました
845nobodyさん:2014/01/01(水) 08:22:43.75 ID:???
*20してる時点で数値になってると思うのだが
846nobodyさん:2014/01/01(水) 08:39:22.62 ID:???
[test.php]
test.php?page=n

<?php
$pdo = new PDO('sqlite::memory:');
$pdo->query('create table t (id integer)');
for ($i = 1; $i <= 100; $i++) {
$pdo->query("insert into t (id) values ({$i})");
}
$st = $pdo->prepare('select id from t limit ?, 20');
$st->execute(array($_GET['page'] * 20));
print_r($st->fetchAll(PDO::FETCH_ASSOC));

設定かもしれないけど自分の環境じゃ普通に動くよ
847nobodyさん:2014/01/01(水) 11:59:44.95 ID:???
848nobodyさん:2014/01/01(水) 16:34:30.16 ID:???
>>846 Sqliteは型変換するからPHPコードではテストにならん
849nobodyさん:2014/01/01(水) 16:39:14.20 ID:???
どうでもいいけど、queryの中身も一緒に出力してみりゃ一発だろう
850nobodyさん:2014/01/01(水) 20:54:15.99 ID:???
>>848
kwsk
851nobodyさん:2014/01/02(木) 12:23:34.40 ID:tWkHXUai
質問のテンプレを省略させていただきます

【質問内容】
エラーメッセージの出力レベルに関する質問なのですが、開発中はE_ALL
運用中はどのような設定にするべきなのでしょうか?
852nobodyさん:2014/01/02(木) 14:17:53.52 ID:???
>>851
回答を省略させていただきます

【回答】
853nobodyさん:2014/01/02(木) 18:25:14.46 ID:???
>>851
E_ALLで開発したならE_ALLのままでいいんじゃない。
ただ、display_errors はoffにして、error_log でログを取るようにする。
854nobodyさん:2014/01/02(木) 23:14:21.14 ID:tWkHXUai
>>852
テンプレの省略申し訳ない

>>853
ありがとうございます
display_errorsについてもう少し調べてみます
855nobodyさん:2014/01/03(金) 03:48:55.99 ID:kSb+qF3j
swatchのようなログをリアルタイムで監視するスクリプトを作りたいのですが、
どういう関数なんかを使えば、ファイルを監視できるでしょうか?
856nobodyさん:2014/01/03(金) 03:59:02.10 ID:???
while
filesize
sleep
857nobodyさん:2014/01/04(土) 14:39:20.45 ID:2QKgJdHW
switch文について質問です。
case句に、変数を使って大丈夫でしょうか?
試したところエラーにはならなかったのですが、念のため、ご教示ください。

(簡易サンプル)
$a = "a";
$b = "b";
 
switch($c){
  case $a:
    echo "aaa";
    break;
  case $b:
    echo "bbb";
    break;
  default:
    echo "default";
}

よろしくお願いします。
858nobodyさん:2014/01/04(土) 15:19:00.34 ID:???
大丈夫だよ
859857:2014/01/04(土) 19:54:00.11 ID:YYfpyfup
>>858
問題ないみたいで良かったです。
ありがとうございました。
860nobodyさん:2014/01/06(月) 15:07:22.97 ID:WdppQndE
Smarty3の最新版ってHTML5に対応してますか?
861nobodyさん:2014/01/06(月) 17:15:38.12 ID:???
スレ違いです
862nobodyさん:2014/01/06(月) 18:56:02.27 ID:???
えっ?
だってSmartyスレ存在しないし、PHPじゃん
863nobodyさん:2014/01/06(月) 20:28:51.96 ID:???
何がどうなってたらHTML5に対応してるってことになるんですか?
864nobodyさん:2014/01/06(月) 20:31:10.04 ID:???
smartyスレがないのは使う人がいなくて必要ないからだよ
そんな要らないものを使いたいなら頼ってこないでくれる?
自分で調べて頑張りなよ
みんなそうしています
865nobodyさん:2014/01/06(月) 20:48:51.42 ID:???
>>860
自分自身が対応すれば良いだけ。
866nobodyさん:2014/01/06(月) 21:33:49.72 ID:???
>>864
要らないものを使いたいんじゃなくて、スレを立てるほど困ることがないんだと思うよ。
867nobodyさん:2014/01/06(月) 21:36:23.83 ID:???
スレ立ててしまえばいいんじゃね
すぐ落ちるだろうけど
868nobodyさん:2014/01/06(月) 21:41:00.54 ID:???
アホか、Smartyはデファクトスタンダードだろうが
869nobodyさん:2014/01/06(月) 21:46:02.86 ID:???
過去にも何度かスレは立ってたけど、今はないね。
実際スレがあったとして、>>860のような質問をされても困るというか。
870nobodyさん:2014/01/06(月) 21:54:12.84 ID:???
>>868
使ってる人まわりにいないや
生のPHPのほうが百倍マシだろ
871nobodyさん:2014/01/06(月) 22:16:03.32 ID:???
smarty()
872nobodyさん:2014/01/06(月) 23:00:05.49 ID:???
>>870
じゃぁどうやってViewを実装してるんだ?
873nobodyさん:2014/01/06(月) 23:15:18.73 ID:???
<?php foreach ($a as $key => $value) : ?>
<tr><td><?php echo $key; ?></td><td><?php echo $value; ?></td>
<?php endforeach; ?>

まぁFWでもviewロジックなんて普通にあるだろ
874nobodyさん:2014/01/06(月) 23:17:49.53 ID:???
キャッシュ機能つきでもテンプレートなんて50行あれば余裕でかけるし
viewの実装ごときにsmartyの導入なんて必要ないだろjk
875nobodyさん:2014/01/07(火) 00:09:56.51 ID:???
>>872
とりあえずZendFWでも使ってみたら?
smartyを併用する!!ってブログは多々見つかるけど、普通に使ってみたらいい
876nobodyさん:2014/01/07(火) 03:23:28.81 ID:???
>>860
パーサコアはデリミタの外側はほぼテキストと見なすので、テキストデータなら何でも - html5でも - 大丈夫です
プラグインの出力はxhtmlだったり4.01だったりします
877nobodyさん:2014/01/07(火) 18:09:00.76 ID:???
やぁ〜れやれ
ここはマスターベーション野郎どもが巣食ってるようだな
878nobodyさん:2014/01/07(火) 18:18:44.03 ID:???
ジェネレーションギャップを感じるものすごいオッサン臭いのがきたな
879nobodyさん:2014/01/07(火) 19:21:46.28 ID:???
</tr>
880nobodyさん:2014/01/07(火) 23:38:51.46 ID:???
今時PHP使ってるのなんてオッサン老害だけだから仕方がない。
まともな人はほとんど皆Rubyに移行してしまったしね。
881nobodyさん:2014/01/07(火) 23:45:41.60 ID:???
Rubyはないわ100%
882nobodyさん:2014/01/07(火) 23:46:59.89 ID:???
Ruby 使ってる人にまとまな人がいるんだ!?
883nobodyさん:2014/01/08(水) 00:11:33.57 ID:???
Rubyとかw
884nobodyさん:2014/01/08(水) 00:14:33.66 ID:???
rubyはまじでないわ。メリットがない
PHPやらないならJavaかC#だろ
もしくはスマホアプリやゲームエンジン系
885nobodyさん:2014/01/08(水) 00:15:45.37 ID:KwLq/Ik2
rubyとPHPはメリットがないよなあ
886nobodyさん:2014/01/08(水) 01:53:12.27 ID:???
PHPは仕事でもバリバリ使ってるが
ちょっとしたバッチ作るときはこの上ないほど最強
887nobodyさん:2014/01/08(水) 07:26:28.55 ID:???
PHPでバッチねぇ…ナンカチガウ
それならPerl使うな
888nobodyさん:2014/01/08(水) 08:00:23.54 ID:???
perlはさすがにないな
889nobodyさん:2014/01/08(水) 10:09:38.08 ID:KwLq/Ik2
perlかpython100歩譲ってtclかrubyだな
phpはない
890nobodyさん:2014/01/08(水) 10:31:47.05 ID:???
>>889
オッサン、高齢プログラマー
891nobodyさん:2014/01/08(水) 10:37:06.18 ID:???
>>889
独り言を書くのはやめましょうね。
質問をするスレですよ。
892nobodyさん:2014/01/08(水) 13:46:11.64 ID:???
バッチなんてどの言語でもいいわ
893nobodyさん:2014/01/08(水) 13:47:10.02 ID:???
Perl利用者の高齢化問題
894nobodyさん:2014/01/08(水) 14:40:20.31 ID:???
他言語の質問スレでこんなこと書く程度のやつだけ見て
perl利用者を悪く言うのは他の人たちに失礼ですよ。
895nobodyさん:2014/01/08(水) 16:31:50.53 ID:KwLq/Ik2
tcl,ruby,phpは基本的にインスコされてないからなあ
896nobodyさん:2014/01/08(水) 16:35:30.78 ID:???
PHPはない、とか言ってるヤツ、なんでこのスレに来るの?
ツンデレってやつか?
ほんとはPHPを愛してるんだろ(笑)
897nobodyさん:2014/01/08(水) 17:34:53.16 ID:???
phpが入ってたら使ってもいいけど入ってないからな
自分で使う処理ならなんでもいいけど
ある程度広く使わせるものならphpはない
バッチ処理での話だけど
898nobodyさん:2014/01/08(水) 17:37:22.48 ID:???
>>896
バッチの話だろ?
899nobodyさん:2014/01/08(水) 20:33:12.25 ID:???
>>895 >>897
3秒ぐらいでインスコ終わるじゃん
900nobodyさん:2014/01/08(水) 20:34:19.58 ID:???
他人にわざわざインスコしろと
901nobodyさん:2014/01/08(水) 20:39:51.00 ID:???
他人って別にLinux管理者だろ。
1コマンド3秒ぐらいどうってことないだろ。
902nobodyさん:2014/01/08(水) 20:43:15.13 ID:???
そういう問題じゃない
いらんものをインスコさせるなということ
903nobodyさん:2014/01/08(水) 20:57:27.79 ID:???
最初からインスコされてるという理由で言語を選ぶのかおまえは。
他に重要な要素があるだろ。
904nobodyさん:2014/01/08(水) 20:59:11.91 ID:???
お前全く話を理解してないだろ?
自分で使う分にはいいって言ってんじゃん
他人にばら撒くようなやつでは
最初からインスコされてるというのは重要であり
phpでバッチとかどう考えても親切じゃない
905nobodyさん:2014/01/08(水) 21:02:20.86 ID:???
だから言ってるだろ、ここはバカな奴らしかいないんだって
ゆとりの底辺集団しかいないんだよ
906sage:2014/01/08(水) 21:04:35.31 ID:???
functionは実行していなくてもincludeすると処理時間に影響するんでしょうか?
907nobodyさん:2014/01/08(水) 21:24:13.74 ID:???
他人にばら撒くってなんだー

バッチだよな?ツールの話してないよな?

PHPを使ってるWebサーバ以外で動かすバッチをPHPで書いたら
普通の会社ではただの嫌がらせ
908nobodyさん:2014/01/08(水) 22:02:36.36 ID:???
>>906
するかしないかで答えたら、する
ただ、どれぐらいするかは量によるとしか
ほとんどの場合は気にするほどではない
909nobodyさん:2014/01/08(水) 22:38:04.11 ID:???
windowsのphp-cgi超便利だな、バッチ書くのに最適
910nobodyさん:2014/01/08(水) 22:46:27.26 ID:???
俺はバッチとかツール書く時はJavaだな
実行時に文法エラー起きるのは耐えられん
911nobodyさん:2014/01/08(水) 22:48:09.17 ID:???
バッチ程度のコード書いて文法エラーとか
912nobodyさん:2014/01/08(水) 22:57:59.18 ID:???
>>907
アプリケーションの設定とかバッチですんだろ
913nobodyさん:2014/01/08(水) 23:01:52.65 ID:???
インストール〜初期設定なんかの環境構築に使うな
914nobodyさん:2014/01/09(木) 00:23:03.46 ID:GwAoR65D
$r = file_get_contents($url);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$r = curl_exec($ch);
curl_close($ch);

この二つがあった場合、何故か一部のサイトだと
後者のcurl_exec()では空文字が返ってきます。
接続自体は成功しているみたいなんですが空文字です。
file_get_contents()の方は普通に文字列が返ってきます。
curl_setopt()のパラメーラに何か不備がありますか?
まったく問題無く文字が入っているサイトもあるのですが…
915914:2014/01/09(木) 00:27:58.27 ID:???
恐らくアクセス先が転送されている
場合の問題だと思いました。
お騒がせしました。
916nobodyさん:2014/01/09(木) 03:28:50.53 ID:nfYPkA56
ヴァーチャルドメインでドメイン毎に別々の php.ini を使い分けることはできますか?
どうやったらいいでしょうか?
917nobodyさん:2014/01/09(木) 03:44:23.87 ID:???
お宅の構成によるよ、ぐぐった方が早い
一応こういうのもあるけどhttp://www.php.net/manual/ja/ini.sections.php
918nobodyさん:2014/01/09(木) 03:55:44.61 ID:nfYPkA56
>>917
早速のご回答ありがとうごさいます。
おーこれでいけるなって思ったら、よく読んだらCGIモード専用なんですね(泣)
919nobodyさん:2014/01/09(木) 04:25:18.29 ID:???
初期設定ってbashじゃだめ?phpのような大げさなものを持ち出すほど複雑な初期設定なの?

>>910
不安ならlint使えば?
920nobodyさん:2014/01/09(木) 05:08:26.25 ID:???
インストーラーがやることに初期設定が含まれてだな
921nobodyさん:2014/01/09(木) 05:56:11.90 ID:GwAoR65D
改めてお願いします。

ttp://techblog.yahoo.co.jp/architecture/api1_curl_multi/
ここのサンプルのgetMultiContents()といのを
以下みたいにして実行したらいくつか空文字が返ってくるんですが
これは同時接続の制限か何かでそうなってしまいますか?

$us = array();
for($i = 0; $i < 100; ++$i){
array_push($us, 'http://www.google.co.jp/search?q=' . $i);
}
getMultiContents($us);
922nobodyさん:2014/01/09(木) 06:35:18.57 ID:???
なんか糞スレあげまくってる阿呆いるなと思って他のスレ見てたら
どこも古参スレばかりだな
2ch離れ加速しすぎワロタ
もはやこの板ってこのスレのためだけにあるようなもんだな
923nobodyさん:2014/01/09(木) 08:28:18.09 ID:???
>>910
バッチにjavaって一番ありえないだろ
文法エラーなんて先にチェックしろよ

>>913
インストーラーなら
その鯖で使う予定の言語なら何でも良いよな
インストーラーがその言語も入れるなら考える必要あるけどさ
924nobodyさん:2014/01/09(木) 13:05:52.81 ID:???
>>916
バーチャルドメインってapacheのVirtualHostのことか?
http://jp1.php.net/manual/ja/configuration.file.php
じゃだめなの
925nobodyさん:2014/01/09(木) 14:28:02.36 ID:???
>>924
自分の環境も書かないで 「よく読んだらCGIモード専用なんですね(泣)」 とか書いてるバカだから
触らない方がいいよ。
926nobodyさん:2014/01/10(金) 05:03:36.30 ID:???
今頃になって CVE 2012-1823 の攻撃がモリモリ来てるわ
うちだけかな?
927nobodyさん:2014/01/11(土) 00:30:15.92 ID:jaRfR0WQ
stream_socket_enable_crypto() が成功しません
実際のコードはこのようにしています


$modes = array(
STREAM_CRYPTO_METHOD_TLS_CLIENT,
STREAM_CRYPTO_METHOD_SSLv3_CLIENT,
STREAM_CRYPTO_METHOD_SSLv23_CLIENT,
STREAM_CRYPTO_METHOD_SSLv2_CLIENT
);

stream_set_blocking ($fp, true);
$len = count($modes);
for ($i=0; $i<$len; $i++)
{
// すべてエラーになる
if (stream_socket_enable_crypto($fp, true, $modes[$i]) === true)
{
$success = true;
break;
}
}
stream_set_blocking ($fp, false);


どなたか解決方法がわかる方お願いしますorz
928927:2014/01/11(土) 00:31:13.10 ID:jaRfR0WQ
補足です
phpinfo()ではOpenSSLは以下のようになっています
openssl
OpenSSL support enabled
OpenSSL Library Version OpenSSL 1.0.0-fips 29 Mar 2010
OpenSSL Header Version OpenSSL 1.0.0-fips 29 Mar 2010

よろしくお願いします
929927:2014/01/11(土) 01:32:53.49 ID:jaRfR0WQ
上から順に、

STREAM_CRYPTO_METHOD_SSLv3_CLIENT
 error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number

その他
 stream_socket_enable_crypto(): SSL/TLS already set-up for this strea


のエラーメッセージが出ています。
誰か助けてくださいorz
930nobodyさん:2014/01/11(土) 07:40:01.42 ID:???
いや、そのメッセージ通りじゃないの
931nobodyさん:2014/01/11(土) 16:07:30.22 ID:z+c05/rZ
アフィリエイト報酬横取り!まとめサイトを狙うスマートフォンアプリ
http://matome.naver.jp/odai/2138898952264714501
932927:2014/01/11(土) 19:04:53.96 ID:jaRfR0WQ
どなたか助けてください
933nobodyさん:2014/01/11(土) 19:47:04.45 ID:???
>>932
>>929が上から順じゃないんだけど
STREAM_CRYPTO_METHOD_TLS_CLIENTはどこいった?
934927:2014/01/11(土) 19:49:35.40 ID:jaRfR0WQ
>>933
失礼しました。上から順は誤りです。

STREAM_CRYPTO_METHOD_SSLv3_CLIENT のみ error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number と出て、
残りの
STREAM_CRYPTO_METHOD_TLS_CLIENT
STREAM_CRYPTO_METHOD_SSLv23_CLIENT
STREAM_CRYPTO_METHOD_SSLv2_CLIENT

stream_socket_enable_crypto(): SSL/TLS already set-up for this stream
と出ています。
935nobodyさん:2014/01/11(土) 19:53:43.90 ID:???
>>934
stream_socket_enable_crypto(): SSL/TLS already set-up for this stream
このエラー通りでしょ

最初が本当にSTREAM_CRYPTO_METHOD_TLS_CLIENTなの?
そうだとすると$fpを作ったところから書かないと意味ないよ

第一さ、ソースのほうもさ
ループで一個づつ設定する意味が理解できん
936927:2014/01/11(土) 19:57:07.38 ID:jaRfR0WQ
>>935
エラーの解決法はどうすればいいんですか?

ループで設定しているのはZendを参考にいていますけど・・・。
// If all is good, switch socket to secure mode. We have to fall back
// through the different modes
$modes = array(
STREAM_CRYPTO_METHOD_TLS_CLIENT,
STREAM_CRYPTO_METHOD_SSLv3_CLIENT,
STREAM_CRYPTO_METHOD_SSLv23_CLIENT,
STREAM_CRYPTO_METHOD_SSLv2_CLIENT
);

$success = false;
foreach($modes as $mode) {
$success = stream_socket_enable_crypto($this->socket, true, $mode);
if ($success) break;
}

if (! $success) {
require_once 'Zend/Http/Client/Adapter/Exception.php';
throw new Zend_Http_Client_Adapter_Exception("Unable to connect to" .
" HTTPS server through proxy: could not negotiate secure connection.");
}
937927:2014/01/11(土) 19:57:52.80 ID:jaRfR0WQ
他にどなたかわかる方、お願いします。
938nobodyさん:2014/01/11(土) 20:14:54.28 ID:???
>>937
このプログラムより前に
ストリームにSSL/TLSを設定してしまってるってエラーに書いてあるでしょうに
939nobodyさん:2014/01/11(土) 20:17:42.22 ID:???
ZendのソースはZend/Http/Client/Adapter/Proxy.phpのことかい?

このソースだと$this->negotiatedをつかって
二度stream_socket_enable_cryptoで設定するのを防いでるよ
940nobodyさん:2014/01/12(日) 01:18:23.34 ID:q2C1gqcI
【OS名】Windows
【質問内容】初歩的なことです
phpを使った練習を始めたいんですけど、
<php?
echo "Hello world!";
って書いて拡張子を.phpにして、
ブラウザ画面でHello world!って見たいんですけど、
php.netからどこで何をダウンロードすれば良いかわかりません。
941nobodyさん:2014/01/12(日) 02:26:49.15 ID:???
<php?じゃなくて<?phpな

必要なものはphpのwindows用バイナリファイル
http://windows.php.net/download/
ここから自分の環境にあったzipをダウンロード
942nobodyさん:2014/01/12(日) 08:12:14.48 ID:z78hdL9x
vmに犬糞でも入れるのがベスト
943940:2014/01/12(日) 12:23:32.90 ID:q2C1gqcI
>>941
<?php あ、はい。

最新版の5.5で、VC11
64bitなので、x64
マルチ対応スレッドで、Thread Safe
をとりあえず選択しとけば困らないと思ってるのですが、
zipとは別に、debug.puckをダウンロードすべきですか?
debug.puckって何するんですかね?
944940:2014/01/12(日) 12:46:35.96 ID:q2C1gqcI
ダウンロードしたのを適当に展開して、
php.exeとかの.exeファイルを実行すると
MSVCR110.dllがないから再インストールしろとか言われる
945940:2014/01/12(日) 13:20:02.29 ID:q2C1gqcI
>>944の問題はググって解決したし、>>943はとりあえずdebug.puckも展開までした。
で、結局、>>940をどうすれば良いのかわからないです。教え下さい。
946nobodyさん:2014/01/12(日) 16:02:17.91 ID:???
ウェンドウズなんかそういうのを一括でセットアップしてくれるインストーラなかったっけ?
947nobodyさん:2014/01/12(日) 17:40:22.00 ID:???
Xampp入れて、htdocフォルダにファイルを置けば簡単なのに。
948nobodyさん:2014/01/12(日) 18:44:32.11 ID:???
予想通りというか単にphpバイナリの場所がわからないってだけじゃなかったんだな
apacheとかwebサーバが必要
どうせ設定出来なくて挫折するだろうからxamppでも入れときゃいいよ
949nobodyさん:2014/01/12(日) 18:53:17.10 ID:???
950940:2014/01/13(月) 01:33:05.70 ID:mgMypIex
とりあえず、xampp入れました。
色々教えて下さった方々、ありがとうございます。
951nobodyさん:2014/01/13(月) 15:03:01.17 ID:qnOxD/aG
[mysql5 apache cakephp2]
バッチ処理中にテーブルロックをかけており、
バッチ処理中はクライアントからのselectをエラーとして返したいです。

こちらで試したものは、
innodb_lock_wait_timeoutを設定し、selectをタイムアウトさせる
というものでしたが
タイムアウトしませんでした。
(詳細)
バッチ処理側でlock writeをしているので、
クライアント側からselectするとタイムアウトすると思われたのですが、
タイムアウトすることなく、ずっとクエリ結果を待っている。
さらに、クライアント側が結果を待っている間に、
バッチ処理側でunlockをすると、
クライアント側にphp実行時間オーバーというエラーが表示されます。

どのようにすればタイムアウト(もしくはテーブルロックを検知)できるのでしょうか?
952nobodyさん:2014/01/13(月) 15:31:49.20 ID:???
クライアント側でinnodb_lock_wait_timeout
953nobodyさん:2014/01/13(月) 16:21:40.90 ID:???
> innodb_lock_wait_timeout applies to InnoDB row locks only. A MySQL table lock does not happen inside InnoDB and this timeout does not apply to waits for table locks.

バッチ処理入ったら自分でDB内にフラグ立てるのがいいんじゃない?
SHOW ENGINE INNODB STATUSを元にビュー作ってもいいかしらんがめんどくさそう
954nobodyさん:2014/01/13(月) 17:20:19.26 ID:???
>>953
毎回ロック状況を確認してからSelectはナシでしょ
タイムアウトするほど長いロックならサービス止めればいいんじゃ
つかTable lockがInnodbと関係ないなら普通にロックタイムアウトしないのかね?
955nobodyさん:2014/01/13(月) 17:31:29.78 ID:M4MkuiNS
PHPをそれなりに勉強し初めて1年
なにか作ろうと2か月ぐらい大垣氏の「Webアプリセキュリティ対策入門」やWebの連載読みこんだ
でもサーバの負荷とか全くわからないから、ストレッチングとかどのくらいやっていいのかとかもわからない
俺がWebアプリを勉強し始めたのは間違いかもしれない
公開することを前提としたら一番難しいアプリケーションの形態ではないのか……?
結構時間も金も本につぎ込んでしまったしどうにか物にしたいんだが、何かアドバイスないでしょうか先輩方
956nobodyさん:2014/01/13(月) 17:32:07.84 ID:???
>>954
バッチプロセスのロックはタイムアウトで開放されると思うけど、待たされる方(SELECT)が任意にタイムアウトできるかは分かりません
ごめんね!
957nobodyさん:2014/01/13(月) 17:53:35.74 ID:???
>>955
質問をどうぞ
958nobodyさん:2014/01/13(月) 19:23:17.22 ID:pkO99UiH
質問
演算子で+=ってのは俺もよく使うんだが
Arrayでこれをやるとどういう意味になるの?

$options += array('cache' => true);

$optionsが空だったら$options['cache']がtrueになるだろうけど
cacheが既に指定されていたら上書きされるの?
と思って試してみたらされなかった。空っぽの時のみ追加という意味なのか?
959nobodyさん:2014/01/13(月) 19:47:12.30 ID:???
$optionsに追加という意味

$options['hoge'] = true;
$options += array('cache' => true); //$options['cache'] = true;
print_r($options);
960nobodyさん:2014/01/13(月) 19:54:20.80 ID:pkO99UiH
>>959
それは実際に確かめてわかったんだけど

$options['cache'] = false;
$options += array('cache' => true);

とした場合、$options['cache']はfalseから変わらないことを確認したので
2行目は$options['cache'] = true; とイコールではない。
じゃあ何なんだろう?というのが質問の意図。
961nobodyさん:2014/01/13(月) 19:58:57.94 ID:pkO99UiH
配列の演算でぐぐったら、答はこれか
http://php.net/manual/ja/language.operators.array.php

+ 演算子は、右側の配列を左側の配列に追加したものを返します。 両方の配列に存在するキーについては左側の配列の要素が優先され、 右側の配列にあった同じキーの要素は無視されます。

つまり
$options += array('cache' => true); は
$options = $options + array('cache' => true); と全く同じだとすると
同じキーがある場合、元からある値が優先されるってことか

配列の結合はいつもarray_mergeを使ってたから、知らなかったわ
962nobodyさん:2014/01/13(月) 20:01:21.74 ID:???
ただのバグだろ
PHPにはよくある話だ
つうかそんな気持ち悪い書き方すんな
963nobodyさん:2014/01/13(月) 22:01:45.49 ID:???
>>961
値じゃなくインデクスを集合とみた演算になってるわけか
そこのユーザノートにも書いてあるけど誰得仕様だな

$lhs = [1, 2, 3];
$rhs = [4, 5, 6];

print_r($lhs + $rhs); # => 1, 2, 3

unset($lhs[1]);

print_r($lhs + $rhs); # => 1, 3, 5
964nobodyさん:2014/01/13(月) 22:22:20.41 ID:???
>>955
サーバ負荷なんてユーザーが殺到してから考えればいい
大企業でも人を集めるのは相当難しいからね
965nobodyさん:2014/01/14(火) 06:00:48.15 ID:ayHjqoXt
質問です。

ログインが必要なページのログイン後のページソースの一部を取得したいのですが
file_get_contentを利用してソースまるごと取ってから正規表現で分解するしかありませんか?

<span class="number">5</span>

一々全部取得せずに上記タグの5だけを取得したいのですが可能でしょうか?
966nobodyさん:2014/01/14(火) 06:06:52.73 ID:???
>>965
どこのサイト?
967nobodyさん:2014/01/14(火) 06:13:57.33 ID:ayHjqoXt
>>966
レスありがとうございます。
申し訳ないのですがどこのサイトかは答えられないです。

広告の管理画面で、一つの広告の成果を見るたびに毎回ログインが必要なサイトで
自分用として一括して見れるようにしようと思っています。
968nobodyさん:2014/01/14(火) 07:08:09.90 ID:???
相手の構成次第だけど多分無理かなー
969nobodyさん:2014/01/14(火) 07:11:21.44 ID:ayHjqoXt
>>968
ですよね・・・
ありがとうございました。
970nobodyさん:2014/01/14(火) 07:35:35.69 ID:Sq6mFv9G
在日の親は、子供を朝鮮幼稚園・朝鮮学校に入れたいっていうのが多いのよ。
日本人からすると、なんでだろうって思うけど、日本人の学校では、民族の誇りを持った教育がしてもらえないんだそうだ。
よく分からないけど、流刑者の白丁が密入国して住み着いたじゃ誇りが持てないけど、日本人に強制連行された被害者なら誇りが持てる、とかそういう事かな??

市原市の能満は昔から市街化調整区域で、新規の建物は造れないことになっている。
そのため土地が安く、日本の法律を無視した在日が、次々と移り住んできた。
そこで問題になったのが、朝鮮学校だ。なかなか許可が下りず、一番近くても千葉市にしかない。
そこで在日居住区の能満内にあった、能満幼稚園・市原小・市原中・緑高の保育士や教師を、朝鮮化する事を考えた。
今では通称在日幼稚園の保育士は全て朝鮮帰化人で、在日の父兄からの絶大な支持を受けている。
遠くからでも、わざわざ通称在日幼稚園に入園させたいという在日の親は、後を絶たない。
この在日幼稚園卒園者はほぼ朝鮮系の帰化人と在日だ。
971nobodyさん:2014/01/14(火) 14:40:43.06 ID:???
>>967
file_get_contentsでIDとパスワードをPOSTすればいけるんでは?
HTMLのパースはまた別の話
972nobodyさん:2014/01/14(火) 15:25:02.75 ID:???
>>965
場所が常に明白(または、今回のような個人用途)で、かつ、rangeリクエスト可能ならそうしてみるとか。
全部取得するほうが大抵楽だと思うけど。
973965:2014/01/15(水) 19:29:11.05 ID:INbU8D8p
>>971,972
遅くなりましたがレスありがとうございます。
現在は既にfile_get_contentsを使用して一括確認出来るよう
自分用の管理画面を作っております。

rangeリクエストを調べてみたのですが少し実装がややこしそうなので
相手方の管理者に問い合わせ、filegetcontentsを利用した一括確認を
利用していいか問い合わせてみます。

ありがとうございました。
974nobodyさん:2014/01/16(木) 03:53:02.76 ID:???
API提供してくれりゃいいのにね。
975nobodyさん:2014/01/17(金) 02:07:27.54 ID:???
APIの方が 鯖の負荷大きかったりしてな
976nobodyさん:2014/01/18(土) 22:44:23.71 ID:JLR/e4Bf
符号なし整数って使えますか?
long integer が使えればそれでもいいです。
977nobodyさん:2014/01/18(土) 23:12:42.80 ID:???
30分毎に○○(RSSなど)を更新する
みたいな処理はどういう設計にしたらいいですか?
マルチスレッドでがんばるんでしょうか?
978nobodyさん:2014/01/18(土) 23:42:38.40 ID:???
cron使え
979nobodyさん:2014/01/19(日) 00:51:50.34 ID:+Tp+kBdt
現在のセッションから他の全セッションの変数の値を取得したいのですがどのようにしたらいいですか?
980nobodyさん:2014/01/19(日) 01:36:53.31 ID:qd8Uvbtv
>>979
現在のセッションってどういう意味?
一度セッションをクローズしてから、クローズした元のセッションのデータを取得したいってこと?
981nobodyさん:2014/01/19(日) 01:39:30.66 ID:+Tp+kBdt
>>980
他のセッションIDのことです
982nobodyさん:2014/01/19(日) 02:02:39.33 ID:???
>>981
全部?
983sage:2014/01/19(日) 02:13:15.45 ID:qd8Uvbtv
>>981
いまいち言ってることが良くわからんなぁあ
984nobodyさん:2014/01/19(日) 02:35:03.38 ID:+Tp+kBdt
3人のセッションが開始されているとしてPHPSESSIDがA、B、Cとすると
AがアクセスするとB、Cのもつ変数が表示されるようにしたいのです
985nobodyさん:2014/01/19(日) 07:01:00.90 ID:???
DBとかキャッシュ使え
986nobodyさん:2014/01/19(日) 13:02:42.48 ID:???
何をしたいのか分からんね
セッションが動くたびにトランザクション走る設計なんて嫌でしょ
共有データは正規化してCascadeで消えるようにしたら楽な気がする
987nobodyさん:2014/01/19(日) 13:16:05.06 ID:???
セッションIDを固定にすれば?
988nobodyさん:2014/01/19(日) 13:24:47.61 ID:???
そもそもそんなことして何がしたいのかよく分からん
具体的にやりたいことのイメージを書いてみ?
もっとマシな解決方法あるから
989nobodyさん:2014/01/19(日) 14:01:42.50 ID:???
まあたぶん>>985の言うようにキャッシュ使うのがいいだろうな
990nobodyさん:2014/01/19(日) 14:22:59.94 ID:???
3人でA〜Cってことは全部っぽいな
想定人数が異常に少ないから同時間っぽいな
B、Cと特定的に書かれてるが、たぶんB、CのIDは不明なんだろうな
991nobodyさん:2014/01/19(日) 14:26:14.90 ID:???
>>979の言ってることはわからなくもない。

たとえば、チャットアプリで、チャット中のユーザーAとユーザーBがいた場合、
ユーザーAのセッションを読み込む際に、ユーザーBのセッションも一緒に
読み込めたら便利なのにと考えたことがある。

だけど、無理なんだよね。相手のセッションやクッキー情報を読み込むのは不可能だし。
結論は、取得できない。
992nobodyさん:2014/01/19(日) 14:32:18.67 ID:???
というかチャットみたいにユーザモデルが存在するサービスならどうにでもなる
FW使ってるならモデルにSession統合するだけで済むし
管理パネルで整合性が必要だとか、ブラウザゲーで遷移管理を共有したいとかってケースが面倒
993nobodyさん:2014/01/19(日) 14:34:31.89 ID:???
おまえら想像でモノ言ってもしょうがねぇだろ
994nobodyさん:2014/01/19(日) 15:17:03.28 ID:???
そういうのをセッションを使って、セッションの値自体を使わないで実装するのが普通
995nobodyさん:2014/01/19(日) 15:17:30.61 ID:???
>>2
MLのホストは結構前に変わった http://ml.php.gr.jp/mailman/listinfo/
Smartyはそろそろよくね?
996nobodyさん:2014/01/19(日) 20:55:33.57 ID:???
別に行数足りないわけでもないし消す必要もないだろ
997nobodyさん:2014/01/20(月) 03:56:37.85 ID:elKBZme8
関数がバイナリセーフかそうでないかなんてどうやって判別するの?
リファレンスに「この関数はバイナリセーフです」とか書いてないよね
998nobodyさん:2014/01/20(月) 04:47:15.96 ID:???
290 :デフォルトの名無しさん:2014/01/20(月) 03:26:19.69
PHPで長々とひどいソースコード書いて
おそらく多大な時間をかけたんだろう、Rubyとかなら5分もいかないようなものを「○○作れたー^^」とかいって
ブログ書いてる奴が多い
PHP自体でマシなアルゴリズムや記法を提供してやればマシになるのかなと思って
ちょっとPHPの言語仕様見直したけど、それも不可能だと悟った
彼らはなんなのアレ。マジアレ何。それで良いのかと問いかけたい。
ほんの一週間でいいからRubyやらPythonでまともな書き方を覚えたら
考えも変わってくれるとは思うんだけど

前提を疑えよな
その$とか->とか意味のない記号で埋め尽くされてるソースを見て
何かを感じれば他の言語を試すだろ普通は
プログラミングのような「誰がやっても同じようなもの」に対して
時間をかけて丁寧に一字一句かいていくとか、固執とかはいらないんだよ、

もっとササッとかいて、見やすい、速い、動く、  これだけで良い
こだわりを持って時間かけて何かやりたいならそれは間違いなくプログラミングでやるような事じゃないから
効率の悪いソースコードはリファクタリングでソースファイルごと削除される
PHPで書いてるソース全部がそれだからね
999nobodyさん:2014/01/20(月) 06:15:52.59 ID:???
だから言ったろ?PHPはゆとり向けじゃないんですよ上級者向けなんです
1000nobodyさん:2014/01/20(月) 06:25:32.94 ID:???
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。