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

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

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

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
2nobodyさん:2013/05/26(日) 23:02:30.33 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/05/26(日) 23:03:00.97 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/05/26(日) 23:03:31.47 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/05/26(日) 23:04:25.16 ID:???
☆初心者必読☆

ttp://ameblo.jp/nikko-inma/entry-11122429825.html
>数々の糞仕様の発見で驚きを提供してくれる人気プログラム言語PHP

ttp://usamimi.info/~mirrorhenkan/2ch/ruby/other/read.php/1181304333/
>「初心者にもWebアプリケーションが書ける」という幻想を与えることで、 バグだらけで、メンテナンス性が低く、
>セキュリティ問題を抱えた Webアプリケーションを乱造することになっているのではないだろうか。

ttp://qarc.info/qa/show-9478-909.html
>PHPとか言語仕様が糞なうえにセキュリティホール付でリリースするからマジないわ。

ttp://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
PHPは順位を維持しているものの-0.16%、
一方のRubyはというとPHPより順位は低いものの+0.34%、
このままいけば必ず逆転する

ttp://www.anlyznews.com/2011/03/phper13.html
>5. PHPなどのスクリプト言語しか知らないのに、プログラミング言語の優劣を語る。
>6. PHPの遅さを知らないのに「最近のマシンは速いからプログラミング言語に速度は求められていない」と言い切る。
>11. 仕様が曖昧で急激に変化するPHPで、テストファーストとか言い出す。
>13. ブログで自らの無知をさらけ出す。

ttp://creeper.no-ip.info/adiary/adiary.php?20111122
>■ 変数名を間違えると新しい変数が作られる
>■ 文字列の変数展開がクソ
6nobodyさん:2013/05/26(日) 23:05:04.28 ID:???
テンプレここまで。前スレ>>1000を踏んでも次スレが見つからなかったので建てました。
7nobodyさん:2013/05/26(日) 23:09:53.91 ID:???
勝手にテンプレにすんなボケ
8nobodyさん:2013/05/26(日) 23:10:20.06 ID:???
死ねカス
9nobodyさん:2013/05/27(月) 00:34:12.76 ID:QfhA6lTw
フレームワーク?ってなにが美味しいんですか?
人の書いたのってなんか中身がわかんないから心配だし、フレームワークとか余計に面倒臭いんですけど…
10nobodyさん:2013/05/27(月) 01:03:09.11 ID:???
sohoとかクラウドワークスとか見ててもphpの案件ばっかりだな
perlとかrubyとかやってたってしょうがないよ
11nobodyさん:2013/05/27(月) 11:41:16.08 ID:???
【OS名】Debian 7
【PHPのバージョン】5.4.4
【連携ソフトウェア】特になし
【質問内容】

Debian 7 で、apt-get で普通に Apache や PHP を入れただけの環境なんですが、
phpinfo() の結果を見ると、_SERVER["REQUEST_TIME"] が -472361226 のような
負の数になっています。
_SERVER["REQUEST_TIME_FLOAT"] のほうは正常に 1369622206198 などという数値を示します。

Debian 6 のころとバージョンが変わって、
何か設定しなければならないことが増えたのでしょうか。
それとも、何らかのバグでしょうか。

同じような現象に遭遇された方がいらっしゃったら、情報をいただきたいです・・・。
1211:2013/05/27(月) 13:24:05.88 ID:???
11 です。
自己解決しました。

libapache2-mod-php5 ではなくて、
libapache2-mod-php5filter がインストールされていたのが原因でした。
libapache2-mod-php5 をインストールしなおしたら解決しました。

libapache2-mod-php5filter なんて、いつ入ったんだろ・・・。
どうもお騒がせしました。
13nobodyさん:2013/05/27(月) 15:23:20.56 ID:???
>>9
自分で作ればいいんじゃない?
14nobodyさん:2013/05/27(月) 18:23:54.08 ID:???
>>9
あれは奴隷製造機だからな あれをちゃんと使えないと立派な奴隷になれないぞ!
15nobodyさん:2013/05/27(月) 18:40:37.66 ID:QfhA6lTw
あの、場違いな真面目な質問(悩み?)です。
以前はWindowsネイティブなアプリも請け負ってましたが、最近は全くありません。もうほとんどWebアプリだけです。
クライアントは全て中小零細企業ですが。
FORTRAN77からプログラムを初めてCの開発実績が一番長いのですが、現在はPHPとSQLがメインです。SQLはオラクルシルバー持ってます。
一番重要なのはデータベース設計なんで、プロフラム言語は別になんでもいいんですが、ほんとにPHPは将来性がないんですか?
まさかpythonでやれとかRubyに行けとか、家族を抱えた職業人の私に言わないですよね?
Javaとか無理ですよ、現実。
だって、受注後0.5〜1ヶ月くらいで実運用求められる案件ばっかですから。
有識者のご意見下さい。
16nobodyさん:2013/05/27(月) 18:55:05.57 ID:???
>>15
Java人間雇えば? 仕事もらえるネットワークが財産であり武器である
17nobodyさん:2013/05/27(月) 19:01:43.49 ID:???
>>16
ぜんぜん分かってねぇな、こいつ
18nobodyさん:2013/05/27(月) 20:10:40.42 ID:???
>>15
PHPの何を心配してんの?
19nobodyさん:2013/05/27(月) 21:36:01.20 ID:???
>>15
PHPに将来性があるかどうかを心配しているようだが、
言語の有用性の推移に関する未来予測を行う方法は数多く提案されていて、
予測不可能だとする従来の学説と真っ向から対立する形になった。

肯定派と否定派の合同の研究班が結成され、
いくつかの推測方法を検証したところ、
全くのでたらめと言うべき結果も数多くあった一方で、
統計学的に有意とされる結果も数例ほど報告された。

その比率は優位な方法が全体のわずか5%という微々たるものではあったが、
追跡調査ではそのうち約半数がやはり有意な結果であった。

研究班はこの推測方法でプログラミング言語の将来の有用性を測ることが
不可能であるとは断言できる理論は今のところ確立されていないという結論に達した。
20nobodyさん:2013/05/27(月) 21:38:37.26 ID:???
その推測方法をPHPのコードとして実現したものがこちら

<p>PHPには将来性が
<?php
echo array_rand(array('ある', 'ない'));
?>
</p>
21nobodyさん:2013/05/27(月) 21:43:31.36 ID:???
あのー、array_randが返すのは配列のキーですが
22nobodyさん:2013/05/27(月) 21:54:44.95 ID:???
わろた
23nobodyさん:2013/05/27(月) 22:15:29.80 ID:BO/BVLbf
静的クラスを明示する方法って、
コンストラクタをprivateにするくらいですか?
24nobodyさん:2013/05/27(月) 22:28:17.24 ID:???
何言ってるかわからない
25nobodyさん:2013/05/27(月) 23:56:42.17 ID:BO/BVLbf
http://msdn.microsoft.com/ja-jp/library/79b3xss3(v=vs.80).aspx
C#では
static class CompanyInfo{
}
のように静的クラスを宣言できますが、
PHPで
static class Hoge {
}
と記述したらエラーになりますよね
だから静的にしか使って欲しくないクラスは、
newした時点でエラーになるように、
コンストラクタをprivateにするとか、コンストラクタで例外を投げるとか、
あまりスマートではないけれど、それくらいの方法しかないのでしょうか?
ということです
26nobodyさん:2013/05/28(火) 00:12:03.68 ID:???
静的プロパティを保証できないんじゃない?
27nobodyさん:2013/05/28(火) 09:13:21.58 ID:???
>>15
何歳?Web系は言語よりhttpの知識の方が必要だよ。
スマホのネイティブアプリやれば?
28nobodyさん:2013/05/28(火) 12:42:57.98 ID:???
【OS名】Ubuntu12.03
【PHPのバージョン】5.3.10
【連携ソフトウェア】MySQL
【質問内容】
whileからのmysqli_fetch_rowやassocを使った際、最後の一行が読み込まない状態で困っています。
例えば「v,w,x,y,z」の5つを入れて参照すると、v,w,x,yのみ表示されzが読み込まれない状態です。
ぐぐってもそれらしいコメントが見つからなかったため質問しますが、わかる方いらっしゃいますか?
29nobodyさん:2013/05/28(火) 12:46:22.24 ID:???
12.04でした。
30nobodyさん:2013/05/28(火) 13:35:45.94 ID:???
どうやって読んでる?
一回足りないだけのような
31nobodyさん:2013/05/28(火) 15:16:24.29 ID:3sZRAxgy
>>27
ありがとうございます。
えっと、30代です。
HTMLの知識ってなんですか?
全然煽るつもりも喧嘩売るつもりもないんですけど、
「知識」ってほどのものなんかなんにもないですよ、HTML
ちょっと意味がわからないです。

あと、スマホのネイティブアプリとか言いますけど、趣味でやってる学生じゃないのでご理解ください。
作る「だけ」なら、もちろん作れますよ、当たり前だけど。

やっぱ色々考えてみると、当面零細企業相手の仕事ではPHPと各種データベースの組み合わせしか選択肢がないですね、現状。

アカデミック()な分野はべつとして
32nobodyさん:2013/05/28(火) 15:23:37.70 ID:???
DBやってるならDBの設計終われば言語何でもいいのはわかるべ
それに複数言語扱うのも大したことは無い、phpやりながらjava慣れとけばいい
環境作る方が大変だけどな。

httpはやればやるだけできること広がるから何でも手をつけておいた方がいいよ。
33nobodyさん:2013/05/28(火) 15:40:16.32 ID:???
痛々しい30代ですことw
34nobodyさん:2013/05/28(火) 15:55:19.72 ID:???
>>31
> HTMLの知識ってなんですか?

10年以上前の、超しょぼいページ遷移しかしないWebアプリしか作らないなら、それほどHTMLの知識は要らない。
サーバ側で静的ページを生成して戻すだけだし。

そこそこ見栄えが良く使い勝手が良いWebアプリを作るなら、CSS, HTML, Javascriptの知識が最低必要。
35nobodyさん:2013/05/28(火) 15:59:24.99 ID:3sZRAxgy
>>34
いやいや(苦笑)
>CSS, HTML, Javascriptの知識が最低必要
そんなの分かってるから
36nobodyさん:2013/05/28(火) 16:00:07.20 ID:3sZRAxgy
ごめん、ここで聞いた俺が馬鹿だった
謝る m(__)m
37nobodyさん:2013/05/28(火) 16:01:04.33 ID:???
HTMLじゃなくてhttpと書いたのは、SOAPを始めとするプロトコル関連も含んでるんじゃないのか
38nobodyさん:2013/05/28(火) 16:01:21.84 ID:???
こういうおっさんに限ってHTML4.01 CSS2.1止まりなんだよなww
39nobodyさん:2013/05/28(火) 16:02:34.53 ID:???
30代越えるとhttp=インターネット=HTMLだから赦してやってくれ
40nobodyさん:2013/05/28(火) 16:03:21.97 ID:3sZRAxgy
>>37
うん、それならまだ分かるね
ありがと
41nobodyさん:2013/05/28(火) 16:03:51.27 ID:3sZRAxgy
>>38
自己紹介乙
42nobodyさん:2013/05/28(火) 16:05:58.18 ID:???
>>36
貴方や会社の将来設のことを
たかが言語に求められても困るでしょう。
PHPなんてのは ただの道具ですよ。
43nobodyさん:2013/05/28(火) 16:08:00.03 ID:???
>>42
謝ってんだからもういいじゃん
44nobodyさん:2013/05/28(火) 16:13:57.60 ID:???
謝ってるってもしかしてだけど>>36のこと?
45nobodyさん:2013/05/28(火) 16:27:43.76 ID:???
phpの質問スレだからな、たしかに聞く場所間違ってるw
46nobodyさん:2013/05/28(火) 17:42:44.97 ID:???
>>35
> そんなの分かってるから

いや、わかってないと思うよ。だってサーバサイドの話しかしてないじゃん。
47nobodyさん:2013/05/28(火) 18:03:18.41 ID:???
人の行く 道に裏あり 花の山

 いずれを行くも 散らぬ間に行け
48nobodyさん:2013/05/28(火) 18:11:02.84 ID:???
>>30
足りないだけなのでしょうか。
以前も同じような構文で作ったんですがその時は最後までループして吐き出してくれたので大丈夫だと思ったんですが・・・
49nobodyさん:2013/05/28(火) 18:24:18.73 ID:???
>>31
いや、HTMLじゃなくて、HTTPプロトコルのこと。
パケットを見るとかじゃなく、単純にどうやってWebは動いているかって知識。
ノウハウと言い換えても言いけど。言語仕様なんてたいしてハードルじゃない。

まぁ、メールの問い合わせフォームとかならそうでもないけどね。

ネイティブアプリ作れるなら、そっちの方が需要あるよ。
50nobodyさん:2013/05/28(火) 20:10:53.94 ID:???
>>48
ID
51nobodyさん:2013/05/28(火) 20:44:35.96 ID:02y4dFlJ
HTTPS抜きでやるつもりかよ
PHP厨はやっぱダメだな
52nobodyさん:2013/05/29(水) 09:57:21.09 ID:???
意味わかんね
知ったかで文句付けてみただけのようなw
53nobodyさん:2013/05/29(水) 10:38:34.32 ID:???
<?php
$moji = array(
'iti' => '<html>',
'ni' => '<body>'
);
?>

<html>
<head>
<meta>
<title>ソース変換</title>
</head>
<body>
<form>
<div class="container">

<label for="sosu">ソースを表示</label><br />
<textarea rows="5" cols="30" ID="memo" name="memo">
<?php print($moji['iti']); ?>
<?php print($moji['ni']); ?>
</textarea>
</div>
</form>
</body>
</html>

テキストエリアで改行するにはどうすればいいですか?

やりたいことは、htmlやphpのコードをテキストエリアに貼り、
htmlspecialcharsで文字列を置き換えるということです。
54nobodyさん:2013/05/29(水) 11:02:28.95 ID:???
>>53
IDが出ていないので、お答えしないことになっています。
55nobodyさん:2013/05/29(水) 11:03:57.58 ID:???
>>51
自分は分かってるつもり乙
56nobodyさん:2013/05/29(水) 11:08:36.90 ID:???
phpというよりほとんどhtmlの話だけど、ID出してね
57nobodyさん:2013/05/29(水) 11:49:17.19 ID:???
ID出す前に一言言わせてくれ。
得体のしれないブログ記事をつまみ食いして質問してくんな。
参考にしてるソースが古過ぎる。
古いソースは問題が多い。
新しい記事を参考にして書いたんだったらその参考にしてる記事がクソ。

記事の信憑性を見極めるのにはそれなりの知識が必要だから、
最初は新し目の書籍を一冊買ってとりあえずそれだけでやるといい。
58nobodyさん:2013/05/29(水) 11:57:13.93 ID:???
\n
59nobodyさん:2013/05/29(水) 12:10:44.61 ID:???
これは、PHPの閉じタグ直後の改行コードの扱いの仕様の問題
60nobodyさん:2013/05/29(水) 12:17:09.28 ID:???
俺がやりたいことをやってるサイトがあるんだが人のサイトだからここに
貼るわけにもいかず・・・
61nobodyさん:2013/05/29(水) 12:20:27.72 ID:???
WWWの原則としてリンクは自由であるべきだ
62nobodyさん:2013/05/29(水) 12:34:39.92 ID:???
>>59
閉じタグの後に改行しなくちゃいけないとでも思ってるのかよ
63nobodyさん:2013/05/29(水) 12:37:04.24 ID:???
>>62
*PHPの*閉じタグの直後の改行コードは、無効にされますので、
<?php print($moji['iti']); ?>
<?php print($moji['ni']); ?>
だと、?>のあとの改行は出力されず <html><body> と出力されます。
<html>
<body>
としたければ、 1行目と2行目の間で2回改行するとか、そういうことです。
64nobodyさん:2013/05/29(水) 12:39:54.49 ID:???
なんだ質問者かよ、ID出さなきゃ答えられないって言ってるだろ
65nobodyさん:2013/05/29(水) 13:12:38.05 ID:16tE3DEI
>>63
phpじゃなくhtmlでの<br>改行とかならわかるんだけど
テキストエリアなので困ってます。
66nobodyさん:2013/05/29(水) 13:22:54.89 ID:???
>>65
テキストエリアですので、 <textarea>タグ直後でなければ、
htmlソースの改行コードで改行されます。
<?php print($moji['iti']) ."\n"; ?>

とするか、

<?php print($moji['iti']); ?>

<?php print($moji['ni']); ?>
とやってみてください。
67nobodyさん:2013/05/29(水) 13:30:33.99 ID:???
\r\n
68nobodyさん:2013/05/29(水) 14:49:16.39 ID:???
親切に回答してるなぁ。>>59の人だろか。乙
69カミカゼ:2013/05/29(水) 22:53:50.60 ID:RY40XdSy
●じゃあのさん来た!●
71:カミカゼ[]
2013/05/29(水) 22:14:04.77 ID:2XhNblnz0
ようおまいらwwww元気ぃ?wwww
よろしくやってたかい?www
久々に遊びに来たぜwwww

--- 以下スレ情報 ---
高岡さんがフジ韓流ゴリ押し批判したら干されたのでウジテレビ凸
http://hayabusa.2ch.net/test/read.cgi/news4vip/1369827332/
70nobodyさん:2013/05/30(木) 01:46:13.16 ID:???
関数、クラスをfunction.phpにまとめています
この読み込みの挙動について聞きたいです

function.phpに大量の関数、クラスがある場合は、includeに時間がかかるのでしょうか
それとも呼び出した関数、クラスのみ探して読み込んでくれるのでしょうか

クラスの挙動についても聞きたいです
30つ以上メソッドがあるクラスをインスタンス化して、5行程度の1つメソッドの使う場合の
負荷はどのようなものになるのでしょうか?
71nobodyさん:2013/05/30(木) 01:46:56.46 ID:MG1e5+Bh
すみませんID忘れていました
72nobodyさん:2013/05/30(木) 02:41:01.79 ID:EYpF140+
すみませんID忘れていました
73nobodyさん:2013/05/30(木) 07:11:45.94 ID:???
>>70
全部読み込む
74nobodyさん:2013/05/30(木) 07:49:43.25 ID:???
クラスは一つずつ別ファイルにして
オートロード機能を使うと良いよ
75nobodyさん:2013/05/30(木) 09:36:45.67 ID:???
>>66
確認しましたm(_ _)m
76nobodyさん:2013/05/30(木) 12:59:25.56 ID:???
>>74
オートロードってパフォーマンス的に駄目駄目じゃない?
OSのメモリ上にファイルのキャッシュが残ってればそうでもないのかな?
77nobodyさん:2013/05/30(木) 13:09:24.65 ID:???
APCでキャッシュしちゃえば全然問題ない。
78nobodyさん:2013/05/30(木) 18:07:25.88 ID:MG1e5+Bh
>>73
>>74
ありがとうございます
79nobodyさん:2013/05/30(木) 19:59:55.00 ID:???
>>76
質問はID出せよ知能障害
お前みたいに好き勝手やってるゴミは社会の迷惑
80nobodyさん:2013/05/30(木) 20:25:17.82 ID:???
>>76
使いもしないファイルを読み込むほうが・・・
って話とどっちが上か下かは状況次第じゃん
81nobodyさん:2013/05/30(木) 20:34:40.45 ID:???
>>76
includeの可能性があるファイルが10個あるとして
全てロードだとコスト10固定、
autoloadにしているとコスト0〜10だと思うけど、
オートロードでダメな理由って何なの?
82nobodyさん:2013/05/31(金) 03:30:57.93 ID:0pyQKPZl
掲示板の投稿で
本文の70%が半角の場合は投稿拒否をしたいです

半角判定の方法はわかったのですが
〜%で拒否の部分のコードをどう書けばいいのかわかりません

ヒントだけでもいいので助言ください
83nobodyさん:2013/05/31(金) 03:39:27.57 ID:???
$lenOfOriginal = mb_strlen($src);

$hankaku = preg_replace('/[^\x{FF65}-\x{FF95}]/u', '', $src);

$lenOfHankaku = mb_strlen($hankaku);

$ratioOfHankaku = $lenOfHankaku / $lenOfOriginal;
84nobodyさん:2013/05/31(金) 03:43:39.41 ID:???
if ($ratioOfHankak > 0.7) { throw new HogeHogeException(); }
85nobodyさん:2013/05/31(金) 05:05:18.35 ID:Vx9Hevlv
すみません、ドットインストールのCakePHPの講座をやっているのですが、
よくわからないバグが生じております。

ブログにコメントを付けるものなのですが、endforeachが不正と表示されて、
処理が進まないエラーが生じました。

一応、書き加えたソースは以下のものです。
<ul>
<?php foreach ($post['Comment'] as $comment); ?>
<li><?php echo h($comment['body']) ?> by <?php echo h($comment['commenter']);?></li>
<?php endforeach; ?>
</ul>

エラーが生じるのは、この<?php endforeach; ?>です。
ただ、他のソースでも、この部分はきちんと処理が実行でき、それをコピッてきたので、
スペルミスの可能性は少ないかと思います。
何卒、お願いします。
86nobodyさん:2013/05/31(金) 05:08:09.36 ID:???
なんだコレフレームワークってほんと別言語だな
87nobodyさん:2013/05/31(金) 06:02:21.89 ID:???
viewは大体こういう書き方のが多いね
モデルやコントローラーは普通のPHPクラスで書かれてる
88nobodyさん:2013/05/31(金) 07:28:50.07 ID:???
ここでID出せID出せっていってるやつは何目的でこのスレにいるんだ?
たいしたスキルもなく教えることもできないがIDだけにはこだわって
言い続けてる。お前は自閉症児かw

>>79

こういうやつなw何が目的なのか答えろよ引きこもりニートが
まっとうな言動をしてるようでお前の方こそ人を不愉快にしてることに
気づかないのか?

ようつべのコメントでもまともなコメをしてるようで相手をただ単に攻めてるだけ
ってのよくあるけどまさにそんな感じだな

お前みたいに自分の言動が人にどう思われるのかわからないで好き勝手にやってる
ゴミは社会の迷惑だから早く北朝鮮の炭鉱へ行って
89nobodyさん:2013/05/31(金) 08:17:29.55 ID:???
>>85
foreach();
じゃなくて
foreach():
でしょ
90nobodyさん:2013/05/31(金) 09:52:51.73 ID:Vx9Hevlv
>>89
わかりました、ありがとうございます。
foreach():
〜〜
endforeach;
ですね。
91nobodyさん:2013/05/31(金) 10:55:23.57 ID:???
>>88
言い回しはともかく、IDを表示するのがルールなんだから答える必要はないと思うよ。
君の言動?も相当人を不愉快にさせてると思うけどね。
9276:2013/05/31(金) 11:53:17.47 ID:2B6R5nZc
話の流れで疑問が出たときもID必要なのね。

>>81
> オートロードでダメな理由って何なの?

一発でパスを確定できるファイル名でPHPファイルを置いているなら問題ないけど、
ロード候補ディレクトリが複数になる場合は、ファイルの存在チェックが必要になる。
そのオーバーヘッド分が馬鹿にならないんじゃないかと思った。

SPRに準拠したnamespaceを定義していて、きれいにPHPファイルを配置してるなら
問題ないけど。
9376:2013/05/31(金) 17:18:33.14 ID:???
時間ができたのでちょっとだけ実験してみた。

一つのクラスをnewするだけのコードを、"ab -c 32 -n 10000"でrequire_onceとautoloadを比較。
PHP 5.4.10。APC有効。開発用Macで実行。

