【PHP】下らねぇ質問はID出して書き込みやがれ 128
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2013/05/26(日) 23:01:58.78ID:???過去スレ、関連スレ、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等)・フレームワークは各該当スレへ
0002nobodyさん
2013/05/26(日) 23:02:30.33ID:???■本家マニュアル 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/
0003nobodyさん
2013/05/26(日) 23:03:00.97ID:???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)、起動&再起動あたり
0004nobodyさん
2013/05/26(日) 23:03:31.47ID:???→ データベース板に誘導されるのが嫌なら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に保存?
→ 好きにしてください
0005nobodyさん
2013/05/26(日) 23:04:25.16ID:???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
>■ 変数名を間違えると新しい変数が作られる
>■ 文字列の変数展開がクソ
0007nobodyさん
2013/05/26(日) 23:09:53.91ID:???0008nobodyさん
2013/05/26(日) 23:10:20.06ID:???0009nobodyさん
2013/05/27(月) 00:34:12.76ID:QfhA6lTw人の書いたのってなんか中身がわかんないから心配だし、フレームワークとか余計に面倒臭いんですけど…
0010nobodyさん
2013/05/27(月) 01:03:09.11ID:???perlとかrubyとかやってたってしょうがないよ
0011nobodyさん
2013/05/27(月) 11:41:16.08ID:???【PHPのバージョン】5.4.4
【連携ソフトウェア】特になし
【質問内容】
Debian 7 で、apt-get で普通に Apache や PHP を入れただけの環境なんですが、
phpinfo() の結果を見ると、_SERVER["REQUEST_TIME"] が -472361226 のような
負の数になっています。
_SERVER["REQUEST_TIME_FLOAT"] のほうは正常に 1369622206198 などという数値を示します。
Debian 6 のころとバージョンが変わって、
何か設定しなければならないことが増えたのでしょうか。
それとも、何らかのバグでしょうか。
同じような現象に遭遇された方がいらっしゃったら、情報をいただきたいです・・・。
001211
2013/05/27(月) 13:24:05.88ID:???自己解決しました。
libapache2-mod-php5 ではなくて、
libapache2-mod-php5filter がインストールされていたのが原因でした。
libapache2-mod-php5 をインストールしなおしたら解決しました。
libapache2-mod-php5filter なんて、いつ入ったんだろ・・・。
どうもお騒がせしました。
0015nobodyさん
2013/05/27(月) 18:40:37.66ID:QfhA6lTw以前はWindowsネイティブなアプリも請け負ってましたが、最近は全くありません。もうほとんどWebアプリだけです。
クライアントは全て中小零細企業ですが。
FORTRAN77からプログラムを初めてCの開発実績が一番長いのですが、現在はPHPとSQLがメインです。SQLはオラクルシルバー持ってます。
一番重要なのはデータベース設計なんで、プロフラム言語は別になんでもいいんですが、ほんとにPHPは将来性がないんですか?
まさかpythonでやれとかRubyに行けとか、家族を抱えた職業人の私に言わないですよね?
Javaとか無理ですよ、現実。
だって、受注後0.5〜1ヶ月くらいで実運用求められる案件ばっかですから。
有識者のご意見下さい。
0019nobodyさん
2013/05/27(月) 21:36:01.20ID:???PHPに将来性があるかどうかを心配しているようだが、
言語の有用性の推移に関する未来予測を行う方法は数多く提案されていて、
予測不可能だとする従来の学説と真っ向から対立する形になった。
肯定派と否定派の合同の研究班が結成され、
いくつかの推測方法を検証したところ、
全くのでたらめと言うべき結果も数多くあった一方で、
統計学的に有意とされる結果も数例ほど報告された。
その比率は優位な方法が全体のわずか5%という微々たるものではあったが、
追跡調査ではそのうち約半数がやはり有意な結果であった。
研究班はこの推測方法でプログラミング言語の将来の有用性を測ることが
不可能であるとは断言できる理論は今のところ確立されていないという結論に達した。
0020nobodyさん
2013/05/27(月) 21:38:37.26ID:???<p>PHPには将来性が
<?php
echo array_rand(array('ある', 'ない'));
?>
</p>
0021nobodyさん
2013/05/27(月) 21:43:31.36ID:???0022nobodyさん
2013/05/27(月) 21:54:44.95ID:???0023nobodyさん
2013/05/27(月) 22:15:29.80ID:BO/BVLbfコンストラクタをprivateにするくらいですか?
0024nobodyさん
2013/05/27(月) 22:28:17.24ID:???0025nobodyさん
2013/05/27(月) 23:56:42.17ID:BO/BVLbfC#では
static class CompanyInfo{
}
のように静的クラスを宣言できますが、
PHPで
static class Hoge {
}
と記述したらエラーになりますよね
だから静的にしか使って欲しくないクラスは、
newした時点でエラーになるように、
コンストラクタをprivateにするとか、コンストラクタで例外を投げるとか、
あまりスマートではないけれど、それくらいの方法しかないのでしょうか?
ということです
0026nobodyさん
2013/05/28(火) 00:12:03.68ID:???0028nobodyさん
2013/05/28(火) 12:42:57.98ID:???【PHPのバージョン】5.3.10
【連携ソフトウェア】MySQL
【質問内容】
whileからのmysqli_fetch_rowやassocを使った際、最後の一行が読み込まない状態で困っています。
例えば「v,w,x,y,z」の5つを入れて参照すると、v,w,x,yのみ表示されzが読み込まれない状態です。
ぐぐってもそれらしいコメントが見つからなかったため質問しますが、わかる方いらっしゃいますか?
0029nobodyさん
2013/05/28(火) 12:46:22.24ID:???0030nobodyさん
2013/05/28(火) 13:35:45.94ID:???一回足りないだけのような
0031nobodyさん
2013/05/28(火) 15:16:24.29ID:3sZRAxgyありがとうございます。
えっと、30代です。
HTMLの知識ってなんですか?
全然煽るつもりも喧嘩売るつもりもないんですけど、
「知識」ってほどのものなんかなんにもないですよ、HTML
ちょっと意味がわからないです。
あと、スマホのネイティブアプリとか言いますけど、趣味でやってる学生じゃないのでご理解ください。
作る「だけ」なら、もちろん作れますよ、当たり前だけど。
やっぱ色々考えてみると、当面零細企業相手の仕事ではPHPと各種データベースの組み合わせしか選択肢がないですね、現状。
アカデミック()な分野はべつとして
0032nobodyさん
2013/05/28(火) 15:23:37.70ID:???それに複数言語扱うのも大したことは無い、phpやりながらjava慣れとけばいい
環境作る方が大変だけどな。
httpはやればやるだけできること広がるから何でも手をつけておいた方がいいよ。
0033nobodyさん
2013/05/28(火) 15:40:16.32ID:???0034nobodyさん
2013/05/28(火) 15:55:19.72ID:???> HTMLの知識ってなんですか?
10年以上前の、超しょぼいページ遷移しかしないWebアプリしか作らないなら、それほどHTMLの知識は要らない。
サーバ側で静的ページを生成して戻すだけだし。
そこそこ見栄えが良く使い勝手が良いWebアプリを作るなら、CSS, HTML, Javascriptの知識が最低必要。
0035nobodyさん
2013/05/28(火) 15:59:24.99ID:3sZRAxgyいやいや(苦笑)
>CSS, HTML, Javascriptの知識が最低必要
そんなの分かってるから
0036nobodyさん
2013/05/28(火) 16:00:07.20ID:3sZRAxgy謝る m(__)m
0037nobodyさん
2013/05/28(火) 16:01:04.33ID:???0038nobodyさん
2013/05/28(火) 16:01:21.84ID:???0039nobodyさん
2013/05/28(火) 16:02:34.53ID:???0040nobodyさん
2013/05/28(火) 16:03:21.97ID:3sZRAxgyうん、それならまだ分かるね
ありがと
0041nobodyさん
2013/05/28(火) 16:03:51.27ID:3sZRAxgy自己紹介乙
0042nobodyさん
2013/05/28(火) 16:05:58.18ID:???貴方や会社の将来設のことを
たかが言語に求められても困るでしょう。
PHPなんてのは ただの道具ですよ。
0045nobodyさん
2013/05/28(火) 16:27:43.76ID:???0047nobodyさん
2013/05/28(火) 18:03:18.41ID:???いずれを行くも 散らぬ間に行け
0048nobodyさん
2013/05/28(火) 18:11:02.84ID:???足りないだけなのでしょうか。
以前も同じような構文で作ったんですがその時は最後までループして吐き出してくれたので大丈夫だと思ったんですが・・・
0049nobodyさん
2013/05/28(火) 18:24:18.73ID:???いや、HTMLじゃなくて、HTTPプロトコルのこと。
パケットを見るとかじゃなく、単純にどうやってWebは動いているかって知識。
ノウハウと言い換えても言いけど。言語仕様なんてたいしてハードルじゃない。
まぁ、メールの問い合わせフォームとかならそうでもないけどね。
ネイティブアプリ作れるなら、そっちの方が需要あるよ。
0051nobodyさん
2013/05/28(火) 20:44:35.96ID:02y4dFlJPHP厨はやっぱダメだな
0052nobodyさん
2013/05/29(水) 09:57:21.09ID:???知ったかで文句付けてみただけのようなw
0053nobodyさん
2013/05/29(水) 10:38:34.32ID:???$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で文字列を置き換えるということです。
0056nobodyさん
2013/05/29(水) 11:08:36.90ID:???0057nobodyさん
2013/05/29(水) 11:49:17.19ID:???得体のしれないブログ記事をつまみ食いして質問してくんな。
参考にしてるソースが古過ぎる。
古いソースは問題が多い。
新しい記事を参考にして書いたんだったらその参考にしてる記事がクソ。
記事の信憑性を見極めるのにはそれなりの知識が必要だから、
最初は新し目の書籍を一冊買ってとりあえずそれだけでやるといい。
0058nobodyさん
2013/05/29(水) 11:57:13.93ID:???0059nobodyさん
2013/05/29(水) 12:10:44.61ID:???0060nobodyさん
2013/05/29(水) 12:17:09.28ID:???貼るわけにもいかず・・・
0061nobodyさん
2013/05/29(水) 12:20:27.72ID:???0063nobodyさん
2013/05/29(水) 12:37:04.24ID:???*PHPの*閉じタグの直後の改行コードは、無効にされますので、
<?php print($moji['iti']); ?>
<?php print($moji['ni']); ?>
だと、?>のあとの改行は出力されず <html><body> と出力されます。
<html>
<body>
としたければ、 1行目と2行目の間で2回改行するとか、そういうことです。
0064nobodyさん
2013/05/29(水) 12:39:54.49ID:???0065nobodyさん
2013/05/29(水) 13:12:38.05ID:16tE3DEIphpじゃなくhtmlでの<br>改行とかならわかるんだけど
テキストエリアなので困ってます。
0066nobodyさん
2013/05/29(水) 13:22:54.89ID:???テキストエリアですので、 <textarea>タグ直後でなければ、
htmlソースの改行コードで改行されます。
<?php print($moji['iti']) ."\n"; ?>
とするか、
<?php print($moji['iti']); ?>
<?php print($moji['ni']); ?>
とやってみてください。
0067nobodyさん
2013/05/29(水) 13:30:33.99ID:???0069カミカゼ
2013/05/29(水) 22:53:50.60ID:RY40XdSy71:カミカゼ[]
2013/05/29(水) 22:14:04.77 ID:2XhNblnz0
ようおまいらwwww元気ぃ?wwww
よろしくやってたかい?www
久々に遊びに来たぜwwww
--- 以下スレ情報 ---
高岡さんがフジ韓流ゴリ押し批判したら干されたのでウジテレビ凸
http://hayabusa.2ch.net/test/read.cgi/news4vip/1369827332/
0070nobodyさん
2013/05/30(木) 01:46:13.16ID:???この読み込みの挙動について聞きたいです
function.phpに大量の関数、クラスがある場合は、includeに時間がかかるのでしょうか
それとも呼び出した関数、クラスのみ探して読み込んでくれるのでしょうか
クラスの挙動についても聞きたいです
30つ以上メソッドがあるクラスをインスタンス化して、5行程度の1つメソッドの使う場合の
負荷はどのようなものになるのでしょうか?
0071nobodyさん
2013/05/30(木) 01:46:56.46ID:MG1e5+Bh0072nobodyさん
2013/05/30(木) 02:41:01.79ID:EYpF140+0074nobodyさん
2013/05/30(木) 07:49:43.25ID:???オートロード機能を使うと良いよ
0076nobodyさん
2013/05/30(木) 12:59:25.56ID:???オートロードってパフォーマンス的に駄目駄目じゃない?
OSのメモリ上にファイルのキャッシュが残ってればそうでもないのかな?
0077nobodyさん
2013/05/30(木) 13:09:24.65ID:???0081nobodyさん
2013/05/30(木) 20:34:40.45ID:???includeの可能性があるファイルが10個あるとして
全てロードだとコスト10固定、
autoloadにしているとコスト0〜10だと思うけど、
オートロードでダメな理由って何なの?
0082nobodyさん
2013/05/31(金) 03:30:57.93ID:0pyQKPZl本文の70%が半角の場合は投稿拒否をしたいです
半角判定の方法はわかったのですが
〜%で拒否の部分のコードをどう書けばいいのかわかりません
ヒントだけでもいいので助言ください
0083nobodyさん
2013/05/31(金) 03:39:27.57ID:???$hankaku = preg_replace('/[^\x{FF65}-\x{FF95}]/u', '', $src);
$lenOfHankaku = mb_strlen($hankaku);
$ratioOfHankaku = $lenOfHankaku / $lenOfOriginal;
0084nobodyさん
2013/05/31(金) 03:43:39.41ID:???0085nobodyさん
2013/05/31(金) 05:05:18.35ID:Vx9Hevlvよくわからないバグが生じております。
ブログにコメントを付けるものなのですが、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; ?>です。
ただ、他のソースでも、この部分はきちんと処理が実行でき、それをコピッてきたので、
スペルミスの可能性は少ないかと思います。
何卒、お願いします。
0086nobodyさん
2013/05/31(金) 05:08:09.36ID:???0087nobodyさん
2013/05/31(金) 06:02:21.89ID:???モデルやコントローラーは普通のPHPクラスで書かれてる
0088nobodyさん
2013/05/31(金) 07:28:50.07ID:???たいしたスキルもなく教えることもできないがIDだけにはこだわって
言い続けてる。お前は自閉症児かw
>>79
こういうやつなw何が目的なのか答えろよ引きこもりニートが
まっとうな言動をしてるようでお前の方こそ人を不愉快にしてることに
気づかないのか?
ようつべのコメントでもまともなコメをしてるようで相手をただ単に攻めてるだけ
ってのよくあるけどまさにそんな感じだな
お前みたいに自分の言動が人にどう思われるのかわからないで好き勝手にやってる
ゴミは社会の迷惑だから早く北朝鮮の炭鉱へ行って
0090nobodyさん
2013/05/31(金) 09:52:51.73ID:Vx9Hevlvわかりました、ありがとうございます。
foreach():
〜〜
endforeach;
ですね。
0091nobodyさん
2013/05/31(金) 10:55:23.57ID:???言い回しはともかく、IDを表示するのがルールなんだから答える必要はないと思うよ。
君の言動?も相当人を不愉快にさせてると思うけどね。
009276
2013/05/31(金) 11:53:17.47ID:2B6R5nZc>>81
> オートロードでダメな理由って何なの?
一発でパスを確定できるファイル名でPHPファイルを置いているなら問題ないけど、
ロード候補ディレクトリが複数になる場合は、ファイルの存在チェックが必要になる。
そのオーバーヘッド分が馬鹿にならないんじゃないかと思った。
SPRに準拠したnamespaceを定義していて、きれいにPHPファイルを配置してるなら
問題ないけど。
009376
2013/05/31(金) 17:18:33.14ID:???一つのクラスを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%程度くらい遅いけど、そこそこぬるい環境だったら問題ないのかな。
0094nobodyさん
2013/05/31(金) 17:31:36.61ID:???0095nobodyさん
2013/05/31(金) 17:43:27.30ID:???無駄なファイルの数 = N2
ファイルロードのコスト = L
オートローダによる1ファイルあたりのオーバーヘッド = A
(オートローダのファイルロードコスト = L+A)
とした場合のファイルロード全体のコスト C
通常のファイルロードコスト C1
C1 = (N1+N2) * L
オートローダ使用時のコスト C2
C2 = N1 * (L+A)
オートローダ使用時の差分 C2-C1
N1*A - N2*L
0096nobodyさん
2013/05/31(金) 17:44:32.16ID:???ファイルの存在チェックのほうがはるかにコストが低い場合が多いと思うけどな。
素で書き起こした機能限定のシステムじゃなければオートローダ使わない手はないと思うけど。
009776
2013/05/31(金) 17:56:07.06ID:???うーん、そもそもその「無駄なファイルの数」というのが何なのかわからないんだ。どういうこと?
ひょっとして、ロードする必要が無いファイルもrequireしてるってこと?
009876
2013/05/31(金) 18:04:22.71ID:???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のロードがいらないってことか。
009995
2013/05/31(金) 18:04:47.74ID:???おかしい?
010076
2013/05/31(金) 18:09:16.63ID:2B6R5nZcケース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派になった。
0101nobodyさん
2013/05/31(金) 18:13:00.31ID:2B6R5nZc0102nobodyさん
2013/05/31(金) 18:13:21.01ID:2B6R5nZcケース1しかありえない気がしてきた。
0103nobodyさん
2013/05/31(金) 18:25:19.05ID:???とはいえ、ファイル間の結合度や依存度によってケースバイケース。
たとえばフレームワークのルーティンにおいて bootstrap で基本ファイルを呼び出すっていうのはお決まりのパタン。
0104nobodyさん
2013/05/31(金) 18:27:37.83ID:???副次的な物だと思う。
確かに、autoloadはnewのエラーをフックしてファイルをロードするので、無駄なロードは発生しない。
しかし、数千req/secもあるようなシビアな場合ではないのであれば、autoloadあるいはrequire/includeが
一度に付きms未満の差しかないのだから、速度に関してはあまり気にする必要は無い。
クラス名やファイル名、ファイルの配置については、PSR-0に従うのが現状ではベストでは無いかと思う。
そうすれば、autoloadにも対応しやすい。
0105nobodyさん
2013/05/31(金) 18:28:37.70ID:???ラードフさんが仰ってたよ
0106nobodyさん
2013/05/31(金) 18:29:30.28ID:???0107nobodyさん
2013/05/31(金) 20:25:05.53ID:???SPRってよくしらないんだけど、これ?
https://github.com/alv-c/SPR---Simple-PHP-Router
0108nobodyさん
2013/05/31(金) 20:28:46.16ID:???0111nobodyさん
2013/05/31(金) 22:00:54.96ID:???今までrubyやpythonを使ったりしてましたが、
PHPは実に使いやすい
いちいち何をincludeして〜とか調べなくてもいいし、オブジェクト指向的にも問題ない
web以外にもPHP使うの最高じゃないですか?
なんでCLIではいまいち不人気なんでしょうか
みんなかっこつけてるんですか?
0112nobodyさん
2013/05/31(金) 22:08:35.93ID:???0113nobodyさん
2013/05/31(金) 22:38:24.89ID:TNUtMHtEそれにはファイルを読み直さないといけないですか?
ソースコード自体はメモリに載っているはずなので、
ファイルを読まなくても取得する方法があるような気もするのですが…
0114nobodyさん
2013/05/31(金) 23:14:39.26ID:???LinuxではPerlやPythonはデフォルトで使えることがほとんどだが、PHPはそうじゃないからじゃないかな。
あと、複数のバージョンを簡単に切り替える仕組みがない。
それに、CLIなのに/etc/php.iniを見に行くのがいけてない。
スレッドが使えないとか。
サーバアプリが書きにくいとか。
コマンドラインで使うときのライブラリが充実してないとか。
DB読むツール書くのは楽なんだけどね。
0117nobodyさん
2013/06/01(土) 00:07:19.59ID:???とかできるんだ。知らんかったわ。
0118nobodyさん
2013/06/01(土) 00:12:44.55ID:???どっちが使いやすいか明白じゃん。
まあpharがもっと流行れば、もう少しはCLIにも脚光が当たるかもだけど。
0120nobodyさん
2013/06/01(土) 00:18:32.89ID:???エディタでtag jumpするのはどうかな。
0121nobodyさん
2013/06/01(土) 00:27:44.17ID:???それに最初は Perl で書かれてたんでしょ? PHP自体
0123nobodyさん
2013/06/01(土) 01:47:06.51ID:???ラードフさんが、サイトの作成の際に perl だと余りにも面倒くさかったんで
自分のツールとして perl でライブラリを作ったのが最初だよ
0125nobodyさん
2013/06/01(土) 03:22:53.18ID:???http://manual.xwd.jp/history.html
0126nobodyさん
2013/06/01(土) 03:28:32.98ID:???http://php.net/manual/ja/history.php.php
0127nobodyさん
2013/06/01(土) 03:34:45.32ID:???最近のManualのHistoryでは、最初にPerlで記述したことは省かれてるけど(経緯はわからないけど)、少なくとも2006年までは「Perlスクリプトの単純な組み合わせでした」とされてるわけね。
何をムキになってるの?
0131nobodyさん
2013/06/01(土) 10:59:27.62ID:???昔はいたるところで目にしたような気がしたんだが、たしかに今はあまり見かけないな
今確認できたのは Wikipedia の PHPの項目の歴史のセクションにちょこっと書いてある程度だし、
しかもPHPと名付けられた時点では既に C で書きなおされているとされている。
そもそもが曲解していたのかもしれないし、もはや perl との関係はなかったことにする流れなのかもしれないな。
0132nobodyさん
2013/06/01(土) 15:32:17.20ID:Lm5yShvx0136nobodyさん
2013/06/01(土) 18:38:20.52ID:???0137nobodyさん
2013/06/01(土) 18:45:11.97ID:???意味が分からん。まさか、
class Parent {
static function hoge(){
// ここで Sub についてなにか知りたい
}
}
class Sub extends Parent {
}
ってことか?
0139nobodyさん
2013/06/01(土) 23:22:14.26ID:???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();
0140nobodyさん
2013/06/02(日) 14:29:22.81ID:ZugnqmP2基本的にissetで入っているかどうか判定しないと
送信されてない初期の場合にはエラーがでるものなのでしょうか?
勉強に使っているサンプルコードは特にPOSTデータのisset判定はしていません
特定の環境だけエラーができるものなのですか?
0142nobodyさん
2013/06/02(日) 14:36:07.32ID:ZugnqmP2ありがとうございます
判定するようにします
0143nobodyさん
2013/06/02(日) 15:48:58.82ID:3Klk3b6H/。/でsplitすると、。が消えてしまいます
「。」を「。|」など、句切り用文字付きに置換してから、
句切り用文字でsplitすると、望みの結果になると思いますが、
これを一度のsplitで行なう方法はありますか?
0144nobodyさん
2013/06/02(日) 15:53:09.15ID:???pre_match_allとか使えばいいんじゃない
0148nobodyさん
2013/06/02(日) 21:45:31.73ID:???0149nobodyさん
2013/06/03(月) 10:33:22.53ID:???幅固定で任意長のラベル印刷が出来れば良いので、
PDF等ほかの形式でも代替案あればご教授願いたいです。
0151nobodyさん
2013/06/03(月) 16:42:53.24ID:???0152nobodyさん
2013/06/03(月) 18:18:22.32ID:LfxiG17yやっぱ手続き型だよな。レガシーなプロは。
0153nobodyさん
2013/06/03(月) 18:21:04.59ID:???どうもスクリプト言語の変数スコープに慣れない
0154nobodyさん
2013/06/03(月) 18:51:24.33ID:???0155nobodyさん
2013/06/03(月) 19:07:36.25ID:???0157nobodyさん
2013/06/03(月) 19:14:17.76ID:???0159nobodyさん
2013/06/03(月) 19:25:21.85ID:???0160nobodyさん
2013/06/03(月) 23:49:58.72ID:R7T1Wl2xそのPHPのコードを「実行する」のではなく、
「アウトライン」を取得する機能はありませんか?
少なくとも満たしたいことは、任意のファイルに
どのようなクラスが記述されているのかを知ることです。
繰り返しになりますが、インクルードするのではなく、単にコードを解析するだけです。
具体的には例えば、"sample.php" というファイルに
<?php
class A {}
class B {}
/* class C{} */
などと記述されていた場合、
array('A', 'B')
などと取得できないかということです。
既存のライブラリなどがあればそれを使いたいので、教えて下さい。
なければ自分でパーサを書かなくてはなりません。
0161nobodyさん
2013/06/03(月) 23:52:48.18ID:???0163nobodyさん
2013/06/04(火) 00:08:53.85ID:???>>162で駄目なら、phpdocumentorの出力結果をパースするとか。
あるいはそのパーサ部分を切り出して使うとか。
0164nobodyさん
2013/06/04(火) 00:25:44.58ID:3OiDWMCaあくまでもPHPで使用するユティリティとして考えていますので
どうしてもPHPで実現したいのです。
それに、厳密なパーサがあればそれを使いたかったのです。
一からパーサを書いていたらとてつもなく大変なので。
>>163
ありがとうございます。
phpDocumentor の存在を恥ずかしながら知りませんでした。
私の求めている機能は十分に含まれているようですので、
これを使ってみたいと思います。
0165nobodyさん
2013/06/04(火) 02:53:15.94ID:3OiDWMCaより相応しい別のライブラリを見つけたので
それを使うことにしました。
phpDocumentor は Java でいうところの javadoc みたいなものですね。
これはこれで面白そうなので機会があれば使ってみます。
0166nobodyさん
2013/06/04(火) 02:59:32.85ID:???0167nobodyさん
2013/06/04(火) 03:14:23.78ID:3OiDWMCa想定しているファイルに実行可能なコードが記述されている場合、
同一の名前空間で衝突するクラス名、
パースエラーを発生させるコードなどを想定しているので、
Reflection は難しいと判断しましたが、
そのあたりは勉強不足なのでわかりません。
ひょっとしたら問題なかったのでしょうか?
0168nobodyさん
2013/06/04(火) 09:01:44.19ID:???0169nobodyさん
2013/06/04(火) 22:35:03.11ID:EWUXnsSE0170nobodyさん
2013/06/04(火) 22:58:08.92ID:???板違い ↓こっち行け
http://kohada.2ch.net/test/read.cgi/php/1353852365/l50
0171nobodyさん
2013/06/05(水) 15:10:20.43ID:???0173nobodyさん
2013/06/05(水) 17:50:40.81ID:???0175nobodyさん
2013/06/06(木) 23:25:37.41ID:OEW8nkkiこれって巡回ロボットがリンクを踏んでもメールが飛ぶのでは?
防ぐにはどうしたらいいですか?
0177nobodyさん
2013/06/06(木) 23:48:00.87ID:???0178175
2013/06/07(金) 00:12:48.29ID:lPCuSr64ありがとう
0182nobodyさん
2013/06/07(金) 14:21:13.97ID:D2Zw9GnrOut of memory (allocated 1835008) (tried to allocate 2928480 bytes)
と出ました
php.iniでmemory_limitをかなり大きくしましたが、
エラーは変わらず、allocatedの数字も変わりません。
echo ini_get("memory_limit");
で確認すると、memory_limitの数値自体は変わっているのにです。
これはどういうことでしょうか?
0183nobodyさん
2013/06/07(金) 15:36:06.40ID:D2Zw9Gnrmemory limitを一定数以上にすると、逆に513Mくらいにされてしまうようです
その一定数は、1500Mあたりのようです(1600M以上にすると減った)
この限界は、変えられないのでしょうか?
使っているPHPは、windowsのCLI版です
0184nobodyさん
2013/06/07(金) 15:53:50.36ID:???> Out of memory (allocated 1835008) (tried to allocate 2928480 bytes)
このエラーメッセージって、1,835,008バイト(1.8MB)allocate済みで、2,928,480バイトアロケートしようとしたら
エラーになったっていう意味じゃないの?
なんで、1,5GBとかそんなでかい話になってるの?
0185nobodyさん
2013/06/07(金) 16:02:25.49ID:???そしてやっぱりmysqlにクエリ発行すると、数値は変わらずでしたorz
mysqlに割り当てている何かが少ないのか、あるいはmysql側の問題なのか・・・
0186nobodyさん
2013/06/07(金) 17:35:16.63ID:???それが悪かったようです
テンポラリテーブルに結果を入れるようなクエリにしたら、エラーがなくなりました
fetchする前からPHPが、
よく分からない値でout of memoryになる理由は分かりませんが
イレギュラーなクエリだからイレギュラーなエラーが出たのかも
0187nobodyさん
2013/06/07(金) 17:57:25.60ID:???0188nobodyさん
2013/06/07(金) 19:10:18.42ID:???0189nobodyさん
2013/06/07(金) 20:08:14.47ID:rbm1q+gx0190nobodyさん
2013/06/07(金) 22:20:00.64ID:???なんで一括でアロケートするのが前提になってるの?
PHPにおいて、連続領域を確保することのメリットはそこまで大きくないと思うんだけど
0191nobodyさん
2013/06/07(金) 23:59:41.64ID:E7ICkWcF0192nobodyさん
2013/06/09(日) 11:00:21.98ID:???0193nobodyさん
2013/06/11(火) 17:22:09.11ID:qhZ2PQ580194nobodyさん
2013/06/11(火) 20:38:32.92ID:???なにこれ?
0195nobodyさん
2013/06/11(火) 20:59:52.06ID:o3YW+0BJサイトにアクセスする全ユーザー間で共有されているのでしょうか?
0197195
2013/06/11(火) 21:23:09.89ID:o3YW+0BJもうちょっと調べたのですが、
コンパイル言語と違ってインタプリタ言語なので
ソースを毎回読んでる→毎回リセットされるのでユーザー間で共有されない
という認識であってますか?
0199197
2013/06/11(火) 21:37:42.46ID:o3YW+0BJ0200nobodyさん
2013/06/11(火) 21:51:48.69ID:sCzvZ2sj現在、ログイン機能を有するサイトをPHPとMySQLを使用して作成しています。
仕組みとしては、ログイン時にセッションIDとともにDBにユーザーIDと関連付けて保存するという形式をとっているのですが、
全てのページにおいてログインの状態を判別するために、ログイン判別処理用の関数を全てのページ内に含めています。
しかし、この様に全てのページにログイン判別の関数を含めると、phpの内部コードが非常に長くなり、見づらくなってしまいます。
このようなサイトの場合、include関数やrequire関数を用いて上記のような関数をライブラリ化をするのが一般的なのでしょうか?
それとも、全てのphpファイルにログイン判別用の関数を書くのが一般的なのでしょうか?
ログイン判別用のライブラリをそのまま公開ディレクトリに置いておくのはあまりにも危ないような気がして・・・。
他にもっと効率的な方法などがあれば、是非とも教えていただきたいです。
よろしくお願いいたします。
0201nobodyさん
2013/06/11(火) 21:52:25.43ID:???0202nobodyさん
2013/06/11(火) 22:19:37.12ID:???みんな同じようなことで悩んで、
そういった共通処理を枠組みとして提供するのがフレームワーク
PHPならCakePHP2、Symphony2、ZendFramework2、Yii、FuelPHP、
とか有名どころがたくさんある。
いい機会だと思うので是非どれか試してみて下さい。
0203200
2013/06/11(火) 23:03:58.32ID:sCzvZ2sjなるほど、PHPにも色々と便利なフレームワークがあるのですね。
ただ、今回はフレームワークは使用せず、自作の関数を使ってプログラムを組んでいきたいと考えています。
いずれはフレームワークの勉強もして、組み合わせていきたいですけどね。
ご教示いただき、ありがとうございました。
0204nobodyさん
2013/06/11(火) 23:28:41.88ID:???一般的にはどちらもせずにフレームワークを使う。
どちらが良いかってことになると普通は一ヶ所にまとめるだろjk
0205nobodyさん
2013/06/12(水) 10:23:36.00ID:???横だけど、初心者からすると、そのjkとなる理由が知りたい…
普通はっていう、その根拠となっている理由をおしえてください
0206nobodyさん
2013/06/12(水) 10:30:37.81ID:???0207nobodyさん
2013/06/12(水) 11:05:02.21ID:???もしもあなたが作ったプログラムが完璧で全く修正の余地がないのなら、
多少の記憶領域のコストと引き替えにしてでも、すべてのファイルに
同じソースを貼り付けて動作するようにすればいいでしょう。
なぜならファイルI/Oコストと演算コストを最小化できるからです。
しかしあなたが完璧なものを作ることが出来ない場合、
いつの日かプログラムの修正を余儀なくされるでしょう。
そしてあなたは完璧なものを作ることは恐らく出来ません。
それは歴史が証明しています。
きっとあなたが今完璧なものを作ったと信じている素晴らしいソフトウェアも、
第一線で活躍し続ける限り必ず修正を余儀なくされます。
プログラムの修正を迫る圧力は主にセキュリティ上の脅威の問題です。
そして、恐らくもっとも単純な例としてプログラム上のバグがあります。
さて未来のあなたに、今日完成したと信じて疑わないプログラムを修正する日がやってきます。
きっとそのときあなたは今の自分を恨むことでしょう。
「なんでこんなにあちこちに同じコードを張り付けてるんだ!」
と。
このように、同じコードをあちこちに貼り付けて作成したプログラムはかえって高く付くのです。
==================
という翻訳調の記事を一度ぐらい読んだことないか?
これは俺が適当に書いたやつだがw
0208nobodyさん
2013/06/12(水) 21:35:16.31ID:DIs4JrHlPHP5.2以下ってもうほとんどのサーバで使われてないんですか?
0209nobodyさん
2013/06/12(水) 21:46:45.66ID:???バージョンアップしてないところは多いと思う。
格安にかぎらずな。
0210nobodyさん
2013/06/12(水) 23:57:16.27ID:???しかたなく現状のままなのですよ。
0212nobodyさん
2013/06/13(木) 03:12:40.67ID:???5.2というよりPHP自体が使われなくなってきてる
レン鯖でもPHPをインストールしないポリシーのところが増えてきている
0213nobodyさん
2013/06/13(木) 06:00:37.94ID:YfwFYZMU5.5で非推奨ってあるのですが、これがないとMySQLで特殊文字がエスケープされなくて安心して眠れないよるが続きそうなんですが
0216nobodyさん
2013/06/13(木) 09:52:19.35ID:???Rubyとか言うほど綺麗でもないし、PHPでオブジェクティブに実装した方がマシ
0218nobodyさん
2013/06/13(木) 11:27:50.70ID:???0219nobodyさん
2013/06/13(木) 11:59:31.97ID:d6F8arzZものすごく下らない質問ですが、PHPを使ったWEBサイトを作るとき
そのサイトの全ての拡張子をPHP化しておいた方がよいでしょうか?
現在は一部だけしかプログラムが必要なページはありません。
html と PHPの拡張子が混在したサイトで構わないのでしょうか。
0220nobodyさん
2013/06/13(木) 12:01:11.77ID:???0221nobodyさん
2013/06/13(木) 12:03:55.80ID:d6F8arzZ素早い回答ありがとうございます。
くだらないことだと思うのですがものすごく悩んでたので大感謝です!
また、くだらない質問するかもしれませんがよろしくお願いします。
0222nobodyさん
2013/06/13(木) 15:21:20.98ID:3J7ktNc/0224nobodyさん
2013/06/13(木) 17:47:46.82ID:FfDvZGBp0225nobodyさん
2013/06/13(木) 18:15:42.06ID:???0226nobodyさん
2013/06/13(木) 18:23:54.50ID:???0227nobodyさん
2013/06/13(木) 18:29:08.38ID:???0228nobodyさん
2013/06/14(金) 03:38:51.82ID:QtFKp6t40229nobodyさん
2013/06/14(金) 03:58:37.06ID:???自分で数えてください
0230nobodyさん
2013/06/14(金) 13:18:20.63ID:???0231nobodyさん
2013/06/14(金) 13:58:52.56ID:???$email = htmlspecialchrs($_REQEST{'my_name'] , ENT_QUOTES) ;
を先にやっておくと、あとからhtmlspecialchrsを何回も書かないでいいみたいですが
同じページの
inputの value="<?php print htmlspecialchars($email, ENT_QUOTES); ?>" />
これもhtmlspecialcharsは書かなくてもいいんでしょうか?
0232nobodyさん
2013/06/14(金) 14:03:24.84ID:???0233nobodyさん
2013/06/14(金) 14:16:30.92ID:???0235nobodyさん
2013/06/14(金) 16:12:58.76ID:???0236nobodyさん
2013/06/14(金) 17:23:18.92ID:/kSo8dQAざっくりした質問ですみません
0237nobodyさん
2013/06/14(金) 17:31:23.05ID:???イテレータは、簡単に繰り返し処理を行えるようにするもの。
自分でコンテナを実装したときに、Iteratorインタフェースを実装すればforeach()とかが使えるようになる。
例えば、Queueクラスを実装したとき、Iteratorインタフェースを実装しなければforeach()などが使えない。
0238nobodyさん
2013/06/14(金) 18:00:07.35ID:???0239nobodyさん
2013/06/14(金) 21:35:30.79ID:D2IxfBS6イメージとしてはこんな感じです↓
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;
}
↑上記で試しましたがうまくいきませんでした。
0241nobodyさん
2013/06/14(金) 21:41:17.01ID:???0243nobodyさん
2013/06/14(金) 22:49:59.04ID:???var c = $a;
0244nobodyさん
2013/06/14(金) 23:00:13.87ID:???0245nobodyさん
2013/06/14(金) 23:30:21.61ID:???kansu($a);
0246nobodyさん
2013/06/14(金) 23:31:11.80ID:???0247nobodyさん
2013/06/14(金) 23:31:33.06ID:???0248nobodyさん
2013/06/14(金) 23:31:55.56ID:???0249nobodyさん
2013/06/14(金) 23:43:11.60ID:???0250nobodyさん
2013/06/15(土) 11:23:04.75ID:J8J1CSeU1. その実行のみ
→同時アクセスしている利用者は影響を受けない。
2. PHPサーバー全体
→他ユーザーは影響を受ける。
教えてください。
0252250
2013/06/15(土) 18:43:48.47ID:J8J1CSeU【PHPのバージョン】5.4.16
です。
0253250
2013/06/15(土) 18:48:43.44ID:J8J1CSeU「php.iniを書き換えるのと同じ」
という意見が目立ちます。
同時にアクセスしている他ユーザーの影響を受けるということです。
そうした場合、例えば次のような問題が発生します。
致命的な問題のような気がします。
・日付関数を使用するためPHPファイルの頭でini_setでタイムゾーンを指定。
しかしいざ日付関数を使用する前に、他のユーザーの別アクセスで
タイムゾーンを書き換えられてしまう。
・Webアプリケーションごとに情報をini_setで設定したいが
全Webアプリケーションで共有されているため、個別設定できない。
0254nobodyさん
2013/06/15(土) 18:59:20.04ID:KOqiYb3aどこを調べたのか教えてください。
0255250
2013/06/15(土) 19:28:31.38ID:J8J1CSeUini_setで設定した値は loca value 扱いになるということがわかりました。
まだきちんと書かれた文章は探せてませんが、
local valueという名前から、スコープは1処理内と思います。
ですが、「ページの処理終了後に元の状態に戻されます」という記述がややこしいです。
元に戻す必要があるということは、
元に戻さなかったら他のユーザーに影響を与え続けるという風にも読み取れてしまいます。
0257250
2013/06/15(土) 19:35:17.23ID:J8J1CSeU↓
1. 次に自分(同一セッション)がアクセスしたときに影響を与えないため
2. 次に他人がアクセスしたときに影響を与えないため
1.の意味ならいいのですが、2.の意味だと
ini_setの値がサーバー全体で共有されていると取れる文脈なのです。
0258250
2013/06/15(土) 19:35:52.98ID:J8J1CSeU> 「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のように超重要な問題だと思うのですが。
0259nobodyさん
2013/06/15(土) 19:37:19.03ID:???0260259
2013/06/15(土) 19:40:20.53ID:J8J1CSeUではlocal valueのスコープについてきちんと書かれた文章を
提示していただけませんか?
0261nobodyさん
2013/06/15(土) 19:40:37.24ID:???0262250
2013/06/15(土) 19:46:19.09ID:J8J1CSeU>>261
あなたは(ini_setなどで)php.iniは書き換わらないとは言っていますが、
ini_setの値が他アクセスに影響を与えないことを提示していません。
罵声を浴びせるならしっかりと提示してください。
0263nobodyさん
2013/06/15(土) 19:52:32.86ID:???0264nobodyさん
2013/06/15(土) 20:27:53.94ID:???0265nobodyさん
2013/06/15(土) 23:15:50.49ID:???久しぶりに微笑ましいねw
0266nobodyさん
2013/06/16(日) 01:30:12.04ID:h8ga9m060267nobodyさん
2013/06/16(日) 01:32:43.43ID:???0268nobodyさん
2013/06/16(日) 04:08:43.22ID:???代替の関数は何ですか?
0269nobodyさん
2013/06/16(日) 04:09:14.02ID:uMOZ/qgp0272nobodyさん
2013/06/16(日) 16:42:14.77ID:???id出したら質問しなおした方がいいよw
0274nobodyさん
2013/06/16(日) 21:37:16.46ID:???0275nobodyさん
2013/06/16(日) 23:31:03.57ID:uMOZ/qgpではあらためて、
マルチバイト対応のstrtrがないのはなぜでしょうか?
代替の関数は何ですか?
0276nobodyさん
2013/06/16(日) 23:35:58.05ID:???http://bloggdgd.blog28.fc2.com/blog-entry-265.html
0277nobodyさん
2013/06/17(月) 00:04:01.17ID:???0279nobodyさん
2013/06/17(月) 12:22:24.11ID:???0280nobodyさん
2013/06/17(月) 14:06:00.62ID:riij1snCビットシフトや内蔵関数ではダメでした。
echo (-1>>2)."\n";
echo base_convert(-1, 10, 2)."\n";
0281nobodyさん
2013/06/17(月) 14:19:43.54ID:???0282nobodyさん
2013/06/17(月) 14:34:50.18ID:riij1snCそれでできました。
書き込み後に自作で考えたのでもできました。
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; }
0283nobodyさん
2013/06/17(月) 17:36:43.29ID:???0284nobodyさん
2013/06/17(月) 18:08:02.63ID:???$r="";
for($i=PHP_INT_SIZE*8-1;$i>=0;$i--)
$r.=($int&(1<<$i))?1:0;
頭の0はltrimで0とかな。
0285nobodyさん
2013/06/19(水) 05:35:51.96ID:kagqgSvq【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
こちらもうまくいきませんでした。
0286nobodyさん
2013/06/19(水) 06:12:18.94ID:N5MOdRcf・短い名前でアクセスしてみる
・当該ディレクトリのファイル一覧を取得してそこから名前を抽出してみる
0287nobodyさん
2013/06/19(水) 09:27:43.62ID:???0288nobodyさん
2013/06/19(水) 10:48:11.58ID:???ソレが変わらないと根本はどうにも。
5Cの処理が、 5.3からなんかおかしくなってるし。
http://notebook99.blog87.fc2.com/blog-entry-71.html
\突っ込むとかへんな手段でファイルにアクセスする技はあるけど、フォルダ名にはきかねーし。
0289nobodyさん
2013/06/19(水) 11:30:18.88ID:???具体的にどんなコードでおかしくなってんの?
0291nobodyさん
2013/06/19(水) 18:53:37.97ID:???だせーw
0292nobodyさん
2013/06/19(水) 22:51:04.89ID:???0293nobodyさん
2013/06/20(木) 00:58:05.14ID:???開発効率重視を謳ってるだけあってサクサク作れる。
PHPは使いなれてたから迷ってたんだけど、やっぱりRubyに移行するわ。
PHPは文字コードもだけどセキュリティ関係のバグがやばいし。
0294nobodyさん
2013/06/20(木) 01:23:18.85ID:5SN5hbm+0295nobodyさん
2013/06/20(木) 03:14:23.73ID:???てか、ちょっと考えれば予想できるだろ
0296nobodyさん
2013/06/20(木) 06:16:14.34ID:???PHPが糞だと気付かないゆとりの糞共が増えたからだよ
そしてその糞共が作ったPHP製の糞システムを保守するためにPHP使える糞を雇うようになり、
何の能力もない糞共がPHP使なら求人が多いと勘違いしてPHPを優先的に身に付けるようになった
0298nobodyさん
2013/06/20(木) 10:17:56.01ID:???0299nobodyさん
2013/06/20(木) 10:18:22.87ID:???5.3系からは文字コード問題でfopen()出来なくなってるのが糞
0300nobodyさん
2013/06/20(木) 14:15:11.64ID:???お前みたいにID出して質問しろって書いてあるのにそれすらできないような間抜けしかユーザーがいない辺り。
自分のロールもわきまえられないいつまでも回答者気取りのごみ。
こういう池沼は頭の切り替えもできないから職場では常にお荷物。
存在自体が迷惑、まさにごみ。
0302nobodyさん
2013/06/20(木) 15:06:21.48ID:???0303nobodyさん
2013/06/20(木) 15:22:49.26ID:EGiH7/qm今も開きっぱなしの問題あったっけか。
0305nobodyさん
2013/06/20(木) 15:58:25.38ID:???0306nobodyさん
2013/06/20(木) 17:49:13.66ID:???0308nobodyさん
2013/06/20(木) 21:07:06.41ID:25lIXLd4さらにtypeが「陸」「陸」「海」「海」「陸」に分かれているとします。
typeが陸の場合はそのまま表示。
typeが海の場合は<textarea>〜</textarea>の中に入れて、上から順番に表示したい場合どうしたら良いでしょうか?
※ここから下は読み飛ばしても結構ですが一応。
自分で考えてみたのですが下記の例だと上から順番に表示することができなくて困っています。
$body = "<textarea>";
if($type == "海"){
$body .= $name;
}elseif($type == "陸"){
$body2 .= $name;
}
$body .= "</textarea>";
echo $body .$body2;
よろしくお願いします。
0310nobodyさん
2013/06/20(木) 21:46:57.73ID:25lIXLd4言葉足らず&順番間違いですみません。
「猫」「犬」「鯨」「猿」「鮪」の順番のデータがあります。これを下記の順番で表示させたいのです。
1行目:「猫」
2行目:「犬」
3行目:<textarea>「鯨」「鮪」</textarea>
4行目:「猿」
0311nobodyさん
2013/06/20(木) 22:24:27.62ID:/R4UcmEs0312nobodyさん
2013/06/20(木) 22:29:22.14ID:???テキストエリアに海を全部入れて
さっきの続きから陸をfor
0313nobodyさん
2013/06/20(木) 22:40:16.67ID:???条件分岐とループで実現できるけど
そもそもその元のデータ構造か、実現したい出力がおかしいんじゃない?
0315nobodyさん
2013/06/20(木) 23:16:27.61ID:???0316nobodyさん
2013/06/20(木) 23:40:44.29ID:???0317nobodyさん
2013/06/20(木) 23:44:20.80ID:???ありますよ、だけじゃ分かりません。
もっと具体的に例を上げて、できればコードも書いて下さい。
お願いします。
0318nobodyさん
2013/06/20(木) 23:44:30.13ID:???質問者が何歳なのかも知りたいわw
0323nobodyさん
2013/06/21(金) 00:38:41.81ID:???それ2行目で破綻してます。
>>313
条件分岐とループで実現できることはわかります。
データ構造や出力はおかしくありません。
案外難問ですよねこれ。
0331nobodyさん
2013/06/21(金) 03:20:05.31ID:???日付変わってることに気づかなかったんだろ?
恥ずかしいのはわかるが恥の上塗りだから黙って消えろ
>>330
じゃあどうしろと?
>>324で>>310ですっていってんじゃん
もしなりすましなら本人が否定して質問しなおせばいい
0333nobodyさん
2013/06/21(金) 03:29:16.44ID:QpXaJ0lM自分でいろいろやりもしないようなゴミに存在価値なんてないから
時間の無駄だしもうやめたほうがいいぜ
0334nobodyさん
2013/06/21(金) 03:55:37.48ID:L+aksv7h優しい奴だな
0336nobodyさん
2013/06/21(金) 05:48:17.18ID:y8IaW3G3ハードリンクつかっとけ。
別名でアスキー文字名にもできる。
0337nobodyさん
2013/06/21(金) 06:02:57.46ID:QpXaJ0lM0338nobodyさん
2013/06/21(金) 06:47:57.59ID:???0339310
2013/06/21(金) 08:20:53.59ID:+TFCXvd8342は偽物です。
0340nobodyさん
2013/06/21(金) 08:41:42.67ID:7xiiLaqwまあ流れでわかりますよね
一応自己解決しましたので次の質問どうぞ〜
0342nobodyさん
2013/06/21(金) 14:49:51.55ID:NYqLTWT70343nobodyさん
2013/06/21(金) 15:05:52.40ID:???単独スレを立てていいレベル。
0344nobodyさん
2013/06/21(金) 16:06:49.30ID:???酉つけるのが2chでは当たり前のように行われる行為。
>>341
なんで>>330にも安価つけたんだろ。
0345nobodyさん
2013/06/21(金) 17:28:52.34ID:???そうすると、翌日まで話題が続くかどうかなんて誰にもわからないんだから、原則質問者は
トリップ付けろということになってしまう。
そうしたいの?
0346nobodyさん
2013/06/21(金) 18:10:23.80ID:???$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);
0347nobodyさん
2013/06/21(金) 20:46:40.55ID:???echo <<<'DATA'
1行目:「猫」
2行目:「犬」
3行目:<textarea>「鯨」「鮪」</textarea>
4行目:「猿」
'DATA';
0351nobodyさん
2013/06/22(土) 00:55:19.72ID:???0356nobodyさん
2013/06/23(日) 00:39:51.41ID:???生 同 .じ . /´ | (ゝ___) い
.し 士 .レ .__/'r-┴<ゝi,,ノ ro、 は、
.な で .ベ ∠ゝ (ゝ.//` ./`| }⌒j
.い し .ル } ⌒ /`ヽ、_∠l,ノ ・ヽ´
.! ! か の / ´..:.} >、、___, .r、 ソ、`\
/ ..:.:.} / |∨ ` ̄
/ ..:.:./ | 丶
/ _、 ..:.:.:.{ .{.:.:. \
{ ..:Y .ゝ、 {.:.:.:.:. ヽ
|、 ..:/ 丿 .:〉 >.- ⌒ . ヽ
/ {. ..:./ ソ ..:./ .( ..:.:.:` ..:}
./..:.:}.:.:./ ヘ、 ..:./ .\ ..:.:r_,ノ、.:.:}
./..:.:/|.:/ {.:./ X.:.:}.} X X
/..:.:/ .}.:| }:/ .Y丶ヽ Y.:Y
. __/.:/ { } 《.〈、 _,,__>.:》丶 Y.:\
/.:.:.:.:.::/ !.:.:ゝ ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ \.: ̄>
0357nobodyさん
2013/06/23(日) 06:45:12.61ID:479YFnsBディスク容量に問題はないです
disk i/o error sqlite3で検索すると結構ヒットします
sqliteって不安定なんですか?
0358nobodyさん
2013/06/23(日) 06:58:19.14ID:479YFnsBタイミングでdisk i/o errorなんて出てもらったら困るんですけど・・
sqliteがいまいち使われてないのは不安定だからですかね〜
0359nobodyさん
2013/06/23(日) 07:02:53.82ID:479YFnsBまじファック
0360nobodyさん
2013/06/23(日) 07:22:23.99ID:ViWG6XTQ0361nobodyさん
2013/06/23(日) 07:30:45.04ID:???0362nobodyさん
2013/06/23(日) 09:07:01.44ID:479YFnsBsqliteは糞以下ですね
0363nobodyさん
2013/06/23(日) 10:09:58.79ID:???0365nobodyさん
2013/06/23(日) 16:30:11.90ID:???0366nobodyさん
2013/06/24(月) 07:46:10.46ID:???0367nobodyさん
2013/06/24(月) 07:47:13.86ID:???0368nobodyさん
2013/06/24(月) 07:50:22.42ID:???0369nobodyさん
2013/06/24(月) 07:53:44.87ID:???SQLiteはそもそも更新が激しくなく、個人とか数人で使うようなお手軽DBだから
不安定だからとかそれ以前の問題
セグウェイで道路に出て『このセグウェイ車より遅いな』って言ってるようなモン
0370nobodyさん
2013/06/24(月) 08:08:03.56ID:???〜 (_゚T゚
◎ニ)
0371nobodyさん
2013/06/24(月) 08:57:03.64ID:???はじめて使ったのでコードがまずかったのかもしれませんが、
問題があるならそれに相当するエラーを出せばいいんです
disk i/o errorはないわ
0373nobodyさん
2013/06/24(月) 11:48:35.21ID:???書きこんだ場所による
0374nobodyさん
2013/06/24(月) 11:49:32.65ID:???なんでsqliteなんて使うん
0375nobodyさん
2013/06/24(月) 17:37:56.91ID:8ZPiYdIA仕様によれば ?A=B&C=D...という部分は
>英字 数字 "-" "_" "." はそのまま.
>空白は,"+" に変換.
>それ以外は %DE(DEは該当する文字の文字コードの16進数表現)
という形になるらしいのですが
FireFoxで実際に送ってみると*もそのまま送られているようです
これはどういうことなんでしょうか
0377nobodyさん
2013/06/24(月) 18:22:41.23ID:8ZPiYdIAhttp://suika.fam.cx/~wakaba/wiki/sw/n/application+x-www-form-urlencoded
そうみたいですね・・・ここを調べたら未定義のようでした
ありがとうございました
0378nobodyさん
2013/06/24(月) 19:57:25.11ID:???実は井口と野口、山口、この三つしかない
まめちしきな。
0379nobodyさん
2013/06/24(月) 19:58:08.98ID:???今度の話のネタに使おうっと。
0380nobodyさん
2013/06/24(月) 19:58:45.93ID:???0381nobodyさん
2013/06/24(月) 20:05:46.17ID:+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
0382nobodyさん
2013/06/24(月) 20:23:10.26ID:???0383nobodyさん
2013/06/24(月) 20:27:22.98ID:???9 名前:以下、名無しにかわりましてVIPがお送りします
名字に口が付く姓で口をぐちと読むのは実は井口と野口、山口、この三つしかない
まめちしきな
10 名前:以下、名無しにかわりましてVIPがお送りします
浜口
11 名前:以下、名無しにかわりましてVIPがお送りします
>>10
お前天才じゃね?
17 名前:以下、名無しにかわりましてVIPがお送りします
矢口もだな
18 名前:以下、名無しにかわりましてVIPがお送りします
田口
19 名前:以下、名無しにかわりましてVIPがお送りします
>>17-18
お前ら天才じゃね?
20 名前:以下、名無しにかわりましてVIPがお送りします
>>9はどんなコピペなの?
23 名前:以下、名無しにかわりましてVIPがお送りします
>>20
絶対にレスがもらえるコピペ
上の奴らみたいな馬鹿が釣れる
0385nobodyさん
2013/06/24(月) 23:01:10.53ID:JNtkAyhl$aaa = "array['a']['b']" で$aaaでアクセスする、みたいな
${$aaa}だと添字は別じゃないとダメなようですし
0387nobodyさん
2013/06/25(火) 00:26:00.10ID:/K6jhL9weval以外は無いんですかね?
foreachで何度もループさせるのをシンプルに書けないかなと思ったのですが
まあ無いなら別にいいです
0388nobodyさん
2013/06/25(火) 00:42:15.99ID:???0389nobodyさん
2013/06/25(火) 00:46:31.83ID:???0390nobodyさん
2013/06/25(火) 00:50:58.27ID:/K6jhL9w5重ぐらいになるとアレなんで・・・
0391nobodyさん
2013/06/25(火) 00:57:03.05ID:???どんな風にやってるの?
0392nobodyさん
2013/06/25(火) 01:06:45.34ID:/K6jhL9wif(is_array($array[$k1])){
foreach($array[$k1] as $k2 => $v2){
if(is_array($array[$k1][$k2])){
って繰り返してるのですが、参照渡しとかでうまく出来るのかな?
0393nobodyさん
2013/06/25(火) 01:08:31.78ID:???0394nobodyさん
2013/06/25(火) 02:26:52.26ID:???0395nobodyさん
2013/06/25(火) 07:13:06.68ID:???てか結局何がしたいのか分からんけど
0396nobodyさん
2013/06/25(火) 08:58:33.51ID:???foreach($array as &$v1)
foreach($v1 as &$v2){
$v2="";
0398nobodyさん
2013/06/25(火) 14:42:12.89ID:???0399nobodyさん
2013/06/25(火) 17:12:54.70ID:/K6jhL9w今は全部を正しく処理するのに同じ様な記述を5回繰り返してるので、
それをシンプルに書く方法は無いかな、という疑問なんです
0400nobodyさん
2013/06/25(火) 17:34:27.69ID:???質問するとき情報小出しにすると構ってもらえるって!学校で習ったのか?
ならそれは良い学校だ!
0402nobodyさん
2013/06/25(火) 17:46:36.64ID:???>>396じゃだめ?
参照を使わずとも解決できる部分もあるんだけど、やっぱりまだ目的があいまいかな。
他に書かれていたように、再帰が適している場面かもしれない
0403nobodyさん
2013/06/25(火) 17:48:11.75ID:o9hRuQfM0404nobodyさん
2013/06/25(火) 17:52:36.48ID:???ちょっと古いけど、これかなぁ。
http://www.amazon.co.jp/dp/4569698239
0405nobodyさん
2013/06/25(火) 17:52:42.69ID:???ttp://www.php.co.jp/magazine/voice/
集英社だったジャンプだと思うけど。
0406nobodyさん
2013/06/25(火) 17:55:47.23ID:???なんだかんだ月刊と歴史街道が強いかと思ってた。
0407nobodyさん
2013/06/25(火) 18:04:20.04ID:???ああ、すいません。これで出来ました。
func(&$array)
foreach($array as $pk => $pv){
if(is_array($array[$pk])){
func_3($array[$pk]);
}else{
$set_data .= $pv;
} }
ややこしい事言ってすいません。ありがとうございました。
0408nobodyさん
2013/06/25(火) 20:14:09.01ID:IpAjOvyE>文字列を配列の変数として評価する方法はありますか?
になるのか。斜め上すぎる。
次回からは質問の仕方に気を付けてな。
あとIDもな。
0410nobodyさん
2013/06/26(水) 00:19:15.85ID:???他におすすめありますか?
0412410
2013/06/26(水) 12:52:42.39ID:???以後僕の番号で書き込みがあっても本物ではないのでスルーお願いします。
0414410
2013/06/26(水) 15:08:37.55ID:???自演やめてください
とても迷惑しています。
いくらインターネットといえども
人として守るべきルールは守って下さい。
0416nobodyさん
2013/06/26(水) 15:11:28.63ID:???0417nobodyさん
2013/06/26(水) 15:37:02.00ID:???0418nobodyさん
2013/06/26(水) 16:16:00.40ID:???0419nobodyさん
2013/06/27(木) 10:15:13.83ID:???あとだしはしょうがないて。注意だけしとけばいいじゃん。
>>410には、sublime 2 text editorを勧めておく。
0420nobodyさん
2013/06/27(木) 12:31:49.72ID:???こういうゴミがコミュニティの質を低下させる
0421nobodyさん
2013/06/27(木) 16:35:41.39ID:???もっと下げないと。
0423nobodyさん
2013/06/27(木) 20:55:55.81ID:???0425nobodyさん
2013/06/28(金) 00:51:05.29ID:???0426nobodyさん
2013/06/28(金) 01:08:10.72ID:???PHPごときがWeb開発のデファクトであるPerlを馬鹿にしてんのか?
っつうか数年もしたらPerlしか残ってないっしょ
0427nobodyさん
2013/06/28(金) 01:46:39.00ID:???straceみたいな感じで実行された内容のみ抜き出したいんですが・・
たとえば
<?
$attach = 10;
if($attach){echo $attach;}
?>
だと、echo 10;のように表示されるものを探してます。
0428nobodyさん
2013/06/28(金) 01:47:54.75ID:???0429nobodyさん
2013/06/28(金) 01:49:07.13ID:OgDk+Wqu0430nobodyさん
2013/06/28(金) 03:05:21.00ID:???あれで大抵のことは出来る気がするが
0432nobodyさん
2013/06/28(金) 10:03:20.19ID:???くもりガラスの向こうは 風の街だぜ。
0433nobodyさん
2013/06/28(金) 10:49:25.55ID:???0434nobodyさん
2013/06/28(金) 11:25:23.98ID:???0435nobodyさん
2013/06/28(金) 18:17:48.25ID:???RubyユーザーPerlユーザーはメインでは各々のまともな言語に時間を費やす一方で、ゴミにちょっかいを出す暇がある程度。
PHP狆はメインでゴミに時間を費やしている、つまり完全に暇。
分かりやすく時間をベースに例を示すと、
Rubyユーザーは、毎日Rubyに6時間、PHP狆を煽るのに2時間使っているとする→Rubyユーザーの暇度=2h/day
PHP狆は、毎日PHPに8時間使っているとする→PHP狆の暇度=8h/day
そもそもプログラミングに費やせる時間には個人差があるが、
このモデルでは比較のために合計時間が同じになるようにした。
0436nobodyさん
2013/06/28(金) 19:52:53.27ID:ITHNJqdPfalseを返すようになってました
前からこうでした?
0437nobodyさん
2013/06/28(金) 19:56:21.92ID:ITHNJqdP勘違いしてるとしたら何だと思うかも募集中
0439nobodyさん
2013/06/28(金) 20:00:50.55ID:ITHNJqdP見つからないと-1返すって仕様おかしいだろ
なめてんのか
0440nobodyさん
2013/06/28(金) 20:04:33.02ID:???0441nobodyさん
2013/06/28(金) 20:11:11.66ID:ITHNJqdP0442nobodyさん
2013/06/28(金) 20:25:46.70ID:???0443nobodyさん
2013/06/28(金) 23:25:59.47ID:???0444nobodyさん
2013/06/29(土) 13:40:43.46ID:5nm6m01W0445nobodyさん
2013/06/29(土) 19:42:02.77ID:???0448nobodyさん
2013/06/29(土) 23:57:16.42ID:???0449nobodyさん
2013/06/30(日) 04:50:55.38ID:???0450nobodyさん
2013/06/30(日) 06:47:48.41ID:???下記のような内容のcsvをphpで配列としたいと考えております。
================================
商品名,内容,色,価格
"鉛筆","字を書く","赤,青",100
================================
そこで、$○○=explode(',',$○○)といった関数を使用したのですが、
ダブルクォーテーションでの囲みが無視され、
色の部分が青と赤の2つに別れてしまいました。
$○○[0]="鉛筆"、$○○[1]="字を書く"、$○○[2]="赤、$○○[3]=青"、$○○[4]=100
上記のデータを
$○○[0]=鉛筆、$○○[1]=字を書く、$○○[2]=赤,青、$○○[3]=100
とするにはどのようにすれば良いかどなたかご教示いただけませんか?
よろしくお願いします。
0454nobodyさん
2013/06/30(日) 19:21:22.30ID:???0455nobodyさん
2013/06/30(日) 19:36:22.61ID:???0458nobodyさん
2013/07/01(月) NY:AN:NY.ANID:Kji7A4hlstream_set_write_bufferの書込みバッファは効果ない。
file_put_contents( *, *, FILE_APPEND ) はfwriteより20倍は遅かった。
0459nobodyさん
2013/07/01(月) NY:AN:NY.ANID:???0460nobodyさん
2013/07/02(火) NY:AN:NY.ANID:rRFX7w31"bigArr": [
{
"params": {
"p1": true
},
"title": "ttl1"
},
{
"params": {
"p1": false,
"p2": true,
"smallArr": [
"sml"
]
},
"title": "ttl2"
}
],
"id": "id"
}
以上のような文字列をdecode_jsonでデコードしたいのですが、resultがnullになってしまいます
(改行は含みません)
多次元の連想配列としてデコードする方法を教えてください
よろしくお願いします
0462nobodyさん
2013/07/02(火) NY:AN:NY.ANID:rRFX7w31json_decodeの間違いでした。すみません
よろしくお願いします
0464nobodyさん
2013/07/02(火) NY:AN:NY.ANID:Q5mgJSDQ【PHPのバージョン】6.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
メモリーの消費について質問なんですが
sessionなどで
$_SESSION['username'] = "hogehgoe";
と入れた場合一人あたり単純に8byteのメモリー消費となってこれが1万人になると8byte * 10,000 = 80kbyteのメモリーが消費されるという認識で良いのでしょうか?
0466nobodyさん
2013/07/02(火) NY:AN:NY.ANID:Q5mgJSDQ打ち間違えました。
PHPは5.3です
0467nobodyさん
2013/07/02(火) NY:AN:NY.ANID:???0471460
2013/07/03(水) NY:AN:NY.ANID:/WzHO7Hb$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です。
どなたか解決策を教えてください。よろしくお願いします。
0473nobodyさん
2013/07/03(水) NY:AN:NY.ANID:???http://codepad.org/XyHfgOLm
0476nobodyさん
2013/07/03(水) NY:AN:NY.ANID:???お前日本人か?
0477460
2013/07/03(水) NY:AN:NY.ANID:/WzHO7Hb文字コードを調べてもutf-8です
json_decodeの後にjson_last_errorを実行してみたら結果は0でした
>>473
ありがとうございます
codepadだと実行するんですね…ということは普通ならデコードできる文字列だということですね
さっぱりわからなくなりました
0478460
2013/07/03(水) NY:AN:NY.ANID:/WzHO7Hbhttp://www.softel.co.jp/blogs/tech/archives/3663
の方法も試してみましたがこちらもうまくいきませんでした
0480nobodyさん
2013/07/03(水) NY:AN:NY.ANID:???> としても原因不明のエラーが出てしまいます。phpのバージョンは5.4.8です。
エラーの内容を貼れ。
0481460
2013/07/03(水) NY:AN:NY.ANID:/WzHO7Hbありがとうございます。エラーコードは500です
0482nobodyさん
2013/07/03(水) NY:AN:NY.ANID:???0483nobodyさん
2013/07/03(水) NY:AN:NY.ANID:???0485460
2013/07/03(水) NY:AN:NY.ANID:/WzHO7Hb死ぬことにします。ありがとうございました
0486nobodyさん
2013/07/03(水) NY:AN:NY.ANID:???0487nobodyさん
2013/07/03(水) NY:AN:NY.ANID:???0488nobodyさん
2013/07/03(水) NY:AN:NY.ANID:???0489nobodyさん
2013/07/03(水) NY:AN:NY.ANID:???0490nobodyさん
2013/07/03(水) NY:AN:NY.ANID:???0491nobodyさん
2013/07/03(水) NY:AN:NY.ANID:???0492nobodyさん
2013/07/04(木) NY:AN:NY.ANID:???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
0493nobodyさん
2013/07/04(木) NY:AN:NY.ANID:???0494nobodyさん
2013/07/05(金) NY:AN:NY.ANID:R8MDMfej0495nobodyさん
2013/07/05(金) NY:AN:NY.ANID:a6le42l8現在、PHPで会員制の簡易対戦ゲームを作成中です。
その「対戦開始までの基本的な流れ」は、どう設計したら良いでしょうか?
チャットシステムを応用して、一応、対戦を実現できているのですが、
独学のため設計に不安があります。アドバイスお願いします。
(自分が作った対戦開始までの流れ)
1. 会員Xから会員Yに対戦を申込 (POSTにて「申込フラグ」をDBに登録)
2. 会員Yが「申込フラグ」を取得 (Ajaxで定期的にDBから取得)
3. 会員Yが対戦を承諾 (POSTにて「承諾フラグ」をDBに登録)
4. 会員Yが対戦を開始
5. 会員Xが「承諾フラグ」を取得 (Ajaxで定期的にDBから取得)
6. 会員Xが対戦を開始
なお、ゲームの内容は、一定時間内で同一クイズに対する総得点を競うものです。
よろしくお願いします。
0496nobodyさん
2013/07/05(金) NY:AN:NY.ANID:???基本的にはいいと思うけど、人が増えたときのサーバー負荷が高くなりそう。
もしアパッチでやってるなら
アパッチよりもnodejs等でリアルタイムWEBな方式を検討してみてる価値はあると思う。
0497495
2013/07/05(金) NY:AN:NY.ANID:a6le42l8アドバイスありがとうございます。
AjaxやCometよりも、リアルタイムWEBとしては、node.jsを利用した
WebSocketに優位性があるようですね。勉強してみます。
なお、実際、以下のようなジレンマが悩ましいです。
Ajax、Cometについての言及。
http://www.atmarkit.co.jp/ait/articles/1010/05/news133_2.html
「1リクエスト/レスポンスヘッダー自体は数KBと、そう大きくありませんが、
リクエストの更新頻度が密になってくると、毎回のリクエスト量は馬鹿になりません。
更新頻度を遅くすると、欲しい情報がすぐに手に入らないし、更新頻度を上げると
サーバへのリソース要求が高くなる、というジレンマを抱えることになります。」
0498nobodyさん
2013/07/05(金) NY:AN:NY.ANID:???0499nobodyさん
2013/07/05(金) NY:AN:NY.ANID:???Ajax、Cometについてはそういった問題があるけど、WebSocketにはないんだろ?
じゃあWebSocketでいいじゃん
0500nobodyさん
2013/07/05(金) NY:AN:NY.ANID:???0501495
2013/07/05(金) NY:AN:NY.ANID:wXQJTLAZレスありがとうございます。
WebSocketについては今日知ったばかりなので、検討中です。
学習コストが高そうなのと、ブラウザの一部が未対応との情報が気になります。
なお、質問の主旨は、>>495のとおり「対戦開始までの基本的な流れ」は、
どう設計したら良いかです。 PHP側での注意点など、ご指摘してくださると
有り難いです。
0502nobodyさん
2013/07/05(金) NY:AN:NY.ANID:???何を心配しているのか具体的に書いてくれないと具体的に答えようがない
データの矛盾?パフォーマンス?不正操作の穴?ユーザビリティ?
0503nobodyさん
2013/07/05(金) NY:AN:NY.ANID:HeBuTBQC0504495
2013/07/05(金) NY:AN:NY.ANID:wXQJTLAZ対戦ゲームの設計についてです。
対戦システムを作りたい。
例えば、オンライン将棋やオセロなどは、どのように対戦成立を実現しているのだろう。
チャットシステムを応用すればよいのかな?
とりあえず、>>495の設計の流れで出来た。でも、これで本当にいいの?
こういった疑問です。
PHPで作る対戦システムの設計やロジックを知りたいです。
0505nobodyさん
2013/07/05(金) NY:AN:NY.ANID:???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
0507nobodyさん
2013/07/05(金) NY:AN:NY.ANID:???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/
0509nobodyさん
2013/07/06(土) NY:AN:NY.ANID:???ではこれから遠慮なくRubyの布教をさせてもらう
0510nobodyさん
2013/07/06(土) NY:AN:NY.ANID:CYENJL3T速度さえでるならサーバーはPHPで設計していい。
しかしユーザー側はPHPが動作する環境にないから、
JavaとかJavascriptとかflashとかC++とかC#とか別に作らないとダメだろ。
ブラウザでHTMLだけを表示してたらリアルタイムにならない。
0511495
2013/07/06(土) NY:AN:NY.ANID:Jrzu0zyxリアルタイム通信については、質問の主旨ではありません。
質問の主旨は、「PHPで作る対戦システムの設計」です。
特に、対戦開始成立までの流れです。ただ、付随的にAjaxを利用しています。
ですから、PHPに関連する範囲でアドバイスをお願いしています。
0512nobodyさん
2013/07/06(土) NY:AN:NY.ANID:???0513nobodyさん
2013/07/06(土) NY:AN:NY.ANID:???0514nobodyさん
2013/07/06(土) NY:AN:NY.ANID:???ネットワーク機能もあるがサーバーが外部とのやりとりするためでユーザー側を操れるわけでない。
ユーザー側の通信を制御するのはPHP以外の技術。
0515495
2013/07/06(土) NY:AN:NY.ANID:cPOigFzJ悪いなら、どこが悪くて、どう直せばよいのか、
良いなら、他に改良点があるかです。
0517nobodyさん
2013/07/06(土) NY:AN:NY.ANID:???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
0518495
2013/07/06(土) NY:AN:NY.ANID:cPOigFzJなるべく対戦開始時間が近い方が良いですが、
数秒のズレがあっても良いと考えてます。
0520nobodyさん
2013/07/07(日) NY:AN:NY.ANID:UBLgc+apPOSTされた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
を参考にしてつくったのが下記のコードです
0521nobodyさん
2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap続きです
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;
}
0522nobodyさん
2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap続きです
$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";
0523nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0524nobodyさん
2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap>>523
ファイルの内容が違うのはあきらかなんですがバイナリファイルをみてもそれがなんなのか、違う原因の突き止めかたが全然わからないので…。
参考の為に…
元画像:http://kobe.digi2.jp/test/test.png
エンコード→デコードしたやつ:http://kobe.digi2.jp/test/new_test.png
0525nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???それと、エンコードデコードしたやつじゃなくて、POSTされたファイルそのものが
検証には必要なんじゃないかと思うけど。
0526nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0527>>520-522です
2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap>画像見れないし。
画像として見れないから困ってるんです。名前をつけて保存して見てください。
>あ、元画像じゃなくて、サーバに保存されたファイルをPOSTされたファイルって言ってるからね。
http://kobe.digi2.jp/test/new_test.png がサーバーに保存されたファイルです。
ちなみにPOSTしてデコードする前のデータをimgタグのsrcに設定するとちゃんと見れます。
http://kobe.digi2.jp/test/new_test.html
0528nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???その例のbase64食わしてみたらちゃんとデコードされたぞ
デコードするまえのbase64 のデータのまま保存したらどうなってる?
0529>>520-522です
2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap>デコードするまえの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
こんなことってあるんですか・・・?
0531nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0532nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???>data:image/png;base64,
この文字まで食わせてるだろう、それが原因だよ。
0533>>520-522です
2013/07/07(日) NY:AN:NY.ANID:UBLgc+apこれです
保存されたのをテキストエディタで開いて閲覧したときの値です
http://kobe.digi2.jp/test/test.html
0534nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???base64_decode するときは base64,の次の iVBO〜から渡さないとダメだよ
0535nobodyさん
2013/07/07(日) NY:AN:NY.ANID:UBLgc+apああ……そういうことですか…
お騒がせしてしまってもうしわけない
MIMEとかなんやらのファイルに関しての知識がまったくなかったもので…
0536nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0537nobodyさん
2013/07/07(日) NY:AN:NY.ANID:UBLgc+apPHPの関数の不具合かと思い込んでいたので危うくいつまで経っても解決できないところでした
ありがとうこざいました
0538nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0539nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0540nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0541nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???>>520だけど、無知だからだよ。
「php base64_decode」や「php
base64_decode ファイル保存」ググって5ページくらいリンクを紫色で塗りつぶしたけど、ファイルのヘッダ部分を削除してファイルに保存してくれるコードには出会わなかったしどうすりゃいいんだよ
0542nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???知識がないことじゃなくて、行為と判断に対して言っている
0543nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0544nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???じゃあその行動と判断の模範解答例をお願いします。多分それが解決しないと何の意味もないし、今後の参考にしたいので。
0546nobodyさん
2013/07/07(日) NY:AN:NY.ANID:zB7I9fCCつまりここに書き込むまでもなくわかるということ
一言で言うと
馬鹿には無理
0547nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0548nobodyさん
2013/07/07(日) NY:AN:NY.ANID:UBLgc+apめちゃくちゃ荒らしてあとで申し訳ないないけど、 データがどうなってるかは最初からわかってるし、データどうなってるかがわかったところで根本的解決にはならない。そもそもヘッダを含めちゃいけないってしらなかったんだから。
0549nobodyさん
2013/07/07(日) NY:AN:NY.ANID:zB7I9fCC元本と比べれば小学生でも違いはわかるんだからさ(笑)
0550nobodyさん
2013/07/08(月) NY:AN:NY.ANID:Ut6Bx/oC君はバイナリデータがよめるのか
へーすごいね
0551nobodyさん
2013/07/08(月) NY:AN:NY.ANID:JakHMzbXPHPと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;
}
0553nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???そもそもボタン押下時のスクリプトは成功してるんかね?
0555nobodyさん
2013/07/08(月) NY:AN:NY.ANID:TuBZgbNe0556nobodyさん
2013/07/08(月) NY:AN:NY.ANID:TuBZgbNe早いトコやめた方がいいよ
0558nobodyさん
2013/07/08(月) NY:AN:NY.ANID:Ut6Bx/oCさすがにそれはやったよ。ただそれで解決できるなら質問なんかしない。
壊れたバイナリをみてどんな行動をとればいいのかと聞いているんだが。バイナリデータ意味わかってる?
0559nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???異常な方と正常なpngで最初の100バイトほどダンプしたらあきらかに全然違っていたのと
ファイルのサイズが異常な方は数バイト大きかったので、
この大きくなった分がどこから来たか推測して(先頭から違うんだから最初がおかしいと推測できる)
試しにヘッダごとデコードしてみたら、問題のデータと全く同じものができた。
という手順で検証した。
$_FILES使えって
0560nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???これはどういう意味?
データベースヘッダー?
0561nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???STateMenT
0562nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???意味は>>560の通りなんだけど、そう書く人が多いのはマニュアルがその省略形を使ってるからだと思う。
例えば、
http://www.php.net/manual/ja/pdo.errorinfo.php
0563nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???$stmtじゃなくて$psとかにするかもな
0564nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???主題と逸れてるのは理解したうえで言うけど、
適当な画像ファイルをテキストエディタで開いてみるといいよ。
読める文字が先頭についてるから。
0565nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???0566nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???0567nobodyさん
2013/07/08(月) NY:AN:NY.ANID:Ut6Bx/oCエディタで開いたんだからさすがに気づいてたけど、それが解決にはならん気がする。
>>559
>base64のデータを普通にでコードしたら正常なpngができた
→「普通にデコード」の意味がわからんけど、img src=base64データ で表示はできたんだからデータが間違ってないのはわかってるよ
>この大きくなった分がどこから来たか推測して(先頭から違うんだから最初がおかしいと推測できる)
→それならヘッダ以外の後のほうは、元データもヘッダ付きデータも同じなんだから後の方が違うのはおかしいと思っちゃう
>$_FILES使えって
→ドラッグアンドドロップで画像をアップロードするものを作っていて、一番自分でカスタマイズできそうなサンプルを探し、それが結果的にbase64で送るものだったんです
普段は勿論 $_FILES使います。
「推測すればいい」 というけれどもちろん私はエスパーでもなければ感のいいほうではありません。今回は完全にバイナリファイルの扱いが初めてだったことと、質問時にそれを伝え損ねた事が原因だと思うので今後は気をつけていこうと思います。
0569nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???まぁ、いらいらすることもあるさ。
次は、base64エンコードされるというのはどういうことかって言うのを調べておけばいいんじゃない?
意味もわからず使うからそうなるわけで、それすらも省略される近道を求めちゃいけないと思う。
0570nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???0571nobodyさん
2013/07/09(火) NY:AN:NY.ANID:k7B6tgkb全力で言い訳する暇があったら一言礼だけ言って次に進めよ
全力で言い訳してる時点でもうだめだわ
0573nobodyさん
2013/07/09(火) NY:AN:NY.ANID:k7B6tgkb0574nobodyさん
2013/07/09(火) NY:AN:NY.ANID:???キミの問題は、結果がおかしい時に何も調べずに
phpの仕様のせいにして先に進めなかったtことと
結果がわかっても自分のせいにしたくなくて
今後のやり方をあらめようともしないところ
今後人に聞くのはやめろよな、環境作っていろいろ調べて結果を出したのに後味悪すぎる
0576nobodyさん
2013/07/09(火) NY:AN:NY.ANID:???0579nobodyさん
2013/07/09(火) NY:AN:NY.ANID:k7B6tgkb0580nobodyさん
2013/07/09(火) NY:AN:NY.ANID:???0582nobodyさん
2013/07/09(火) NY:AN:NY.ANID:eZcG40Bcはい。
でももっかい彼が書かないことにはどうにもならんなこれ
0583nobodyさん
2013/07/09(火) NY:AN:NY.ANID:IrNQ7IWSはい。
でももっかい彼が書かないことにはどうにもならんなこれ
0584nobodyさん
2013/07/09(火) NY:AN:NY.ANID:eZcG40Bc0585nobodyさん
2013/07/09(火) NY:AN:NY.ANID:7W64c/4qはい。
でももっかい彼が書かないことにはどうにもならんなこれ
0586nobodyさん
2013/07/10(水) NY:AN:NY.ANID:???0587nobodyさん
2013/07/10(水) NY:AN:NY.ANID:CN5V3Wu/0588nobodyさん
2013/07/10(水) NY:AN:NY.ANID:???0589nobodyさん
2013/07/10(水) NY:AN:NY.ANID:BysYyNl30590nobodyさん
2013/07/10(水) NY:AN:NY.ANID:hhzOdqYqコロンの後に、exit()を用いても大丈夫ですか?
以下の文は、期待通りに動くのですが、後々、問題になるのを避けたいです。
$val = !empty($arg) ? $arg : exit('error');
0592590
2013/07/10(水) NY:AN:NY.ANID:E8EpK5eUと思いましたが、次のようにするとTRUEかFALSEが代入されてしまいます。
どのように or die を使えば良いのでしょうか。
$val = !empty($arg) or die('error');
0593nobodyさん
2013/07/10(水) NY:AN:NY.ANID:???http://codepad.org/iVif3kSL
0594590
2013/07/10(水) NY:AN:NY.ANID:E8EpK5eU<?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
0595nobodyさん
2013/07/10(水) NY:AN:NY.ANID:85QoHIBq1じゃなく、何になって欲しいの?
不具合というなら、期待していた結果もお願いします
0596590
2013/07/10(水) NY:AN:NY.ANID:E8EpK5eU$arg = 5;
$val = !empty($arg) ? $arg : exit('error');
結果 5
これと同じ結果になるように or die を使う例を教えてください。
というか最初の質問とずれてきていますが。。
0597nobodyさん
2013/07/10(水) NY:AN:NY.ANID:???そもそも三項演算子があまりお勧めではないし、
> $val = !empty($arg) ? $arg : exit('error');
のような書き方もまあ普通はしないから、そういう書き方はあまりしない方が良いとしか言えない。
0598nobodyさん
2013/07/10(水) NY:AN:NY.ANID:???if ($val === null) exit('error');
0600nobodyさん
2013/07/10(水) NY:AN:NY.ANID:???$val = $arg;
でいいじゃん。
emptyが値を受ける5.5以降なら empty($val=$arg) or die('error'); って書けるけどさ、
素直に書くのがいいよ。
0601nobodyさん
2013/07/10(水) NY:AN:NY.ANID:85QoHIBqいろいろ見間違えてた。ごめん。
or dieを使って、同等の結果を生むコード
http://codepad.org/MExebqFq
ただ、個人的には条件演算子も、or dieも使わない書き方をすると思う。
0602nobodyさん
2013/07/10(水) NY:AN:NY.ANID:85QoHIBqunset($arg) 状態で動かすとnotice出るんじゃないの。
empty使うメリットが失われてるかと。たぶん。
0603nobodyさん
2013/07/10(水) NY:AN:NY.ANID:???0604590
2013/07/10(水) NY:AN:NY.ANID:65tBLdRF: exit() は、確かに、行儀の悪いコードですよね。
>>601
or die の使うやり方、理解できました。
コードを載せて頂き、有難うございます。
やはり、: exit()は、推奨される書き方ではないようですね。
if(){} else{} を使うと4行ほどになったり、インデントでコード量が
多く感じるので、1行にまとめたいと思った次第です。
有難うございました。
0605nobodyさん
2013/07/10(水) NY:AN:NY.ANID:???0606590
2013/07/10(水) NY:AN:NY.ANID:65tBLdRFコードが4倍になります。
たとえば、if else のコードが合計1000個ある場合、
1000行のコードが、4000行になり管理が大変です。
0607nobodyさん
2013/07/10(水) NY:AN:NY.ANID:???そうなったらコードを生成するコードのほうを管理するか、
バイナリにしてしまうとか。
0608nobodyさん
2013/07/10(水) NY:AN:NY.ANID:???0609nobodyさん
2013/07/10(水) NY:AN:NY.ANID:???どんなコード書いてるのか見てみたい
0610nobodyさん
2013/07/11(木) NY:AN:NY.ANID:9TxHvupTもし読んでいないならマーチンファウラーのリファクタリングを読んでみて。
>>607
> そうなったらコードを生成するコードのほうを管理する
大抵の場合、それは悪。
そうする場合は最大限の注意を払わなければ代償は信じられないほど大きい。
0612nobodyさん
2013/07/11(木) NY:AN:NY.ANID:???$arg1、$arg2、$arg3、でも
$arg[1]、$arg[2]、$arg[3]、でも同じ用途に使えるだろ。
0613nobodyさん
2013/07/11(木) NY:AN:NY.ANID:???0615nobodyさん
2013/07/11(木) NY:AN:NY.ANID:???0616nobodyさん
2013/07/11(木) NY:AN:NY.ANID:???0618nobodyさん
2013/07/11(木) NY:AN:NY.ANID:???自分の手法を突っ込まれて悔しかったのか?
0619nobodyさん
2013/07/11(木) NY:AN:NY.ANID:rFR/PQIZphpのファイル名が同じだと、別のディレクトリにあっても、同じキャッシュが適用されて同じコードが実行されてしまうことを確認
これ大変困ってるんですけど解決策ないでしょうか?
APCをオフにする以外で
0620nobodyさん
2013/07/11(木) NY:AN:NY.ANID:???apc.stat をオンでいいんじゃないかな
0621nobodyさん
2013/07/11(木) NY:AN:NY.ANID: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
チェックしてみます
0622nobodyさん
2013/07/11(木) NY:AN:NY.ANID:???0623nobodyさん
2013/07/11(木) NY:AN:NY.ANID:rFR/PQIZ他にそれっぽい設定項目が見つからない…キャッシュエントリ見てみます
0624nobodyさん
2013/07/11(木) NY:AN:NY.ANID:???ローカルで試してみたけど、ちゃんと別ものとして認識してくれたよ。
$ 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
0625nobodyさん
2013/07/11(木) NY:AN:NY.ANID:???0626nobodyさん
2013/07/11(木) NY:AN:NY.ANID:9TxHvupT更新していないはずのbが、新しくなったaの動きをするって話じゃ
0627nobodyさん
2013/07/11(木) NY:AN:NY.ANID:???0628nobodyさん
2013/07/11(木) NY:AN:NY.ANID:???0629nobodyさん
2013/07/11(木) NY:AN:NY.ANID:???正しい情報調べれば解決なのに
中途半端な知識で意見交換ごっこ
0630nobodyさん
2013/07/11(木) NY:AN:NY.ANID:???0631nobodyさん
2013/07/11(木) NY:AN:NY.ANID:rFR/PQIZどうも全てのファイルがそうなるわけではなく、何か発生する条件があるようです
厄介な問題ですねこれ…更に調べてみます
0632nobodyさん
2013/07/11(木) NY:AN:NY.ANID:u2co9nyd0633nobodyさん
2013/07/11(木) NY:AN:NY.ANID:???0634nobodyさん
2013/07/11(木) NY:AN:NY.ANID:9TxHvupTわからないなら口出すなという定番のレスをもらうかもしれないけど、それが適切な場面とは思えないんだよなぁ
0635nobodyさん
2013/07/12(金) NY:AN:NY.ANID:iv8k8+L5適切なことを適切なことだと判断できるのなら
その時点でこの馬鹿板の住民より上だからな
0636nobodyさん
2013/07/12(金) NY:AN:NY.ANID:jzIu4enxabc.phpがclass.phpみたいな他ファイル内の親クラスを継承していて
ユーザーAがclass.phpを書き換えてUPし、apc.phpを実行したら
ユーザーBのabc.phpがユーザーAのものと同じ挙動になってしまう
ということが起きているようです
が、これが必要十分条件かわからないので、更に調べてみます
0637nobodyさん
2013/07/12(金) NY:AN:NY.ANID:GnfS9HXKいうのは、どうやっているんですか?
0638nobodyさん
2013/07/12(金) NY:AN:NY.ANID:???0640nobodyさん
2013/07/12(金) NY:AN:NY.ANID:???にアクセスすると、
/api.cakephp.org/2.3/class-Component.html
というページじゃなくてスクリプト実行になるけど、
これはどういう風に実現しているのでしょうか?
0641nobodyさん
2013/07/12(金) NY:AN:NY.ANID:???PHPじゃなくてHTMLの質問じゃねーか
アンカーテキストのURLとリンク先が一致してないだけだろ
0642nobodyさん
2013/07/12(金) NY:AN:NY.ANID:???class-Component.html
というファイルが存在するわけではありませんよね?
0643nobodyさん
2013/07/12(金) NY:AN:NY.ANID:???htaccessで設定してあるんだろうな
http://blog.katty.in/89
0644nobodyさん
2013/07/12(金) NY:AN:NY.ANID:???PHP=脆弱性の塊。
安全なウェブサイトを作る方法の一番最初に「PHPは使わない」
と書いてあった時代に流行った、
apacheの設定を変更して、拡張子を偽装するという手口の名残りだろう。
0646nobodyさん
2013/07/12(金) NY:AN:NY.ANID:???PHPが使われてるかどうかも不明だし
静的に生成しているんだったらHTMLだけで実現できる。
0647nobodyさん
2013/07/12(金) NY:AN:NY.ANID:jzIu4enx0648nobodyさん
2013/07/12(金) NY:AN:NY.ANID:???初心者が騙されて産廃を使って人生の何時間かを無駄にしないようにしてやるのも
ITに関わる者の務めの一つだと心得ている
自分さえよければそれでいい、信者増えて楽しければそれでいい、
そういった公共の福利を無視したPHP偸とは違うんたよ
0649nobodyさん
2013/07/12(金) NY:AN:NY.ANID:sxqmWfDIユーザA、Bは同一のclass.phpを参照しているの?
それとも、ユーザごとに分かれている?
>>637
みんなが書いてるように、mod_rewriteとかで実現してる。
ただ、HTMLの問題だとか、HTMLで実現してるという言葉はうそなので信用しないように。
0650nobodyさん
2013/07/12(金) NY:AN:NY.ANID:iv8k8+L50651きら 忍法帖【Lv=40,xxxPT】(1+0:8) ◆Kira.u9zNc
2013/07/13(土) NY:AN:NY.ANID:9o8w/PODCGIのhttp://hoge.com/fuga.cgi/foo/のように、
PHPでもbar.php?foobar=testではなく、
bar.php/foobar/test/というように
パラメータを渡す方法を教えてください
0653nobodyさん
2013/07/13(土) NY:AN:NY.ANID:I87hYon8それもapacheならmod_rewriteでできる。
自分でやるのが面倒なら、フレームワーク使うなど。
0654nobodyさん
2013/07/13(土) NY:AN:NY.ANID:???それはサーバーソフト依存。
0655nobodyさん
2013/07/13(土) NY:AN:NY.ANID:MyVXWbK4$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の/が消える)
デコードとエンコードは必須です
何か良い対応策があれば教えてください
0656nobodyさん
2013/07/13(土) NY:AN:NY.ANID:???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
0657nobodyさん
2013/07/13(土) NY:AN:NY.ANID:???広告代はどっちが得なんだろう
0658nobodyさん
2013/07/13(土) NY:AN:NY.ANID:MyVXWbK4ありがとうございます。
送り手も受けても間違いなくUTF-8に設定されています。
JSONを使うのは仕様なので、変更できないんです…。
0660nobodyさん
2013/07/13(土) NY:AN:NY.ANID:???PHPの設定と、扱える文字コードは同じではない。
0661nobodyさん
2013/07/14(日) NY:AN:NY.ANID:???本当にお前らって時間をドブに捨てるのが好きだよなw
0663nobodyさん
2013/07/14(日) NY:AN:NY.ANID:???0664nobodyさん
2013/07/14(日) NY:AN:NY.ANID:???0665nobodyさん
2013/07/14(日) NY:AN:NY.ANID:???0667nobodyさん
2013/07/14(日) NY:AN:NY.ANID:XtTloFXyハッシュ→10進数って変換する以外にいい方法無いでしょうか?
0668nobodyさん
2013/07/14(日) NY:AN:NY.ANID:???0669nobodyさん
2013/07/14(日) NY:AN:NY.ANID:???0671nobodyさん
2013/07/14(日) NY:AN:NY.ANID:???0672nobodyさん
2013/07/14(日) NY:AN:NY.ANID:XtTloFXyphpでバイナリって単語自体初めてなんで
0673nobodyさん
2013/07/14(日) NY:AN:NY.ANID:???バイナリ文字列と整数の変換はpack unpackなど。
0674nobodyさん
2013/07/14(日) NY:AN:NY.ANID:???文字列全体を、複数個の整数に変換したら、検索複数回と整数変換のコストがかかる。まだ文字列そのまま検索したほうがマシ。
0675nobodyさん
2013/07/14(日) NY:AN:NY.ANID:???文字数が長いとき計算があふれたりするので1文字づつ10進数2桁に置き換えてしまえ。
DB早くならんけどな。 index張れば済むんじゃねーの?
0676nobodyさん
2013/07/14(日) NY:AN:NY.ANID:???メリットはよくわかんね
0677nobodyさん
2013/07/14(日) NY:AN:NY.ANID:???何のために変換するのかイミフ
0678nobodyさん
2013/07/14(日) NY:AN:NY.ANID:???しかしデータベースの検索速度や格納サイズは違ってくる。
sqlite3で実験してみたところ、4バイト整数×4つ (=英数字16文字)を
そのまま英数字で登録すると、5.08Mだったのに対し
整数4つ(個別index)だと8.20 MB、整数4つ(一括index)だと5.68 MB。
検索速度は大差なし。
0679nobodyさん
2013/07/15(月) NY:AN:NY.ANID:yIQbPTaI> しかしデータベースの検索速度や格納サイズは違ってくる。
> (snip)
> 検索速度は大差なし。
おちつこ?
0680nobodyさん
2013/07/15(月) NY:AN:NY.ANID:???0681nobodyさん
2013/07/15(月) NY:AN:NY.ANID:???0682nobodyさん
2013/07/15(月) NY:AN:NY.ANID:Ggbz4wTpそのpharのヘルプが表示されてしまうんだが
なにかphp側で設定が必要なんでしょうか。
例えばこんなスクリプト
include 'phpunit.phar';
echo "hello!!";
実行するとphpunitのヘルプが表示され、helloは出力されない
0685nobodyさん
2013/07/15(月) NY:AN:NY.ANID:Ggbz4wTp0687nobodyさん
2013/07/15(月) NY:AN:NY.ANID:???http://www.atmarkit.co.jp/ait/articles/0911/12/news105.html
0688nobodyさん
2013/07/15(月) NY:AN:NY.ANID:xqHvQ6Ob韓国すげーw
0690nobodyさん
2013/07/15(月) NY:AN:NY.ANID:Ggbz4wTpまあいいけどw
0692きら/ 忍法帖【Lv=40,xxxPT】(1+0:8) ◆Kira.u9zNc
2013/07/15(月) NY:AN:NY.ANID:OdmwjCT+ありがとうございました!
でももう一つ質問が出来ました。
hoge.phpの内容を
<?php echo $_SERVER['QUERY_STRING']; ?>
にし、
hoge.php?fuga?piyoにアクセスすると、
fugaしか表示できません。
URLエンコード等をせずにこのURLのままアクセスしたいのですが、
何とかなりませんか?
0693nobodyさん
2013/07/15(月) NY:AN:NY.ANID:???0694nobodyさん
2013/07/16(火) NY:AN:NY.ANID:GRbiH6Vdそういうアクセスをさせたくないがための、>>651だったんじゃないの?
何をしたいか書いてくれないと返事できんわ
0695nobodyさん
2013/07/16(火) NY:AN:NY.ANID:???プログラム以前の問題なのにそれに気づかない。
0696nobodyさん
2013/07/16(火) NY:AN:NY.ANID:???0697nobodyさん
2013/07/16(火) NY:AN:NY.ANID:XxdQ/HjMその際、クッキー名をリファラにしたいのですが
(つまり毎度リファラURLがそのままクッキー名に)
そのクッキーが前回と同じかどうか(前回と同じサイトで利用された場合)
を判定するif(isset($_COOKIE[])){ }
この条件判定の際に、リファラをクッキー名として入れ込むことが出来ません。
動きませんが、感覚としては下記のようなことがしたいです。
$referer = $_SERVER['HTTP_REFERER'];
setcookie($referer, value); //ここまでは出来ます
if( isset ($_COOKIE[$referer])){ }
↑この$_COOKIE[$referer]というのがどうもいけてないようです。
クッキーで前回と同じサイトの同じURLで利用されたかどうかを判定するのは不可能でしょうか?
どなたかご教授お願いします。
0698nobodyさん
2013/07/16(火) NY:AN:NY.ANID:???> setcookie($referer, value);
valueって何だよ。
> どうもいけてないようです。
なにがどうなのかさっぱりわからないが、最初のアクセスでリファラをcookieにsetしといて、
次回はそれを元にチェックすればいいんじゃないの?
0699nobodyさん
2013/07/16(火) NY:AN:NY.ANID:XxdQ/HjM返信ありがとうございます。
valueは適当な文字列ということでなんでもいいです
数字が入る予定です
>なにがどうなのかさっぱりわからないが、最初のアクセスでリファラをcookieにsetしといて、
リファラのURLをそのままクッキーにセットするというのは出来ました。
>次回はそれを元にチェックすればいいんじゃないの?
これが出来ません。
$_COOKIE[$referer]もしくは$_COOKIE[$_SERVER['HTTP_REFERER']]という記述が通るなら
出来るような気がするんですが、これが通りません。
0700nobodyさん
2013/07/16(火) NY:AN:NY.ANID:???0701nobodyさん
2013/07/16(火) NY:AN:NY.ANID:XxdQ/HjMつまり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、となって欲しいのですが…どこか間違ってるでしょうか?
0703nobodyさん
2013/07/16(火) NY:AN:NY.ANID:???0704nobodyさん
2013/07/16(火) NY:AN:NY.ANID:XxdQ/HjMそれやるとarray(23)となって自分のサイトで使ってる今回のテストと関係ないクッキーも
合わせて24個全部出てきました。
>>703
echo $referer;はちゃんと出ますよ。
0705nobodyさん
2013/07/16(火) NY:AN:NY.ANID:???0706nobodyさん
2013/07/16(火) NY:AN:NY.ANID:???マニュアルで$_COOKIEを調べろ。
あと、ブラウザのデバッグツール(またはそれ系の拡張)入れて、cookieの様子を確認しろ。
0709nobodyさん
2013/07/16(火) NY:AN:NY.ANID:???なぜでしょうか
0710nobodyさん
2013/07/16(火) NY:AN:NY.ANID:GRbiH6Vderrorlogみてみ
0714nobodyさん
2013/07/17(水) NY:AN:NY.ANID:H2iNBEZT0715nobodyさん
2013/07/17(水) NY:AN:NY.ANID:???0719nobodyさん
2013/07/17(水) NY:AN:NY.ANID:LitNIdVr自分で寿命縮めにきてるドMかよ
0720nobodyさん
2013/07/17(水) NY:AN:NY.ANID:???文字列と数値型の検索速度はインデックス化してなかったら差が出ると言いたかったのか?
0723nobodyさん
2013/07/18(木) NY:AN:NY.ANID:6pVpjJwrprint "$ipAddress";
でipアドレスを表示させようとすると
::1
と表示されてしまいます。
何が原因なのでしょうか?
お分かりの方いましたらご教授願います。
0724nobodyさん
2013/07/18(木) NY:AN:NY.ANID:???0725nobodyさん
2013/07/18(木) NY:AN:NY.ANID:???0726nobodyさん
2013/07/18(木) NY:AN:NY.ANID:???ゴミすぎて色々終わってるけど本人は気づいてないんだろうな
0727nobodyさん
2013/07/18(木) NY:AN:NY.ANID:EdDxyS9V基礎の範囲がどこまで含むのかわかんないけども。
0728nobodyさん
2013/07/18(木) NY:AN:NY.ANID:???ぐぐればすぐ出てくるようなことを聞くなとは思う
0729nobodyさん
2013/07/18(木) NY:AN:NY.ANID:EdDxyS9V0730nobodyさん
2013/07/19(金) NY:AN:NY.ANID:???0731723
2013/07/19(金) NY:AN:NY.ANID:wJN3xvbD返答ありがとうございます。
簡単なアクセスカウンタを作っていて、同じIPアドレスでは何度もカウントしない
ようにする為にIPアドレスから判定したいのですが、IPv6だと結果として::1 が出てしまいます。
IPv6の場合はどうすればいいのでしょうか?
同一IPアドレスかどうかだけ分かれば良いです。ご存知でしたら教えていただけないでしょうか?
0732nobodyさん
2013/07/19(金) NY:AN:NY.ANID:???0733nobodyさん
2013/07/19(金) NY:AN:NY.ANID:eqXiA8JHええっと、外部からのアクセス時に ::1 が表示されるということでいいのか?
0735nobodyさん
2013/07/19(金) NY:AN:NY.ANID:???0736nobodyさん
2013/07/19(金) NY:AN:NY.ANID:fYJiONHF【PHPのバージョン】6.3
【連携ソフトウェア】SQLite WordPress
【質問内容】
検索について質問です。
検索する際に複数のキーワードを指定しますが
例:東京 おみやげ おいしい
この場合の検索というのは
東京 and おみやげ and おいしい
東京 or おみやげ or おいしい
どちらになるのでしょうか?
検索エンジンでは特にそういったオプションは見なかったのですが
どちらが一般的なのか教えていただけないでしょうか。
0737nobodyさん
2013/07/19(金) NY:AN:NY.ANID:???0738nobodyさん
2013/07/19(金) NY:AN:NY.ANID:???99%andだろうけどそんなCMSの仕様まで知らんソースヨメ
0739nobodyさん
2013/07/19(金) NY:AN:NY.ANID:eqXiA8JHスレ違いだけど、一般にそれらは複合された上で、優先度がつけられる。
>>738
CMSの仕様を知りたいわけじゃなさそうだが
0741nobodyさん
2013/07/19(金) NY:AN:NY.ANID:???答えられないのなら黙っときゃいいのに
0743nobodyさん
2013/07/19(金) NY:AN:NY.ANID:9KDx1fUsクッキーを配列にしているのですが
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"と出ます。これは仕様ですか?
0744nobodyさん
2013/07/19(金) NY:AN:NY.ANID:9KDx1fUsどなたか宜しく御願いします。
0748nobodyさん
2013/07/20(土) NY:AN:NY.ANID:0pH7e+ys0749nobodyさん
2013/07/20(土) NY:AN:NY.ANID:???Windowsのローカル環境なら一瞬なんですが、サーバでやると何も返ってこなくなります
ローカルはsqlite3.7、サーバは3.6で差はありますが、そんなもんでしょうか?
サーバはubuntuです
全く同じDBファイルで速度がこうも違うのはどうも・・・
0750nobodyさん
2013/07/20(土) NY:AN:NY.ANID:J6XcTNYzPDOでsqlite3使ってるんですが、1万件程度のorder byがやたら遅いです
Windowsのローカル環境なら一瞬なんですが、サーバでやると何も返ってこなくなります
ローカルはsqlite3.7、サーバは3.6で差はありますが、そんなもんでしょうか?
サーバはubuntuです
全く同じDBファイルで速度がこうも違うのはどうも・・・
何かわかる方よろしくお願いします。
0751nobodyさん
2013/07/20(土) NY:AN:NY.ANID:???とくにハードディスクとか
0752nobodyさん
2013/07/20(土) NY:AN:NY.ANID:???0753nobodyさん
2013/07/20(土) NY:AN:NY.ANID:???0757nobodyさん
2013/07/20(土) NY:AN:NY.ANID:???0758nobodyさん
2013/07/20(土) NY:AN:NY.ANID:???導入が手軽だからって初心者は使ってはいけないDB
0759nobodyさん
2013/07/20(土) NY:AN:NY.ANID:???家PCだと100メガメモリ確保してソート可能だろうが。
共用サーバーでは一ユーザーにそんなに使わせてくれない可能性。
例えばメモリが1Mとか3Mでも瞬時に返るように設計する。
0760750
2013/07/20(土) NY:AN:NY.ANID:J6XcTNYzありがとうございます。
Windowsでは早かったので張ってませんでしたが、張ってみても変わらないですね。
0761nobodyさん
2013/07/20(土) NY:AN:NY.ANID:???0762750
2013/07/20(土) NY:AN:NY.ANID:J6XcTNYz初心者というわけでも無いので・・・
MySQLは普通に使いますが、今回はsqliteでも十分かと思っていました。
基本Selectするだけなので。
sqliteでもファイルの上限は100TくらいOKの仕様だし、速度的にはMySQLと遜色ないという報告もありましたし・・・。
>>759
一応バーチャルホストなので、100Mくらいは使えます。
order byしなければ速いんですけどね・・・。
やはりHDDですかね?
0764nobodyさん
2013/07/20(土) NY:AN:NY.ANID:???0767nobodyさん
2013/07/21(日) NY:AN:NY.ANID:g8Cbs23W> サーバでやると何も返ってこなくなります
数値。
あと、そもそもスレ違い
0769nobodyさん
2013/07/21(日) NY:AN:NY.ANID:???phpやってる人ってこんなもんなん?
0772nobodyさん
2013/07/21(日) NY:AN:NY.ANID:g8Cbs23W何のレベル?煽りレベルは確かに低いと思う
0774nobodyさん
2013/07/21(日) NY:AN:NY.ANID:???まぁ質問者がゴミばっかりだけどw
0775nobodyさん
2013/07/21(日) NY:AN:NY.ANID:g8Cbs23W0776nobodyさん
2013/07/21(日) NY:AN:NY.ANID:???0777nobodyさん
2013/07/21(日) NY:AN:NY.ANID:???0778nobodyさん
2013/07/21(日) NY:AN:NY.ANID:???0780nobodyさん
2013/07/21(日) NY:AN:NY.ANID:???0781nobodyさん
2013/07/22(月) NY:AN:NY.ANID:iCQBXrZJググったほうが早くない質問ってPHPみたいな
Webに情報がたくさんある言語だと難しいんじゃないのかなぁ?
0782nobodyさん
2013/07/22(月) NY:AN:NY.ANID:40jG2XTLPDOのlastInsertId() メソッドを使いたいのですが、これは、トランザクションを
使わなくとも、確実に直近のIDを返してくれるのでしょうか?
lastInsertId() をトランザクションと併用するべきか迷ってます。
よろしくお願いします。
0783nobodyさん
2013/07/22(月) NY:AN:NY.ANID:???トランザクションは、まったく関係ありません。
確実に最後のIDが取得できます。
トランザクションは、まったく関係ありません。
0784782
2013/07/22(月) NY:AN:NY.ANID:W+cK0ECSありがとうございます。
マニュアルを見ても疑問でしたので助かりました。
http://www.php.net/manual/ja/pdo.lastinsertid.php
0785nobodyさん
2013/07/22(月) NY:AN:NY.ANID:???ということが書いてあるな
0786782
2013/07/22(月) NY:AN:NY.ANID:ONOFBZC7それだと、解釈が逆じゃないですか。
if lastInsertId is called before calling commit, the right id is returned.
意訳:コミットする前にlastInsertIdを実行するなら、正しい結果のidがリターンされます。
つまり、マニュアル下の例文は、”コミットした後だと0を返す”ということを
注意したいのではないかと思います。
0787nobodyさん
2013/07/22(月) NY:AN:NY.ANID:???0788nobodyさん
2013/07/22(月) NY:AN:NY.ANID:iCQBXrZJmysqlだとって書いてるんだけど、それは一致してんの?
0789782
2013/07/22(月) NY:AN:NY.ANID:BFmXtu3iはい。mysqlを使ってます。
0790nobodyさん
2013/07/22(月) NY:AN:NY.ANID:iCQBXrZJhttp://dev.mysql.com/doc/refman/5.1/ja/information-functions.html#idp60843136
トランザクションなしで動くよ
0791782
2013/07/22(月) NY:AN:NY.ANID:BFmXtu3i完璧な解答ありがとうございます。
納得できました。こういうことだったんですね。
『この動作は、各クライアントが他のクライアントの動向を気にせず、
ロックやトランザクションなしで、独自の ID を呼び出せるようにします。 』
0792nobodyさん
2013/07/22(月) NY:AN:NY.ANID: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が入ると思うのですがうまくいきません。
どこが間違っていますか?
0793nobodyさん
2013/07/22(月) NY:AN:NY.ANID:???$data_1 = "10";
$data_2 = "20";
$data_3 = "30";
for($a = 1;$a <= 3;$a++){
${data.'_'.$a} = "0";
}
0794nobodyさん
2013/07/22(月) NY:AN:NY.ANID:???0798nobodyさん
2013/07/22(月) NY:AN:NY.ANID:???入れ子を\で区切るとか、ファイルで宣言した名前空間外のクラスを使うとき
わざわざ先頭に\をつけるあの変な感じ、どうよ?
慣れるしかないとはいえ、導入を迷うw
0803nobodyさん
2013/07/23(火) NY:AN:NY.ANID:???0804nobodyさん
2013/07/23(火) NY:AN:NY.ANID:???嫌なら無視しておけよ
0807nobodyさん
2013/07/23(火) NY:AN:NY.ANID:???ほっとけよ。
0808nobodyさん
2013/07/23(火) NY:AN:NY.ANID:???ID出せというのは行き過ぎだよね。
0810nobodyさん
2013/07/23(火) NY:AN:NY.ANID:j5IjTUb1回答者による質問者に対する質問はIDを出す必要はないでしょ。
このスレの方針とやらを考えるなら、なおさら。
0814nobodyさん
2013/07/23(火) NY:AN:NY.ANID:0dqisodVそれのsmartyファイルのフォーム名がほとんどform1なんですけど、なぜなんですか?
jsの処理でform名を固定しているからですかね
0816nobodyさん
2013/07/23(火) NY:AN:NY.ANID:???0817nobodyさん
2013/07/23(火) NY:AN:NY.ANID:0dqisodVまともに答えられないならむりに返信しなくていいぞ
0818nobodyさん
2013/07/23(火) NY:AN:NY.ANID:j5IjTUb1ほんとにjsの処理にform名が出てきてるの?
いまやform名に依存する処理なんてめったなことじゃ書かないし、適当につけてるだけだと思うんだけど。
0821nobodyさん
2013/07/23(火) NY:AN:NY.ANID:j5IjTUb1そうなんですか?回答者は何をすればよいのでしょうか。
0823nobodyさん
2013/07/23(火) NY:AN:NY.ANID:???IDを付けさせすれば、最小限の質問内容でも
回答者が全ての可能性を精査し、
その中で質問者に最も相応しいと思われるものを
ありがたく返答させていただく、そういうスレッドだ。
質問者はIDさえ出せばあとは王様として何をしても許される、
そういうところであると知れ、皆の者!
0824nobodyさん
2013/07/24(水) NY:AN:NY.ANID:eh4z8estおまえの考えなんてきいてねーよ
0825nobodyさん
2013/07/24(水) NY:AN:NY.ANID:kUBhaFmKほんとに?
今回の場合、スレ違いと回答すべきだったんじゃないですか?
0826nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???ただの2ちゃんねる
0827nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???0828814
2013/07/24(水) NY:AN:NY.ANID:RTSfazD+知ってる人教えてください
0830nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???site.js辺りを見たらわかるよ
0831nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???あんなんで海外進出って、無理やろ
0832nobodyさん
2013/07/24(水) NY:AN:NY.ANID:RTSfazD+eccubeのコーディングってレベル低いんでしょうか
自分phpの大規模アプリケーションはeccubeしかしらないので
0833nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???他人がソースを読める言語じゃない
0834nobodyさん
2013/07/24(水) NY:AN:NY.ANID:r13N69WFスタンダードなものがあると思ってたらそうでもないのですね。
ざっと見た感じ、
PHP::PDF
PHP::Haru
FPDF
などがありました。
それぞれの特徴を比較したような記事を探しているのですが、
何かありませんか?
0835nobodyさん
2013/07/24(水) NY:AN:NY.ANID:ggp4C653PHP側で$_SERVER['HTTP_REFERER']と$_SRVER
0836nobodyさん
2013/07/24(水) NY:AN:NY.ANID:ggp4C653PHPか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文を作っているのにバラバラになるのでしょうか?
0837nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???桁数足りてないんだよきっと
0838nobodyさん
2013/07/24(水) NY:AN:NY.ANID:ggp4C653はっ!それは盲点でしたURL_ip2longはvarchar(255)で
ipはint(11)でした。
intが短すぎるのですね最大の15桁くらいで問題ないでしょうか?
0839nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???格納できる数値の桁数とかではありません。 ゼロ埋め設定したときの桁出しかありません。
intでは足りません。
0840nobodyさん
2013/07/24(水) NY:AN:NY.ANID:kUBhaFmKそうなの?
0841nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???足りないだろうな。BIGINT (64bit)にするとか?
0842nobodyさん
2013/07/24(水) NY:AN:NY.ANID:kUBhaFmKでこと足りると思うんだけどなぁ。
11なのは符号を考慮してなのかな。
0843nobodyさん
2013/07/24(水) NY:AN:NY.ANID:mtAWVzwD0844nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???0845nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???他人の比較記事だと着眼点が求めるものかわからない。
それぞれの紹介記事やサンプルコード、APIを眺めるのが早いと思うけど。
0847nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???0848nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???◆ケース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を使っていたりして一緒に何かを作るってなったときやりにくいです。
一般的に作法が良いといえるのはどれでしょうか?プロの世界ではどれが正しいのですか?
0849nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???0850nobodyさん
2013/07/24(水) NY:AN:NY.ANID:kUBhaFmKただ2はひどい、せめてヒアドキュメントかnowdocをすすめる。
メジャーなフレームワークでも試してみたら?
0852nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???ここは底辺1%にランクインするくらいの糞スレだな
0853nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???どうせこれ立てたのお前らだろ
http://kohada.2ch.net/test/read.cgi/php/985848031/
0854nobodyさん
2013/07/24(水) NY:AN:NY.ANID:3RFLgY0Nありがとうございます
どれが正解とかはないのですね
smartyやフレームワークを試してみます
0856nobodyさん
2013/07/25(木) NY:AN:NY.ANID:2TH+2Iiwピリオドの次の文字が大文字のときに限り半角スペースを挿入したいのですが
良い方法はないでしょうか?
0857856
2013/07/25(木) NY:AN:NY.ANID:???スレ汚し申し訳ございません。
0858nobodyさん
2013/07/25(木) NY:AN:NY.ANID:miApmhUP1%じゃ多すぎる。せめて0.1%ぐらいを目指さないとな。
>>856
後方参照というキーワードだけで大丈夫かなぁ。
0859nobodyさん
2013/07/25(木) NY:AN:NY.ANID:???$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);
0860nobodyさん
2013/07/25(木) NY:AN:NY.ANID:3t1Hdtr4マジックメソッドはないよね。
ArrayObjectの継承で対応するしかないのかな?
$obj->name; // publicなnameプロパティの呼び出し
$obj['name']; // 配列形式でも呼び出したい
0861nobodyさん
2013/07/25(木) NY:AN:NY.ANID:3t1Hdtr4ArrayAccessインターフェイスの実装で対応できるみたいだ。
これからテストしなおすけど、後者の方がシンプルで他言語に近いし
$obj['id'] = 3;
みたいなコードをハックして処理を加えたりもできるので
当方のニーズにも合うっぽい。
http://php.net/manual/ja/class.arrayobject.php
http://php.net/manual/ja/class.arrayaccess.php
0862nobodyさん
2013/07/25(木) NY:AN:NY.ANID:3t1Hdtr4×ArrayAccessの実装で
○ArrayAccessを実装するだけでも
ArrayObjectはArrayAccessをimplementしている。
・・・と書いてから思ったけど、せっかくArrayObjectがあるんだから
ArrayObjectの各実装部分を必要な範囲で拡張すればいいってことか。
了解。
0863nobodyさん
2013/07/25(木) NY:AN:NY.ANID:???0865nobodyさん
2013/07/26(金) NY:AN:NY.ANID:J0GaH00B同じメアドに送ったメールでも、届く時と届かないときがある。
以前はこんなことなかったんだけど。
0867nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???日記帳に書いてろクズ
スレ違いの内容を平気で書き込むてめーみたいなクズはこの世にいらねーんだよ
糞みたいなコード書いてる暇があったらさっさとプロバイダ解約しろ
0868nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???ダックタイピングって考え方があるじゃん。
データを保持するだけのHashライクはオブジェクトをしょっちゅう書くと思うけど、
配列(ハッシュ)を受け取る前提のコードに対して
その都度変換して渡さなきゃいけないんじゃしょうもないわけだから。
PHPではともかく、オブジェクトが[]に応答するとか
ハッシュと区別なくループに渡せるよう設計するのはありふれてるし
データの出し入れは[]のみにして他の機能(メソッド呼び出し)と区別するような設計も珍しくない。
だからこそPHPもそのためのライブラリを標準で用意してるはずだし。
0869nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???そもそもなんで
> $obj->name; // publicなnameプロパティの呼び出し
> $obj['name']; // 配列形式でも呼び出したい
こんなことしたいの?
0870nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???> データを保持するだけのHashライクはオブジェクトをしょっちゅう書くと思うけど、
> 配列(ハッシュ)を受け取る前提のコードに対して
> その都度変換して渡さなきゃいけないんじゃしょうもないわけだから。
どういう意味?
0873nobodyさん
2013/07/26(金) NY:AN:NY.ANID: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 =」が連続していて
なんだか気持ち悪いです。スマートな書き方はないでしょうか
0875873
2013/07/26(金) NY:AN:NY.ANID:uVKddw2H$screen_name = strtolower(array_pop(explode('_', $class->get_ShortName())));
こういうことですよね。1行で済んですっきりしました。ありがとうございました!
0876873
2013/07/26(金) NY:AN:NY.ANID:uVKddw2HOnly variables should be passed by reference
と怒られてしまいました。array_popは分けないとだめみたいですね。
$screen_name = explode('_', strtolower($class->getShortName()));
$screen_name = array_pop($screen_name);
これで妥協しました。
0879nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???http://codepad.org/wGAI38rK
>>859のままだと遅かったのでarray_mapとrangeを使っていたところを
preg_match_allとforeachにしてみたところ
str_replace => 0.10132193565369
preg_replace => 0.14550995826721
となりました。preg_replaceの方が早そうに思えたのですが
str_replaceのほうが早いという結果に。
0880nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???http://codepad.org/nKDgWIfh
0881nobodyさん
2013/07/26(金) NY:AN:NY.ANID:CaK9dws10882nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???0883nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???比べるなら
function testPregReplace($str)
{
return preg_replace('/\.(?=[A-Z])/','. ',$str);
};
だろ。
0884nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???0885nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???思ってましたorz
>>883
こう書けばよかったんですね。
0.039562940597534に縮まりました。早い!
勉強になります。ありがとうございました。
0886nobodyさん
2013/07/26(金) NY:AN:NY.ANID:IuXn2I5X参考書はPHPとMySQLのものを1冊づつ買うのと、
まとめて解説しているものを1冊買うのとではどちらのほうがいいですか?
また、おすすめの参考書などはありますか?
wordpressで簡単なテーマを作るくらいはできるので、
PHPとMySQLの基礎はなんとなくわかります
0888nobodyさん
2013/07/26(金) NY:AN:NY.ANID:IuXn2I5Xどうしてでしょうか?
基本的に、ネットで勉強するよりも参考書で勉強するのが好きなので、
参考書を使いたいです
特に今のような初級者レベルの時にはです
0889nobodyさん
2013/07/26(金) NY:AN:NY.ANID:???0890nobodyさん
2013/07/27(土) NY:AN:NY.ANID:???初心者がやゃっちゃいけないのは全体を見渡せないうちにブログなどで適当な知識をつまみ食いすること。
これは網羅性の無さと一貫性の無さとで初心者には害以外の何物でもない。
唯一の例外は公式ドキュメント「のみ」を片っ端から読んでいくことだけど、
きっと無理。それが出来たら凄い。
ある程度の知識があってじっくり勉強する気があるんならPHPはパーフェクトPHP、MySQLは徹底入門。
これ以外ない。
0891nobodyさん
2013/07/27(土) NY:AN:NY.ANID:vfwlgbY0ありがとうございます。
レベルはweb系の仕事で使えるくらいを目指しています。
パーフェクトPHPは評判を聞いてパラパラと読んだことがあります。
ですがまだこれを読むのは早いと感じたので、もう少しかんたんな参考書を探しています。
もしご存知でしたらよろしくおねがいします。
0892nobodyさん
2013/07/27(土) NY:AN:NY.ANID:???PHPのもっとも簡単な参考書は公式ドキュメントだと思う。
本は、より分かりにくく説明するのがかっこいいみたいなものが多く、
こんなに簡単なことをあそこまで回りくどく書くのはすごいと思ったりした。
0893nobodyさん
2013/07/27(土) NY:AN:NY.ANID:???あとはオライリーの初めての〜が体系的で網羅されてるんで良かったんだけど、
いかんせんもう古い。
確かにPHPはマニュアルの出来が他に比べて段違いに良く出来てるから
脇目もふらずマニュアルだけっていうのも良いかもしれない。
あとは実は読んだことないんだけど、
シリーズの他の内容からして独習PHPかなぁ。
0894nobodyさん
2013/07/27(土) NY:AN:NY.ANID:5jmrFCTnpecl oauthなどのライブラリは何のためにあるのでしょうか?
0895890
2013/07/27(土) NY:AN:NY.ANID:???自己顕示欲を満たしたいがために書きこまれた内容が多く、情報の信頼性はWEB上の文書としては最低ランク。
いつ返事がもらえるか分からないといった点も憂慮すると、少なくとも最初に選択肢から消える。
分かってない馬鹿がいると困るから念のために追記しておく。
0898nobodyさん
2013/07/27(土) NY:AN:NY.ANID:???同じような入門者向けの本ばかりな感じで。
執筆者がマニアックな研究成果を書籍化する情熱を持ちにくいとか、
PHPの本なんか出したら馬鹿にされるとでも思ってるのかもしれないが
今くらい言語が成長してきたら、なんかあってもいいハズw
言語をマニアックに探求したようなボリュームのある本が読みたいー。
目からウロコ的な体験したいー。
0899nobodyさん
2013/07/27(土) NY:AN:NY.ANID:???while () : endwhile; とか、
declareとか
0903nobodyさん
2013/07/28(日) NY:AN:NY.ANID:???0904nobodyさん
2013/07/28(日) NY:AN:NY.ANID:???pecl oauthは2.0対応してないのかな・・・たぶん
0905nobodyさん
2013/07/29(月) NY:AN:NY.ANID:L7NTB0j9・すべての文字列、プリミティブ型をラップ
・getter/setterを使わない
この2つでつまずきました。ツイッターボットを作ってるんですが
ツイート内容$messageを管理するMessageをつくりました。
class Message
{
private $message;
public function __construct($mesage)
{
$this->validate($message); // 文字数140文字以上で例外投げる
$this->message = $message;
}
}
ここまで書いて思ったんですけど、$messageがほしいとき
絶対getter必要ですよね?getter使わないうまい方法あるんでしょうか?
教えていただきたいです。
0906nobodyさん
2013/07/29(月) NY:AN:NY.ANID:???0907nobodyさん
2013/07/29(月) NY:AN:NY.ANID:L7NTB0j9とのこと。ここ見てやってます
http://www.slideshare.net/yojik/ss-1033616
0909nobodyさん
2013/07/30(火) NY:AN:NY.ANID:???Getter, Setter, プロパティを使用しないって、無理だろw
プリミティブラッパの Money の int をどうやってフロントエンドで扱うんだよw
とは言え、なんとなく、Messageのもう一個抽象度の高いクラスがスライドで言わんとする
プリミティブラッパなんじゃないかという気がするが。
プログラム全体で使用する文字列をまとめたようなものとか。
0910nobodyさん
2013/07/30(火) NY:AN:NY.ANID:???0911nobodyさん
2013/07/30(火) NY:AN:NY.ANID:???0912nobodyさん
2013/07/30(火) NY:AN:NY.ANID:WU4kZdo7$_SERVERからはとれるけど$_ENVには含まれてない。
直感的には$_ENVにセットされそうなもんだけど、
webアクセス(webサーバ)だから$_SERVER?
0913nobodyさん
2013/07/31(水) NY:AN:NY.ANID:???0914nobodyさん
2013/07/31(水) NY:AN:NY.ANID:???これは依頼であり質問ではないのでIDは出しません。
0915nobodyさん
2013/07/31(水) NY:AN:NY.ANID:XTaQ3zxYいままで使ってきた便利なものを詰め込んだfunction集があって
面倒なのでincludeしてそのまま使っています。
すべて使うわけじゃないんですが、使わない関数であっても読み込み時間以外の部分で
重くなっていくのでしょうか?
0917nobodyさん
2013/07/31(水) NY:AN:NY.ANID:???Apacheが設定した環境変数やユーザ定義の環境変数が
環境変数じゃないなら何なんだよ?
普通はENVなどのグローバル変数にセットされたりして、全部そこからとるだろ。
PHPが親切にも独自に区別してくださってるわけで。
けどまあ.htaccessに記述してる以上、ユーザがサーバ(Apache)に定義した環境変数って扱いで
$_SERVERに入るってことで間違いはないか。
0918nobodyさん
2013/07/31(水) NY:AN:NY.ANID:Q2Qu8ageあるアプリケーションからみて、ある環境変数がどの種類の環境変数であるかを区別することはできない。
つまり、これはなんか変。
>PHPが親切にも独自に区別してくださってるわけで。
0920nobodyさん
2013/07/31(水) NY:AN:NY.ANID:???0923nobodyさん
2013/07/31(水) NY:AN:NY.ANID:???httpサーバもApacheやIISやnginxとかいろいろあるし、全部ひっくるめて「環境変数」ってやるよりなんか
分けといた方が良くね?って感じじゃないかと想像。
0924nobodyさん
2013/07/31(水) NY:AN:NY.ANID:???サーバーがOSの環境変数を書き換えたり、
逆にその値をコピーしたものをサーバーの設定値に
使ってるとかなら同じ値ってだけやろ
0926nobodyさん
2013/07/31(水) NY:AN:NY.ANID:???あほらし。「世界の普通」なんて大雑把にスケールでかくしゃべったって
てめえで収拾できねえだろってゆうね
0927nobodyさん
2013/07/31(水) NY:AN:NY.ANID:???サーバーがOSの環境変数を書き換えたり、
逆にその値をコピーしたものをサーバーの設定値に
使ってるとかなら同じ値ってだけでっせ
0928nobodyさん
2013/07/31(水) NY:AN:NY.ANID:???マルチプロセスではなくマルチスレッドのものだったときに
同じプロセス上の別のスレッドで処理されてるリクエストにまで
影響が出るから使わないでしょ?
0929nobodyさん
2013/07/31(水) NY:AN:NY.ANID: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 種類あるとおもいますが、全部を書き出すにはどうすればいいのでしょうか。
0930nobodyさん
2013/07/31(水) NY:AN:NY.ANID: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箇所にしたいならジェネレータ使えばいいかな
0931nobodyさん
2013/07/31(水) NY:AN:NY.ANID:Q2Qu8age0933nobodyさん
2013/07/31(水) NY:AN:NY.ANID:Q2Qu8ageらしいので
0934nobodyさん
2013/07/31(水) NY:AN:NY.ANID:???0935nobodyさん
2013/07/31(水) NY:AN:NY.ANID:CpeXHPN6ありがとうございます
大変勉強になりました 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時間より先に終わってしまいました。
これはサーバーの都合でしょうか?
もう処理を途中で止めないための手立てはないんでしょうか・・・
0936nobodyさん
2013/07/31(水) NY:AN:NY.ANID:???0937nobodyさん
2013/07/31(水) NY:AN:NY.ANID:???1665個で1時間だとしたら、446日掛かりますが。
0938nobodyさん
2013/07/31(水) NY:AN:NY.ANID:CpeXHPN6おっしゃる通りです。m( __ __ )m
いまもう一度試しましたが、やはり1700個でとまってしまいました。
制限時間が限度になってしまったんでしょうか。
phpを置いているサーバーの都合と思われます。
プログラムの内容は
しらみつぶしに1種類ずつよそのサイトに問い合わせて、その結果を評価していくというものです。
むこうのサイトでエラーが出たのではなく、こっちの都合で止まってるように思えるので
ローカルで手間暇かけて実行してみます。
あるいは今回の作業は特にWEBで公開したいものではないので、phpは向いていないのかも知れません。
0940nobodyさん
2013/08/01(木) NY:AN:NY.ANID:8K5rz99y今回の内容は、ツイッターでまだ空いている4字以内のアカウント名を探すという作業ですm(._.)m
このあたりを参考にしました。
http://anterence.blogspot.jp/2011/05/finding-short-twitter-handles-usernames.html
他の人がリストにしてまとめて公開されていましたが、やはり調べるのに3,4日かかったと言っています。
どうやって調べたのか判りませんが、多分phpじゃないと思います。
彼のリストを使えばいいのですが、後学のために自分でも探せるようになりたいです。
0943nobodyさん
2013/08/01(木) NY:AN:NY.ANID:???共用ならあっという間に追い出されるぞ
0944nobodyさん
2013/08/01(木) NY:AN:NY.ANID:8K5rz99y無事リスト化されたところから、空いてるアカウントは見つかったし、勉強にもなりました
Librahack事件も知りませんでした
0945931
2013/08/01(木) NY:AN:NY.ANID:wB1Xy7gXなんか、こういう使い道がよくない質問って多いよね。
正規表現スレも似たような出来事多いし。。
桁数の少ないIDとって売買しようとしてんのかなぁ。ドメイン転売みたいに。
0946nobodyさん
2013/08/01(木) NY:AN:NY.ANID:???いきなりコーディングから入る知能障害は一度痛い目に合うべき
とはいえ思考回路が変わったわけじゃないから
いつか忠告する人のいない場面でやらかすだろうね
さすがは犯罪者予備軍のPHPスレ
0947nobodyさん
2013/08/01(木) NY:AN:NY.ANID:???親御さんもさぞ楽しみにしてるだろうなw
0948nobodyさん
2013/08/01(木) NY:AN:NY.ANID:???0949nobodyさん
2013/08/01(木) NY:AN:NY.ANID:???まさか、「1秒に1回のアクセスで落ちる図書館側のシステムガー」とかPCヲタが寝言を言ってるだけで
現実には逮捕者が出てしかも冤罪や無罪ではなく不起訴処分になったやつのこと?
0950nobodyさん
2013/08/01(木) NY:AN:NY.ANID:???逮捕されることもあり、実名報道されたり、最悪は裁判で有罪になる可能性もある。
という恐怖を教えてくれたのが、Librahack事件。
0952nobodyさん
2013/08/01(木) NY:AN:NY.ANID:???それで幅広く仕事やってるお陰で年収800万超えだ
今さら書くなってのは無理な話だw
有名所が外注してるやつもいくつか請け負ってる
もしかしたら俺の書いたWebサービスをお前が週一とかで使ってるかもなw
人に書くなとか言ってるお前はそれよりさらに素晴らしいサービスでも提供してるんだろうw
0953nobodyさん
2013/08/01(木) NY:AN:NY.ANID:???0954nobodyさん
2013/08/02(金) NY:AN:NY.ANID:ine4VESW例えば11.123を11.13となるようにしたいのですが、roundやceilではできません。
0955nobodyさん
2013/08/02(金) NY:AN:NY.ANID:???あなたがお使いのPHPは、いくらか古いんだと思う。
現行のPHPなら、roundでできる。
http://www.php.net/manual/ja/function.round.php
古いものでやるなら、小数点以下が1桁になるように100を掛けて
ceilして100で割る。
0956nobodyさん
2013/08/02(金) NY:AN:NY.ANID:QtaYr1alvar nod=2;
nod=pow(10 ,nod);
num=num*nod;
return ((num-fmod(num,nod))/nod);
0958nobodyさん
2013/08/02(金) NY:AN:NY.ANID:???現場は苦労してるだろうな、同じところから仕事の依頼がこないのを
おかしいと思わんのかねえ
0959nobodyさん
2013/08/02(金) NY:AN:NY.ANID:???そう思い込まないと自己を保てないのか
可哀想に
まぁそれで自己が保てるんならそれもいいんじゃない?
>>976
同じところから注文来ないって言ったっけ?
言ってたらごめん、実際は何回か来てるよ
それに加えて仕事請け負ったところが他にも紹介してくれることがあるからありがたい
これにはマジ感謝
日々感謝の気持ちを忘れないように仕事に取り組んでる
0960nobodyさん
2013/08/02(金) NY:AN:NY.ANID:QtaYr1al0962nobodyさん
2013/08/03(土) NY:AN:NY.ANID:pP7hW5m10963nobodyさん
2013/08/03(土) NY:AN:NY.ANID:nHQMtDT/おかしいことに(それを指摘されても)気づけない
プログラマーだけど質問ある?<stdio.h>
http://hayabusa3.2ch.net/test/read.cgi/news4viptasu/1369391467/
0964nobodyさん
2013/08/03(土) NY:AN:NY.ANID:NU5YG7yP【PHPのバージョン】5.3
【連携ソフトウェア】無し
【質問内容】
レンタルサーバーに掲載しているサイト用に簡易カウンターを自作して使っています。
しばらく放置プレーしていたらどうやらログ等でレンタルサーバーの容量上限に達したようで
カウンターが回らなくなっていました。
単に回らないだけだったらまだ良かったんですが、悪いことにアクセス人数を記録したログファイルが
破損して容量0になっていました。それまで何人がアクセスしてくれたかを記録してある重要なログファイルが
容量0になってしまったのは残念としかいいようがありません。
そこでレンタルサーバーの容量が上限に達したときにログファイルをいじってカウンターを回そうとしても
今まで記載したカウンター数は消えないようにしたいと思っています。
どういう仕掛けをすればいいでしょうか。
お知恵を拝借させてください。
0965nobodyさん
2013/08/03(土) NY:AN:NY.ANID:???簡易カウンターとか言われてもどんな形式で保存してんのかすら書かれてないし
エスパー呼んでこい
0966nobodyさん
2013/08/03(土) NY:AN:NY.ANID:pP7hW5m1その最大容量がわかってんなら、ログを書き込む前に現状のファイルサイズを見ればいいだけでしょ
0967nobodyさん
2013/08/03(土) NY:AN:NY.ANID:tqbxpW5u0968nobodyさん
2013/08/03(土) NY:AN:NY.ANID:???自由に何でもできる。
0969964
2013/08/03(土) NY:AN:NY.ANID:NU5YG7yPレンタルサーバーはxreaです。容量は上限が150MBです。
カウンターはテキスト形式のログファイルに保存しています。
総訪問者数・今日来た人・昨日来た人の3つを"|"で区切ってテキストで保存しています。
放置して気付かないうちに容量が150MBを突破しているとこのログファイルがいつのまにやら
ファイルサイズ0バイトの中身がもぬけの殻状態になってしまって今まで何人の人が来てくれたのか
の重要な記録を飛ばしてしまうということをしばしば繰り返してきました。
おそらくですが容量上限に達した状態でログファイルにアクセスしたのが原因ではと踏んでいます(´・ω・`)
0970nobodyさん
2013/08/03(土) NY:AN:NY.ANID:???3つの数字を記録してるだけなら20バイト程度にしかならんでしょ
0971964
2013/08/03(土) NY:AN:NY.ANID:NU5YG7yP容量もテキスト一行なのでほとんど取りません
0972nobodyさん
2013/08/03(土) NY:AN:NY.ANID:???0973nobodyさん
2013/08/03(土) NY:AN:NY.ANID:tqbxpW5u上限に達したらそれ以上は書き込めないという仕掛けを用意したそうに見えるけど、
それで何の解決になるのかさっぱりだ。
ローテーションして圧縮して古いものを他のところに送ればいいと思うよ
0974964
2013/08/03(土) NY:AN:NY.ANID:NU5YG7yPあくまでも「簡易」カウンターなんでそこまでたいそうなことはしなくても(^-^;)・・・
とりあえず容量が上限に達したときにログファイルを更新しようとしたときに
情報(総アクセス数)を誤って消さないような仕組みが構築出来れば満足です
0975nobodyさん
2013/08/03(土) NY:AN:NY.ANID:tqbxpW5uそういうことなら、カウンター用のファイルと更新用のファイルを分ければいいんじゃない?
たとえば、counter.dat <- 本命 counter.tmp <- 書き込むファイルのように。
今排他制御してるだろうからその辺も変更して、書き込みが終わったらmv
何より容量の上限に達さないことが一番だと思うけど。
0976nobodyさん
2013/08/03(土) NY:AN:NY.ANID:tqbxpW5u0977964
2013/08/03(土) NY:AN:NY.ANID:NU5YG7yPrb+で開いてます^^;)
0978nobodyさん
2013/08/03(土) NY:AN:NY.ANID:???何で他人に情報をタダでもらおうとするゴミ乞食に限って顔文字とかいらんものつけるのかね
そんなくだらないものを覚える暇があるなら検索の一つもすればいいのに
0981nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???常に半笑いのやつとかたまにいるよな。語尾が全部息抜き系の笑いになるぅww、というかぁはぁwww。
0988nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???0989nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???0992nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???PHP厨はプログラミング以外の面においても程度が低いようですが
これはなぜですか?
0995nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???もしナメてなくて自然と出てきたなら本物の精神障害
0996992
2013/08/04(日) NY:AN:NY.ANID:???早く答えろや
0997nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???0998nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???いつもID出てなくてもせっせと回答してるゴミがいるだろうが
自分の都合でIDがどうのと言い出すんじゃねーよ
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。