require_once版:
Requests per second: 8452.75 [#/sec] (mean)
Time per request: 3.786 [ms] (mean)
Time per request: 0.118 [ms] (mean, across all concurrent requests)

autoload版:
Requests per second: 6625.91 [#/sec] (mean)
Time per request: 4.830 [ms] (mean)
Time per request: 0.151 [ms] (mean, across all concurrent requests)

autoloadの方が20%程度くらい遅いけど、そこそこぬるい環境だったら問題ないのかな。
94nobodyさん:2013/05/31(金) 17:31:36.61 ID:???
自分でできるんなら、最初から自分でやれアホ
95nobodyさん:2013/05/31(金) 17:43:27.30 ID:???
必要なファイルの数 = N1
無駄なファイルの数 = N2

ファイルロードのコスト = L
オートローダによる1ファイルあたりのオーバーヘッド = A
(オートローダのファイルロードコスト = L+A)

とした場合のファイルロード全体のコスト C

通常のファイルロードコスト C1
C1 = (N1+N2) * L

オートローダ使用時のコスト C2
C2 = N1 * (L+A)

オートローダ使用時の差分 C2-C1
N1*A - N2*L
96nobodyさん:2013/05/31(金) 17:44:32.16 ID:???
現状のフレームワークでプラグイン多用した構成の場合は
ファイルの存在チェックのほうがはるかにコストが低い場合が多いと思うけどな。
素で書き起こした機能限定のシステムじゃなければオートローダ使わない手はないと思うけど。
9776:2013/05/31(金) 17:56:07.06 ID:???
>>95
うーん、そもそもその「無駄なファイルの数」というのが何なのかわからないんだ。どういうこと?
ひょっとして、ロードする必要が無いファイルもrequireしてるってこと?
9876:2013/05/31(金) 18:04:22.71 ID:???
あ、こういうことか。
Foo.php:
<?php
class Foo {
public function hoge() { $o = new Bar(); }
public function fuga() { $o = new Baz(); }

Bar.php:
<?php
class Bar {}

Baz.php:
<?php
class Baz {}

index.php:
<?php
require_once 'Foo.php';
require_once 'Bar.php';
require_once 'Baz.php';

$o = new Foo();
$o->hoge();

としたとき、Baz.phpのロードがいらないってことか。
9995:2013/05/31(金) 18:04:47.74 ID:???
え、だからオートローダが有利な場面があるんじゃないの?
おかしい?
10076:2013/05/31(金) 18:09:16.63 ID:2B6R5nZc
ところで、>>98のような場合、autoloadを使わないとき、requireはどうやるのがいいのかな。

ケース1:Fooを使う人は内部のことなんかしったこっちゃないからFoo.phpでrequireしろ派
Foo.php:
<?php
require_once 'Bar.php';
require_once 'Baz.php';

ケース2:呼び出し側でやる派
index.php:
<?php
require_once 'Foo.php';
require_once 'Bar.php';

俺の場合は、最初はケース1派だったんだけど、理由は忘れたがケース2派になり、今はautoload派になった。
101nobodyさん:2013/05/31(金) 18:13:00.31 ID:2B6R5nZc
ケース1しかありえない
102nobodyさん:2013/05/31(金) 18:13:21.01 ID:2B6R5nZc
途中で送った。
ケース1しかありえない気がしてきた。
103nobodyさん:2013/05/31(金) 18:25:19.05 ID:???
正しい作法としてはケース1でしょ。
とはいえ、ファイル間の結合度や依存度によってケースバイケース。
たとえばフレームワークのルーティンにおいて bootstrap で基本ファイルを呼び出すっていうのはお決まりのパタン。
104nobodyさん:2013/05/31(金) 18:27:37.83 ID:???
autoloadが解決する問題は、複雑な依存性が存在した場合のrequire/includeであって、速度に関しては
副次的な物だと思う。

確かに、autoloadはnewのエラーをフックしてファイルをロードするので、無駄なロードは発生しない。

しかし、数千req/secもあるようなシビアな場合ではないのであれば、autoloadあるいはrequire/includeが
一度に付きms未満の差しかないのだから、速度に関してはあまり気にする必要は無い。

クラス名やファイル名、ファイルの配置については、PSR-0に従うのが現状ではベストでは無いかと思う。
そうすれば、autoloadにも対応しやすい。
105nobodyさん:2013/05/31(金) 18:28:37.70 ID:???
あと、include_once や require_once は結構コストかかるから出来たら使わないほうがいいんだって
ラードフさんが仰ってたよ
106nobodyさん:2013/05/31(金) 18:29:30.28 ID:???
includeの方がいいのか
107nobodyさん:2013/05/31(金) 20:25:05.53 ID:???
>>92
SPRってよくしらないんだけど、これ?
https://github.com/alv-c/SPR---Simple-PHP-Router
108nobodyさん:2013/05/31(金) 20:28:46.16 ID:???
あ、PSRか、ゴメヌ
109nobodyさん:2013/05/31(金) 20:47:34.66 ID:???
>>92
きれいにPHPファイルを配置してautoload使いましょう、
で終了じゃないか
110nobodyさん:2013/05/31(金) 21:08:07.40 ID:0pyQKPZl
>>83
>>84
お礼遅れて申し訳ない
ありがとうございます
111nobodyさん:2013/05/31(金) 22:00:54.96 ID:???
最近phpでCLI処理を書いています
今までrubyやpythonを使ったりしてましたが、
PHPは実に使いやすい
いちいち何をincludeして〜とか調べなくてもいいし、オブジェクト指向的にも問題ない
web以外にもPHP使うの最高じゃないですか?
なんでCLIではいまいち不人気なんでしょうか
みんなかっこつけてるんですか?
112nobodyさん:2013/05/31(金) 22:08:35.93 ID:???
便利だから使ってるし、みんな使ってるんじゃない?
113nobodyさん:2013/05/31(金) 22:38:24.89 ID:TNUtMHtE
エラーハンドラで受け取ったファイル名や行数から、その部分のソースコードを取得したいのですが、
それにはファイルを読み直さないといけないですか?
ソースコード自体はメモリに載っているはずなので、
ファイルを読まなくても取得する方法があるような気もするのですが…
114nobodyさん:2013/05/31(金) 23:14:39.26 ID:???
>>111
LinuxではPerlやPythonはデフォルトで使えることがほとんどだが、PHPはそうじゃないからじゃないかな。
あと、複数のバージョンを簡単に切り替える仕組みがない。
それに、CLIなのに/etc/php.iniを見に行くのがいけてない。
スレッドが使えないとか。
サーバアプリが書きにくいとか。
コマンドラインで使うときのライブラリが充実してないとか。

DB読むツール書くのは楽なんだけどね。
115nobodyさん:2013/05/31(金) 23:57:29.92 ID:???
>>114
-c オプションで好きなphp.ini見に行けるでしょ?
116nobodyさん:2013/06/01(土) 00:04:17.77 ID:???
>>115
shebangで/usr/bin/env使いたいときとか、cronと相性悪い。
117nobodyさん:2013/06/01(土) 00:07:19.59 ID:???
#!/usr/bin/env php
とかできるんだ。知らんかったわ。
118nobodyさん:2013/06/01(土) 00:12:44.55 ID:???
つか、もともとコマンドラインツール出身のperl, python, rubyと、それほどCLIに力を入れてないPHPじゃ
どっちが使いやすいか明白じゃん。
まあpharがもっと流行れば、もう少しはCLIにも脚光が当たるかもだけど。
119nobodyさん:2013/06/01(土) 00:14:15.52 ID:???
>>113
PHP自体はCで書かれてるので自由にカスタマイズすれ
120nobodyさん:2013/06/01(土) 00:18:32.89 ID:???
発想を変えて、独自エラーハンドラ定義して、エディタのtag jump に対応した形式でエラー出力して、
エディタでtag jumpするのはどうかな。
121nobodyさん:2013/06/01(土) 00:27:44.17 ID:???
PHPは元々の名前の由来自体が Personal Home Page Tools だからね。
それに最初は Perl で書かれてたんでしょ? PHP自体
122nobodyさん:2013/06/01(土) 01:39:45.11 ID:???
>>121
>それに最初は Perl で書かれてたんでしょ? PHP自体
初耳だけど。ソースは?
123nobodyさん:2013/06/01(土) 01:47:06.51 ID:???
ソースも何も、超有名な話だと思うがw

ラードフさんが、サイトの作成の際に perl だと余りにも面倒くさかったんで
自分のツールとして perl でライブラリを作ったのが最初だよ
124nobodyさん:2013/06/01(土) 01:55:52.66 ID:???
>>123
だから、そのことが書いてあるWebページplz
125nobodyさん:2013/06/01(土) 03:22:53.18 ID:???
126nobodyさん:2013/06/01(土) 03:28:32.98 ID:???
127nobodyさん:2013/06/01(土) 03:34:45.32 ID:???
>>126
最近のManualのHistoryでは、最初にPerlで記述したことは省かれてるけど(経緯はわからないけど)、少なくとも2006年までは「Perlスクリプトの単純な組み合わせでした」とされてるわけね。
何をムキになってるの?
128nobodyさん:2013/06/01(土) 03:42:12.25 ID:???
>>127
ムキになっているのは君でしょ
129nobodyさん:2013/06/01(土) 04:24:03.89 ID:???
あほ?
>>122 >>124 >>126 >>128
どうみてもおまえがむきになってるだろ(笑)
130nobodyさん:2013/06/01(土) 09:25:46.27 ID:???
>>129
つ鏡
131nobodyさん:2013/06/01(土) 10:59:27.62 ID:???
>>124
昔はいたるところで目にしたような気がしたんだが、たしかに今はあまり見かけないな

今確認できたのは Wikipedia の PHPの項目の歴史のセクションにちょこっと書いてある程度だし、
しかもPHPと名付けられた時点では既に C で書きなおされているとされている。

そもそもが曲解していたのかもしれないし、もはや perl との関係はなかったことにする流れなのかもしれないな。
132nobodyさん:2013/06/01(土) 15:32:17.20 ID:Lm5yShvx
抽象クラスのstaticメソッドの中から子の具象クラスのクラス名を知るにはどうすればいいですか?
133nobodyさん:2013/06/01(土) 15:33:43.56 ID:???
>>121
ださい名前だなぁw
パーソナルて
134nobodyさん:2013/06/01(土) 17:04:54.97 ID:???
>>133
作者個人専用ツールだったんだからパーソナルで間違いない。
135nobodyさん:2013/06/01(土) 18:36:03.21 ID:???
>>133
だったらCだってダサいだろ?
はじめてのC
(笑)
136nobodyさん:2013/06/01(土) 18:38:20.52 ID:???
C language って見た時、Body language を思い浮かべた俺はヘンタイ?
137nobodyさん:2013/06/01(土) 18:45:11.97 ID:???
>>132
意味が分からん。まさか、

class Parent {
static function hoge(){
// ここで Sub についてなにか知りたい
}
}

class Sub extends Parent {
}

ってことか?
138nobodyさん:2013/06/01(土) 22:59:01.16 ID:???
>>132
言いたいことがよくわからんが、できないと思うよ。
具体例をコードで示すのが吉。
139nobodyさん:2013/06/01(土) 23:22:14.26 ID:???
>>132
abstract class AbstractClass
{
 public static function getName() {
  echo static::thisName();
 }
}
class concrete extends AbstractClass
{
 public static function thisName(){
  return __CLASS__;
 }
}
$foo = new concrete();
$foo->getName();
140nobodyさん:2013/06/02(日) 14:29:22.81 ID:ZugnqmP2
POSTで送信されたデータは
基本的にissetで入っているかどうか判定しないと
送信されてない初期の場合にはエラーがでるものなのでしょうか?

勉強に使っているサンプルコードは特にPOSTデータのisset判定はしていません
特定の環境だけエラーができるものなのですか?
141nobodyさん:2013/06/02(日) 14:32:47.73 ID:???
>>140
エラーが出る出ない以前に、issetで判定するべき
142nobodyさん:2013/06/02(日) 14:36:07.32 ID:ZugnqmP2
>>141
ありがとうございます
判定するようにします
143nobodyさん:2013/06/02(日) 15:48:58.82 ID:3Klk3b6H
長い文章を「。」の後ろの位置で切りたいと思いますが
/。/でsplitすると、。が消えてしまいます
「。」を「。|」など、句切り用文字付きに置換してから、
句切り用文字でsplitすると、望みの結果になると思いますが、
これを一度のsplitで行なう方法はありますか?
144nobodyさん:2013/06/02(日) 15:53:09.15 ID:???
splitはそういう関数だからな
pre_match_allとか使えばいいんじゃない
145nobodyさん:2013/06/02(日) 16:17:08.70 ID:???
>>137
質問ならID出せゴミ
146nobodyさん:2013/06/02(日) 20:58:44.71 ID:???
>>143
消えてるって分かってるんだから、切ったそれぞれの後ろで。足せよ
147nobodyさん:2013/06/02(日) 21:00:10.83 ID:???
>>146
頭わりーなw
148nobodyさん:2013/06/02(日) 21:45:31.73 ID:???
まあ、 preg_split('/(?<=。)/' ,$txt)  とかでどうかな。 
149nobodyさん:2013/06/03(月) 10:33:22.53 ID:???
p-touchで使うlbxファイルをPHPで作成する方法は無いでしょうか?

幅固定で任意長のラベル印刷が出来れば良いので、
PDF等ほかの形式でも代替案あればご教授願いたいです。
150nobodyさん:2013/06/03(月) 16:35:32.60 ID:???
>>149
俺はIDを出さずに質問する奴には絶対にレスをしないと硬く心に決めたんだ
151nobodyさん:2013/06/03(月) 16:42:53.24 ID:???
してるじゃんか
152nobodyさん:2013/06/03(月) 18:18:22.32 ID:LfxiG17y
PHPって暮らすとかいらなくね。
やっぱ手続き型だよな。レガシーなプロは。
153nobodyさん:2013/06/03(月) 18:21:04.59 ID:???
大規模になってくるとそうもいかん
どうもスクリプト言語の変数スコープに慣れない
154nobodyさん:2013/06/03(月) 18:51:24.33 ID:???
クラス=オブジェクト指向だと思ってる奴www
155nobodyさん:2013/06/03(月) 19:07:36.25 ID:???
function =オブジェクト思考と思ってますサーセン
156nobodyさん:2013/06/03(月) 19:13:22.20 ID:???
>>154
どしたの突然
157nobodyさん:2013/06/03(月) 19:14:17.76 ID:???
図星かw
158nobodyさん:2013/06/03(月) 19:20:50.36 ID:???
>>154はクラス = オブジェクト指向だと思っていた過去でもあんのかな
159nobodyさん:2013/06/03(月) 19:25:21.85 ID:???
俺はメソッド=オブジェクト指向だとお思ってた
160nobodyさん:2013/06/03(月) 23:49:58.72 ID:R7T1Wl2x
PHPのコードが書かれた任意のファイルを読み込んで、
そのPHPのコードを「実行する」のではなく、
「アウトライン」を取得する機能はありませんか?

少なくとも満たしたいことは、任意のファイルに
どのようなクラスが記述されているのかを知ることです。

繰り返しになりますが、インクルードするのではなく、単にコードを解析するだけです。

具体的には例えば、"sample.php" というファイルに

<?php
class A {}
class B {}
/* class C{} */


などと記述されていた場合、
array('A', 'B')
などと取得できないかということです。

既存のライブラリなどがあればそれを使いたいので、教えて下さい。
なければ自分でパーサを書かなくてはなりません。
161nobodyさん:2013/06/03(月) 23:52:48.18 ID:???
('A',
162nobodyさん:2013/06/03(月) 23:57:43.49 ID:???
>>160
そんなのLLでregex使えばいいじゃん。
PHPとかいらんし。
163nobodyさん:2013/06/04(火) 00:08:53.85 ID:???
>>160
>>162で駄目なら、phpdocumentorの出力結果をパースするとか。
あるいはそのパーサ部分を切り出して使うとか。
164nobodyさん:2013/06/04(火) 00:25:44.58 ID:3OiDWMCa
>>162
あくまでもPHPで使用するユティリティとして考えていますので
どうしてもPHPで実現したいのです。
それに、厳密なパーサがあればそれを使いたかったのです。
一からパーサを書いていたらとてつもなく大変なので。

>>163
ありがとうございます。
phpDocumentor の存在を恥ずかしながら知りませんでした。
私の求めている機能は十分に含まれているようですので、
これを使ってみたいと思います。
165nobodyさん:2013/06/04(火) 02:53:15.94 ID:3OiDWMCa
せっかく教えて頂きましたが、
より相応しい別のライブラリを見つけたので
それを使うことにしました。

phpDocumentor は Java でいうところの javadoc みたいなものですね。
これはこれで面白そうなので機会があれば使ってみます。
166nobodyさん:2013/06/04(火) 02:59:32.85 ID:???
Reflection APIで出来そうな話だな
167nobodyさん:2013/06/04(火) 03:14:23.78 ID:3OiDWMCa
>>166
想定しているファイルに実行可能なコードが記述されている場合、
同一の名前空間で衝突するクラス名、
パースエラーを発生させるコードなどを想定しているので、
Reflection は難しいと判断しましたが、
そのあたりは勉強不足なのでわかりません。
ひょっとしたら問題なかったのでしょうか?
168nobodyさん:2013/06/04(火) 09:01:44.19 ID:???
回答者は想定していませんので
169nobodyさん:2013/06/04(火) 22:35:03.11 ID:EWUXnsSE
僕の童貞はいつ捨てられますか?
170nobodyさん:2013/06/04(火) 22:58:08.92 ID:???
171nobodyさん:2013/06/05(水) 15:10:20.43 ID:???
$res1 = new m9('a')->("プギャァ~");
172nobodyさん:2013/06/05(水) 16:58:46.86 ID:???
>>170
板同じやで
173nobodyさん:2013/06/05(水) 17:50:40.81 ID:???
ほんとうだw
174nobodyさん:2013/06/06(木) 10:33:43.75 ID:???
>>165
別のライブラリとは何か教えろ
175nobodyさん:2013/06/06(木) 23:25:37.41 ID:OEW8nkki
リンクをクリックしたらメールが飛ぶPHPを作ってますが、
これって巡回ロボットがリンクを踏んでもメールが飛ぶのでは?
防ぐにはどうしたらいいですか?
176nobodyさん:2013/06/06(木) 23:27:28.92 ID:???
>>175
あなたは人間ですか? はい  いいえ
ボタンを作る
177nobodyさん:2013/06/06(木) 23:48:00.87 ID:???
マジレスするとロボットはjavascript実行しないからjs経由させる
178175:2013/06/07(金) 00:12:48.29 ID:lPCuSr64
>>177
ありがとう
179nobodyさん:2013/06/07(金) 11:05:55.93 ID:???
>>175-178 これって、ここで質問することか?
180nobodyさん:2013/06/07(金) 11:06:56.32 ID:???
>>179
質問はID出して。
ここは  下らない質問 をするスレです。
181nobodyさん:2013/06/07(金) 13:53:32.79 ID:???
おれも>>175みたいにPHPを作ってみたい
182nobodyさん:2013/06/07(金) 14:21:13.97 ID:D2Zw9Gnr
MySQLでかなり重いクエリを発行すると、
Out of memory (allocated 1835008) (tried to allocate 2928480 bytes)
と出ました
php.iniでmemory_limitをかなり大きくしましたが、
エラーは変わらず、allocatedの数字も変わりません。
echo ini_get("memory_limit");
で確認すると、memory_limitの数値自体は変わっているのにです。
これはどういうことでしょうか?
183nobodyさん:2013/06/07(金) 15:36:06.40 ID:D2Zw9Gnr
わざとout of memory起こして調べてみたところ
memory limitを一定数以上にすると、逆に513Mくらいにされてしまうようです
その一定数は、1500Mあたりのようです(1600M以上にすると減った)
この限界は、変えられないのでしょうか?
使っているPHPは、windowsのCLI版です
184nobodyさん:2013/06/07(金) 15:53:50.36 ID:???
よくわかんないんだけど、
> Out of memory (allocated 1835008) (tried to allocate 2928480 bytes)
このエラーメッセージって、1,835,008バイト(1.8MB)allocate済みで、2,928,480バイトアロケートしようとしたら
エラーになったっていう意味じゃないの?

なんで、1,5GBとかそんなでかい話になってるの?
185nobodyさん:2013/06/07(金) 16:02:25.49 ID:???
問題の原因を探ってmemory_limitの設定を変えているうちにそうなりましたw
そしてやっぱりmysqlにクエリ発行すると、数値は変わらずでしたorz
mysqlに割り当てている何かが少ないのか、あるいはmysql側の問題なのか・・・
186nobodyさん:2013/06/07(金) 17:35:16.63 ID:???
もしすべてfetchしたらGBクラスになるクエリだったので、
それが悪かったようです
テンポラリテーブルに結果を入れるようなクエリにしたら、エラーがなくなりました
fetchする前からPHPが、
よく分からない値でout of memoryになる理由は分かりませんが
イレギュラーなクエリだからイレギュラーなエラーが出たのかも
187nobodyさん:2013/06/07(金) 17:57:25.60 ID:???
重いってデータ量が多いって意味だったのか
188nobodyさん:2013/06/07(金) 19:10:18.42 ID:???
重いデータとは言う
189nobodyさん:2013/06/07(金) 20:08:14.47 ID:rbm1q+gx
PEARのRequest2ってPOSTデータ初期化できないの?教えて
190nobodyさん:2013/06/07(金) 22:20:00.64 ID:???
>>184
なんで一括でアロケートするのが前提になってるの?
PHPにおいて、連続領域を確保することのメリットはそこまで大きくないと思うんだけど
191nobodyさん:2013/06/07(金) 23:59:41.64 ID:E7ICkWcF
てす豚テストtest
192nobodyさん:2013/06/09(日) 11:00:21.98 ID:???
カーソル使うかLIMIT,OFFSETで絞るか
193nobodyさん:2013/06/11(火) 17:22:09.11 ID:qhZ2PQ58
strtrによるテーブルを使った置換をマルチバイトでやる時はどうすればいいですか?
194nobodyさん:2013/06/11(火) 20:38:32.92 ID:???
>テーブルを使った置換
なにこれ?
195nobodyさん:2013/06/11(火) 20:59:52.06 ID:o3YW+0BJ
staticクラスの変数値は、
サイトにアクセスする全ユーザー間で共有されているのでしょうか?
196nobodyさん:2013/06/11(火) 21:15:25.07 ID:???
>>195
staticクラスなんてあったっけ?
197195:2013/06/11(火) 21:23:09.89 ID:o3YW+0BJ
ありますよ。

もうちょっと調べたのですが、
コンパイル言語と違ってインタプリタ言語なので
ソースを毎回読んでる→毎回リセットされるのでユーザー間で共有されない
という認識であってますか?
198nobodyさん:2013/06/11(火) 21:25:07.84 ID:???
>>197
PHPのstaticクラスについてkwsk
もしくはマニュアルの該当ページ
199197:2013/06/11(火) 21:37:42.46 ID:o3YW+0BJ
ごめん、staticクラスじゃなくてstaticプロパティとメソッドでした
200nobodyさん:2013/06/11(火) 21:51:48.69 ID:sCzvZ2sj
PHPを勉強しはじめた初心者です。質問させていただきます。

現在、ログイン機能を有するサイトをPHPとMySQLを使用して作成しています。
仕組みとしては、ログイン時にセッションIDとともにDBにユーザーIDと関連付けて保存するという形式をとっているのですが、
全てのページにおいてログインの状態を判別するために、ログイン判別処理用の関数を全てのページ内に含めています。
しかし、この様に全てのページにログイン判別の関数を含めると、phpの内部コードが非常に長くなり、見づらくなってしまいます。

このようなサイトの場合、include関数やrequire関数を用いて上記のような関数をライブラリ化をするのが一般的なのでしょうか?
それとも、全てのphpファイルにログイン判別用の関数を書くのが一般的なのでしょうか?
ログイン判別用のライブラリをそのまま公開ディレクトリに置いておくのはあまりにも危ないような気がして・・・。
他にもっと効率的な方法などがあれば、是非とも教えていただきたいです。

よろしくお願いいたします。
201nobodyさん:2013/06/11(火) 21:52:25.43 ID:???
アプリケーションスコープならphp7.xから実装予定
202nobodyさん:2013/06/11(火) 22:19:37.12 ID:???
>>200
みんな同じようなことで悩んで、
そういった共通処理を枠組みとして提供するのがフレームワーク
PHPならCakePHP2、Symphony2、ZendFramework2、Yii、FuelPHP、
とか有名どころがたくさんある。
いい機会だと思うので是非どれか試してみて下さい。
203200:2013/06/11(火) 23:03:58.32 ID:sCzvZ2sj
>>202
なるほど、PHPにも色々と便利なフレームワークがあるのですね。
ただ、今回はフレームワークは使用せず、自作の関数を使ってプログラムを組んでいきたいと考えています。
いずれはフレームワークの勉強もして、組み合わせていきたいですけどね。

ご教示いただき、ありがとうございました。
204nobodyさん:2013/06/11(火) 23:28:41.88 ID:???
>>200
一般的にはどちらもせずにフレームワークを使う。
どちらが良いかってことになると普通は一ヶ所にまとめるだろjk
205nobodyさん:2013/06/12(水) 10:23:36.00 ID:???
>>204
横だけど、初心者からすると、そのjkとなる理由が知りたい…
普通はっていう、その根拠となっている理由をおしえてください
206nobodyさん:2013/06/12(水) 10:30:37.81 ID:???
メンドクサイことをしないのは普通でしょう。
207nobodyさん:2013/06/12(水) 11:05:02.21 ID:???
>>205
もしもあなたが作ったプログラムが完璧で全く修正の余地がないのなら、
多少の記憶領域のコストと引き替えにしてでも、すべてのファイルに
同じソースを貼り付けて動作するようにすればいいでしょう。
なぜならファイルI/Oコストと演算コストを最小化できるからです。

しかしあなたが完璧なものを作ることが出来ない場合、
いつの日かプログラムの修正を余儀なくされるでしょう。
そしてあなたは完璧なものを作ることは恐らく出来ません。
それは歴史が証明しています。
きっとあなたが今完璧なものを作ったと信じている素晴らしいソフトウェアも、
第一線で活躍し続ける限り必ず修正を余儀なくされます。

プログラムの修正を迫る圧力は主にセキュリティ上の脅威の問題です。
そして、恐らくもっとも単純な例としてプログラム上のバグがあります。

さて未来のあなたに、今日完成したと信じて疑わないプログラムを修正する日がやってきます。
きっとそのときあなたは今の自分を恨むことでしょう。

「なんでこんなにあちこちに同じコードを張り付けてるんだ!」

と。

このように、同じコードをあちこちに貼り付けて作成したプログラムはかえって高く付くのです。


==================
という翻訳調の記事を一度ぐらい読んだことないか?
これは俺が適当に書いたやつだがw
208nobodyさん:2013/06/12(水) 21:35:16.31 ID:DIs4JrHl
最近のPHPは無名関数や[]表記が出来るようになっていますが、
PHP5.2以下ってもうほとんどのサーバで使われてないんですか?
209nobodyさん:2013/06/12(水) 21:46:45.66 ID:???
いや、そんなことはない。
バージョンアップしてないところは多いと思う。
格安にかぎらずな。
210nobodyさん:2013/06/12(水) 23:57:16.27 ID:???
つかってるサーバーでは、あげたら動かなくなると困るので、
しかたなく現状のままなのですよ。
211205:2013/06/13(木) 00:22:58.95 ID:???
>>207
オライリーの本で見かけたような気がしますw
212nobodyさん:2013/06/13(木) 03:12:40.67 ID:???
>>208
5.2というよりPHP自体が使われなくなってきてる
レン鯖でもPHPをインストールしないポリシーのところが増えてきている
213nobodyさん:2013/06/13(木) 06:00:37.94 ID:YfwFYZMU
mysql_real_escape_stringが非推奨ってどういうことですか!?
5.5で非推奨ってあるのですが、これがないとMySQLで特殊文字がエスケープされなくて安心して眠れないよるが続きそうなんですが
214nobodyさん:2013/06/13(木) 09:36:09.38 ID:???
>>212
まじ!?何を使うの
215nobodyさん:2013/06/13(木) 09:46:15.45 ID:???
>>212
それは信じられない。
例えば?
216nobodyさん:2013/06/13(木) 09:52:19.35 ID:???
オールインワンのPHPは最高なのに・・
Rubyとか言うほど綺麗でもないし、PHPでオブジェクティブに実装した方がマシ
217nobodyさん:2013/06/13(木) 10:37:06.38 ID:???
>>213
mysqli使えって書いてんだろちゃんと読め
218nobodyさん:2013/06/13(木) 11:27:50.70 ID:???
レン鯖()笑
219nobodyさん:2013/06/13(木) 11:59:31.97 ID:d6F8arzZ
一昨日から PHP の学習を始めました
ものすごく下らない質問ですが、PHPを使ったWEBサイトを作るとき
そのサイトの全ての拡張子をPHP化しておいた方がよいでしょうか?
現在は一部だけしかプログラムが必要なページはありません。
html と PHPの拡張子が混在したサイトで構わないのでしょうか。
220nobodyさん:2013/06/13(木) 12:01:11.77 ID:???
構わない。むしろ推奨。
221nobodyさん:2013/06/13(木) 12:03:55.80 ID:d6F8arzZ
>>220
素早い回答ありがとうございます。
くだらないことだと思うのですがものすごく悩んでたので大感謝です!
また、くだらない質問するかもしれませんがよろしくお願いします。
222nobodyさん:2013/06/13(木) 15:21:20.98 ID:3J7ktNc/
嘘を嘘と見抜けない間抜けが掲示板を有効に使うのは難しいて昔唇お化けが言ってたよな
223nobodyさん:2013/06/13(木) 17:10:01.51 ID:???
見抜いた!>>222が嘘ですね
224nobodyさん:2013/06/13(木) 17:47:46.82 ID:FfDvZGBp
クロージャの中から外のスコープを見るにはどうすればいいですか?
225nobodyさん:2013/06/13(木) 18:15:42.06 ID:???
use
226nobodyさん:2013/06/13(木) 18:23:54.50 ID:???
use 普通に書くと、定義時の値だから、参照を渡して擬似的に見るようにするしかないかな。
227nobodyさん:2013/06/13(木) 18:29:08.38 ID:???
ですね。
228nobodyさん:2013/06/14(金) 03:38:51.82 ID:QtFKp6t4
foreach内で内部カウンターの値を参照する方法はありますか?
229nobodyさん:2013/06/14(金) 03:58:37.06 ID:???
単純な配列ならインデックスが使えるけれど、そうじゃないなら無いです。
自分で数えてください
230nobodyさん:2013/06/14(金) 13:18:20.63 ID:???
ありがとうございました
231nobodyさん:2013/06/14(金) 13:58:52.56 ID:???
phpファイルにて
$email = htmlspecialchrs($_REQEST{'my_name'] , ENT_QUOTES) ;
を先にやっておくと、あとからhtmlspecialchrsを何回も書かないでいいみたいですが

同じページの

inputの value="<?php print htmlspecialchars($email, ENT_QUOTES); ?>" />
これもhtmlspecialcharsは書かなくてもいいんでしょうか?
232nobodyさん:2013/06/14(金) 14:03:24.84 ID:???
idが出てません
233nobodyさん:2013/06/14(金) 14:16:30.92 ID:???
省略しました。
234nobodyさん:2013/06/14(金) 15:01:15.42 ID:???
>>231
$emailをprintして従前と変わっているかどうか見て理解して欲しい。
235nobodyさん:2013/06/14(金) 16:12:58.76 ID:???
ruby流行らそうと必死なksどもがPHPネガやってんのが痛すぎる
236nobodyさん:2013/06/14(金) 17:23:18.92 ID:/kSo8dQA
イテレータってどんなときに使うんですか?
ざっくりした質問ですみません
237nobodyさん:2013/06/14(金) 17:31:23.05 ID:???
>>236
イテレータは、簡単に繰り返し処理を行えるようにするもの。
自分でコンテナを実装したときに、Iteratorインタフェースを実装すればforeach()とかが使えるようになる。

例えば、Queueクラスを実装したとき、Iteratorインタフェースを実装しなければforeach()などが使えない。
238nobodyさん:2013/06/14(金) 18:00:07.35 ID:???
繰り返しといっても、配列とか要素を順に辿っていくような処理な。
239nobodyさん:2013/06/14(金) 21:35:30.79 ID:D2IxfBS6
phpのfor文の中でjavascriptの関数を実行するにはどうしたら良いでしょうか?

イメージとしてはこんな感じです↓

for($j=0; $j<$num; $j++){
$a = $b[$j];

print <<< END_DOC
<script type="text/javascript">
var $c = <?php echo $a ?>;
kansu($c);
</script>

END_DOC;
}

↑上記で試しましたがうまくいきませんでした。
240nobodyさん:2013/06/14(金) 21:36:56.54 ID:???
>>239
JavaScriptとPHPごっちゃになってるぞw
241nobodyさん:2013/06/14(金) 21:41:17.01 ID:???
マジ意味わかんねえ何がしたいんだよエラー出るに決まってんだろうが!!!!!!!!!!!!!!!!!!!!!!!!!!!ふざけんなよ!!!!!!!!!!!!!!!!
242nobodyさん:2013/06/14(金) 22:36:00.08 ID:???
>>239
var c = <?php echo $a ?>;
kansu(c);

こうじゃだめ?
243nobodyさん:2013/06/14(金) 22:49:59.04 ID:???
こうじゃね?
var c = $a;
244nobodyさん:2013/06/14(金) 23:00:13.87 ID:???
ああ、たしかに。スマヌ
245nobodyさん:2013/06/14(金) 23:30:21.61 ID:???
むしろこうじゃね?
kansu($a);
246nobodyさん:2013/06/14(金) 23:31:11.80 ID:???
それは省略しただけかもしれないし
247nobodyさん:2013/06/14(金) 23:31:33.06 ID:???
確かにw
248nobodyさん:2013/06/14(金) 23:31:55.56 ID:???
そうでないかもしれないし
249nobodyさん:2013/06/14(金) 23:43:11.60 ID:???
PHPスレが和みムードとか天変地異か
250nobodyさん:2013/06/15(土) 11:23:04.75 ID:J8J1CSeU
ini_setの影響範囲ってどこまでなのでしょうか?

1. その実行のみ
 →同時アクセスしている利用者は影響を受けない。
2. PHPサーバー全体
 →他ユーザーは影響を受ける。

教えてください。
251nobodyさん:2013/06/15(土) 13:37:02.62 ID:???
>>250
1
252250:2013/06/15(土) 18:43:48.47 ID:J8J1CSeU
【OS名】Wndows Server 2012
【PHPのバージョン】5.4.16

です。
253250:2013/06/15(土) 18:48:43.44 ID:J8J1CSeU
なお、いろいろ調べると
「php.iniを書き換えるのと同じ」
という意見が目立ちます。
同時にアクセスしている他ユーザーの影響を受けるということです。

そうした場合、例えば次のような問題が発生します。
致命的な問題のような気がします。

・日付関数を使用するためPHPファイルの頭でini_setでタイムゾーンを指定。
 しかしいざ日付関数を使用する前に、他のユーザーの別アクセスで
 タイムゾーンを書き換えられてしまう。

・Webアプリケーションごとに情報をini_setで設定したいが
 全Webアプリケーションで共有されているため、個別設定できない。
254nobodyさん:2013/06/15(土) 18:59:20.04 ID:KOqiYb3a
>>253
どこを調べたのか教えてください。
255250:2013/06/15(土) 19:28:31.38 ID:J8J1CSeU
http://books.google.co.jp/books?id=ApnEgHlgb4wC&pg=PA357#v=onepage&q&f=false

ini_setで設定した値は loca value 扱いになるということがわかりました。
まだきちんと書かれた文章は探せてませんが、
local valueという名前から、スコープは1処理内と思います。

ですが、「ページの処理終了後に元の状態に戻されます」という記述がややこしいです。
元に戻す必要があるということは、
元に戻さなかったら他のユーザーに影響を与え続けるという風にも読み取れてしまいます。
256nobodyさん:2013/06/15(土) 19:31:39.27 ID:???
>>255
元に戻す必要があるってどこに書いてあるの?
257250:2013/06/15(土) 19:35:17.23 ID:J8J1CSeU
なぜini_setの値は処理終了後に元に戻されるのか
 ↓
1. 次に自分(同一セッション)がアクセスしたときに影響を与えないため
2. 次に他人がアクセスしたときに影響を与えないため

1.の意味ならいいのですが、2.の意味だと
ini_setの値がサーバー全体で共有されていると取れる文脈なのです。
258250:2013/06/15(土) 19:35:52.98 ID:J8J1CSeU
http://www.1x1.jp/blog/2011/05/basic_of_php_phpinfo.html

> 「Local Value」と「Master Value」の2種類が表示されます。
> これらの違いはマニュアルで明記されているわけではないのですが、
> 「Master Value」がphp.iniやhttpd.conf(PHP-FPMなら/etc/php-fpm.d/www.conf)の設定値、
> 「Local Value」が.htaccessやini_set()で設定した設定値となっているようです。p

なぜ明記されていない・・・。
>>253のように超重要な問題だと思うのですが。
259nobodyさん:2013/06/15(土) 19:37:19.03 ID:???
php.iniが書き換わるわけねーだろバカかお前
260259:2013/06/15(土) 19:40:20.53 ID:J8J1CSeU
>>259
ではlocal valueのスコープについてきちんと書かれた文章を
提示していただけませんか?
261nobodyさん:2013/06/15(土) 19:40:37.24 ID:???
話聞けよ。勝手にしろボケ。
262250:2013/06/15(土) 19:46:19.09 ID:J8J1CSeU
名前欄間違えました。

>>261
あなたは(ini_setなどで)php.iniは書き換わらないとは言っていますが、
ini_setの値が他アクセスに影響を与えないことを提示していません。
罵声を浴びせるならしっかりと提示してください。
263nobodyさん:2013/06/15(土) 19:52:32.86 ID:???
そんなに心配ならPHPのソース読めアホが
264nobodyさん:2013/06/15(土) 20:27:53.94 ID:???
つーかそんなに人の言うこと信じられないなら試せば?
265nobodyさん:2013/06/15(土) 23:15:50.49 ID:???
ものすごい基地外が湧いててワロタw
久しぶりに微笑ましいねw
266nobodyさん:2013/06/16(日) 01:30:12.04 ID:h8ga9m06
さすがphp板だな初期化の意味もわからない馬鹿しかいない
267nobodyさん:2013/06/16(日) 01:32:43.43 ID:???
PHP板じゃないけど
268nobodyさん:2013/06/16(日) 04:08:43.22 ID:???
マルチバイト対応のstrtrがないのはなぜでしょうか?
代替の関数は何ですか?
269nobodyさん:2013/06/16(日) 04:09:14.02 ID:uMOZ/qgp
id出し忘れました
270268:2013/06/16(日) 15:56:04.94 ID:???
ID出し忘れてましたが自己解決しました
回答は締め切ります

>>269は誰でしょうか?
たぶん偽物だと思います
271nobodyさん:2013/06/16(日) 16:12:37.27 ID:???
>>268にレス書いたけど書き込み前にリロードしたら・・・
自己解決したのかよw
まぁその調子で頑張れ。
272nobodyさん:2013/06/16(日) 16:42:14.77 ID:???
いやいや、たぶんなりすましだろw
id出したら質問しなおした方がいいよw
273nobodyさん:2013/06/16(日) 19:14:20.11 ID:???
>>262
俺259じゃなくて256なんだけど。
元に戻す必要があるってどこに書いてあるの?
274nobodyさん:2013/06/16(日) 21:37:16.46 ID:???
書き込み前のメール欄のチェックすらできないヴァカにはどのみち回答しなくていいと思う
275nobodyさん:2013/06/16(日) 23:31:03.57 ID:uMOZ/qgp
270はなりすましです
ではあらためて、
マルチバイト対応のstrtrがないのはなぜでしょうか?
代替の関数は何ですか?
276nobodyさん:2013/06/16(日) 23:35:58.05 ID:???
277nobodyさん:2013/06/17(月) 00:04:01.17 ID:???
sjisがクソすぎたってことで。
278nobodyさん:2013/06/17(月) 00:17:46.82 ID:???
>>275
どうせお前が成り済ましだろ
消えろ
279nobodyさん:2013/06/17(月) 12:22:24.11 ID:???
初心者が意固地になるな。素直にベテランの意見を聞いておけ。
280nobodyさん:2013/06/17(月) 14:06:00.62 ID:riij1snC
整数-1のビット列表現の求め方わかりますか?
ビットシフトや内蔵関数ではダメでした。


echo (-1>>2)."\n";
echo base_convert(-1, 10, 2)."\n";
281nobodyさん:2013/06/17(月) 14:19:43.54 ID:???
decbin でどうかね
282nobodyさん:2013/06/17(月) 14:34:50.18 ID:riij1snC
>>281
それでできました。
書き込み後に自作で考えたのでもできました。


echo decbin(-3)."\n";
echo bithenkan(-3)."\n";



function bithenkan($int) {
$bits = array();
$bin = pack("L*", $int);
for($i=0; $i<strlen($bin); $i++) {
$ch=ord($bin[$i]);
for($j=0; $j<8; $j++) $bits []= 1&($ch>>$j);
}
$bits=implode("", array_reverse($bits));
return $bits; }
283nobodyさん:2013/06/17(月) 17:36:43.29 ID:???
decbinでいいじゃんw
284nobodyさん:2013/06/17(月) 18:08:02.63 ID:???
自分で出すにしても、そんな遠回りせんでも
$r="";
for($i=PHP_INT_SIZE*8-1;$i>=0;$i--)
$r.=($int&(1<<$i))?1:0;

頭の0はltrimで0とかな。
285nobodyさん:2013/06/19(水) 05:35:51.96 ID:kagqgSvq
【OS名】windows xp
【PHPのバージョン】5.4.16
【連携ソフトウェア】
【質問内容】
windows環境の一部のファイル関数のマルチバイトパス問題って今も対応策ないんですか?
5.4.16のnts版で試してみましたがダメでした。

> Windows + php 5.3.x で "表.txt" を読み書きする方法がありましたら教えてください
> http://q.hatena.ne.jp/1256179337

以下のURLにutf-16という選択肢がありましたが、

> [PHP-users 30742] Windows + PHP で UTF-8 を扱う
> http://php-japan.10936.n7.nabble.com/PHP-users-30742-Windows-PHP-UTF-8-td4886.html

こちらもうまくいきませんでした。
286nobodyさん:2013/06/19(水) 06:12:18.94 ID:N5MOdRcf
・問題の起きる関数を使わない
・短い名前でアクセスしてみる
・当該ディレクトリのファイル一覧を取得してそこから名前を抽出してみる
287nobodyさん:2013/06/19(水) 09:27:43.62 ID:???
馬鹿には無理
288nobodyさん:2013/06/19(水) 10:48:11.58 ID:???
ファイル名の内部の扱いがsjisなので(windwosのシステムコールでsjisでやり取りする方を使ってる)
ソレが変わらないと根本はどうにも。
5Cの処理が、 5.3からなんかおかしくなってるし。
http://notebook99.blog87.fc2.com/blog-entry-71.html
\突っ込むとかへんな手段でファイルにアクセスする技はあるけど、フォルダ名にはきかねーし。
289nobodyさん:2013/06/19(水) 11:30:18.88 ID:???
どの時点で抜けるのかわかれば対応策は出るよ
具体的にどんなコードでおかしくなってんの?
290nobodyさん:2013/06/19(水) 16:15:33.07 ID:???
>>285
Rubyならそんなつまらない所で詰まって時間を無駄にしたりしなくて済むよ
Rubyならね
291nobodyさん:2013/06/19(水) 18:53:37.97 ID:???
ファイル名の文字コード問題まだ治ってねーのかよw
だせーw
292nobodyさん:2013/06/19(水) 22:51:04.89 ID:???
確かに何やってんだw
293nobodyさん:2013/06/20(木) 00:58:05.14 ID:???
この間Rubyもちょっと触ってみたら思いの外使いやすかった。
開発効率重視を謳ってるだけあってサクサク作れる。
PHPは使いなれてたから迷ってたんだけど、やっぱりRubyに移行するわ。
PHPは文字コードもだけどセキュリティ関係のバグがやばいし。
294nobodyさん:2013/06/20(木) 01:23:18.85 ID:5SN5hbm+
なんでphpみたいな糞スクリプトが流行っちゃったんだろ
295nobodyさん:2013/06/20(木) 03:14:23.73 ID:???
そんなことも分からないの?と煽ってみようか。
てか、ちょっと考えれば予想できるだろ
296nobodyさん:2013/06/20(木) 06:16:14.34 ID:???
>>294
PHPが糞だと気付かないゆとりの糞共が増えたからだよ
そしてその糞共が作ったPHP製の糞システムを保守するためにPHP使える糞を雇うようになり、
何の能力もない糞共がPHP使なら求人が多いと勘違いしてPHPを優先的に身に付けるようになった
297nobodyさん:2013/06/20(木) 07:35:29.51 ID:???
>>296
具体的にどの辺が糞なの?
298nobodyさん:2013/06/20(木) 10:17:56.01 ID:???
そこまで嫉妬せんでもええやん
299nobodyさん:2013/06/20(木) 10:18:22.87 ID:???
Windows環境 5.2系の時には "申請書.txt" ってファイルfopen()出来るのに
5.3系からは文字コード問題でfopen()出来なくなってるのが糞
300nobodyさん:2013/06/20(木) 14:15:11.64 ID:???
>>297
お前みたいにID出して質問しろって書いてあるのにそれすらできないような間抜けしかユーザーがいない辺り。
自分のロールもわきまえられないいつまでも回答者気取りのごみ。

こういう池沼は頭の切り替えもできないから職場では常にお荷物。
存在自体が迷惑、まさにごみ。
301nobodyさん:2013/06/20(木) 14:28:30.72 ID:???
>>300
恒例の発狂
302nobodyさん:2013/06/20(木) 15:06:21.48 ID:???
&#160;馬鹿には無理
303nobodyさん:2013/06/20(木) 15:22:49.26 ID:EGiH7/qm
>>293の言うセキュリティ関係のバグってなんだろ。
今も開きっぱなしの問題あったっけか。
304nobodyさん:2013/06/20(木) 15:23:52.00 ID:???
>>300
PHPユーザでもないのに、なんでこのスレに粘着してるんだ?
305nobodyさん:2013/06/20(木) 15:58:25.38 ID:???
PHPユーザーの民度は低い
306nobodyさん:2013/06/20(木) 17:49:13.66 ID:???
民度が低い奴程、人数多いってのが地球の仕組み。
307nobodyさん:2013/06/20(木) 20:31:15.24 ID:???
>>300
答えられないんだw
308nobodyさん:2013/06/20(木) 21:07:06.41 ID:25lIXLd4
DBにname「猫」「犬」「鯨」「鮪」「猿」が入っています。
さらにtypeが「陸」「陸」「海」「海」「陸」に分かれているとします。

typeが陸の場合はそのまま表示。
typeが海の場合は<textarea>〜</textarea>の中に入れて、上から順番に表示したい場合どうしたら良いでしょうか?

※ここから下は読み飛ばしても結構ですが一応。
自分で考えてみたのですが下記の例だと上から順番に表示することができなくて困っています。

$body = "<textarea>";
if($type == "海"){
$body .= $name;
}elseif($type == "陸"){
$body2 .= $name;
}
$body .= "</textarea>";
echo $body .$body2;

よろしくお願いします。
309nobodyさん:2013/06/20(木) 21:09:23.11 ID:???
>>308
上から順番にってどういうこと?
ループさせたいならfor文やwhile文を使え
310nobodyさん:2013/06/20(木) 21:46:57.73 ID:25lIXLd4
>>309
言葉足らず&順番間違いですみません。
「猫」「犬」「鯨」「猿」「鮪」の順番のデータがあります。これを下記の順番で表示させたいのです。

1行目:「猫」
2行目:「犬」
3行目:<textarea>「鯨」「鮪」</textarea>
4行目:「猿」
311nobodyさん:2013/06/20(木) 22:24:27.62 ID:/R4UcmEs
頭悪い奴が手間かけずにやろうとするからできないのよ
312nobodyさん:2013/06/20(木) 22:29:22.14 ID:???
forで海が出たらbreak
テキストエリアに海を全部入れて
さっきの続きから陸をfor
313nobodyさん:2013/06/20(木) 22:40:16.67 ID:???
>>310
条件分岐とループで実現できるけど
そもそもその元のデータ構造か、実現したい出力がおかしいんじゃない?
314nobodyさん:2013/06/20(木) 23:00:47.76 ID:???
それより>>310の頭がおかしい
馬鹿とか以前におかしい
315nobodyさん:2013/06/20(木) 23:16:27.61 ID:???
rss読み込み時にエラーを起こして後続処理がとまってしまうんですが回避する方法はありませんか?
316nobodyさん:2013/06/20(木) 23:40:44.29 ID:???
ありますよ。
317nobodyさん:2013/06/20(木) 23:44:20.80 ID:???
>>316
ありますよ、だけじゃ分かりません。
もっと具体的に例を上げて、できればコードも書いて下さい。
お願いします。
318nobodyさん:2013/06/20(木) 23:44:30.13 ID:???
ため息が出るような質問ばっかりだw
質問者が何歳なのかも知りたいわw
319nobodyさん:2013/06/20(木) 23:45:15.50 ID:???
>>317
おまw
320nobodyさん:2013/06/20(木) 23:47:02.36 ID:???
>>317
ワロたwww
321nobodyさん:2013/06/20(木) 23:48:10.47 ID:???
>>317
お前は有望だ!
2代目社長になって会社を潰す素質があるぞ。
322nobodyさん:2013/06/21(金) 00:15:35.61 ID:???
>>317
これはひどい
323nobodyさん:2013/06/21(金) 00:38:41.81 ID:???
>>312
それ2行目で破綻してます。

>>313
条件分岐とループで実現できることはわかります。
データ構造や出力はおかしくありません。

案外難問ですよねこれ。
324nobodyさん:2013/06/21(金) 00:41:39.47 ID:7FGGma6R
>>310です
ID出し忘れてました

ついでに>>317
exceptions
325nobodyさん:2013/06/21(金) 00:41:52.87 ID:???
>>323
成り済ましは消えてください
326nobodyさん:2013/06/21(金) 00:42:05.30 ID:???
>>323
お前は馬鹿だからもう出てくるな
327nobodyさん:2013/06/21(金) 00:53:33.03 ID:???
>>324
310とID違うじゃん
328nobodyさん:2013/06/21(金) 00:54:32.26 ID:???
>>327
日付日付
329nobodyさん:2013/06/21(金) 00:56:56.58 ID:???
>>328
うん、そんなことわかってるけど、だから?
330nobodyさん:2013/06/21(金) 02:36:19.67 ID:???
>>328
だから何?
IDってただ出してればいいの?
飾り?
だったら書き込むたびにID変えてもいいよね?
331nobodyさん:2013/06/21(金) 03:20:05.31 ID:???
>>329
日付変わってることに気づかなかったんだろ?
恥ずかしいのはわかるが恥の上塗りだから黙って消えろ

>>330
じゃあどうしろと?
>>324>>310ですっていってんじゃん
もしなりすましなら本人が否定して質問しなおせばいい
332nobodyさん:2013/06/21(金) 03:29:08.40 ID:???
どうでもいい話を続けるな。
質問するときは >>1 を読んでね。
333nobodyさん:2013/06/21(金) 03:29:16.44 ID:QpXaJ0lM
>>324
自分でいろいろやりもしないようなゴミに存在価値なんてないから
時間の無駄だしもうやめたほうがいいぜ
334nobodyさん:2013/06/21(金) 03:55:37.48 ID:L+aksv7h
存在価値ないゴミにアドバイスとは
優しい奴だな
335310:2013/06/21(金) 04:22:41.17 ID:???
自己解決しました
>>324は成り済ましです
336nobodyさん:2013/06/21(金) 05:48:17.18 ID:y8IaW3G3
>>299
ハードリンクつかっとけ。
別名でアスキー文字名にもできる。
337nobodyさん:2013/06/21(金) 06:02:57.46 ID:QpXaJ0lM
>>334 こんなゴミでも除染とか他の領域で歯車の一部になるくらいはできるだろうからなw
338nobodyさん:2013/06/21(金) 06:47:57.59 ID:???
同じゴミに同情してんのかと思ったぜ
339310:2013/06/21(金) 08:20:53.59 ID:+TFCXvd8
私が310です。
342は偽物です。
340nobodyさん:2013/06/21(金) 08:41:42.67 ID:7xiiLaqw
IDは本人であることの目安です
まあ流れでわかりますよね
一応自己解決しましたので次の質問どうぞ〜
341nobodyさん:2013/06/21(金) 13:03:15.06 ID:???
>>330-331
日付変わってるんだからID出しても同一性確認にならないってことだろ、頭わりーなー
342nobodyさん:2013/06/21(金) 14:49:51.55 ID:NYqLTWT7
初めてチンポをしゃぶる女の気持ちを知りたいです
343nobodyさん:2013/06/21(金) 15:05:52.40 ID:???
内包する問題があまりにも大きい。
単独スレを立てていいレベル。
344nobodyさん:2013/06/21(金) 16:06:49.30 ID:???
まぁ、日付をまたぐ可能性があって、なりすましを防ごうとする場合には
酉つけるのが2chでは当たり前のように行われる行為。

>>341
なんで>>330にも安価つけたんだろ。
345nobodyさん:2013/06/21(金) 17:28:52.34 ID:???
>>344
そうすると、翌日まで話題が続くかどうかなんて誰にもわからないんだから、原則質問者は
トリップ付けろということになってしまう。

そうしたいの?
346nobodyさん:2013/06/21(金) 18:10:23.80 ID:???
>>310
$data = [['name'=>'猫','type'=>'陸'],['name'=>'犬','type'=>'陸'],
['name'=>'鯨','type'=>'海'],['name'=>'鮪','type'=>'海'],
['name'=>'猿','type'=>'陸']];
$f=function(&$tmp){if($tmp!=""){echo "<textarea>{$tmp}</textarea>\n";$tmp='';}};
$tmp ='';
foreach($data as $r)
if ($r['type'] =='陸'){$f($tmp);echo $r['name']."\n";}
else if ($r['type'] == '海') $tmp.=$r['name'];
$f($tmp);
347nobodyさん:2013/06/21(金) 20:46:40.55 ID:???
>>310

echo <<<'DATA'
1行目:「猫」
2行目:「犬」
3行目:<textarea>「鯨」「鮪」</textarea>
4行目:「猿」
'DATA';
348nobodyさん:2013/06/21(金) 22:05:22.42 ID:???
>>345
お前は何を言ってるんだ
349nobodyさん:2013/06/21(金) 22:08:49.58 ID:???
>>346
いやいやいや
350nobodyさん:2013/06/21(金) 23:35:52.10 ID:???
>>345
半年ROMってろって言葉が良くお似合いです
351nobodyさん:2013/06/22(土) 00:55:19.72 ID:???
どんだけ悔しかったんだよw
352nobodyさん:2013/06/22(土) 01:47:39.26 ID:???
>>341
スレの流れ読めば同一性確認にならないのわかったうえで言ってるの
わかるだろ、頭わりーなー
353nobodyさん:2013/06/22(土) 05:37:16.66 ID:???
>>352
どんだけ悔しかったんだよw
354nobodyさん:2013/06/22(土) 19:46:57.86 ID:???
>>345
何なの?トリップもつけられないの?
355nobodyさん:2013/06/22(土) 20:04:38.97 ID:???
>>354
お前もだ、糞馬鹿
356nobodyさん:2013/06/23(日) 00:39:51.41 ID:???
 発 者 同         . 。_   ____           争
 生 同 .じ     .    /´ |  (ゝ___)          い
 .し 士 .レ      .__/'r-┴<ゝi,,ノ   ro、      は、
 .な で .ベ      ∠ゝ (ゝ.//`   ./`|  }⌒j     
 .い し .ル        } ⌒ /`ヽ、_∠l,ノ ・ヽ´
 .! ! か の       /  ´..:.} >、、___,  .r、 ソ、`\
             /   ..:.:.}   /   |∨ ` ̄
            /   ..:.:./    |   丶
           / _、 ..:.:.:.{    .{.:.:.   \
          {   ..:Y  .ゝ、   {.:.:.:.:.    ヽ
          |、  ..:/ 丿 .:〉   >.- ⌒  .  ヽ
          / {. ..:./ ソ ..:./  .(    ..:.:.:`  ..:}
         ./..:.:}.:.:./ ヘ、 ..:./   .\ ..:.:r_,ノ、.:.:}
        ./..:.:/|.:/   {.:./     X.:.:}.}   X X
        /..:.:/ .}.:|    }:/       .Y丶ヽ  Y.:Y
  . __/.:/ { }  《.〈、     _,,__>.:》丶   Y.:\
  /.:.:.:.:.::/   !.:.:ゝ  ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ   \.: ̄>
357nobodyさん:2013/06/23(日) 06:45:12.61 ID:479YFnsB
sqlite3に書き込むバッチを走らせていたら、disk i/o errorが出ました
ディスク容量に問題はないです
disk i/o error sqlite3で検索すると結構ヒットします
sqliteって不安定なんですか?
358nobodyさん:2013/06/23(日) 06:58:19.14 ID:479YFnsB
もう一度実行してみたらエラーなく動いています
タイミングでdisk i/o errorなんて出てもらったら困るんですけど・・
sqliteがいまいち使われてないのは不安定だからですかね〜
359nobodyさん:2013/06/23(日) 07:02:53.82 ID:479YFnsB
と思ったらまた出た
まじファック
360nobodyさん:2013/06/23(日) 07:22:23.99 ID:ViWG6XTQ
チラシの裏か自分の日記でどうぞ
361nobodyさん:2013/06/23(日) 07:30:45.04 ID:???
これはひどい
362nobodyさん:2013/06/23(日) 09:07:01.44 ID:479YFnsB
普通のファイル使うように書き換えたら当たり前ですが超安定しました
sqliteは糞以下ですね
363nobodyさん:2013/06/23(日) 10:09:58.79 ID:???
これはひどい。
364nobodyさん:2013/06/23(日) 14:48:25.81 ID:???
>>362
糞以下でもお前の頭よりはマシだからいいんじゃね
365nobodyさん:2013/06/23(日) 16:30:11.90 ID:???
これはひどい
366nobodyさん:2013/06/24(月) 07:46:10.46 ID:???
ビジグソ以下のsqliteって誰が使ってるんですか?
367nobodyさん:2013/06/24(月) 07:47:13.86 ID:???
これはひどい
368nobodyさん:2013/06/24(月) 07:50:22.42 ID:???
ちょっとさぁ。。。
369nobodyさん:2013/06/24(月) 07:53:44.87 ID:???
無条件に自分との方向性が違うだけでクソって言うのもどうかと
SQLiteはそもそも更新が激しくなく、個人とか数人で使うようなお手軽DBだから
不安定だからとかそれ以前の問題

セグウェイで道路に出て『このセグウェイ車より遅いな』って言ってるようなモン
370nobodyさん:2013/06/24(月) 08:08:03.56 ID:???
   (・ω・)
 〜 (_゚T゚
   ◎ニ)
371nobodyさん:2013/06/24(月) 08:57:03.64 ID:???
1秒ごとにアクセスするだけの低負荷な作業でしたよ
はじめて使ったのでコードがまずかったのかもしれませんが、
問題があるならそれに相当するエラーを出せばいいんです
disk i/o errorはないわ
372nobodyさん:2013/06/24(月) 09:18:05.72 ID:???
>>371
ソースうpして
373nobodyさん:2013/06/24(月) 11:48:35.21 ID:???
排他できてなくてキーがかぶったんだろ
書きこんだ場所による
374nobodyさん:2013/06/24(月) 11:49:32.65 ID:???
mysqlでいいじゃん
なんでsqliteなんて使うん
375nobodyさん:2013/06/24(月) 17:37:56.91 ID:8ZPiYdIA
UrlEncodeについてなんですが
仕様によれば ?A=B&C=D...という部分は

>英字 数字 "-" "_" "." はそのまま.
>空白は,"+" に変換.
>それ以外は %DE(DEは該当する文字の文字コードの16進数表現)

という形になるらしいのですが
FireFoxで実際に送ってみると*もそのまま送られているようです
これはどういうことなんでしょうか
376nobodyさん:2013/06/24(月) 18:03:50.13 ID:???
>>375
> という形になるらしいのですが

「らしい」ってだけでしょ。
377nobodyさん:2013/06/24(月) 18:22:41.23 ID:8ZPiYdIA
>>376
http://suika.fam.cx/~wakaba/wiki/sw/n/application+x-www-form-urlencoded

そうみたいですね・・・ここを調べたら未定義のようでした
ありがとうございました
378nobodyさん:2013/06/24(月) 19:57:25.11 ID:???
名字に口が付く姓で口をぐちと読むのは
実は井口と野口、山口、この三つしかない
まめちしきな。
379nobodyさん:2013/06/24(月) 19:58:08.98 ID:???
そら知らんかった。
今度の話のネタに使おうっと。
380nobodyさん:2013/06/24(月) 19:58:45.93 ID:???
せきぐちひろし
381nobodyさん:2013/06/24(月) 20:05:46.17 ID:+elTENNW
'
【経済】 「日韓通貨スワップ協定30億ドル打ち切り」…財務省★2
http://uni.2ch.net/test/read.cgi/newsplus/1372063177/

315:カミカゼ :2013/06/24(月) 17:52:07.90 ID:hkwl1JkV0
ひゃっはあああああああああああああああああああああああwwwww
コングラッチュレーションwwwwwwwwwwwww
おまいらの勝利だwwwwwwww
今回の自民への働きかけに協力してくれた人、ありがとう
これで奴らは終わった

明日の南チョンの市場が楽しみだぜwwwwwwwwwwwww
おまいら明日朝にウォン空売りすんなよ?wwwww絶対だぞwwww
夜にまた来るwwww新たな暴露と今後の戦略を用意してなwwwww
一旦失礼するぜwwwwじゃあのwwww
382nobodyさん:2013/06/24(月) 20:23:10.26 ID:???
蝦蟇口は?はい論破
383nobodyさん:2013/06/24(月) 20:27:22.98 ID:???
http://story.nweb.jp/page.php?no=383

9 名前:以下、名無しにかわりましてVIPがお送りします
名字に口が付く姓で口をぐちと読むのは実は井口と野口、山口、この三つしかない
まめちしきな

10 名前:以下、名無しにかわりましてVIPがお送りします
浜口

11 名前:以下、名無しにかわりましてVIPがお送りします
>>10
お前天才じゃね?

17 名前:以下、名無しにかわりましてVIPがお送りします
矢口もだな

18 名前:以下、名無しにかわりましてVIPがお送りします
田口

19 名前:以下、名無しにかわりましてVIPがお送りします
>>17-18
お前ら天才じゃね?

20 名前:以下、名無しにかわりましてVIPがお送りします
>>9はどんなコピペなの?

23 名前:以下、名無しにかわりましてVIPがお送りします
>>20
絶対にレスがもらえるコピペ
上の奴らみたいな馬鹿が釣れる
384nobodyさん:2013/06/24(月) 22:56:03.61 ID:???
>>378
溝口、樋口、矢口、川口
385nobodyさん:2013/06/24(月) 23:01:10.53 ID:JNtkAyhl
文字列を配列の変数として評価する方法はありますか?
$aaa = "array['a']['b']" で$aaaでアクセスする、みたいな
${$aaa}だと添字は別じゃないとダメなようですし
386nobodyさん:2013/06/24(月) 23:42:06.99 ID:???
>>385
eval
387nobodyさん:2013/06/25(火) 00:26:00.10 ID:/K6jhL9w
>>386
eval以外は無いんですかね?
foreachで何度もループさせるのをシンプルに書けないかなと思ったのですが
まあ無いなら別にいいです
388nobodyさん:2013/06/25(火) 00:42:15.99 ID:???
なにそれ
389nobodyさん:2013/06/25(火) 00:46:31.83 ID:???
$aaa = array['a']['b'] じゃ だめなのか?
390nobodyさん:2013/06/25(火) 00:50:58.27 ID:/K6jhL9w
多次元配列だとそれぞれでforeach使わないとダメ・・・ですよね?
5重ぐらいになるとアレなんで・・・
391nobodyさん:2013/06/25(火) 00:57:03.05 ID:???
勘違いしてるだけで、簡単な方法があるかもよ。
どんな風にやってるの?
392nobodyさん:2013/06/25(火) 01:06:45.34 ID:/K6jhL9w
foreach($array as $k1 => $v1){
if(is_array($array[$k1])){
foreach($array[$k1] as $k2 => $v2){
   if(is_array($array[$k1][$k2])){

って繰り返してるのですが、参照渡しとかでうまく出来るのかな?
393nobodyさん:2013/06/25(火) 01:08:31.78 ID:???
きえええええええええええええええええええええええええ
394nobodyさん:2013/06/25(火) 02:26:52.26 ID:???
wwwwwwwwww
395nobodyさん:2013/06/25(火) 07:13:06.68 ID:???
再帰関数作れば?

てか結局何がしたいのか分からんけど
396nobodyさん:2013/06/25(火) 08:58:33.51 ID:???
>>392
foreach($array as &$v1)
foreach($v1 as &$v2){
$v2="";
397nobodyさん:2013/06/25(火) 14:22:20.42 ID:???
>>395
分からないならレスするなカス
398nobodyさん:2013/06/25(火) 14:42:12.89 ID:???
なんだこの人w
399nobodyさん:2013/06/25(火) 17:12:54.70 ID:/K6jhL9w
えっと、5次元の連想配列で、それぞれ深度がバラバラに要素と配列が入ってて、
今は全部を正しく処理するのに同じ様な記述を5回繰り返してるので、
それをシンプルに書く方法は無いかな、という疑問なんです
400nobodyさん:2013/06/25(火) 17:34:27.69 ID:???
なんで最初からそう書かないんだよw

質問するとき情報小出しにすると構ってもらえるって!学校で習ったのか?
ならそれは良い学校だ!
401nobodyさん:2013/06/25(火) 17:38:05.47 ID:???
>>399
情報の後出しは失せろクズ人間

>>ALL
質問ではなく荒らしが目的だと判明したので以後スルーよろ
402nobodyさん:2013/06/25(火) 17:46:36.64 ID:???
>>399
>>396じゃだめ?
参照を使わずとも解決できる部分もあるんだけど、やっぱりまだ目的があいまいかな。
他に書かれていたように、再帰が適している場面かもしれない
403nobodyさん:2013/06/25(火) 17:48:11.75 ID:o9hRuQfM
PHPの本で最強の奴を教えてください
404nobodyさん:2013/06/25(火) 17:52:36.48 ID:???
>>403
ちょっと古いけど、これかなぁ。
http://www.amazon.co.jp/dp/4569698239
405nobodyさん:2013/06/25(火) 17:52:42.69 ID:???
PHPならvoiceかな
ttp://www.php.co.jp/magazine/voice/

集英社だったジャンプだと思うけど。
406nobodyさん:2013/06/25(火) 17:55:47.23 ID:???
voice?ほんとに?
なんだかんだ月刊と歴史街道が強いかと思ってた。
407nobodyさん:2013/06/25(火) 18:04:20.04 ID:???
>>402
ああ、すいません。これで出来ました。

func(&$array)
 foreach($array as $pk => $pv){
  if(is_array($array[$pk])){
func_3($array[$pk]);
  }else{
   $set_data .= $pv;
} }

ややこしい事言ってすいません。ありがとうございました。
408nobodyさん:2013/06/25(火) 20:14:09.01 ID:IpAjOvyE
その要件がどうして
>文字列を配列の変数として評価する方法はありますか?
になるのか。斜め上すぎる。

次回からは質問の仕方に気を付けてな。
あとIDもな。
409nobodyさん:2013/06/25(火) 20:42:40.85 ID:???
>>407
偽物消えろ
410nobodyさん:2013/06/26(水) 00:19:15.85 ID:???
Eclipseのエラー補完?(コード補完)は優秀ですが、もっと手軽に使えるエディタを探しています。
他におすすめありますか?
411nobodyさん:2013/06/26(水) 00:28:34.62 ID:???
412410:2013/06/26(水) 12:52:42.39 ID:???
自己解決しました。
以後僕の番号で書き込みがあっても本物ではないのでスルーお願いします。
413410:2013/06/26(水) 13:57:23.56 ID:???
>>412
解決してない
自演やめてくださいね。
ま、この件はもういいですが。
414410:2013/06/26(水) 15:08:37.55 ID:???
>>412-413
自演やめてください
とても迷惑しています。
いくらインターネットといえども
人として守るべきルールは守って下さい。
415410:2013/06/26(水) 15:10:07.77 ID:???
>>412-414
なりすましすんなボケ

はよわしの質問に答えんか!!!
クソが!!!
416nobodyさん:2013/06/26(水) 15:11:28.63 ID:???
417nobodyさん:2013/06/26(水) 15:37:02.00 ID:???
418nobodyさん:2013/06/26(水) 16:16:00.40 ID:???
419nobodyさん:2013/06/27(木) 10:15:13.83 ID:???
初心者じゃ、何が解決に必要なのかもわからんことあるだろうから
あとだしはしょうがないて。注意だけしとけばいいじゃん。

>>410には、sublime 2 text editorを勧めておく。
420nobodyさん:2013/06/27(木) 12:31:49.72 ID:???
しょうがないで片付けるゴミが出現
こういうゴミがコミュニティの質を低下させる
421nobodyさん:2013/06/27(木) 16:35:41.39 ID:???
まだ低下する余地があったことに驚いた。
もっと下げないと。
422nobodyさん:2013/06/27(木) 18:49:56.37 ID:???
>>419
持論はブログに書いてろ知能障害。
423nobodyさん:2013/06/27(木) 20:55:55.81 ID:???
>419=majikichi
424nobodyさん:2013/06/28(金) 00:44:59.11 ID:???
>>420-423
やっぱパール最高だよね!パール!
今時はパールだよ!
425nobodyさん:2013/06/28(金) 00:51:05.29 ID:???
ケツにでも入れてろ。
426nobodyさん:2013/06/28(金) 01:08:10.72 ID:???
>>425
PHPごときがWeb開発のデファクトであるPerlを馬鹿にしてんのか?
っつうか数年もしたらPerlしか残ってないっしょ
427nobodyさん:2013/06/28(金) 01:46:39.00 ID:???
PHPスクリプトの実行内容を読み取れるコマンドやソフトってありますかね?
straceみたいな感じで実行された内容のみ抜き出したいんですが・・
たとえば
<?
$attach = 10;
if($attach){echo $attach;}
?>
だと、echo 10;のように表示されるものを探してます。
428nobodyさん:2013/06/28(金) 01:47:54.75 ID:???
すみません。ID出し忘れてました。
429nobodyさん:2013/06/28(金) 01:49:07.13 ID:OgDk+Wqu
再度スレ汚しすみません。
430nobodyさん:2013/06/28(金) 03:05:21.00 ID:???
XDebug を知った上での質問ですかな?
あれで大抵のことは出来る気がするが
431nobodyさん:2013/06/28(金) 04:59:36.41 ID:???
>>424-426
時代はRubyだよ
そんなことも分からないガキは帰ってママのチンチンでもしゃぶってろ
432nobodyさん:2013/06/28(金) 10:03:20.19 ID:???
指輪にでも加工されろ。
くもりガラスの向こうは 風の街だぜ。
433nobodyさん:2013/06/28(金) 10:49:25.55 ID:???
↑とわっずがったりのこっとばが切ない例
434nobodyさん:2013/06/28(金) 11:25:23.98 ID:???
Ruby,Perlな方々は本当に暇だなぁ…。
435nobodyさん:2013/06/28(金) 18:17:48.25 ID:???
PHP狆のほうが暇だろ。
RubyユーザーPerlユーザーはメインでは各々のまともな言語に時間を費やす一方で、ゴミにちょっかいを出す暇がある程度。
PHP狆はメインでゴミに時間を費やしている、つまり完全に暇。

分かりやすく時間をベースに例を示すと、
Rubyユーザーは、毎日Rubyに6時間、PHP狆を煽るのに2時間使っているとする→Rubyユーザーの暇度=2h/day
PHP狆は、毎日PHPに8時間使っているとする→PHP狆の暇度=8h/day

そもそもプログラミングに費やせる時間には個人差があるが、
このモデルでは比較のために合計時間が同じになるようにした。
436nobodyさん:2013/06/28(金) 19:52:53.27 ID:ITHNJqdP
strposって、見つからなかった時は-1を返す仕様だった気がしたのですが、
falseを返すようになってました
前からこうでした?
437nobodyさん:2013/06/28(金) 19:56:21.92 ID:ITHNJqdP
何か他のことと勘違いしてるのかも
勘違いしてるとしたら何だと思うかも募集中
438nobodyさん:2013/06/28(金) 19:57:29.45 ID:???
>>437
ふざけてんの?
439nobodyさん:2013/06/28(金) 20:00:50.55 ID:ITHNJqdP
あ、JavaScriptのindexOfでした〜
見つからないと-1返すって仕様おかしいだろ
なめてんのか
440nobodyさん:2013/06/28(金) 20:04:33.02 ID:???
じゃあ使うな
441nobodyさん:2013/06/28(金) 20:11:11.66 ID:ITHNJqdP
は?お前JavaScriptの何なんだよ
442nobodyさん:2013/06/28(金) 20:25:46.70 ID:???
もう最近はキチガイしか質問に来ないな
443nobodyさん:2013/06/28(金) 23:25:59.47 ID:???
0とfalseを区別するほうがタイプ数多くなって堪らんわ
444nobodyさん:2013/06/29(土) 13:40:43.46 ID:5nm6m01W
(´・o・)
445nobodyさん:2013/06/29(土) 19:42:02.77 ID:???
うっさいハゲ
446nobodyさん:2013/06/29(土) 20:02:16.89 ID:???
>>445
うざい死ね
447nobodyさん:2013/06/29(土) 20:15:47.04 ID:???
>>446
怒るなよハゲ
448nobodyさん:2013/06/29(土) 23:57:16.42 ID:???
ハゲはキモいから全員死ね
449nobodyさん:2013/06/30(日) 04:50:55.38 ID:???
はい 次の質問をお待ちしています♪
450nobodyさん:2013/06/30(日) 06:47:48.41 ID:???
絵マン毛リオン
451nobodyさん:2013/06/30(日) 15:47:19.02 ID:Y2w7UUzy BE:2125592238-2BP(0)
いきなりのご質問で失礼します。
下記のような内容のcsvをphpで配列としたいと考えております。
================================
商品名,内容,色,価格
"鉛筆","字を書く","赤,青",100
================================

そこで、$○○=explode(',',$○○)といった関数を使用したのですが、
ダブルクォーテーションでの囲みが無視され、
色の部分が青と赤の2つに別れてしまいました。
$○○[0]="鉛筆"、$○○[1]="字を書く"、$○○[2]="赤、$○○[3]=青"、$○○[4]=100

上記のデータを
$○○[0]=鉛筆、$○○[1]=字を書く、$○○[2]=赤,青、$○○[3]=100
とするにはどのようにすれば良いかどなたかご教示いただけませんか?
よろしくお願いします。
452nobodyさん:2013/06/30(日) 15:56:29.21 ID:???
>>451
fgetcsv
453451:2013/06/30(日) 16:30:56.42 ID:Y2w7UUzy BE:2125592238-2BP(0)
>>452
返答ありがとうございます。
fgetcsvにて、希望の形式の読み込みができました!
454nobodyさん:2013/06/30(日) 19:21:22.30 ID:???
いいってことよ
455nobodyさん:2013/06/30(日) 19:36:22.61 ID:???
配列のキーに日本語はありだと思う?
456nobodyさん:2013/06/30(日) 20:15:51.87 ID:???
457nobodyさん:2013/07/01(月) 02:44:34.02 ID:???
>>455
いいから失せろゴミクズ.
458nobodyさん:2013/07/01(月) 20:44:35.27 ID:Kji7A4hl
windows限定かもしれないが。
stream_set_write_bufferの書込みバッファは効果ない。
file_put_contents( *, *, FILE_APPEND ) はfwriteより20倍は遅かった。
459nobodyさん:2013/07/01(月) 23:06:44.31 ID:???
そうなんだ。今後の参考にさせてもらう。
460nobodyさん:2013/07/02(火) 19:25:25.08 ID:rRFX7w31
{
"bigArr": [
{
"params": {
"p1": true
},
"title": "ttl1"
},
{
"params": {
"p1": false,
"p2": true,
"smallArr": [
"sml"
]
},
"title": "ttl2"
}
],
"id": "id"
}

以上のような文字列をdecode_jsonでデコードしたいのですが、resultがnullになってしまいます
(改行は含みません)

多次元の連想配列としてデコードする方法を教えてください

よろしくお願いします
461nobodyさん:2013/07/02(火) 19:29:14.29 ID:???
>>460
decode_jsonなんて関数ないが
462nobodyさん:2013/07/02(火) 19:39:56.63 ID:rRFX7w31
>>461
json_decodeの間違いでした。すみません
よろしくお願いします
463nobodyさん:2013/07/02(火) 19:46:33.76 ID:???
>>460
君が想定する連想配列をJSONエンコードしてみたらいいんじゃね
464nobodyさん:2013/07/02(火) 21:23:35.81 ID:Q5mgJSDQ
【OS名】CentOS
【PHPのバージョン】6.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
メモリーの消費について質問なんですが
sessionなどで
$_SESSION['username'] = "hogehgoe";
と入れた場合一人あたり単純に8byteのメモリー消費となってこれが1万人になると8byte * 10,000 = 80kbyteのメモリーが消費されるという認識で良いのでしょうか?
465nobodyさん:2013/07/02(火) 21:47:33.42 ID:???
>>464
PHP6.3って?
466nobodyさん:2013/07/02(火) 21:51:24.83 ID:Q5mgJSDQ
すいません
打ち間違えました。
PHPは5.3です
467nobodyさん:2013/07/02(火) 21:51:27.08 ID:???
OSのバージョンと間違えたんだろうな
468nobodyさん:2013/07/02(火) 21:54:48.89 ID:???
>>466
【連携ソフトウェア】MySQL ImageMagick って?
469nobodyさん:2013/07/02(火) 21:55:30.24 ID:???
>>468
お前馬鹿か?
470nobodyさん:2013/07/02(火) 22:09:48.43 ID:???
>>469
お前馬鹿か?
471460:2013/07/03(水) 01:30:56.00 ID:/WzHO7Hb
>>463
$params1 = new stdClass();
$params1->p1 = true;
$title1 = new stdClass();
$title1 = "ttl1";
$params2 = new stdClass();
$params2->p1 = false;
$params2->p2 = true;
$title2 = new stdClass();
$title2->title = "ttl2";
$params2->smallArr = array();
$params2->smallArr[0] = "sml";
$noname1 = new stdClass();
$noname1->params = $params1;
$noname1->title = $title1;
$noname2 = new stdClass();
$noname2->params = $params2;
$noname2->title = $title2;
$bigArr= array();
$bigArr[0] = $noname1;
$bigArr[1] = $noname2;
$obj = new stdClass();
$obj->bigArr = $bigArr;
$obj->id = "id";
$json = json_encode($obj);

この$jsonは>>460で例として挙げた文字列と同じものになりますが、
そこで
$obj = json_decode($json);
としても原因不明のエラーが出てしまいます。phpのバージョンは5.4.8です。
どなたか解決策を教えてください。よろしくお願いします。
472nobodyさん:2013/07/03(水) 02:27:31.34 ID:???
>>471
原因不明のエラーって?
473nobodyさん:2013/07/03(水) 02:30:25.63 ID:???
474nobodyさん:2013/07/03(水) 02:36:55.61 ID:???
>>472
質問するときはID出せ春日
消えろよ知能障害
475nobodyさん:2013/07/03(水) 02:48:34.13 ID:???
>>474
春日って?
476nobodyさん:2013/07/03(水) 02:50:35.49 ID:???
小春日和の略だろ
お前日本人か?
477460:2013/07/03(水) 03:42:10.29 ID:/WzHO7Hb
>>472
文字コードを調べてもutf-8です
json_decodeの後にjson_last_errorを実行してみたら結果は0でした

>>473
ありがとうございます

codepadだと実行するんですね…ということは普通ならデコードできる文字列だということですね
さっぱりわからなくなりました
478460:2013/07/03(水) 03:50:15.51 ID:/WzHO7Hb
json_decodeが壊れているのかと思い
http://www.softel.co.jp/blogs/tech/archives/3663
の方法も試してみましたがこちらもうまくいきませんでした
479nobodyさん:2013/07/03(水) 06:10:24.31 ID:???
>>476
質問するときはID出せ池沼
480nobodyさん:2013/07/03(水) 11:56:23.93 ID:???
>>471
> としても原因不明のエラーが出てしまいます。phpのバージョンは5.4.8です。

エラーの内容を貼れ。
481460:2013/07/03(水) 13:18:36.09 ID:/WzHO7Hb
>>480
ありがとうございます。エラーコードは500です
482nobodyさん:2013/07/03(水) 13:20:32.17 ID:???
全文貼れよ脳みそあんのか
483nobodyさん:2013/07/03(水) 13:36:44.98 ID:???
Internal Server Error の全文貼ってきたりしてw
484nobodyさん:2013/07/03(水) 13:45:30.97 ID:???
>>481
CLIで動かして、表示されたエラーメッセージ貼れ
485460:2013/07/03(水) 15:19:09.46 ID:/WzHO7Hb
納期まであと40分しかありません
死ぬことにします。ありがとうございました
486nobodyさん:2013/07/03(水) 15:26:07.70 ID:???
エラーの詳細わかれば5分で解決するのにな
487nobodyさん:2013/07/03(水) 16:47:34.18 ID:???
まあ、いずれにしてもエラー詳細の見方もわからないんじゃ、今回助かっても次駄目だろ
488nobodyさん:2013/07/03(水) 17:43:06.46 ID:???
安い命だったな
489nobodyさん:2013/07/03(水) 18:08:57.96 ID:???
成り済ましかと思ったらID同じだったwwwww
490nobodyさん:2013/07/03(水) 19:18:37.84 ID:???
はかないのう
491nobodyさん:2013/07/03(水) 23:43:07.70 ID:???
みなさん、こんばんは。
492nobodyさん:2013/07/04(木) 01:01:04.30 ID:???
なかっち 動画
http://www.youtube.com/watch?v=z2qK2lhk9O0s



みんなで選ぶニコ生重大事件 2012
http://vote1.fc2.com/browse/16615334/2/
2012年 ニコ生MVP
http://blog.with2.net/vote/?m=va&id=103374&bm=
2012年ニコ生事件簿ベスト10
http://niconama.doorblog.jp/archives/21097592.html


生放送の配信者がFME切り忘れプライベートを晒す羽目に 放送後に取った行動とは?
http://getnews.jp/archives/227112
FME切り忘れた生主が放送終了後、驚愕の行動
http://niconama.doorblog.jp/archives/9369466.html
台湾誌
http://www.ettoday.net/news/20120625/64810.htm
493nobodyさん:2013/07/04(木) 11:31:26.58 ID:???
FME?
494nobodyさん:2013/07/05(金) 08:05:26.43 ID:R8MDMfej
PHPTALに関する質問は何処ですれば良いでしょうか?
495nobodyさん:2013/07/05(金) 12:52:08.53 ID:a6le42l8
【質問内容】オンライン対戦ゲームの作り方
現在、PHPで会員制の簡易対戦ゲームを作成中です。
その「対戦開始までの基本的な流れ」は、どう設計したら良いでしょうか?

チャットシステムを応用して、一応、対戦を実現できているのですが、
独学のため設計に不安があります。アドバイスお願いします。

(自分が作った対戦開始までの流れ)
1. 会員Xから会員Yに対戦を申込  (POSTにて「申込フラグ」をDBに登録)
2. 会員Yが「申込フラグ」を取得 (Ajaxで定期的にDBから取得)
3. 会員Yが対戦を承諾      (POSTにて「承諾フラグ」をDBに登録)
4. 会員Yが対戦を開始
5. 会員Xが「承諾フラグ」を取得 (Ajaxで定期的にDBから取得)
6. 会員Xが対戦を開始

なお、ゲームの内容は、一定時間内で同一クイズに対する総得点を競うものです。
よろしくお願いします。
496nobodyさん:2013/07/05(金) 13:14:12.94 ID:???
>>495
基本的にはいいと思うけど、人が増えたときのサーバー負荷が高くなりそう。
もしアパッチでやってるなら
アパッチよりもnodejs等でリアルタイムWEBな方式を検討してみてる価値はあると思う。
497495:2013/07/05(金) 13:48:09.69 ID:a6le42l8
>>496
アドバイスありがとうございます。
AjaxやCometよりも、リアルタイムWEBとしては、node.jsを利用した
WebSocketに優位性があるようですね。勉強してみます。

なお、実際、以下のようなジレンマが悩ましいです。
Ajax、Cometについての言及。
http://www.atmarkit.co.jp/ait/articles/1010/05/news133_2.html
「1リクエスト/レスポンスヘッダー自体は数KBと、そう大きくありませんが、
リクエストの更新頻度が密になってくると、毎回のリクエスト量は馬鹿になりません。
更新頻度を遅くすると、欲しい情報がすぐに手に入らないし、更新頻度を上げると
サーバへのリソース要求が高くなる、というジレンマを抱えることになります。」
498nobodyさん:2013/07/05(金) 16:06:55.14 ID:???
node.jsを使えば、そのようなジレンマは無い
499nobodyさん:2013/07/05(金) 20:35:59.51 ID:???
>>497
Ajax、Cometについてはそういった問題があるけど、WebSocketにはないんだろ?
じゃあWebSocketでいいじゃん
500nobodyさん:2013/07/05(金) 20:48:41.73 ID:???
なに使ったところでc10kに対応しないとダメなんじゃないの。
501495:2013/07/05(金) 21:03:22.28 ID:wXQJTLAZ
>>499
レスありがとうございます。
WebSocketについては今日知ったばかりなので、検討中です。
学習コストが高そうなのと、ブラウザの一部が未対応との情報が気になります。

なお、質問の主旨は、>>495のとおり「対戦開始までの基本的な流れ」は、
どう設計したら良いかです。 PHP側での注意点など、ご指摘してくださると
有り難いです。
502nobodyさん:2013/07/05(金) 21:09:10.33 ID:???
>>501
何を心配しているのか具体的に書いてくれないと具体的に答えようがない
データの矛盾?パフォーマンス?不正操作の穴?ユーザビリティ?
503nobodyさん:2013/07/05(金) 21:18:42.01 ID:HeBuTBQC
対戦ゲームの設計なんて言語と関係ない。
504495:2013/07/05(金) 21:24:34.84 ID:wXQJTLAZ
>>502
対戦ゲームの設計についてです。

対戦システムを作りたい。
例えば、オンライン将棋やオセロなどは、どのように対戦成立を実現しているのだろう。
チャットシステムを応用すればよいのかな?
とりあえず、>>495の設計の流れで出来た。でも、これで本当にいいの?

こういった疑問です。
PHPで作る対戦システムの設計やロジックを知りたいです。
505nobodyさん:2013/07/05(金) 21:29:32.65 ID:???
node.js + socket.io + enchant.js でつくる、リアルタイム通信ゲーム
http://wise9.jp/archives/3930

ロブロブラボ - ROBROB LAB
http://rob2.jp/mmodev/net.html


MMORPG製作に使えそうな通信ライブラリ
RakNet ttp://www.rakkarsoft.com/
UDPベースのオブジェクト同期系ネットワークライブラリ

HawkNL http://www.hawksoft.com/hawknl/
LGPL、Windows、各種Un*x、MacOS 7〜9/X対応のネットワークライブラリ
オブジェクト同期までは持ってないが、ネットワーク越しのSignal、Mutexぐらいは持ってる。

Nevrax.org -- NeL
大規模なオンライン世界を開発するためのツールキット
http://wiki.game-develop.com/index.php?%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%2FMMORPG#y28807ac
506nobodyさん:2013/07/05(金) 21:29:58.34 ID:???
>>504
他の対戦システムの設計が君の対戦システムにマッチするの?
507nobodyさん:2013/07/05(金) 21:37:07.63 ID:???
ゲームサーバーの仕様
UDP:速いけれどデータが届くとは限らない
TCP:遅いけれど確実にデータが届く
アクションMMORPGでは通信速度が重要です。しかし、データの正確性もある程度は必要です。
http://gamemake.wiki.fc2.com/wiki/14.5%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE%E4%BB%95%E6%A7%98


ネットワークプログラミングの基礎知識
http://x68000.q-e-d.net/~68user/net/


WinSockプログラミング序章
「ネットワークゲームを作りたい!」
今までにそう思ったことはありませんか?
http://www.geocities.jp/playtown1056/program/zyoshou.htm

Linuxネットワークプログラミング
http://www.geekpage.jp/programming/linux-network/
508495:2013/07/05(金) 22:09:30.25 ID:wXQJTLAZ
>>505 >>507
ありがとうございます。
早速、読ませていただきます。
509nobodyさん:2013/07/06(土) 01:04:46.11 ID:???
あ、ここってスレ違いの話題OKになったんだっけ?
ではこれから遠慮なくRubyの布教をさせてもらう
510nobodyさん:2013/07/06(土) 09:13:16.29 ID:CYENJL3T
リアルタイム通信ゲームは、PHP外とは限らない、PHPとも限らない。
速度さえでるならサーバーはPHPで設計していい。
しかしユーザー側はPHPが動作する環境にないから、
JavaとかJavascriptとかflashとかC++とかC#とか別に作らないとダメだろ。
ブラウザでHTMLだけを表示してたらリアルタイムにならない。
511495:2013/07/06(土) 10:16:04.38 ID:Jrzu0zyx
すみません。誤解が生じたようなのでお詫びします。
リアルタイム通信については、質問の主旨ではありません。
質問の主旨は、「PHPで作る対戦システムの設計」です。
特に、対戦開始成立までの流れです。ただ、付随的にAjaxを利用しています。
ですから、PHPに関連する範囲でアドバイスをお願いしています。
512nobodyさん:2013/07/06(土) 10:33:44.81 ID:???
設計ってPHP関係あるの?
513nobodyさん:2013/07/06(土) 10:36:18.05 ID:???
それが許されるのならPHPで作る今夜の献立でも質問しようかな
514nobodyさん:2013/07/06(土) 11:09:40.04 ID:???
Perlなどと一緒でPHPはおもにサーバーでテキスト処理する言語。
ネットワーク機能もあるがサーバーが外部とのやりとりするためでユーザー側を操れるわけでない。
ユーザー側の通信を制御するのはPHP以外の技術。
515495:2013/07/06(土) 11:32:03.73 ID:cPOigFzJ
>>495の1.〜6.までの流れで良いのか?悪いのか?を聞きたかったです。
悪いなら、どこが悪くて、どう直せばよいのか、
良いなら、他に改良点があるかです。
516nobodyさん:2013/07/06(土) 11:36:00.64 ID:???
>>515
XとYの対戦は同期するの?
517nobodyさん:2013/07/06(土) 11:54:56.64 ID:???
Webブラウザ同士を接続するP2Pライブラリ「PeerJS」 2013/02/26
http://www.moongift.jp/2013/02/20130226/

「PeerJS」でP2Pチャットを作ってみる http://tech.aainc.co.jp/archives/4798

WebSocketを使っていない、サーバ無用なリアルタイム通信ライブラリ「Easy WebSocket」
http://www.moongift.jp/2011/03/20110316-2/

Node.jsでWebSocketサーバを作ってみる。 http://d.hatena.ne.jp/sho322/20130610/1370844721

Node.jsとWebSocket.IOでチャットアプリを作る http://mawatari.jp/archives/make-a-chat-application-in-node-js-and-websocket-io

Tomcat、Jetty、Socket.IO/Node.js性能比較: WebSocketが一番速いアプリケーションサーバはどれだ
http://www.atmarkit.co.jp/ait/articles/1306/04/news021.html

リアルタイムWebを極める
ポーリングからCometへ
数年前まではチャットルームのようなサービスでは,一定時間ごとに新しい情報がないか調べるポーリングと呼ばれる方法が使われてきました。
しかし,ポーリングでは情報がない時にもサーバへアクセスする必要があるため,実際には10秒間隔といったように時間を空けることで,サーバの負荷を減らす手法がとられました。
その後,ロングポーリング(通称:Comet)と呼ばれる見かけ上はサーバからのプッシュ通信が行える技術を使ったチャットサービスなどが登場しました。
http://gihyo.jp/dev/serial/01/realtimeweb/0001

CometとAjaxを利用したチャットサーバの実装
http://codezine.jp/article/detail/733?p=2

リアルタイムWebを構築しやすくする「Socket.IO」とは
ポーリングを用いる手法 http://cdn.shoeisha.jp/cz/static/images/article/7075/7075_01a_s.gif
Comet http://codezine.jp/static/images/article/7075/7075_02a_s.gif
プラグインによるSocket接続 http://codezine.jp/static/images/article/7075/7075_03a.gif
WebSocket http://codezine.jp/static/images/article/7075/7075_04a.gif
http://codezine.jp/article/detail/7075
518495:2013/07/06(土) 12:12:39.60 ID:cPOigFzJ
>>516
なるべく対戦開始時間が近い方が良いですが、
数秒のズレがあっても良いと考えてます。
519nobodyさん:2013/07/07(日) 00:51:33.84 ID:???
>>515
そもそもnode.jsとかを使うなら全然違う処理になるんだから、まずnode.js勉強しろ
520nobodyさん:2013/07/07(日) 10:30:07.30 ID:UBLgc+ap
長文になりますが質問です

POSTされたbase64の画像データを受け取って保存してそれを表示したいのですが、相応のサイズのファイルは作成されているのですが、うまく画像ファイルになっていないみたいで画像として開けません。

環境 CentOS6.4
パッケージ一覧
php.x86_64 5.3.3-22.el6
php-cli.x86_64 5.3.3-22.el6
php-common.x86_64 5.3.3-22.el6
php-gd.x86_64 5.3.3-22.el6
php-mbstring.x86_64 5.3.3-22.el6
php-mcrypt.x86_64 5.3.3-1.el6
php-mysql.x86_64 5.3.3-22.el6
php-pdo.x86_64 5.3.3-22.el6
php-pear.noarch 1:1.9.4-4.el6
php-tidy.x86_64 5.3.3-22.el6
php-xml.x86_64 5.3.3-22.el6
php-xmlrpc.x86_64 5.3.3-22.el6


http://pontago.hatenablog.com/entry/20091028/1256743421
http://ameblo.jp/mingw/entry-10359267538.html
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1133306221

を参考にしてつくったのが下記のコードです
521nobodyさん:2013/07/07(日) 10:31:14.83 ID:UBLgc+ap
>>520です
続きです
function is_img($img_path){
  if (!(file_exists($img_path) and $type=exif_imagetype($img_path))) return false;
  if (IMAGETYPE_GIF == $type) return 'gif';
  else if (IMAGETYPE_JPEG == $type) return 'jpg';
  else if (IMAGETYPE_PNG == $type) return 'png';
  return false;
}
522nobodyさん:2013/07/07(日) 10:31:57.30 ID:UBLgc+ap
>>521です
続きです
$data = $_POST['files'];
$www_dir = "/img/upload_images/";
$file_path = $_SERVER['DOCUMENT_ROOT'] . $www_dir;
$file_name = "test";

if (touch($file_path . $file_name)) {
  $fp = fopen($file_path . $file_name, 'w');
  $data = base64_decode(str_replace(' ', '+', $data));
  fwrite($fp, $data);
  fclose($fp);
} else {
  echo 'No Writeing';
}

if ($ext = is_img($file_path . $file_name)) {
  if (rename($file_path . $file_name , $file_path . $file_name . ".org.$ext")) {
    echo "not rename exit";
    exit(0);
  }
} else {
  // ここが実行される!!
  echo 'image only';
  exit(0);
}
echo $file_path . $file_name . ".$ext";
523nobodyさん:2013/07/07(日) 10:51:23.07 ID:???
なんかよくわからんけど、POSTされたファイルをうpしないと検証できないんじゃないの?
524nobodyさん:2013/07/07(日) 11:24:43.82 ID:UBLgc+ap
>>520-522です

>>523
ファイルの内容が違うのはあきらかなんですがバイナリファイルをみてもそれがなんなのか、違う原因の突き止めかたが全然わからないので…。

参考の為に…
元画像:http://kobe.digi2.jp/test/test.png
エンコード→デコードしたやつ:http://kobe.digi2.jp/test/new_test.png
525nobodyさん:2013/07/07(日) 14:59:27.99 ID:???
画像見れないし。
それと、エンコードデコードしたやつじゃなくて、POSTされたファイルそのものが
検証には必要なんじゃないかと思うけど。
526nobodyさん:2013/07/07(日) 15:01:20.71 ID:???
あ、元画像じゃなくて、サーバに保存されたファイルをPOSTされたファイルって言ってるからね。
527>>520-522です:2013/07/07(日) 15:15:41.14 ID:UBLgc+ap
>>525-526

>画像見れないし。
画像として見れないから困ってるんです。名前をつけて保存して見てください。

>あ、元画像じゃなくて、サーバに保存されたファイルをPOSTされたファイルって言ってるからね。
http://kobe.digi2.jp/test/new_test.png がサーバーに保存されたファイルです。

ちなみにPOSTしてデコードする前のデータをimgタグのsrcに設定するとちゃんと見れます。
http://kobe.digi2.jp/test/new_test.html
528nobodyさん:2013/07/07(日) 15:40:10.17 ID:???
試しに>>522のfopenからfwriteまで抜き出して
その例のbase64食わしてみたらちゃんとデコードされたぞ
デコードするまえのbase64 のデータのまま保存したらどうなってる?
529>>520-522です:2013/07/07(日) 15:59:57.74 ID:UBLgc+ap
>>528
>デコードするまえのbase64 のデータのまま保存したらどうなってる?

エンコード状態で保存しても画像としては見れないままです・・。


新たな発見がありました
下記のコードを実行すると
--------------------------------------------
$data = $_POST['files'];
$data = str_replace(' ', '+', $data);

echo '<img src="' .$data.'">'; // ←ちゃんと表示される

$decode_data = base64_decode($data);

$encode_data = base64_encode($decode_data);

if ($decode_data === $encode_data) {
echo '一致';
} else {
echo 'なぜか不一致';
}
--------------------------------------------
「なぜか不一致」が出力されてしまいました・・・orz
こんなことってあるんですか・・・?
530nobodyさん:2013/07/07(日) 16:11:36.72 ID:???
>>529
画像として見るんじゃなくて、base64の文字が最初のほうだけでも目視でチェックできるだろう
531nobodyさん:2013/07/07(日) 16:12:51.11 ID:???
つーかなんとなく想像ついたよ、ちと待ってなw
532nobodyさん:2013/07/07(日) 16:15:25.97 ID:???
base64に食わす時に、
>data:image/png;base64,
この文字まで食わせてるだろう、それが原因だよ。
533>>520-522です:2013/07/07(日) 16:22:53.03 ID:UBLgc+ap
>>530
これです
保存されたのをテキストエディタで開いて閲覧したときの値です
http://kobe.digi2.jp/test/test.html
534nobodyさん:2013/07/07(日) 16:28:00.02 ID:???
直前のレスでわかったと思うけど、
base64_decode するときは base64,の次の iVBO〜から渡さないとダメだよ
535nobodyさん:2013/07/07(日) 16:28:05.91 ID:UBLgc+ap
>>532
ああ……そういうことですか…
お騒がせしてしまってもうしわけない
MIMEとかなんやらのファイルに関しての知識がまったくなかったもので…
536nobodyさん:2013/07/07(日) 16:48:31.70 ID:???
なんだそりゃ
537nobodyさん:2013/07/07(日) 16:50:02.91 ID:UBLgc+ap
ここにいる方の言うとおりにヘッダ部分を省いてデコードすると無事表示できました。
PHPの関数の不具合かと思い込んでいたので危うくいつまで経っても解決できないところでした
ありがとうこざいました
538nobodyさん:2013/07/07(日) 17:00:24.01 ID:???
うわぁ・・・
539nobodyさん:2013/07/07(日) 17:02:58.54 ID:???
なんで無知ほど、バグや仕様の不具合のせいにしたがるんだろうね?
540nobodyさん:2013/07/07(日) 17:12:44.99 ID:???
無知だからさ
541nobodyさん:2013/07/07(日) 18:08:25.34 ID:???
>>539
>>520だけど、無知だからだよ。

「php base64_decode」や「php
base64_decode ファイル保存」ググって5ページくらいリンクを紫色で塗りつぶしたけど、ファイルのヘッダ部分を削除してファイルに保存してくれるコードには出会わなかったしどうすりゃいいんだよ
542nobodyさん:2013/07/07(日) 18:15:39.88 ID:???
そういう意味の無知じゃない

知識がないことじゃなくて、行為と判断に対して言っている
543nobodyさん:2013/07/07(日) 18:19:48.18 ID:???
$_FILES 使えよ
544nobodyさん:2013/07/07(日) 18:24:38.65 ID:???
>>542
じゃあその行動と判断の模範解答例をお願いします。多分それが解決しないと何の意味もないし、今後の参考にしたいので。
545nobodyさん:2013/07/07(日) 18:28:25.26 ID:???
>>544
ID出せ
546nobodyさん:2013/07/07(日) 18:55:42.52 ID:zB7I9fCC
まともな頭持ってたら各段階でデータがどうなってるか確認する
つまりここに書き込むまでもなくわかるということ

一言で言うと
馬鹿には無理
547nobodyさん:2013/07/07(日) 19:09:22.69 ID:???
質問者になりすまして煽るパターンは、もうおなか一杯です。
548nobodyさん:2013/07/07(日) 22:29:14.71 ID:UBLgc+ap
>>546
めちゃくちゃ荒らしてあとで申し訳ないないけど、 データがどうなってるかは最初からわかってるし、データどうなってるかがわかったところで根本的解決にはならない。そもそもヘッダを含めちゃいけないってしらなかったんだから。
549nobodyさん:2013/07/07(日) 23:59:44.98 ID:zB7I9fCC
自称わかってる(笑)の本質なんてこの程度のもんだということを馬鹿がさらに宣伝してるだけだな
元本と比べれば小学生でも違いはわかるんだからさ(笑)
550nobodyさん:2013/07/08(月) 00:13:08.66 ID:Ut6Bx/oC
>>549
君はバイナリデータがよめるのか
へーすごいね
551nobodyさん:2013/07/08(月) 01:30:40.63 ID:JakHMzbX
【OS名】Windows7 【PHPのバージョン】5.3.8 【連携ソフトウェア】Xampp , Twitter BootStrap

PHPとMYSQLを用いてテーブルの表示し、表示されたページからボタンを押下して
ステータスを0⇒1⇒0⇒1と更新したいと考えてます。
現在、テーブルを表示させることはできてますがボタンを押下した際に対象となる列を指定して更新することができません。
対処法をご教示頂ければと思います。
$row[0]にはコードが、$row[1]にはステータスが挿入されてます。以下ソース抜粋となります。

while ($row = mysql_fetch_row($list_result)){
switch ($row[1]){
case '0':
$aaa = row[0];
$status = '<button name=test class="btn btn-small btn-primary">Statu0</button>';
break;

case '1':
$status = '<button name=test class="btn btn-small btn-danger">Status1</button>';
break;
}
echo <<<list2
<tr align="center" >
<td>$row[0]</td><td>$status</td>
</tr >
</form>
list2;
}

if (isset($_POST['test'])) {
echo $aaa;
}
552nobodyさん:2013/07/08(月) 01:33:21.75 ID:???
>>551
>テーブルの表示し、
日本語すらまともに使えないゴミは消えろ
553nobodyさん:2013/07/08(月) 01:57:24.22 ID:???
出力コードだけで更新系のコードが一切記述されてない状況で何を判断しろとw
そもそもボタン押下時のスクリプトは成功してるんかね?
554nobodyさん:2013/07/08(月) 02:00:22.25 ID:???
>>548
知らなかったことを責める馬鹿は気にするな。
知って学んで二度目は自力で解決できることが大切。
555nobodyさん:2013/07/08(月) 04:07:07.17 ID:TuBZgbNe
テキストエディタででも画像ファイル開いてみてから言えよ馬鹿
556nobodyさん:2013/07/08(月) 04:09:09.42 ID:TuBZgbNe
解決手法を学習しない548みたいなのは迷惑にしかならないから
早いトコやめた方がいいよ
557nobodyさん:2013/07/08(月) 04:11:54.70 ID:???
>>551も大概にしろよ。
お前みたいな知恵遅れが使うからPHPのイメージが悪くなるんだ。
558nobodyさん:2013/07/08(月) 08:26:24.69 ID:Ut6Bx/oC
>>555
さすがにそれはやったよ。ただそれで解決できるなら質問なんかしない。
壊れたバイナリをみてどんな行動をとればいいのかと聞いているんだが。バイナリデータ意味わかってる?
559nobodyさん:2013/07/08(月) 09:26:21.35 ID:???
まず、base64のデータを普通にでコードしたら正常なpngができたこと、
異常な方と正常なpngで最初の100バイトほどダンプしたらあきらかに全然違っていたのと
ファイルのサイズが異常な方は数バイト大きかったので、
この大きくなった分がどこから来たか推測して(先頭から違うんだから最初がおかしいと推測できる)
試しにヘッダごとデコードしてみたら、問題のデータと全く同じものができた。
という手順で検証した。

$_FILES使えって
560nobodyさん:2013/07/08(月) 11:58:37.67 ID:???
PDOで書く時、$dbhとか$stmtとかの変数で書く人が多いんだけど
これはどういう意味?
データベースヘッダー?
561nobodyさん:2013/07/08(月) 12:02:03.58 ID:???
DataBaseHandler
STateMenT
562nobodyさん:2013/07/08(月) 12:58:37.95 ID:???
>>561
意味は>>560の通りなんだけど、そう書く人が多いのはマニュアルがその省略形を使ってるからだと思う。
例えば、
http://www.php.net/manual/ja/pdo.errorinfo.php
563nobodyさん:2013/07/08(月) 13:04:39.84 ID:???
俺は$dbhじゃなくて$pdo
$stmtじゃなくて$psとかにするかもな
564nobodyさん:2013/07/08(月) 13:56:39.72 ID:???
>>558
主題と逸れてるのは理解したうえで言うけど、
適当な画像ファイルをテキストエディタで開いてみるといいよ。
読める文字が先頭についてるから。
565nobodyさん:2013/07/08(月) 16:31:39.58 ID:???
マジックナンバーね。
566nobodyさん:2013/07/08(月) 16:35:28.89 ID:???
まあpngはすぐわかるなw
567nobodyさん:2013/07/08(月) 20:38:11.53 ID:Ut6Bx/oC
>>564
エディタで開いたんだからさすがに気づいてたけど、それが解決にはならん気がする。

>>559
>base64のデータを普通にでコードしたら正常なpngができた
→「普通にデコード」の意味がわからんけど、img src=base64データ で表示はできたんだからデータが間違ってないのはわかってるよ

>この大きくなった分がどこから来たか推測して(先頭から違うんだから最初がおかしいと推測できる)
→それならヘッダ以外の後のほうは、元データもヘッダ付きデータも同じなんだから後の方が違うのはおかしいと思っちゃう

>$_FILES使えって
→ドラッグアンドドロップで画像をアップロードするものを作っていて、一番自分でカスタマイズできそうなサンプルを探し、それが結果的にbase64で送るものだったんです
普段は勿論 $_FILES使います。


「推測すればいい」 というけれどもちろん私はエスパーでもなければ感のいいほうではありません。今回は完全にバイナリファイルの扱いが初めてだったことと、質問時にそれを伝え損ねた事が原因だと思うので今後は気をつけていこうと思います。
568nobodyさん:2013/07/08(月) 20:48:41.94 ID:???
>>567
今後は?
コイツ社会経験のないksニートか?w
二度目はねーんだよ二度と来るな恥知らずwww
569nobodyさん:2013/07/08(月) 21:24:52.13 ID:???
>>567
まぁ、いらいらすることもあるさ。
次は、base64エンコードされるというのはどういうことかって言うのを調べておけばいいんじゃない?
意味もわからず使うからそうなるわけで、それすらも省略される近道を求めちゃいけないと思う。
570nobodyさん:2013/07/08(月) 22:42:54.41 ID:???
よっぽど暇なんだな
571nobodyさん:2013/07/09(火) 00:34:06.56 ID:k7B6tgkb
あーいえば上祐(笑)
全力で言い訳する暇があったら一言礼だけ言って次に進めよ
全力で言い訳してる時点でもうだめだわ
572nobodyさん:2013/07/09(火) 08:54:35.47 ID:???
>>567
お前のできない理由なんて誰も興味ないのもわからんのか
573nobodyさん:2013/07/09(火) 12:08:16.33 ID:k7B6tgkb
馬鹿しかいないこの板でも桁外れに頭が悪いんだよそいつは
574nobodyさん:2013/07/09(火) 12:47:12.42 ID:???
>>567
キミの問題は、結果がおかしい時に何も調べずに
phpの仕様のせいにして先に進めなかったtことと
結果がわかっても自分のせいにしたくなくて
今後のやり方をあらめようともしないところ

今後人に聞くのはやめろよな、環境作っていろいろ調べて結果を出したのに後味悪すぎる
575nobodyさん:2013/07/09(火) 16:24:10.15 ID:???
>>567みたいなクズが今後中学高校大学と進学して社会に出てくると思うと絶望的だな
576nobodyさん:2013/07/09(火) 19:29:03.57 ID:???
うわうぜぇ。また回答者にも質問者にもなれない人が増えた。夏休みってもう始まったの?
577nobodyさん:2013/07/09(火) 20:00:10.56 ID:???
>>576
つ鏡
578nobodyさん:2013/07/09(火) 20:31:42.58 ID:???
>>576
IDだせゴミクズ
579nobodyさん:2013/07/09(火) 20:33:18.30 ID:k7B6tgkb
576=567
580nobodyさん:2013/07/09(火) 21:00:55.13 ID:???
567叩いてるおれカッケーwwww
581nobodyさん:2013/07/09(火) 23:23:58.55 ID:???
>>567が糞すぎる

どんな教育受けてきたんだ
582nobodyさん:2013/07/09(火) 23:32:29.01 ID:eZcG40Bc
>>578
はい。
でももっかい彼が書かないことにはどうにもならんなこれ
583nobodyさん:2013/07/09(火) 23:34:41.62 ID:IrNQ7IWS
>>578
はい。
でももっかい彼が書かないことにはどうにもならんなこれ
584nobodyさん:2013/07/09(火) 23:43:38.47 ID:eZcG40Bc
さすがだわw
585nobodyさん:2013/07/09(火) 23:55:05.15 ID:7W64c/4q
>>578
はい。
でももっかい彼が書かないことにはどうにもならんなこれ
586nobodyさん:2013/07/10(水) 00:00:03.71 ID:???
驚異の糞スレ
587nobodyさん:2013/07/10(水) 01:02:31.39 ID:CN5V3Wu/
そもそも最底辺が集まる板だし
588nobodyさん:2013/07/10(水) 03:26:22.10 ID:???
少し前の状況に戻っただけだな。最近マシになりすぎてた感すらある。
589nobodyさん:2013/07/10(水) 08:49:43.91 ID:BysYyNl3
よんだ?
590nobodyさん:2013/07/10(水) 09:53:23.36 ID:hhzOdqYq
PHPの3項演算子について質問です。
コロンの後に、exit()を用いても大丈夫ですか?
以下の文は、期待通りに動くのですが、後々、問題になるのを避けたいです。

$val = !empty($arg) ? $arg : exit('error');
591nobodyさん:2013/07/10(水) 10:30:28.81 ID:???
>>590
or die使った方がいいね。
592590:2013/07/10(水) 11:40:26.12 ID:E8EpK5eU
なるほど。
と思いましたが、次のようにするとTRUEかFALSEが代入されてしまいます。
どのように or die を使えば良いのでしょうか。

$val = !empty($arg) or die('error');
593nobodyさん:2013/07/10(水) 11:54:32.61 ID:???
594590:2013/07/10(水) 12:08:45.87 ID:E8EpK5eU
>>593
<?php
$arg = 1;
$val = !empty($arg) or die('error');
echo $val, PHP_EOL;
結果 1

これは確かに1を出力します。
なぜなら、!empty($arg) の返り値がTRUEであり、出力すると1になるから。

しかし、$arg = 5;にしても1になってしまいます。
この点は不具合です。

<?php
$arg = 5;
$val = !empty($arg) or die('error');
echo $val, PHP_EOL;
結果 1
595nobodyさん:2013/07/10(水) 12:22:00.97 ID:85QoHIBq
>>594
1じゃなく、何になって欲しいの?
不具合というなら、期待していた結果もお願いします
596590:2013/07/10(水) 12:28:26.21 ID:E8EpK5eU
>>595

$arg = 5;
$val = !empty($arg) ? $arg : exit('error');
結果 5

これと同じ結果になるように or die を使う例を教えてください。
というか最初の質問とずれてきていますが。。
597nobodyさん:2013/07/10(水) 13:16:01.13 ID:???
>>590
そもそも三項演算子があまりお勧めではないし、
> $val = !empty($arg) ? $arg : exit('error');
のような書き方もまあ普通はしないから、そういう書き方はあまりしない方が良いとしか言えない。
598nobodyさん:2013/07/10(水) 15:48:14.74 ID:???
$val = !empty($arg) ? $arg : null;
if ($val === null) exit('error');
599nobodyさん:2013/07/10(水) 16:06:34.30 ID:???
>>595
スレを荒らすつもりがないならゴミの相手はするな
600nobodyさん:2013/07/10(水) 16:30:23.29 ID:???
if (empty($arg))exit('error');
$val = $arg;
でいいじゃん。

emptyが値を受ける5.5以降なら empty($val=$arg) or die('error');  って書けるけどさ、
素直に書くのがいいよ。
601nobodyさん:2013/07/10(水) 17:45:00.68 ID:85QoHIBq
>>596
いろいろ見間違えてた。ごめん。
or dieを使って、同等の結果を生むコード
http://codepad.org/MExebqFq

ただ、個人的には条件演算子も、or dieも使わない書き方をすると思う。
602nobodyさん:2013/07/10(水) 17:45:47.76 ID:85QoHIBq
>>600
unset($arg) 状態で動かすとnotice出るんじゃないの。
empty使うメリットが失われてるかと。たぶん。
603nobodyさん:2013/07/10(水) 19:17:17.39 ID:???
そだね
604590:2013/07/10(水) 20:39:33.46 ID:65tBLdRF
>>597
: exit() は、確かに、行儀の悪いコードですよね。
>>601
or die の使うやり方、理解できました。
コードを載せて頂き、有難うございます。

やはり、: exit()は、推奨される書き方ではないようですね。

if(){} else{} を使うと4行ほどになったり、インデントでコード量が
多く感じるので、1行にまとめたいと思った次第です。
有難うございました。
605nobodyさん:2013/07/10(水) 21:07:51.18 ID:???
4行になると何が困るの?
606590:2013/07/10(水) 21:19:56.54 ID:65tBLdRF
>>605
コードが4倍になります。
たとえば、if else のコードが合計1000個ある場合、
1000行のコードが、4000行になり管理が大変です。
607nobodyさん:2013/07/10(水) 21:42:59.14 ID:???
そんなに同じコードが出てくるのかよ?
そうなったらコードを生成するコードのほうを管理するか、
バイナリにしてしまうとか。
608nobodyさん:2013/07/10(水) 21:55:16.65 ID:???
行数増えても管理はかわんねーよ
609nobodyさん:2013/07/10(水) 22:06:52.65 ID:???
1000個wwww
どんなコード書いてるのか見てみたい
610nobodyさん:2013/07/11(木) 00:27:55.00 ID:9TxHvupT
>>606
もし読んでいないならマーチンファウラーのリファクタリングを読んでみて。

>>607
> そうなったらコードを生成するコードのほうを管理する
大抵の場合、それは悪。
そうする場合は最大限の注意を払わなければ代償は信じられないほど大きい。
611nobodyさん:2013/07/11(木) 00:49:40.69 ID:???
>>606
関数化すれば?
612nobodyさん:2013/07/11(木) 06:19:18.93 ID:???
1000個を連想配列にしてループを使えよ。実質的には
$arg1、$arg2、$arg3、でも
$arg[1]、$arg[2]、$arg[3]、でも同じ用途に使えるだろ。
613nobodyさん:2013/07/11(木) 08:31:15.85 ID:???
行数よりも可読性の高さのほうが大事
614nobodyさん:2013/07/11(木) 08:33:23.44 ID:???
>>611は遅いし >>612はメモリがだめ
なんの書き方してもメリットデメリットあるし好きにすればいいよ
615nobodyさん:2013/07/11(木) 08:39:08.92 ID:???
関数化が遅いって謎すぎるw
616nobodyさん:2013/07/11(木) 09:12:26.11 ID:???
呼び出しコストを知らないらしい
617nobodyさん:2013/07/11(木) 09:18:02.72 ID:???
>>606は管理が大変になるって言ってるんだけどwww
しかも1000個は例示だしw
618nobodyさん:2013/07/11(木) 09:26:43.70 ID:???
でお前は何が言いたいんだ?
自分の手法を突っ込まれて悔しかったのか?
619nobodyさん:2013/07/11(木) 15:41:38.46 ID:rFR/PQIZ
APCの質問です
phpのファイル名が同じだと、別のディレクトリにあっても、同じキャッシュが適用されて同じコードが実行されてしまうことを確認
これ大変困ってるんですけど解決策ないでしょうか?
APCをオフにする以外で
620nobodyさん:2013/07/11(木) 16:02:22.63 ID:???
同じって、、、相対指定してんの?
apc.stat をオンでいいんじゃないかな
621nobodyさん:2013/07/11(木) 16:07:19.89 ID:rFR/PQIZ
詳しく書くと、数人で同じプロジェクトで作業してて
それぞれの作業ディレクトリに同じ構成でファイルが置かれている
で、ブラウザから
http://example.com/user_a/abc.php
http://example.com/user_b/abc.php
みたいにアクセスして、各々の動作確認してる

ユーザーAがabc.phpを書き換えてUPし、
http://example.com/user_a/abc.php
を実行すると
http://example.com/user_b/abc.php
を実行しても、同じコードが走ってしまう

という問題です

>>620
チェックしてみます
622nobodyさん:2013/07/11(木) 17:10:04.48 ID:???
少なくともうちでは同じファイル名が結構あるけど、chache entryを見たら別ものと認識してたよ
623nobodyさん:2013/07/11(木) 17:17:31.33 ID:rFR/PQIZ
apc.statはONになってました
他にそれっぽい設定項目が見つからない…キャッシュエントリ見てみます
624nobodyさん:2013/07/11(木) 17:34:06.07 ID:???
>>623
ローカルで試してみたけど、ちゃんと別ものとして認識してくれたよ。

$ mkdir /var/www/html/user_a
$ mkdir /var/www/html/user_b
$ vi /var/www/html/user_a/abc.php
--
<?php echo 'abc'; ?>
--
$ cp /var/www/html/user_a/abc.php /var/www/html/user_b
--
ここでuser_a/abc.phpとuser_b/abc.phpにアクセスしてみると、それぞれ別にcacheされた
--
$ vi /var/www/html/user_a/abc.php
--
<?php echo 'ABC'; ?>
--
user_a/abc.phpにアクセスするとABCと表示され、user_b/abc.phpにアクセスするとabcと表示される。
user_a/abc.phpは再chacheされていた。
--
APC Version 3.1.15-dev
625nobodyさん:2013/07/11(木) 17:57:32.42 ID:???
時間が古いファイルを上書きしてキャッシュが更新されないのをフォルダのせいだと勘違いしてんだろ。
626nobodyさん:2013/07/11(木) 18:28:21.59 ID:9TxHvupT
>>625
更新していないはずのbが、新しくなったaの動きをするって話じゃ
627nobodyさん:2013/07/11(木) 18:34:25.99 ID:???
include で ../abc.php とかやってると怪しいw
628nobodyさん:2013/07/11(木) 18:35:08.48 ID:???
でもそれも stat onなら問題出ないはずだけどな
629nobodyさん:2013/07/11(木) 19:36:42.73 ID:???
今日も馬鹿ばっか
正しい情報調べれば解決なのに
中途半端な知識で意見交換ごっこ
630nobodyさん:2013/07/11(木) 20:04:33.85 ID:???
目くそ鼻くそを笑う
631nobodyさん:2013/07/11(木) 22:11:16.80 ID:rFR/PQIZ
>>624さん他ありがとござます
どうも全てのファイルがそうなるわけではなく、何か発生する条件があるようです
厄介な問題ですねこれ…更に調べてみます
632nobodyさん:2013/07/11(木) 23:44:45.19 ID:u2co9nyd
ブラウザの挙動すらわからないならwgetなり適切なものを適切に使って確認しろよ馬鹿共
633nobodyさん:2013/07/11(木) 23:46:34.30 ID:???
何の話なんだろう
634nobodyさん:2013/07/11(木) 23:50:42.02 ID:9TxHvupT
…なぜwget?
わからないなら口出すなという定番のレスをもらうかもしれないけど、それが適切な場面とは思えないんだよなぁ
635nobodyさん:2013/07/12(金) 11:51:40.41 ID:iv8k8+L5
馬鹿が適切だと思ってやることは間違いなんだから仕方ないな
適切なことを適切なことだと判断できるのなら
その時点でこの馬鹿板の住民より上だからな
636nobodyさん:2013/07/12(金) 11:53:44.17 ID:jzIu4enx
>>621の件、この例のabc.phpみたいな単純な形だと起きないようで、
abc.phpがclass.phpみたいな他ファイル内の親クラスを継承していて
ユーザーAがclass.phpを書き換えてUPし、apc.phpを実行したら
ユーザーBのabc.phpがユーザーAのものと同じ挙動になってしまう
ということが起きているようです
が、これが必要十分条件かわからないので、更に調べてみます
637nobodyさん:2013/07/12(金) 13:04:04.59 ID:GnfS9HXK
URLがディレクトリを指しているのに、phpで処理しているって
いうのは、どうやっているんですか?
638nobodyさん:2013/07/12(金) 13:33:59.40 ID:???
具体例をだしてみ
639nobodyさん:2013/07/12(金) 13:35:15.39 ID:???
>>636
俺も似たような経験あるわー
apcやめて、eaccerareterに戻ったわー
640nobodyさん:2013/07/12(金) 13:54:05.13 ID:???
http://ime.nu/api.cakephp.org/2.3/class-Component.html
にアクセスすると、
/api.cakephp.org/2.3/class-Component.html
というページじゃなくてスクリプト実行になるけど、
これはどういう風に実現しているのでしょうか?
641nobodyさん:2013/07/12(金) 13:59:18.66 ID:???
は???
PHPじゃなくてHTMLの質問じゃねーか
アンカーテキストのURLとリンク先が一致してないだけだろ
642nobodyさん:2013/07/12(金) 14:10:58.25 ID:???
http://ime.nu/に
class-Component.html
というファイルが存在するわけではありませんよね?
643nobodyさん:2013/07/12(金) 14:24:58.14 ID:???
そういうことか
htaccessで設定してあるんだろうな

http://blog.katty.in/89
644nobodyさん:2013/07/12(金) 14:31:39.01 ID:???
>>640
PHP=脆弱性の塊。
安全なウェブサイトを作る方法の一番最初に「PHPは使わない」
と書いてあった時代に流行った、
apacheの設定を変更して、拡張子を偽装するという手口の名残りだろう。
645nobodyさん:2013/07/12(金) 14:33:24.77 ID:???
>>644
PHPを忌み嫌ってるのにもかかわらずPHPスレに顔出してるだけあって、池沼級の馬鹿なんだなと思った
646nobodyさん:2013/07/12(金) 14:40:12.48 ID:???
転送先URLをパラメータとして、受け取って加工して表示してるだけだ。
PHPが使われてるかどうかも不明だし
静的に生成しているんだったらHTMLだけで実現できる。
647nobodyさん:2013/07/12(金) 14:48:40.74 ID:jzIu4enx
>>645が馬鹿で笑った
648nobodyさん:2013/07/12(金) 14:59:59.65 ID:???
>>645
初心者が騙されて産廃を使って人生の何時間かを無駄にしないようにしてやるのも
ITに関わる者の務めの一つだと心得ている

自分さえよければそれでいい、信者増えて楽しければそれでいい、
そういった公共の福利を無視したPHP偸とは違うんたよ
649nobodyさん:2013/07/12(金) 15:44:54.64 ID:sxqmWfDI
>>636
ユーザA、Bは同一のclass.phpを参照しているの?
それとも、ユーザごとに分かれている?

>>637
みんなが書いてるように、mod_rewriteとかで実現してる。
ただ、HTMLの問題だとか、HTMLで実現してるという言葉はうそなので信用しないように。
650nobodyさん:2013/07/12(金) 17:36:50.02 ID:iv8k8+L5
引数で出力変える程度PHPみたいなごみ使う必要もない
651きら 忍法帖【Lv=40,xxxPT】(1+0:8) ◆Kira.u9zNc :2013/07/13(土) 17:24:58.00 ID:9o8w/POD
しょうもない質問かもしれませんが、
CGIのhttp://hoge.com/fuga.cgi/foo/のように
PHPでもbar.php?foobar=testではなく、
bar.php/foobar/test/というように
パラメータを渡す方法を教えてください
652nobodyさん:2013/07/13(土) 17:26:27.44 ID:???
>>651
SEOのため?
653nobodyさん:2013/07/13(土) 17:53:50.61 ID:I87hYon8
>>651
それもapacheならmod_rewriteでできる。
自分でやるのが面倒なら、フレームワーク使うなど。
654nobodyさん:2013/07/13(土) 18:15:17.40 ID:???
PHP関係ない。
それはサーバーソフト依存。
655nobodyさん:2013/07/13(土) 19:26:46.75 ID:MyVXWbK4
$js = $_POST[ "js" ];
$replacing = preg_replace("/\x5c\x5c\x22/", "\x22",$js); // 【\"】 を 【"】 にする
$replaced = preg_replace("/\x5c\x5c\x27/", "\x27",$replacing); // 【\'】 を 【'】 にする

$post_Data = json_decode($replaced, true);

このとき、送られてきた文字列にマルチバイト文字があると、
jsonエンコードをかけてクライアントに返すとクライアント側(jQuery)で
日本語が文字化けします(/uxxxx/uxxxxの/が消える)

デコードとエンコードは必須です
何か良い対応策があれば教えてください
656nobodyさん:2013/07/13(土) 19:41:08.25 ID:???
JavaScript Object Notation - Wikipedia
JSONテキストはUnicodeでエンコードするとされている (SHALL)。デフォルトのエンコーディングはUTF-8である。



BSON は、 binary encoded serialization of JSON-like documents のことです。
http://bsonspec.org/
BSON は、ドキュメントに "拡張" 情報を持ちます。
length prefix を持つことで、高速に解釈することができます。
http://kaworu.jpn.org/kaworu/2012-04-10-1.php
657nobodyさん:2013/07/13(土) 19:44:56.48 ID:???
SEOのイタチごっこを戦い抜く戦力の人件費と
広告代はどっちが得なんだろう
658nobodyさん:2013/07/13(土) 19:54:52.81 ID:MyVXWbK4
>>656
ありがとうございます。

送り手も受けても間違いなくUTF-8に設定されています。
JSONを使うのは仕様なので、変更できないんです…。
659nobodyさん:2013/07/13(土) 21:17:53.54 ID:???
>>658
文字化けが発生する最低限のコードを、何も省略せずに書いてみて
660nobodyさん:2013/07/13(土) 21:34:06.80 ID:???
EUCかSJISとかになってるんだろ。
PHPの設定と、扱える文字コードは同じではない。
661nobodyさん:2013/07/14(日) 00:35:38.98 ID:???
三連休にPHPかよw
本当にお前らって時間をドブに捨てるのが好きだよなw
662nobodyさん:2013/07/14(日) 01:09:44.11 ID:???
>>661
おやおや、こんな夜中にドブさらいですか? ご苦労様。
663nobodyさん:2013/07/14(日) 17:31:51.84 ID:???
米青  ネ申  禾斗  ιこ  彳テ  ιナ  !!
664nobodyさん:2013/07/14(日) 18:56:46.78 ID:???
本当にここはゴミの掃き溜めだよね
665nobodyさん:2013/07/14(日) 19:02:52.37 ID:???
彳って何て読むの?
666nobodyさん:2013/07/14(日) 19:35:38.08 ID:???
>>665
米青  ネ申  禾斗  ιこ  彳テ  ιナ  !!
667nobodyさん:2013/07/14(日) 21:09:09.82 ID:XtTloFXy
dbでの検索をより高速にするために[a-zA-Z0-9]の文字列を数値化してるんですが
ハッシュ→10進数って変換する以外にいい方法無いでしょうか?
668nobodyさん:2013/07/14(日) 21:21:06.65 ID:???
バイナリ文字列を4バイトずつ整数として扱えばいい。
669nobodyさん:2013/07/14(日) 21:39:13.80 ID:???
dbでの検索をより高速にするために?
670nobodyさん:2013/07/14(日) 22:02:12.36 ID:???
>>669
質問するのにID出さない糞は二度とくるな
671nobodyさん:2013/07/14(日) 22:04:55.95 ID:???
なんでそんなことしようと思ったんだろうね
672nobodyさん:2013/07/14(日) 22:28:15.86 ID:XtTloFXy
本当に申し訳ないんですが具体的なコードはどうなるんでしょうか?ヒントや流れだけでも
phpでバイナリって単語自体初めてなんで
673nobodyさん:2013/07/14(日) 22:36:17.58 ID:???
バイナリ文字列 = PHPで扱える文字列。特に日本語やアルファベットに限らない物。
バイナリ文字列と整数の変換はpack unpackなど。
674nobodyさん:2013/07/14(日) 22:39:58.40 ID:???
しかしハッシュの方が計算も検索はやいだろう。同じハッシュになって衝突する可能性はあるが。
文字列全体を、複数個の整数に変換したら、検索複数回と整数変換のコストがかかる。まだ文字列そのまま検索したほうがマシ。
675nobodyさん:2013/07/14(日) 22:46:45.57 ID:???
62進数とみなして計算する方法もあるけど、
文字数が長いとき計算があふれたりするので1文字づつ10進数2桁に置き換えてしまえ。

DB早くならんけどな。 index張れば済むんじゃねーの?
676nobodyさん:2013/07/14(日) 22:59:42.11 ID:???
Googleだったか?がこの世のすべての情報を数値化して記録するって話でindexは数値ッショとか言ってたな
メリットはよくわかんね
677nobodyさん:2013/07/14(日) 23:19:22.43 ID:???
文字列だって内部では数値だろ
何のために変換するのかイミフ
678nobodyさん:2013/07/14(日) 23:27:32.71 ID:???
>>677
しかしデータベースの検索速度や格納サイズは違ってくる。
sqlite3で実験してみたところ、4バイト整数×4つ (=英数字16文字)を
そのまま英数字で登録すると、5.08Mだったのに対し
整数4つ(個別index)だと8.20 MB、整数4つ(一括index)だと5.68 MB。
検索速度は大差なし。
679nobodyさん:2013/07/15(月) 00:55:59.73 ID:yIQbPTaI
>>678
> しかしデータベースの検索速度や格納サイズは違ってくる。
> (snip)
> 検索速度は大差なし。

おちつこ?
680nobodyさん:2013/07/15(月) 00:59:41.81 ID:???
おつちこ?
681nobodyさん:2013/07/15(月) 06:33:23.13 ID:???
おちんこ!
682nobodyさん:2013/07/15(月) 11:53:19.78 ID:Ggbz4wTp
コマンドラインからpharをincludeしているスクリプトを実行すると
そのpharのヘルプが表示されてしまうんだが
なにかphp側で設定が必要なんでしょうか。

例えばこんなスクリプト
include 'phpunit.phar';
echo "hello!!";

実行するとphpunitのヘルプが表示され、helloは出力されない
683nobodyさん:2013/07/15(月) 12:39:52.06 ID:???
>>682
だが→ですが
されない→されません
684nobodyさん:2013/07/15(月) 12:55:25.47 ID:???
>>682
phpunitがexitしてるだけ
685nobodyさん:2013/07/15(月) 14:05:01.97 ID:Ggbz4wTp
いや、どうすれば普通に読み込めるのかを聞きたかったんだがw
686nobodyさん:2013/07/15(月) 14:24:38.17 ID:???
>>685
いや→×
だが→ですが、教えてください
687nobodyさん:2013/07/15(月) 14:34:02.45 ID:???
688nobodyさん:2013/07/15(月) 15:15:11.81 ID:xqHvQ6Ob
http://2ch-k.net/20130702230059
韓国すげーw
689nobodyさん:2013/07/15(月) 16:14:41.23 ID:???
>>685
知能がさほど低くない奴がコードを書けば読み込める
知能の低すぎる奴には無理
諦めろ
690nobodyさん:2013/07/15(月) 17:40:59.46 ID:Ggbz4wTp
ごちゃごちゃうるせえな
まあいいけどw
691nobodyさん:2013/07/15(月) 18:01:18.87 ID:???
>>690
二度と来るな
692きら/ 忍法帖【Lv=40,xxxPT】(1+0:8) ◆Kira.u9zNc :2013/07/15(月) 19:31:33.71 ID:OdmwjCT+
>>653をヒントに.htaccessで出来ました。
ありがとうございました!
でももう一つ質問が出来ました。
hoge.phpの内容を
<?php echo $_SERVER['QUERY_STRING']; ?>
にし、
hoge.php?fuga?piyoにアクセスすると、
fugaしか表示できません。
URLエンコード等をせずにこのURLのままアクセスしたいのですが、
何とかなりませんか?
693nobodyさん:2013/07/15(月) 21:04:14.21 ID:???
hoge使ってる奴って何でこう例外なくクズなんだろう
694nobodyさん:2013/07/16(火) 01:05:39.46 ID:GRbiH6Vd
> hoge.php?fuga?piyoにアクセスすると、
そういうアクセスをさせたくないがための、>>651だったんじゃないの?
何をしたいか書いてくれないと返事できんわ
695nobodyさん:2013/07/16(火) 02:27:28.69 ID:???
hoge使ってる奴は説明能力の欠落してる奴が大半。
プログラム以前の問題なのにそれに気づかない。
696nobodyさん:2013/07/16(火) 10:10:12.83 ID:???
PATH_INFO知らんのかいな
697nobodyさん:2013/07/16(火) 13:17:39.26 ID:XxdQ/HjM
いろんなサイトで使ってもらうようなパーツを想定しています。
その際、クッキー名をリファラにしたいのですが
(つまり毎度リファラURLがそのままクッキー名に)
そのクッキーが前回と同じかどうか(前回と同じサイトで利用された場合)
を判定するif(isset($_COOKIE[])){ }
この条件判定の際に、リファラをクッキー名として入れ込むことが出来ません。

動きませんが、感覚としては下記のようなことがしたいです。

$referer = $_SERVER['HTTP_REFERER'];
setcookie($referer, value); //ここまでは出来ます
if( isset ($_COOKIE[$referer])){ }

↑この$_COOKIE[$referer]というのがどうもいけてないようです。
クッキーで前回と同じサイトの同じURLで利用されたかどうかを判定するのは不可能でしょうか?
どなたかご教授お願いします。
698nobodyさん:2013/07/16(火) 13:48:09.41 ID:???
>>697
> setcookie($referer, value);
valueって何だよ。

> どうもいけてないようです。
なにがどうなのかさっぱりわからないが、最初のアクセスでリファラをcookieにsetしといて、
次回はそれを元にチェックすればいいんじゃないの?
699nobodyさん:2013/07/16(火) 13:55:15.80 ID:XxdQ/HjM
>>698
返信ありがとうございます。
valueは適当な文字列ということでなんでもいいです
数字が入る予定です

>なにがどうなのかさっぱりわからないが、最初のアクセスでリファラをcookieにsetしといて、
リファラのURLをそのままクッキーにセットするというのは出来ました。


>次回はそれを元にチェックすればいいんじゃないの?
これが出来ません。
$_COOKIE[$referer]もしくは$_COOKIE[$_SERVER['HTTP_REFERER']]という記述が通るなら
出来るような気がするんですが、これが通りません。
700nobodyさん:2013/07/16(火) 14:03:23.91 ID:???
キー名に . があった場合は、 _ になります。
701nobodyさん:2013/07/16(火) 14:15:00.60 ID:XxdQ/HjM
>>700
つまりURLをキー名にするとhttp://example.comがhttp://example_comになるってことですか

すいません、そもそもsetcookieも出来てなかったかもしれません。
簡単なテストが以下です

$referer = $_SERVER['HTTP_REFERER'];
setcookie($_COOKIE[$referer], 1, time()+60*60*24*7);
echo var_dump($_COOKIE[$referer]);

表示結果はNULLです。
1、となって欲しいのですが…どこか間違ってるでしょうか?
702nobodyさん:2013/07/16(火) 14:25:41.95 ID:???
>>701
var_dump( $_COOKIE );
703nobodyさん:2013/07/16(火) 14:28:38.40 ID:???
まずはリファも固定文字列でチェックしては
704nobodyさん:2013/07/16(火) 14:54:42.94 ID:XxdQ/HjM
>>702
それやるとarray(23)となって自分のサイトで使ってる今回のテストと関係ないクッキーも
合わせて24個全部出てきました。

>>703
echo $referer;はちゃんと出ますよ。
705nobodyさん:2013/07/16(火) 14:55:50.67 ID:???
自分でデバッグできねーならやめてしまえ
706nobodyさん:2013/07/16(火) 15:08:34.00 ID:???
>>701
マニュアルで$_COOKIEを調べろ。
あと、ブラウザのデバッグツール(またはそれ系の拡張)入れて、cookieの様子を確認しろ。
707nobodyさん:2013/07/16(火) 15:36:40.21 ID:XxdQ/HjM
>>700
>>706
ありがとうございました。出来ました。
708nobodyさん:2013/07/16(火) 16:33:42.63 ID:???
>>707
ウザい二度と来るな
709nobodyさん:2013/07/16(火) 20:35:15.51 ID:???
swfからPOSTすると500 Internal Server Errorが発生します。
なぜでしょうか
710nobodyさん:2013/07/16(火) 20:44:43.03 ID:GRbiH6Vd
>>709
errorlogみてみ
711nobodyさん:2013/07/16(火) 22:26:57.38 ID:???
>>710
すみません、swf関係ありませんでした
失礼しました。
712nobodyさん:2013/07/17(水) 00:32:31.89 ID:???
>>710
ID出してないクズにレスしてんな知能障害
失せろ
713nobodyさん:2013/07/17(水) 01:04:37.23 ID:???
>>710
ウザい。
714nobodyさん:2013/07/17(水) 03:56:43.33 ID:H2iNBEZT
さすがですね?
715nobodyさん:2013/07/17(水) 10:03:33.05 ID:???
さすがです
716nobodyさん:2013/07/17(水) 12:31:31.92 ID:???
>>709-711
このゴミ共が何でこのスレを荒らそうと思ったのか疑問
717nobodyさん:2013/07/17(水) 14:57:53.43 ID:???
>>716

  死  ね
718nobodyさん:2013/07/17(水) 16:05:13.22 ID:???
>>717
ウザいゴミ
早くタヒね
719nobodyさん:2013/07/17(水) 19:37:59.94 ID:LitNIdVr
こんな頭の血管細いやつらがなんでこんなタイトルのスレにはりついてんだよw
自分で寿命縮めにきてるドMかよ
720nobodyさん:2013/07/17(水) 21:02:41.87 ID:???
ちょっと>>678について考えてたが
文字列と数値型の検索速度はインデックス化してなかったら差が出ると言いたかったのか?
721nobodyさん:2013/07/18(木) 00:03:25.30 ID:???
>>720
ブログでやれ
722nobodyさん:2013/07/18(木) 00:59:08.87 ID:???
>>720
ID出せクソが
723nobodyさん:2013/07/18(木) 18:45:54.37 ID:6pVpjJwr
$ipAddress = $_SERVER["REMOTE_ADDR"];
print "$ipAddress";
でipアドレスを表示させようとすると
::1
と表示されてしまいます。
何が原因なのでしょうか?
お分かりの方いましたらご教授願います。
724nobodyさん:2013/07/18(木) 19:05:19.76 ID:???
725nobodyさん:2013/07/18(木) 19:14:07.02 ID:???
IPv6やねー
726nobodyさん:2013/07/18(木) 19:24:23.83 ID:???
基礎からやってないゴミが言語だけ習得してやろうとした結果がこれ
ゴミすぎて色々終わってるけど本人は気づいてないんだろうな
727nobodyさん:2013/07/18(木) 19:33:34.18 ID:EdDxyS9V
単にIPv6のループバックアドレスだって気づかなかっただけじゃないかな。
基礎の範囲がどこまで含むのかわかんないけども。
728nobodyさん:2013/07/18(木) 19:48:14.70 ID:???
基礎の範囲ではないと思うけど
ぐぐればすぐ出てくるようなことを聞くなとは思う
729nobodyさん:2013/07/18(木) 21:06:02.55 ID:EdDxyS9V
その気持ちもわからんではないが、そうすると下らなくない質問になるジレンマ
730nobodyさん:2013/07/19(金) 00:07:59.78 ID:???
検索サイトすらまともに使えない白痴の使う言語PHP
731723:2013/07/19(金) 01:19:36.31 ID:wJN3xvbD
>>725>>727
返答ありがとうございます。
簡単なアクセスカウンタを作っていて、同じIPアドレスでは何度もカウントしない
ようにする為にIPアドレスから判定したいのですが、IPv6だと結果として::1 が出てしまいます。
IPv6の場合はどうすればいいのでしょうか?
同一IPアドレスかどうかだけ分かれば良いです。ご存知でしたら教えていただけないでしょうか?
732nobodyさん:2013/07/19(金) 02:18:49.74 ID:???
::1 と ::1 を比較すれば同一IPアドレスだってわかるよ
733nobodyさん:2013/07/19(金) 05:04:37.71 ID:eqXiA8JH
>>731
ええっと、外部からのアクセス時に ::1 が表示されるということでいいのか?
734nobodyさん:2013/07/19(金) 06:27:40.17 ID:???
>>724はスルーなのか
簡単な英語も読めないやつはプログラムやめたほうがいいよ
735nobodyさん:2013/07/19(金) 10:11:52.10 ID:???
ループバックアドレスの意味わかってないんだろ
736nobodyさん:2013/07/19(金) 13:36:18.38 ID:fYJiONHF
【OS名】CentOS
【PHPのバージョン】6.3
【連携ソフトウェア】SQLite WordPress
【質問内容】
検索について質問です。
検索する際に複数のキーワードを指定しますが

例:東京 おみやげ おいしい

この場合の検索というのは

東京 and おみやげ and おいしい
東京 or おみやげ or おいしい

どちらになるのでしょうか?
検索エンジンでは特にそういったオプションは見なかったのですが
どちらが一般的なのか教えていただけないでしょうか。
737nobodyさん:2013/07/19(金) 13:40:55.94 ID:???
すきにしろ
738nobodyさん:2013/07/19(金) 13:43:58.26 ID:???
いっぺん試せよ
99%andだろうけどそんなCMSの仕様まで知らんソースヨメ
739nobodyさん:2013/07/19(金) 14:22:55.18 ID:eqXiA8JH
>>736
スレ違いだけど、一般にそれらは複合された上で、優先度がつけられる。

>>738
CMSの仕様を知りたいわけじゃなさそうだが
740nobodyさん:2013/07/19(金) 14:43:59.90 ID:???
>>786
WordPressはAND検索。
一般的にもスペースで単語を区切って検索するのは、AND検索。
741nobodyさん:2013/07/19(金) 14:58:32.73 ID:???
下らねぇレスばっかだな
答えられないのなら黙っときゃいいのに
742nobodyさん:2013/07/19(金) 15:12:26.75 ID:???
743nobodyさん:2013/07/19(金) 17:38:31.70 ID:9KDx1fUs
PHPの配列の型について質問です。
クッキーを配列にしているのですが
for($i=0;$i<2;$i++){
setcookie("cookie[cookie.$i]", 0, time()+60);
}
実際とは違うので↑が合ってるか分かりませんがこんな感じに書いてます。
この後セットしたものを
echo var_dump($_COOKIE["cookie"]);
で見ると、
array(6) {
["cookie0"]=>
string(1) "0"
["cookie1"]=>
string(1) "0"
["cookie2"]=>
string(1) "0"
}
と、string型になってしまいます。これをintにしたいのですが
例えばsetcookie("cookie[cookie.$i]", (int)0, time()+60);
としてもstring(1) "0"と出ます。これは仕様ですか?
744nobodyさん:2013/07/19(金) 17:40:16.99 ID:9KDx1fUs
array(6)っていうのはコピペミスでした、この場合array(3)です。
どなたか宜しく御願いします。
745nobodyさん:2013/07/19(金) 17:44:48.48 ID:???
>>743
cookieってテキストファイルに保存されるから、文字列として扱いましょう。
746nobodyさん:2013/07/19(金) 17:48:52.18 ID:???
>>745
ありがとうございます。
stringになるものとして扱っていきます。
747nobodyさん:2013/07/19(金) 18:14:18.42 ID:???
>>742
で、でた〜wこれで返した気奴〜wwwww
748nobodyさん:2013/07/20(土) 11:15:43.04 ID:0pH7e+ys
749nobodyさん:2013/07/20(土) 18:01:14.11 ID:???
PDOでsqlite3使ってるんですが、1万件程度のorder byがやたら遅いです
Windowsのローカル環境なら一瞬なんですが、サーバでやると何も返ってこなくなります
ローカルはsqlite3.7、サーバは3.6で差はありますが、そんなもんでしょうか?
サーバはubuntuです
全く同じDBファイルで速度がこうも違うのはどうも・・・
750nobodyさん:2013/07/20(土) 18:02:23.18 ID:J6XcTNYz
ID出してなかったので連投。

PDOでsqlite3使ってるんですが、1万件程度のorder byがやたら遅いです
Windowsのローカル環境なら一瞬なんですが、サーバでやると何も返ってこなくなります
ローカルはsqlite3.7、サーバは3.6で差はありますが、そんなもんでしょうか?
サーバはubuntuです
全く同じDBファイルで速度がこうも違うのはどうも・・・

何かわかる方よろしくお願いします。
751nobodyさん:2013/07/20(土) 18:10:25.00 ID:???
ハードの性能が悪いんだろ
とくにハードディスクとか
752nobodyさん:2013/07/20(土) 18:43:58.45 ID:???
サーバーが共用で処理を分けあってるんだろ。
753nobodyさん:2013/07/20(土) 19:05:03.46 ID:???
sqlitewwwww
754nobodyさん:2013/07/20(土) 20:09:00.61 ID:???
>>749-750
投稿前にメール欄の確認すらできないゴミがプログラミングやってんの?
マジで頭悪そう
755nobodyさん:2013/07/20(土) 20:29:18.35 ID:???
>>753
何か問題あるんでしょうか?
756nobodyさん:2013/07/20(土) 20:47:38.93 ID:???
757nobodyさん:2013/07/20(土) 21:01:42.80 ID:???
ちゃんとインデックス張ってんの?
758nobodyさん:2013/07/20(土) 21:09:35.51 ID:???
sqliteは導入の手軽さが売りってだけで
導入が手軽だからって初心者は使ってはいけないDB
759nobodyさん:2013/07/20(土) 21:12:06.09 ID:???
メモリとCPUのリソースの差だ。
家PCだと100メガメモリ確保してソート可能だろうが。
共用サーバーでは一ユーザーにそんなに使わせてくれない可能性。
例えばメモリが1Mとか3Mでも瞬時に返るように設計する。
760750:2013/07/20(土) 21:12:18.63 ID:J6XcTNYz
>>757
ありがとうございます。
Windowsでは早かったので張ってませんでしたが、張ってみても変わらないですね。
761nobodyさん:2013/07/20(土) 21:14:21.93 ID:???
検索、ソートにつかう項目はindex必須。
762750:2013/07/20(土) 21:16:15.88 ID:J6XcTNYz
>>758
初心者というわけでも無いので・・・
MySQLは普通に使いますが、今回はsqliteでも十分かと思っていました。
基本Selectするだけなので。
sqliteでもファイルの上限は100TくらいOKの仕様だし、速度的にはMySQLと遜色ないという報告もありましたし・・・。

>>759
一応バーチャルホストなので、100Mくらいは使えます。

order byしなければ速いんですけどね・・・。
やはりHDDですかね?
763nobodyさん:2013/07/20(土) 21:36:42.58 ID:???
>>762
初心者じゃないならくだらない質問やめれば?
お前こなくていいから。
764nobodyさん:2013/07/20(土) 21:52:29.01 ID:???
ひでえw
765nobodyさん:2013/07/20(土) 21:54:17.03 ID:???
>>763
初心者を煽りたいだけのゴミ人間おつ
766nobodyさん:2013/07/20(土) 21:56:47.54 ID:???
端から見てると>>762は初心者じゃないと思う
ただ心にかなり重い病気を抱えていると思う
767nobodyさん:2013/07/21(日) 00:18:58.92 ID:g8Cbs23W
>>750
> サーバでやると何も返ってこなくなります
数値。
あと、そもそもスレ違い
768nobodyさん:2013/07/21(日) 00:39:08.81 ID:???
>>750=ゴミw
リアルでもゴミ扱いなんだろうなw
本人が気づいてないだけでw
769nobodyさん:2013/07/21(日) 01:48:25.53 ID:???
ここ、初めてみたけどレベル低いな
phpやってる人ってこんなもんなん?
770nobodyさん:2013/07/21(日) 01:49:58.18 ID:???
771nobodyさん:2013/07/21(日) 01:51:25.40 ID:???
>>770
くだらなくない質問ならIDいらないだろうがヴォケ
772nobodyさん:2013/07/21(日) 02:01:19.82 ID:g8Cbs23W
>>769
何のレベル?煽りレベルは確かに低いと思う
773nobodyさん:2013/07/21(日) 02:05:36.65 ID:???
774nobodyさん:2013/07/21(日) 03:47:33.18 ID:???
最近このスレで解決した質問て無いよなw
まぁ質問者がゴミばっかりだけどw
775nobodyさん:2013/07/21(日) 04:01:16.13 ID:g8Cbs23W
最近ってここ数時間の話かな
776nobodyさん:2013/07/21(日) 06:30:41.08 ID:???
解決してもググったほうが早い糞みたいな質問ばっか
777nobodyさん:2013/07/21(日) 09:54:30.62 ID:???
ボキャブラリーがゴミしかない煽り屋さんとか?
778nobodyさん:2013/07/21(日) 10:37:28.38 ID:???
触るな
779nobodyさん:2013/07/21(日) 14:56:01.41 ID:???
>>777
自分がゴミって自覚があるんだなクズw
780nobodyさん:2013/07/21(日) 19:37:07.69 ID:???
うるさいゴミ
781nobodyさん:2013/07/22(月) 00:19:38.43 ID:iCQBXrZJ
>>776
ググったほうが早くない質問ってPHPみたいな
Webに情報がたくさんある言語だと難しいんじゃないのかなぁ?
782nobodyさん:2013/07/22(月) 10:14:23.51 ID:40jG2XTL
質問です。
PDOのlastInsertId() メソッドを使いたいのですが、これは、トランザクションを
使わなくとも、確実に直近のIDを返してくれるのでしょうか?

lastInsertId() をトランザクションと併用するべきか迷ってます。
よろしくお願いします。
783nobodyさん:2013/07/22(月) 12:04:06.67 ID:???
>>782
トランザクションは、まったく関係ありません。
確実に最後のIDが取得できます。
トランザクションは、まったく関係ありません。
784782:2013/07/22(月) 12:09:48.23 ID:W+cK0ECS
>>783
ありがとうございます。
マニュアルを見ても疑問でしたので助かりました。
http://www.php.net/manual/ja/pdo.lastinsertid.php
785nobodyさん:2013/07/22(月) 12:41:56.24 ID:???
むしろトランザクション使ってたら、閉じるまで0しか返ってこねーよ?
ということが書いてあるな
786782:2013/07/22(月) 13:08:31.47 ID:ONOFBZC7
>>785
それだと、解釈が逆じゃないですか。

if lastInsertId is called before calling commit, the right id is returned.
意訳:コミットする前にlastInsertIdを実行するなら、正しい結果のidがリターンされます。

つまり、マニュアル下の例文は、”コミットした後だと0を返す”ということを
注意したいのではないかと思います。
787nobodyさん:2013/07/22(月) 16:14:57.82 ID:???
いつまでも引っ張る奴うざい
788nobodyさん:2013/07/22(月) 18:09:19.66 ID:iCQBXrZJ
>>786
mysqlだとって書いてるんだけど、それは一致してんの?
789782:2013/07/22(月) 19:32:49.41 ID:BFmXtu3i
>>788
はい。mysqlを使ってます。
790nobodyさん:2013/07/22(月) 19:48:41.49 ID:iCQBXrZJ
791782:2013/07/22(月) 19:59:56.15 ID:BFmXtu3i
>>790
完璧な解答ありがとうございます。
納得できました。こういうことだったんですね。

『この動作は、各クライアントが他のクライアントの動向を気にせず、
ロックやトランザクションなしで、独自の ID を呼び出せるようにします。 』
792nobodyさん:2013/07/22(月) 21:07:24.19 ID:SyWIm22p
変数名の一部に変数名を使う場合の質問です。
$data_1 = "10";
$data_2 = "20";
$data_3 = "30";
for($a = 1;$a <= 3;$a++){
$data_{$a} = "0";
}

これで$data_1,$data_2,$data_3の値には全て0が入ると思うのですがうまくいきません。
どこが間違っていますか?
793nobodyさん:2013/07/22(月) 21:23:10.67 ID:???
>>792
$data_1 = "10";
$data_2 = "20";
$data_3 = "30";
for($a = 1;$a <= 3;$a++){
${data.'_'.$a} = "0";
}
794nobodyさん:2013/07/22(月) 21:25:35.56 ID:???
${'data_'.$a} = "0"; です。
795nobodyさん:2013/07/22(月) 21:44:25.64 ID:SyWIm22p
>>793>>794様、即答ありがとうございました。
下らねぇ質問大変失礼いたしました。
796nobodyさん:2013/07/22(月) 22:39:31.49 ID:???
>>792
そういうのは普通配列を使うんだけど、配列じゃ駄目なの?
797nobodyさん:2013/07/22(月) 22:57:17.40 ID:???
798nobodyさん:2013/07/22(月) 23:37:04.52 ID:???
namespace使ってる?
入れ子を\で区切るとか、ファイルで宣言した名前空間外のクラスを使うとき
わざわざ先頭に\をつけるあの変な感じ、どうよ?
慣れるしかないとはいえ、導入を迷うw
799nobodyさん:2013/07/22(月) 23:47:16.55 ID:???
800nobodyさん:2013/07/22(月) 23:50:18.03 ID:???
>>799
>>1がどうした
801nobodyさん:2013/07/22(月) 23:58:54.48 ID:e0dCeDVf
802nobodyさん:2013/07/23(火) 00:31:01.95 ID:???
>>800
ウザいゴミ
803nobodyさん:2013/07/23(火) 00:33:12.35 ID:???
なんか他に楽しいことないのかしら
804nobodyさん:2013/07/23(火) 11:02:05.34 ID:???
ID出せっていちいちうるさいな
嫌なら無視しておけよ
805nobodyさん:2013/07/23(火) 11:02:54.09 ID:???
>>804
なら、お前がそいつを無視すればいい
806nobodyさん:2013/07/23(火) 11:03:32.69 ID:???
>>804-806

俺乙
807nobodyさん:2013/07/23(火) 11:38:50.05 ID:???
ここで自治精神を発揮するくらいしか、自己承認欲求を満たす場が無いんだろ。
ほっとけよ。
808nobodyさん:2013/07/23(火) 11:39:29.59 ID:???
回答者から質問者に対する、回答に必要な質問にまで、
ID出せというのは行き過ぎだよね。
809nobodyさん:2013/07/23(火) 12:33:15.66 ID:???
>>808
このスレの方針に反対ならさっさと出ていけゴミが
810nobodyさん:2013/07/23(火) 12:41:28.22 ID:j5IjTUb1
>>809
回答者による質問者に対する質問はIDを出す必要はないでしょ。
このスレの方針とやらを考えるなら、なおさら。
811nobodyさん:2013/07/23(火) 12:43:59.47 ID:???
>>809
勝手に方針決めるなクズ
812nobodyさん:2013/07/23(火) 13:17:32.39 ID:???
夏が >>809 をそうさせる。
813nobodyさん:2013/07/23(火) 14:18:44.17 ID:???
>>809
IDが必要なのは最初の質問者だけで、その回答に絡んだ疑問はID不要。
入れたければ入れてもいいが。
814nobodyさん:2013/07/23(火) 15:21:57.57 ID:0dqisodV
eccubeっていうecサイトのフレームワークありますよね

それのsmartyファイルのフォーム名がほとんどform1なんですけど、なぜなんですか?
jsの処理でform名を固定しているからですかね
815nobodyさん:2013/07/23(火) 16:38:20.79 ID:???
>>814
自分で調べろ知障
816nobodyさん:2013/07/23(火) 16:54:08.08 ID:???
これはひどい。
817nobodyさん:2013/07/23(火) 17:10:58.16 ID:0dqisodV
>>815
まともに答えられないならむりに返信しなくていいぞ
818nobodyさん:2013/07/23(火) 17:46:15.32 ID:j5IjTUb1
>>814
ほんとにjsの処理にform名が出てきてるの?
いまやform名に依存する処理なんてめったなことじゃ書かないし、適当につけてるだけだと思うんだけど。
819nobodyさん:2013/07/23(火) 17:49:21.99 ID:???
>>818
ソースをダウンロードして展開しgrepすればすぐにわかるが、やる気しない。
820nobodyさん:2013/07/23(火) 17:50:10.45 ID:???
>>818
ここはお前の思ったことを垂れ流すスレではない。
821nobodyさん:2013/07/23(火) 18:04:07.75 ID:j5IjTUb1
>>820
そうなんですか?回答者は何をすればよいのでしょうか。
822nobodyさん:2013/07/23(火) 20:21:27.68 ID:???
>>821
自分の考えではなく
確実な情報をソース付きで書き込めばよい
823nobodyさん:2013/07/23(火) 20:52:40.00 ID:???
ここは質問者はIDさえ出せば良い。

IDを付けさせすれば、最小限の質問内容でも
回答者が全ての可能性を精査し、
その中で質問者に最も相応しいと思われるものを
ありがたく返答させていただく、そういうスレッドだ。

質問者はIDさえ出せばあとは王様として何をしても許される、
そういうところであると知れ、皆の者!
824nobodyさん:2013/07/24(水) 00:20:11.79 ID:eh4z8est
>>822
おまえの考えなんてきいてねーよ
825nobodyさん:2013/07/24(水) 00:32:15.39 ID:kUBhaFmK
>>822
ほんとに?
今回の場合、スレ違いと回答すべきだったんじゃないですか?
826nobodyさん:2013/07/24(水) 00:49:35.04 ID:???
ここは質問スレとは名ばかりだな
ただの2ちゃんねる
827nobodyさん:2013/07/24(水) 02:11:34.47 ID:???
ここは2ちゃんねるじゃなかったのか
828814:2013/07/24(水) 09:10:19.11 ID:RTSfazD+
で、どっちなんでしょうか
知ってる人教えてください
829nobodyさん:2013/07/24(水) 10:53:05.08 ID:???
>>828
いちいち固有の名前を付けるのがめんどくさかっただけだろ
830nobodyさん:2013/07/24(水) 11:48:07.06 ID:???
フォーム名を指定してある。
site.js辺りを見たらわかるよ
831nobodyさん:2013/07/24(水) 12:35:39.47 ID:???
EC-CUBEって全然コーディング進化してないのな。。。
あんなんで海外進出って、無理やろ
832nobodyさん:2013/07/24(水) 13:56:10.97 ID:RTSfazD+
>>831
eccubeのコーディングってレベル低いんでしょうか
自分phpの大規模アプリケーションはeccubeしかしらないので
833nobodyさん:2013/07/24(水) 13:57:56.68 ID:???
PHPで大規模開発するのが間違い
他人がソースを読める言語じゃない
834nobodyさん:2013/07/24(水) 15:05:38.65 ID:r13N69WF
今回はじめてPDF出力させたくなって調べています。
スタンダードなものがあると思ってたらそうでもないのですね。
ざっと見た感じ、

PHP::PDF
PHP::Haru
FPDF

などがありました。

それぞれの特徴を比較したような記事を探しているのですが、
何かありませんか?
835nobodyさん:2013/07/24(水) 15:13:07.58 ID:ggp4C653
HTMLからフォームがPOSTされたとき
PHP側で$_SERVER['HTTP_REFERER']と$_SRVER
836nobodyさん:2013/07/24(水) 15:21:33.77 ID:ggp4C653
途中でした。
PHPかMySQL側の問題か分からなかったのでこちらで質問させてもらいます。

HTMLからフォームがPOSTされたときPHP側で
$_SERVER['HTTP_REFERER']と$_SRVER['REMOTE_ADDR']を取得し
DBに保存しています。
そのときリファラを$ref、IPを$ipに入れて
IPは$ip2long = ip2long($ip);として変換しています。

そしてMySQLの"URL_ip2long"と"ip2long"というカラムを用意し
$sql = "INSERT INTO tbl1 VALUES (\"${r}_$ip2long\", ip2long);";
というSQL文で送っています。
するとMySQLのほうの「URL_ip2long」と「ip2long」の二つのip2longの数値がバラバラになることがあります。
同じときもあるのですが、なぜ同じ変数でsql文を作っているのにバラバラになるのでしょうか?
837nobodyさん:2013/07/24(水) 15:25:43.96 ID:???
MySQL の型は?
桁数足りてないんだよきっと
838nobodyさん:2013/07/24(水) 15:41:10.71 ID:ggp4C653
>>837
はっ!それは盲点でしたURL_ip2longはvarchar(255)で
ipはint(11)でした。
intが短すぎるのですね最大の15桁くらいで問題ないでしょうか?
839nobodyさん:2013/07/24(水) 16:14:05.40 ID:???
mysqlの int(11)の 11の意味は
格納できる数値の桁数とかではありません。 ゼロ埋め設定したときの桁出しかありません。
intでは足りません。
840nobodyさん:2013/07/24(水) 16:26:04.65 ID:kUBhaFmK
> intでは足りません。
そうなの?
841nobodyさん:2013/07/24(水) 16:32:29.33 ID:???
IPアドレスなら32ビットだから、intが32ビット整数なら符号付いてるだろうし
足りないだろうな。BIGINT (64bit)にするとか?
842nobodyさん:2013/07/24(水) 16:53:05.86 ID:kUBhaFmK
int(10) unsigned
でこと足りると思うんだけどなぁ。
11なのは符号を考慮してなのかな。
843nobodyさん:2013/07/24(水) 17:11:58.65 ID:mtAWVzwD
|| ←キーボードでどうやって出すの?
844nobodyさん:2013/07/24(水) 17:28:05.57 ID:???
JISキーボードなら、。シフト+\ を2回
845nobodyさん:2013/07/24(水) 17:37:42.91 ID:???
>>834
他人の比較記事だと着眼点が求めるものかわからない。
それぞれの紹介記事やサンプルコード、APIを眺めるのが早いと思うけど。
846nobodyさん:2013/07/24(水) 17:52:15.46 ID:???
>>845
ありがとう。
まぁ、そうですよね。
とりあえず Haru っていうので試してみます。
847nobodyさん:2013/07/24(水) 18:18:08.31 ID:???
パソコン初心者スレじゃねーんだぞ
848nobodyさん:2013/07/24(水) 20:59:25.89 ID:???
phpにhtmlを書く場合
◆ケース1
<html>
<head>title</head>
<body>
<?php
  処理
?>
</body>
</html>
◆ケース2
<?php
  echo "<html>\n";
  echo "<head>title</head>\n";
  echo "<body>\n";
  処理
  echo "</body>\n";
  echo "</html>\n";
◆ケース3
<?php
  setHeader( 'title' );
  処理
  setFooter();
関数は別ファイルで定義してあるとして、私は使い回しができるケース3が好きだし、大学の講師もケース1を使っていたのですが、javascriptやcssの記述がめんどうになります。
しかも友達がケース1を使っていたりして一緒に何かを作るってなったときやりにくいです。
一般的に作法が良いといえるのはどれでしょうか?プロの世界ではどれが正しいのですか?
849nobodyさん:2013/07/24(水) 21:07:13.91 ID:???
smarty
850nobodyさん:2013/07/24(水) 21:09:40.55 ID:kUBhaFmK
正解なんて状況によって変わる。
ただ2はひどい、せめてヒアドキュメントかnowdocをすすめる。

メジャーなフレームワークでも試してみたら?
851nobodyさん:2013/07/24(水) 21:53:56.44 ID:???
>>848
ケース1でhead内もphpで記述すりゃいいんじゃない?
852nobodyさん:2013/07/24(水) 21:58:11.18 ID:???
2ちゃんねるだけでも莫大な数のスレッドがあるけど
ここは底辺1%にランクインするくらいの糞スレだな
853nobodyさん:2013/07/24(水) 22:15:48.90 ID:???
糞スレ立てんな池沼ども
どうせこれ立てたのお前らだろ
http://kohada.2ch.net/test/read.cgi/php/985848031/
854nobodyさん:2013/07/24(水) 22:51:39.06 ID:3RFLgY0N
>>849-850
ありがとうございます
どれが正解とかはないのですね
smartyやフレームワークを試してみます
855nobodyさん:2013/07/24(水) 22:55:54.19 ID:???
>>854
ロジックを書くPHPとテンプレートを書くPHPに分ける
856nobodyさん:2013/07/25(木) 00:49:50.07 ID:2TH+2Iiw
"ver.2 test.Test"という文字列を"ver.2 test. Test"のように
ピリオドの次の文字が大文字のときに限り半角スペースを挿入したいのですが
良い方法はないでしょうか?
857856:2013/07/25(木) 00:52:35.37 ID:???
正規表現に関する質問になるため、当該スレにて質問させていただきます。
スレ汚し申し訳ございません。
858nobodyさん:2013/07/25(木) 02:50:34.31 ID:miApmhUP
>>852
1%じゃ多すぎる。せめて0.1%ぐらいを目指さないとな。

>>856
後方参照というキーワードだけで大丈夫かなぁ。
859nobodyさん:2013/07/25(木) 15:09:52.80 ID:???
>>856
$str = "ver.2 test.Test";
echo str_replace(array_map(function($v){return".$v";},range('A','Z')),array_map(function($v){return". $v";},range('A','Z')),$str);
860nobodyさん:2013/07/25(木) 17:34:59.87 ID:3t1Hdtr4
オブジェクトのプロパティに対して配列形式で呼び出せるような
マジックメソッドはないよね。
ArrayObjectの継承で対応するしかないのかな?

$obj->name; // publicなnameプロパティの呼び出し
$obj['name']; // 配列形式でも呼び出したい
861nobodyさん:2013/07/25(木) 22:46:44.26 ID:3t1Hdtr4
ArrayObjectクラスの継承で書き始めちゃったが
ArrayAccessインターフェイスの実装で対応できるみたいだ。
これからテストしなおすけど、後者の方がシンプルで他言語に近いし
$obj['id'] = 3;
みたいなコードをハックして処理を加えたりもできるので
当方のニーズにも合うっぽい。

http://php.net/manual/ja/class.arrayobject.php
http://php.net/manual/ja/class.arrayaccess.php
862nobodyさん:2013/07/25(木) 22:55:09.09 ID:3t1Hdtr4
>>861
×ArrayAccessの実装で
○ArrayAccessを実装するだけでも

ArrayObjectはArrayAccessをimplementしている。
・・・と書いてから思ったけど、せっかくArrayObjectがあるんだから
ArrayObjectの各実装部分を必要な範囲で拡張すればいいってことか。
了解。
863nobodyさん:2013/07/25(木) 22:55:47.85 ID:???
そんなただの配列と見分けがつかないコードを読まされる身にもなれよ
864nobodyさん:2013/07/26(金) 00:01:32.04 ID:???
>>863みたいに実際読むわけでもない他人のやり方にケチつけるゴミは排除できないの?
865nobodyさん:2013/07/26(金) 00:18:24.02 ID:J0GaH00B
mb_send_mailで送ったメールって、
同じメアドに送ったメールでも、届く時と届かないときがある。
以前はこんなことなかったんだけど。
866nobodyさん:2013/07/26(金) 05:48:13.79 ID:???
俺も>>863と同じ意見
867nobodyさん:2013/07/26(金) 06:55:12.83 ID:???
>>865
日記帳に書いてろクズ
スレ違いの内容を平気で書き込むてめーみたいなクズはこの世にいらねーんだよ
糞みたいなコード書いてる暇があったらさっさとプロバイダ解約しろ
868nobodyさん:2013/07/26(金) 10:03:59.59 ID:???
>>863 >>866
ダックタイピングって考え方があるじゃん。
データを保持するだけのHashライクはオブジェクトをしょっちゅう書くと思うけど、
配列(ハッシュ)を受け取る前提のコードに対して
その都度変換して渡さなきゃいけないんじゃしょうもないわけだから。

PHPではともかく、オブジェクトが[]に応答するとか
ハッシュと区別なくループに渡せるよう設計するのはありふれてるし
データの出し入れは[]のみにして他の機能(メソッド呼び出し)と区別するような設計も珍しくない。
だからこそPHPもそのためのライブラリを標準で用意してるはずだし。
869nobodyさん:2013/07/26(金) 10:34:13.12 ID:???
>>860
そもそもなんで
> $obj->name; // publicなnameプロパティの呼び出し
> $obj['name']; // 配列形式でも呼び出したい
こんなことしたいの?
870nobodyさん:2013/07/26(金) 10:40:59.41 ID:???
>>868
> データを保持するだけのHashライクはオブジェクトをしょっちゅう書くと思うけど、
> 配列(ハッシュ)を受け取る前提のコードに対して
> その都度変換して渡さなきゃいけないんじゃしょうもないわけだから。

どういう意味?
871nobodyさん:2013/07/26(金) 14:33:47.74 ID:???
>>870
分からないなら答えなくていいから引っ込んでて

邪魔
872nobodyさん:2013/07/26(金) 14:40:06.40 ID:???
>>871
説明できないなら黙ってて
873nobodyさん:2013/07/26(金) 14:43:43.28 ID:uVKddw2H
クラス名を小文字にしてから名前空間取り除いて、アンダースコアが含まれていたら
最後のアンダースコアより右の部分を返すメソッドをこんな風に書きました。

$class = new \ReflectionClass(get_called_class());
$screen_name = strtolower($class->getShortName());
$screen_name = explode('_', $screen_name);
$screen_name = array_pop($screen_name);
return $screen_name;

自分で書いといてあれですが、途中「$screen_name =」が連続していて
なんだか気持ち悪いです。スマートな書き方はないでしょうか
874nobodyさん:2013/07/26(金) 14:45:02.17 ID:???
>>873
関数呼び出しを引数の中に入れれば?
875873:2013/07/26(金) 14:48:05.51 ID:uVKddw2H
なぜ思いつかなかったのか…
$screen_name = strtolower(array_pop(explode('_', $class->get_ShortName())));
こういうことですよね。1行で済んですっきりしました。ありがとうございました!
876873:2013/07/26(金) 14:58:36.01 ID:uVKddw2H
すみません試さずにレスしちゃいました。上記の書きかただと
Only variables should be passed by reference
と怒られてしまいました。array_popは分けないとだめみたいですね。
$screen_name = explode('_', strtolower($class->getShortName()));
$screen_name = array_pop($screen_name);
これで妥協しました。
877nobodyさん:2013/07/26(金) 15:16:02.39 ID:???
>>859のやり方とpreg_replace使ったやり方だったらどっちが早いの?
878nobodyさん:2013/07/26(金) 15:17:24.09 ID:???
879nobodyさん:2013/07/26(金) 16:56:27.61 ID:???
気になって試してみました。せっかく調べたので貼ります。
http://codepad.org/wGAI38rK
>>859のままだと遅かったのでarray_mapとrangeを使っていたところを
preg_match_allとforeachにしてみたところ
str_replace => 0.10132193565369
preg_replace => 0.14550995826721
となりました。preg_replaceの方が早そうに思えたのですが
str_replaceのほうが早いという結果に。
880nobodyさん:2013/07/26(金) 16:58:59.00 ID:???
url間違えたorz
http://codepad.org/nKDgWIfh
881nobodyさん:2013/07/26(金) 17:31:30.85 ID:CaK9dws1
お前らが今まで実際に付けた変数名で一番恥ずかしい変数名を教えろくれ
882nobodyさん:2013/07/26(金) 17:31:59.50 ID:???
正規表現のほうが早いと思ってたの?
883nobodyさん:2013/07/26(金) 17:46:07.70 ID:???
なんでそんな変なもので比べてるのさ。
比べるなら
function testPregReplace($str)
{
return preg_replace('/\.(?=[A-Z])/','. ',$str);
};
だろ。
884nobodyさん:2013/07/26(金) 18:14:27.84 ID:???
2^0 が2になってしまうのはなぜ?
885nobodyさん:2013/07/26(金) 18:15:55.77 ID:???
>>882
思ってましたorz

>>883
こう書けばよかったんですね。
0.039562940597534に縮まりました。早い!
勉強になります。ありがとうございました。
886nobodyさん:2013/07/26(金) 22:16:58.91 ID:IuXn2I5X
PHPとMySQLの勉強をしたいんですが、
参考書はPHPとMySQLのものを1冊づつ買うのと、
まとめて解説しているものを1冊買うのとではどちらのほうがいいですか?
また、おすすめの参考書などはありますか?
wordpressで簡単なテーマを作るくらいはできるので、
PHPとMySQLの基礎はなんとなくわかります
887nobodyさん:2013/07/26(金) 22:20:58.93 ID:???
>>886
本はおすすめしない
888nobodyさん:2013/07/26(金) 22:29:50.57 ID:IuXn2I5X
>>887
どうしてでしょうか?
基本的に、ネットで勉強するよりも参考書で勉強するのが好きなので、
参考書を使いたいです
特に今のような初級者レベルの時にはです
889nobodyさん:2013/07/26(金) 22:31:11.90 ID:???
じゃあどうぞ
890nobodyさん:2013/07/27(土) 00:41:06.51 ID:???
どのレベルを目指してるのかわからないけど、本をすすめる。

初心者がやゃっちゃいけないのは全体を見渡せないうちにブログなどで適当な知識をつまみ食いすること。
これは網羅性の無さと一貫性の無さとで初心者には害以外の何物でもない。

唯一の例外は公式ドキュメント「のみ」を片っ端から読んでいくことだけど、
きっと無理。それが出来たら凄い。

ある程度の知識があってじっくり勉強する気があるんならPHPはパーフェクトPHP、MySQLは徹底入門。
これ以外ない。
891nobodyさん:2013/07/27(土) 00:56:41.49 ID:vfwlgbY0
>>889>>890
ありがとうございます。
レベルはweb系の仕事で使えるくらいを目指しています。
パーフェクトPHPは評判を聞いてパラパラと読んだことがあります。
ですがまだこれを読むのは早いと感じたので、もう少しかんたんな参考書を探しています。
もしご存知でしたらよろしくおねがいします。
892nobodyさん:2013/07/27(土) 01:04:02.74 ID:???
>>891
PHPのもっとも簡単な参考書は公式ドキュメントだと思う。
本は、より分かりにくく説明するのがかっこいいみたいなものが多く、
こんなに簡単なことをあそこまで回りくどく書くのはすごいと思ったりした。
893nobodyさん:2013/07/27(土) 01:30:02.56 ID:???
>>891
あとはオライリーの初めての〜が体系的で網羅されてるんで良かったんだけど、
いかんせんもう古い。

確かにPHPはマニュアルの出来が他に比べて段違いに良く出来てるから
脇目もふらずマニュアルだけっていうのも良いかもしれない。

あとは実は読んだことないんだけど、
シリーズの他の内容からして独習PHPかなぁ。
894nobodyさん:2013/07/27(土) 02:58:24.62 ID:5jmrFCTn
oauthによるログインの実装はサービスプロバイダによって変えなきゃいけないと思いますが
pecl oauthなどのライブラリは何のためにあるのでしょうか?
895890:2013/07/27(土) 05:43:53.91 ID:???
「ブログなど」と書いたが、この「など」には当然ながら2ちゃんねるの質問スレッドも含む。
自己顕示欲を満たしたいがために書きこまれた内容が多く、情報の信頼性はWEB上の文書としては最低ランク。
いつ返事がもらえるか分からないといった点も憂慮すると、少なくとも最初に選択肢から消える。

分かってない馬鹿がいると困るから念のために追記しておく。
896nobodyさん:2013/07/27(土) 05:57:48.40 ID:???
>>895
「追記しておく。」じぇねーよバカw
自分が理解力無いって事を長々と自慢すんなw
897nobodyさん:2013/07/27(土) 08:41:04.46 ID:???
>>895
ここ最近の書き込みでは、こいつが一番自己顕示欲が強いな。
898nobodyさん:2013/07/27(土) 22:38:37.56 ID:???
PHPの本てなぜだか他言語に比べていい本が少ない感じがするな。
同じような入門者向けの本ばかりな感じで。
執筆者がマニアックな研究成果を書籍化する情熱を持ちにくいとか、
PHPの本なんか出したら馬鹿にされるとでも思ってるのかもしれないが
今くらい言語が成長してきたら、なんかあってもいいハズw

言語をマニアックに探求したようなボリュームのある本が読みたいー。
目からウロコ的な体験したいー。
899nobodyさん:2013/07/27(土) 23:20:31.01 ID:???
マニアックなの知ってもつかわねーけどな。

while () : endwhile; とか、
declareとか
900nobodyさん:2013/07/28(日) 05:07:05.58 ID:???
>>898
まともな人間はゴミ言語をネタに執筆するくらいなら他の本を書くよ
901nobodyさん:2013/07/28(日) 12:17:04.36 ID:???
>>899
declare って初めて知ったわ

コロン〜セミコロンブロックはビューの作成のときに使うと便利だ
902nobodyさん:2013/07/28(日) 12:19:04.08 ID:???
>>898
作者のラードフ自身がめちゃ冷めてるからな

読み応えのあるPHP本はパーフェクトぐらいだ
903nobodyさん:2013/07/28(日) 17:26:03.55 ID:???
PHPの作者は文字通り末代までの恥だなw
904nobodyさん:2013/07/28(日) 18:12:11.84 ID:???
事故解決した・・・
pecl oauthは2.0対応してないのかな・・・たぶん
905nobodyさん:2013/07/29(月) 20:53:57.49 ID:L7NTB0j9
オブジェクト指向エクササイズを始めてみたんですが
・すべての文字列、プリミティブ型をラップ
・getter/setterを使わない
この2つでつまずきました。ツイッターボットを作ってるんですが
ツイート内容$messageを管理するMessageをつくりました。
class Message
{
private $message;
public function __construct($mesage)
{
$this->validate($message); // 文字数140文字以上で例外投げる
$this->message = $message;
}
}
ここまで書いて思ったんですけど、$messageがほしいとき
絶対getter必要ですよね?getter使わないうまい方法あるんでしょうか?
教えていただきたいです。
906nobodyさん:2013/07/29(月) 21:18:58.06 ID:???
なんでgetter/setter使わないの?
907nobodyさん:2013/07/29(月) 21:23:28.16 ID:L7NTB0j9
getter/setterを定義したクラスの中身はスカスカになるから
とのこと。ここ見てやってます
http://www.slideshare.net/yojik/ss-1033616
908nobodyさん:2013/07/29(月) 21:41:50.35 ID:???
>>907
書いてあるようなDTO戦略、ダブルディスパッチ戦略じゃだめなの?
909nobodyさん:2013/07/30(火) 01:47:13.73 ID:???
>>905
Getter, Setter, プロパティを使用しないって、無理だろw
プリミティブラッパの Money の int をどうやってフロントエンドで扱うんだよw

とは言え、なんとなく、Messageのもう一個抽象度の高いクラスがスライドで言わんとする
プリミティブラッパなんじゃないかという気がするが。
プログラム全体で使用する文字列をまとめたようなものとか。
910nobodyさん:2013/07/30(火) 08:36:45.12 ID:???
クラス名がMessage で 文字列がmessageなのがいかんのだよ。
911nobodyさん:2013/07/30(火) 16:48:37.57 ID:???
ウゼエ
912nobodyさん:2013/07/30(火) 23:14:30.42 ID:WU4kZdo7
Apacheの.htaccessでセットした環境変数をPHPで取得する際、
$_SERVERからはとれるけど$_ENVには含まれてない。
直感的には$_ENVにセットされそうなもんだけど、
webアクセス(webサーバ)だから$_SERVER?
913nobodyさん:2013/07/31(水) 00:30:06.73 ID:???
$_ENVは環境変数なんだから、そこに入るのほうが違和感
914nobodyさん:2013/07/31(水) 03:26:22.69 ID:???
どなたか今流行りのD・V・D!のAA(女の子が責任とって脱ぐはめになるやつ)を「C・G・I!」で作り直してもらえませんか?
これは依頼であり質問ではないのでIDは出しません。
915nobodyさん:2013/07/31(水) 08:15:42.65 ID:XTaQ3zxY
functionについて質問です

いままで使ってきた便利なものを詰め込んだfunction集があって
面倒なのでincludeしてそのまま使っています。

すべて使うわけじゃないんですが、使わない関数であっても読み込み時間以外の部分で
重くなっていくのでしょうか?
916nobodyさん:2013/07/31(水) 08:53:32.83 ID:???
>>915
ベンチとる前に質問するゴミは向いてないから今すぐプログラミングやめろ
917nobodyさん:2013/07/31(水) 16:03:09.95 ID:???
>>913
Apacheが設定した環境変数やユーザ定義の環境変数が
環境変数じゃないなら何なんだよ?
普通はENVなどのグローバル変数にセットされたりして、全部そこからとるだろ。
PHPが親切にも独自に区別してくださってるわけで。

けどまあ.htaccessに記述してる以上、ユーザがサーバ(Apache)に定義した環境変数って扱いで
$_SERVERに入るってことで間違いはないか。
918nobodyさん:2013/07/31(水) 17:23:43.73 ID:Q2Qu8age
>>917
あるアプリケーションからみて、ある環境変数がどの種類の環境変数であるかを区別することはできない。
つまり、これはなんか変。
>PHPが親切にも独自に区別してくださってるわけで。
919nobodyさん:2013/07/31(水) 17:29:31.85 ID:???
>>917
お前の普通が世界の普通だとは思うなってことだな
920nobodyさん:2013/07/31(水) 17:30:12.22 ID:???
そもそも、今$_ENVって何か設定されるのか?
921nobodyさん:2013/07/31(水) 17:38:26.84 ID:???
>>919
PHP以外で区別される言語あんのかよ
922nobodyさん:2013/07/31(水) 17:47:29.46 ID:???
>>921
Rails
923nobodyさん:2013/07/31(水) 17:53:31.81 ID:???
httpサーバプロセスと別プロセスで動作したり、動的モジュールで動作したり、コマンドラインで動作したり、
httpサーバもApacheやIISやnginxとかいろいろあるし、全部ひっくるめて「環境変数」ってやるよりなんか
分けといた方が良くね?って感じじゃないかと想像。
924nobodyさん:2013/07/31(水) 18:05:16.86 ID:???
$_ENV はOSの環境変数と違うのけ?

サーバーがOSの環境変数を書き換えたり、
逆にその値をコピーしたものをサーバーの設定値に
使ってるとかなら同じ値ってだけやろ
925nobodyさん:2013/07/31(水) 18:23:25.06 ID:???
>>924
ID出せ糞が
926nobodyさん:2013/07/31(水) 18:47:39.92 ID:???
>>922
あほらし。「世界の普通」なんて大雑把にスケールでかくしゃべったって
てめえで収拾できねえだろってゆうね
927nobodyさん:2013/07/31(水) 19:10:31.30 ID:???
$_ENV はOSの環境変数と違いまっせ

サーバーがOSの環境変数を書き換えたり、
逆にその値をコピーしたものをサーバーの設定値に
使ってるとかなら同じ値ってだけでっせ
928nobodyさん:2013/07/31(水) 19:29:34.25 ID:???
ENVって書き換えちゃうと、マルチプロセッシングモジュールが
マルチプロセスではなくマルチスレッドのものだったときに
同じプロセス上の別のスレッドで処理されてるリクエストにまで
影響が出るから使わないでしょ?
929nobodyさん:2013/07/31(水) 19:40:31.09 ID:CpeXHPN6
ド初心者です

大文字小文字の区別を含む英数字、アンダーバーから成る
1桁から4桁までの順列の文字列について、
逐一調べていくプログラムをおしえてください(´・ω・`)

for ($i = 97; $i < 122; $i++) {
for ($j = 0; $j < 100; $j++) {
$check = chr($i) . strval($j); 以下略

でa0〜z99 までの英字小文字+数字2桁までチェックするのはできましたが
作りたいのはこれじゃありません。

全部で(27+27+10+1)P4 種類あるとおもいますが、全部を書き出すにはどうすればいいのでしょうか。
930nobodyさん:2013/07/31(水) 20:05:38.71 ID:Q2Qu8age
全部を書き出すことが本題じゃないように思う。
その辺を気にせず適当にやるならこんな。

$characters = array_merge(range('a', 'z'), range('A', 'Z'), range('0', '9'), array('_'));

foreach ($characters as $c1) {
echo $c1, PHP_EOL;
foreach ($characters as $c2) {
echo $c1, $c2, PHP_EOL;
foreach ($characters as $c3) {
echo $c1, $c2, $c3, PHP_EOL;
foreach ($characters as $c4) {
echo $c1, $c2, $c3, $c4, PHP_EOL;
}
}
}
}

チェックとやらを1箇所にしたいならジェネレータ使えばいいかな
931nobodyさん:2013/07/31(水) 20:07:32.97 ID:Q2Qu8age
どっかのウェブサイトにブルートフォースアタックしようとしてるなら萎えるが
932nobodyさん:2013/07/31(水) 20:19:48.74 ID:???
>>930
なんでいちいちechoしてんだ
933nobodyさん:2013/07/31(水) 20:21:44.96 ID:Q2Qu8age
> 1桁から4桁まで
らしいので
934nobodyさん:2013/07/31(水) 21:33:29.08 ID:???
Pって書いてあるけど、それ順列じゃないよ
935nobodyさん:2013/07/31(水) 23:08:47.07 ID:CpeXHPN6
>>930
ありがとうございます
大変勉強になりました m(._.)m
array_rangeもrangeもforeachもはじめてしりました。
無事やりたい事ができました。
しかし、レンサバに置いてChromeから確認してるんですが、処理の途中で止まってしまいました。

色々調べて
ignore_user_abort(1); //
set_time_limit(86400); // 24時間継続

の2行を追加したら、処理時間は大幅に伸びたんですが、
さっきよりましになったものの、1665個調べたところで所要時間にしてせいぜい1時間くらいでとまってしまいました。
set_time_limitの設定で上限が伸びたとおもいきや、set_time_limitの24時間より先に終わってしまいました。

これはサーバーの都合でしょうか?

もう処理を途中で止めないための手立てはないんでしょうか・・・
936nobodyさん:2013/07/31(水) 23:13:13.48 ID:???
もういろいろおかしい
937nobodyさん:2013/07/31(水) 23:14:25.74 ID:???
65種類が4桁なので 17850625通り
1665個で1時間だとしたら、446日掛かりますが。
938nobodyさん:2013/07/31(水) 23:49:17.05 ID:CpeXHPN6
>>937
おっしゃる通りです。m( __ __ )m

いまもう一度試しましたが、やはり1700個でとまってしまいました。
制限時間が限度になってしまったんでしょうか。
phpを置いているサーバーの都合と思われます。

プログラムの内容は
しらみつぶしに1種類ずつよそのサイトに問い合わせて、その結果を評価していくというものです。

むこうのサイトでエラーが出たのではなく、こっちの都合で止まってるように思えるので
ローカルで手間暇かけて実行してみます。

あるいは今回の作業は特にWEBで公開したいものではないので、phpは向いていないのかも知れません。
939nobodyさん:2013/07/31(水) 23:54:53.47 ID:???
>>938
ブルートフォースアタックは犯罪だよ
940nobodyさん:2013/08/01(木) 00:48:00.20 ID:8K5rz99y
>>939
今回の内容は、ツイッターでまだ空いている4字以内のアカウント名を探すという作業ですm(._.)m

このあたりを参考にしました。
http://anterence.blogspot.jp/2011/05/finding-short-twitter-handles-usernames.html

他の人がリストにしてまとめて公開されていましたが、やはり調べるのに3,4日かかったと言っています。
どうやって調べたのか判りませんが、多分phpじゃないと思います。

彼のリストを使えばいいのですが、後学のために自分でも探せるようになりたいです。
941nobodyさん:2013/08/01(木) 01:24:13.45 ID:???
>>940
どのAPI叩いてるの?
942nobodyさん:2013/08/01(木) 01:25:16.24 ID:???
>>940
Librahack事件知らないのか?
無邪気にもほどがあるぞ。
943nobodyさん:2013/08/01(木) 01:41:06.95 ID:???
どんなサーバー借りてるのか知らんが、
共用ならあっという間に追い出されるぞ
944nobodyさん:2013/08/01(木) 02:16:21.58 ID:8K5rz99y
ゲゲっ!直ちに中止します m( __ __ )m
無事リスト化されたところから、空いてるアカウントは見つかったし、勉強にもなりました
Librahack事件も知りませんでした
945931:2013/08/01(木) 03:04:24.87 ID:wB1Xy7gX
やな予感が当たったか。
なんか、こういう使い道がよくない質問って多いよね。
正規表現スレも似たような出来事多いし。。

桁数の少ないIDとって売買しようとしてんのかなぁ。ドメイン転売みたいに。
946nobodyさん:2013/08/01(木) 03:52:46.25 ID:???
いちいち忠告してやる必要はないだろ
いきなりコーディングから入る知能障害は一度痛い目に合うべき

とはいえ思考回路が変わったわけじゃないから
いつか忠告する人のいない場面でやらかすだろうね

さすがは犯罪者予備軍のPHPスレ
947nobodyさん:2013/08/01(木) 05:54:23.59 ID:???
馬鹿の癖にプログラミングから手は引かないだろうから結局いつか逮捕されるだろうなw
親御さんもさぞ楽しみにしてるだろうなw
948nobodyさん:2013/08/01(木) 10:58:50.09 ID:???
図書館問題よく分かってない馬鹿がいるな
949nobodyさん:2013/08/01(木) 16:35:32.93 ID:???
図書館問題って何?

まさか、「1秒に1回のアクセスで落ちる図書館側のシステムガー」とかPCヲタが寝言を言ってるだけで
現実には逮捕者が出てしかも冤罪や無罪ではなく不起訴処分になったやつのこと?
950nobodyさん:2013/08/01(木) 16:40:09.70 ID:???
こちら側にはなんの落ち度がなくても、「被害者」が警察に通報すれば警察は動かざるを得なく、
逮捕されることもあり、実名報道されたり、最悪は裁判で有罪になる可能性もある。

という恐怖を教えてくれたのが、Librahack事件。
951nobodyさん:2013/08/01(木) 16:43:40.60 ID:???
>>949
>寝言を言ってるだけで

ワロタ
お前、Web系のプログラム書くんじゃねーぞ、迷惑だから
952nobodyさん:2013/08/01(木) 16:58:53.44 ID:???
>>951
それで幅広く仕事やってるお陰で年収800万超えだ
今さら書くなってのは無理な話だw

有名所が外注してるやつもいくつか請け負ってる
もしかしたら俺の書いたWebサービスをお前が週一とかで使ってるかもなw
人に書くなとか言ってるお前はそれよりさらに素晴らしいサービスでも提供してるんだろうw
953nobodyさん:2013/08/01(木) 20:47:23.80 ID:???
赤の他人でも、なんかこうやるせなくなるな・・・
954nobodyさん:2013/08/02(金) 01:17:07.28 ID:ine4VESW
小数点を指定して切り上げるにはどうすれば良いですか?
例えば11.123を11.13となるようにしたいのですが、roundやceilではできません。
955nobodyさん:2013/08/02(金) 01:27:39.16 ID:???
>>954
あなたがお使いのPHPは、いくらか古いんだと思う。
現行のPHPなら、roundでできる。
http://www.php.net/manual/ja/function.round.php

古いものでやるなら、小数点以下が1桁になるように100を掛けて
ceilして100で割る。
956nobodyさん:2013/08/02(金) 08:48:25.16 ID:QtaYr1al
var num=11.123
var nod=2;

nod=pow(10 ,nod);
num=num*nod;
return ((num-fmod(num,nod))/nod);
957nobodyさん:2013/08/02(金) 11:32:52.53 ID:???
>>952
ニート乙
958nobodyさん:2013/08/02(金) 15:32:26.67 ID:???
外注ってことは書き逃げか
現場は苦労してるだろうな、同じところから仕事の依頼がこないのを
おかしいと思わんのかねえ
959nobodyさん:2013/08/02(金) 17:57:23.50 ID:???
>>957
そう思い込まないと自己を保てないのか
可哀想に
まぁそれで自己が保てるんならそれもいいんじゃない?

>>976
同じところから注文来ないって言ったっけ?
言ってたらごめん、実際は何回か来てるよ
それに加えて仕事請け負ったところが他にも紹介してくれることがあるからありがたい
これにはマジ感謝
日々感謝の気持ちを忘れないように仕事に取り組んでる
960nobodyさん:2013/08/02(金) 18:09:07.04 ID:QtaYr1al
>>976に期待
961nobodyさん:2013/08/02(金) 19:24:29.42 ID:???
>>959
じゃあ証拠うp
962nobodyさん:2013/08/03(土) 00:34:21.75 ID:pP7hW5m1
匿名掲示板でなんで自己主張してんだワロタ
963nobodyさん:2013/08/03(土) 02:50:47.94 ID:nHQMtDT/
自称プログラマは本質的に頭の悪い奴が多いから
おかしいことに(それを指摘されても)気づけない

プログラマーだけど質問ある?<stdio.h>
http://hayabusa3.2ch.net/test/read.cgi/news4viptasu/1369391467/
964nobodyさん:2013/08/03(土) 15:00:12.21 ID:NU5YG7yP
【OS名】不明
【PHPのバージョン】5.3
【連携ソフトウェア】無し
【質問内容】
レンタルサーバーに掲載しているサイト用に簡易カウンターを自作して使っています。
しばらく放置プレーしていたらどうやらログ等でレンタルサーバーの容量上限に達したようで
カウンターが回らなくなっていました。

単に回らないだけだったらまだ良かったんですが、悪いことにアクセス人数を記録したログファイルが
破損して容量0になっていました。それまで何人がアクセスしてくれたかを記録してある重要なログファイルが
容量0になってしまったのは残念としかいいようがありません。

そこでレンタルサーバーの容量が上限に達したときにログファイルをいじってカウンターを回そうとしても
今まで記載したカウンター数は消えないようにしたいと思っています。
どういう仕掛けをすればいいでしょうか。
お知恵を拝借させてください。
965nobodyさん:2013/08/03(土) 15:09:55.85 ID:???
そんな特殊な環境での話されてもなあ
簡易カウンターとか言われてもどんな形式で保存してんのかすら書かれてないし
エスパー呼んでこい
966nobodyさん:2013/08/03(土) 15:12:00.37 ID:pP7hW5m1
>>964
その最大容量がわかってんなら、ログを書き込む前に現状のファイルサイズを見ればいいだけでしょ
967nobodyさん:2013/08/03(土) 15:36:32.61 ID:tqbxpW5u
すげえ負荷高そうだなそれ
968nobodyさん:2013/08/03(土) 16:12:24.43 ID:???
ログファイルが重要なんだったら、VPSで運用すればいいいよ。
自由に何でもできる。
969964:2013/08/03(土) 17:12:53.64 ID:NU5YG7yP
もう少し補足説明すべきでしたか(´Д`lli)ゞ

レンタルサーバーはxreaです。容量は上限が150MBです。
カウンターはテキスト形式のログファイルに保存しています。
総訪問者数・今日来た人・昨日来た人の3つを"|"で区切ってテキストで保存しています。

放置して気付かないうちに容量が150MBを突破しているとこのログファイルがいつのまにやら
ファイルサイズ0バイトの中身がもぬけの殻状態になってしまって今まで何人の人が来てくれたのか
の重要な記録を飛ばしてしまうということをしばしば繰り返してきました。
おそらくですが容量上限に達した状態でログファイルにアクセスしたのが原因ではと踏んでいます(´・ω・`)
970nobodyさん:2013/08/03(土) 17:52:58.49 ID:???
カウンターなのかアクセスログなのかどっちよ?
3つの数字を記録してるだけなら20バイト程度にしかならんでしょ
971964:2013/08/03(土) 18:05:16.80 ID:NU5YG7yP
カウンターでつ
容量もテキスト一行なのでほとんど取りません
972nobodyさん:2013/08/03(土) 18:32:55.51 ID:???
でつって何?スヌーピー?
973nobodyさん:2013/08/03(土) 18:53:08.59 ID:tqbxpW5u
>>969
上限に達したらそれ以上は書き込めないという仕掛けを用意したそうに見えるけど、
それで何の解決になるのかさっぱりだ。
ローテーションして圧縮して古いものを他のところに送ればいいと思うよ
974964:2013/08/03(土) 19:05:49.47 ID:NU5YG7yP
>>973
あくまでも「簡易」カウンターなんでそこまでたいそうなことはしなくても(^-^;)・・・
とりあえず容量が上限に達したときにログファイルを更新しようとしたときに
情報(総アクセス数)を誤って消さないような仕組みが構築出来れば満足です
975nobodyさん:2013/08/03(土) 19:07:28.05 ID:tqbxpW5u
読み間違えてたっぽい。
そういうことなら、カウンター用のファイルと更新用のファイルを分ければいいんじゃない?
たとえば、counter.dat <- 本命 counter.tmp <- 書き込むファイルのように。
今排他制御してるだろうからその辺も変更して、書き込みが終わったらmv

何より容量の上限に達さないことが一番だと思うけど。
976nobodyさん:2013/08/03(土) 19:15:23.20 ID:tqbxpW5u
あ、ファイルをr+で開いてるか確認してみた?
977964:2013/08/03(土) 20:02:14.98 ID:NU5YG7yP
>>976
rb+で開いてます^^;)
978nobodyさん:2013/08/03(土) 21:05:20.56 ID:???
顔文字ウザいさっさと消えろ
何で他人に情報をタダでもらおうとするゴミ乞食に限って顔文字とかいらんものつけるのかね
そんなくだらないものを覚える暇があるなら検索の一つもすればいいのに
979nobodyさん:2013/08/03(土) 22:28:53.25 ID:???
>>978
そういうレスが一番うざがられてるなんて思いもしないんだろうなあ
980nobodyさん:2013/08/03(土) 22:43:34.85 ID:???
>>979
つ鏡
981nobodyさん:2013/08/04(日) 00:46:48.65 ID:???
しかしリアルでも、シリアスなシーンで場を和ませようとしているのか、単に癖なのか
常に半笑いのやつとかたまにいるよな。語尾が全部息抜き系の笑いになるぅww、というかぁはぁwww。
982nobodyさん:2013/08/04(日) 00:49:58.07 ID:???
>>979=基地害
983nobodyさん:2013/08/04(日) 05:40:33.93 ID:???
>>982
糞が死ね
984nobodyさん:2013/08/04(日) 06:53:44.79 ID:???
>>983
消えろウザい池沼低能
985nobodyさん:2013/08/04(日) 14:39:27.59 ID:???
>>984
つ鏡
986nobodyさん:2013/08/04(日) 15:36:40.57 ID:???
>>985
クズは黙ってろ
987nobodyさん:2013/08/04(日) 16:05:13.04 ID:???
>>986
いいから氏ね
早く氏ね
988nobodyさん:2013/08/04(日) 16:59:19.18 ID:???
良スレの予感
989nobodyさん:2013/08/04(日) 17:24:48.52 ID:???
988キモ杉
990nobodyさん:2013/08/04(日) 17:25:40.76 ID:???
>>988
糞が死ね
991nobodyさん:2013/08/04(日) 17:35:53.23 ID:???
>>990
消えろカス
992nobodyさん:2013/08/04(日) 17:43:28.41 ID:???
質問です
PHP厨はプログラミング以外の面においても程度が低いようですが
これはなぜですか?
993nobodyさん:2013/08/04(日) 18:02:17.13 ID:???
>>992
つ鏡
994nobodyさん:2013/08/04(日) 20:42:37.26 ID:???
>>993
文章も書けないのかゴミクズ野郎
995nobodyさん:2013/08/04(日) 20:55:01.49 ID:???
>971の「でつ」とか明らかに他人をナメてるだろ
もしナメてなくて自然と出てきたなら本物の精神障害
996992:2013/08/04(日) 21:02:39.08 ID:???
質問スレなんだろ?
早く答えろや
997nobodyさん:2013/08/04(日) 21:43:41.87 ID:???
答えたいんだけど、id出てないからごめんな
998nobodyさん:2013/08/04(日) 22:30:52.36 ID:???
>>997
いつもID出てなくてもせっせと回答してるゴミがいるだろうが
自分の都合でIDがどうのと言い出すんじゃねーよ
999nobodyさん:2013/08/04(日) 22:39:32.56 ID:???
>>998
クズは黙ってろ
1000nobodyさん:2013/08/04(日) 22:47:59.54 ID:???
>>999
つ鏡
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。