トップページ⇒php
1001コメント304KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2013/03/19(火) 22:13:49.76ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

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

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0002nobodyさん2013/03/19(火) 22:14:04.53ID:???
関連リンク
■本家マニュアル   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/03/19(火) 22:14:29.62ID:???
【簡易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)、起動&再起動あたり
0004nobodyさん2013/03/19(火) 22:14:47.32ID:???
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に保存?
 → 好きにしてください
0005nobodyさん2013/03/19(火) 22:15:21.05ID:???
テンプレここまで。過去ログリストはどうせ誰も使わんだろうから消した。
0006nobodyさん2013/03/19(火) 22:15:30.63ID:???
☆初心者必読☆

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/03/19(火) 22:16:40.50ID:???
☆初心者必読☆

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
>■ 変数名を間違えると新しい変数が作られる
>■ 文字列の変数展開がクソ
0008nobodyさん2013/03/19(火) 22:17:38.28ID:???
前スレのキチガイ>>973は湧いてもスルーでよろ
0009nobodyさん2013/03/19(火) 22:21:04.96ID:???
>>6-7
被ってるw
0010nobodyさん2013/03/19(火) 22:21:07.76ID:???
独学でも真面目にPHPを極めようと思っているのにこのような仕打ちをされるとは思いませんでした。
もう二度と来ません。
0011前スレ9702013/03/19(火) 22:21:55.02ID:8jYhxyUG
前スレの972さん、ありがとうございます。。。
cURLを使って書き換えるとこれで正解でしょうか?

$postdata =
"<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>" .
"<api-request id=\"XXXX-XXXXX-XXX\">" .
"<a_id>" . $a_id . "</a_id>" .
"<b_id>" . $b_id . "</b_id>" .
"<t_id>" . $t_id . "</t_id>" .
"</api-request>";

$url = "https://example.com/api/xmlapi.do";;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, $id . ':' . $pass);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt($ch, CURLOPT_POSTFIELDS, "$xml_data");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
0012nobodyさん2013/03/19(火) 22:24:51.73ID:???
いやマジで初心者は1回これ読んだほうがいいな
読まずに初めから無視してるのは現実から目を反らしてるのと同じ
これを読んでもまだ使いたいなら使えばいいじゃない

☆初心者必読☆

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
>■ 変数名を間違えると新しい変数が作られる
>■ 文字列の変数展開がクソ
0013nobodyさん2013/03/19(火) 22:28:18.72ID:???
>>1おつ
0014nobodyさん2013/03/19(火) 22:41:42.79ID:???
煽りさんスレ立て乙
0015nobodyさん2013/03/19(火) 22:56:58.81ID:???
PHPでファイルをダウンロードすることって可能ですか?
ググったりしてみると「ダウンロードさせる」方法ばかりが出てダウンロードする方法がわかりません。
ご教授お願いします。
0016nobodyさん2013/03/19(火) 22:57:24.29ID:8eU3/8tb
すみません。
age忘れました。
改めて質問させてもらいます。

PHPでファイルをダウンロードすることって可能ですか?
ググったりしてみると「ダウンロードさせる」方法ばかりが出てダウンロードする方法がわかりません。
ご教授お願いします。
0017nobodyさん2013/03/19(火) 22:58:10.36ID:???
>>16
file_get_contents($url)
0018nobodyさん2013/03/19(火) 23:00:18.25ID:???
>>17
すみません。
説明不足でした。
ダウンロードしたいファイルはzipファイルなんです。
0019nobodyさん2013/03/19(火) 23:01:20.53ID:???
>>18
ID
0020nobodyさん2013/03/19(火) 23:05:04.66ID:8eU3/8tb
何度もすみません(-_-;)

>>17
すみません。
説明不足でした。
ダウンロードしたいファイルはzipファイルなんです。
0021nobodyさん2013/03/19(火) 23:10:54.33ID:???
>>20
zipファイルだから?
0022nobodyさん2013/03/19(火) 23:12:02.43ID:8eU3/8tb
>>21
ありがとうございました。
zipファイルでもいけるみたいですね。
自分の勉強部族でした……
0023nobodyさん2013/03/19(火) 23:14:14.31ID:???
いいってことよ
0024nobodyさん2013/03/19(火) 23:36:46.17ID:???
>>18
ID出さないゴミは二度と来るな
お前自分がどれだけ迷惑か自覚ないだろ
クズすぎる
0025nobodyさん2013/03/19(火) 23:42:39.35ID:8eU3/8tb
連投すみません。
以下のようにコードを組んでみました。

file_put_contents($file_path, file_get_contents($url));

URLはzip直リンクです。
このようにしてみたのですが、ダウンロードしたファイルをみたところ0バイトの無容量ファイルとなっていました。
何故このようなことになってしまうんでしょうか?
0026nobodyさん2013/03/19(火) 23:43:51.03ID:???
少しは自分で考えろ
0027nobodyさん2013/03/19(火) 23:50:43.82ID:???
サーバが対応してないんだろ
あきらめろん
0028nobodyさん2013/03/19(火) 23:53:26.17ID:???
putしちゃダメだろ
0029nobodyさん2013/03/20(水) 00:13:32.68ID:???
>>25
回答したら勉強不足でしたって言われそうな気がするので、勉強部族らしく勉強してきてください
0030nobodyさん2013/03/20(水) 00:14:50.76ID:???
$ch = curl_init("https://github.com/foo/bar/archive/master.zip";);
$fp = fopen('unko.zip', 'w');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_exec($ch);
curl_close($ch);
fclose($fp);


このようにしてみましたが同じく0バイトzipでした。
お願いします。誰か助けてください。
0031nobodyさん2013/03/20(水) 00:15:08.45ID:vtosDUC4
またID出し忘れた……

$ch = curl_init("https://github.com/foo/bar/archive/master.zip";);
$fp = fopen('unko.zip', 'w');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_exec($ch);
curl_close($ch);
fclose($fp);


このようにしてみましたが同じく0バイトzipでした。
お願いします。誰か助けてください。
0032nobodyさん2013/03/20(水) 00:18:52.42ID:???
丸投げにはスクリプト作成料金がかかります。
おいくら支払えますか?
0033nobodyさん2013/03/20(水) 00:23:48.50ID:???
ブラウザで直接そのURL叩いたときのヘッダ見てみろよ
0034nobodyさん2013/03/20(水) 00:30:36.74ID:H3JypdK8
>>32
100円
0035nobodyさん2013/03/20(水) 00:31:38.74ID:???
100円じゃ動けないのでヒントだけあげましょう。
ダウンロード前にログインして下さい。
ていうかちゃんと相手サイトの仕様を把握して下さい。
0036nobodyさん2013/03/20(水) 00:35:25.01ID:???
ていうか教えてもらおうとしてる立場で情報省略するなよ
foo/bar/なんてあるわけねえだろ
ちゃんとしたURLも出さないならとっととカエレ
0037nobodyさん2013/03/20(水) 00:36:32.01ID:p05jljgI
>>31
俺の糞コードあげる

$url = "https://packages.zendframework.com/releases/ZendFramework-2.1.4/ZendFramework-2.1.4.zip";;
$file = file_get_contents($url);
$fp = fopen("/tmp/" . basename($url), "w+");
fwrite($fp, $file);
fclose($fp);
0038nobodyさん2013/03/20(水) 00:40:32.97ID:???
俺のクソコードはresume対応だがクソだしあげない
0039nobodyさん2013/03/20(水) 00:41:38.45ID:???
俺のクソコードはメモリに考慮して巨大ファイルでもいけるがクソだしあげない
0040nobodyさん2013/03/20(水) 00:43:40.30ID:???
うおおおおおおおおおおおおおおおおおおおお
0041nobodyさん2013/03/20(水) 00:45:36.31ID:???
$sql = "SELECT " $_GET['aaa'];


このコードでSELECT以外を実行することって可能?
0042nobodyさん2013/03/20(水) 00:49:07.59ID:???
そもそも動かない
0043nobodyさん2013/03/20(水) 00:49:35.89ID:???
>>37
ありがとうございます。
でもダウンロードすらできませんでした……
0044nobodyさん2013/03/20(水) 01:00:33.49ID:???
>>43
低知能が一般人と同じ努力と時間でできるわけねーだろ
自分が一般人レベルだと無意識に自惚れるんだろお前
低知能は低知能らしく泥水すすってろ
0045nobodyさん2013/03/20(水) 01:01:36.62ID:???
>>37
あ、勘違いでした、いけました。
ありがとうございました。
0046412013/03/20(水) 01:14:58.28ID:???
事故解決しました
0047nobodyさん2013/03/20(水) 01:20:36.47ID:???
>>46
うぜえ

最初からブログにでも書けや池沼
0048nobodyさん2013/03/21(木) 09:19:09.52ID:???
>>41
.がないので動かない。まぁ揚げ足取りはいいとして、
コロンはさんでDELETEなんかを追加するのは可能。
0049nobodyさん2013/03/21(木) 13:46:01.78ID:???
セミコロンな
0050nobodyさん2013/03/21(木) 13:55:44.02ID:H+c6ch+k
【PHPのバージョン】 5.1以降
【質問内容】 タイプヒンティングについて

PHP 5.1以降でタイプヒンティングが使えるようになりました。
マニュアルを見ると、
> タイプヒントは int や string といったスカラー型には使えません。 また、トレイト も使えません。
とあります。

スカラー型でタイプヒントができないのは、何か理由があるのでしょうか?
0051nobodyさん2013/03/21(木) 14:02:25.58ID:???
>>49
ピリオドじゃないの?
0052502013/03/21(木) 14:03:55.57ID:???
すみません。すぐに自己解決しました。

Scalar type hinting is harder than you think
http://nikic.github.com/2012/03/06/Scalar-type-hinting-is-harder-than-you-think.html

後方互換性を鑑みたとき、PHPの暗黙の型変換とScalar type hintingの食い合わせが良くないというのが
主な原因の一つだと、このページの筆者は考えているようです。
0053nobodyさん2013/03/21(木) 16:07:55.75ID:???
phpってさ?
0054nobodyさん2013/03/21(木) 18:12:01.70ID:???
>>52
ありがとう。面白い。
0055nobodyさん2013/03/21(木) 19:40:39.73ID:vaqS6iye
【OS名】Windows7
【PHPのバージョン】5.4.13
【連携ソフトウェア】Memcached
【質問内容】
memcachedをwindows環境で利用したいのですが、php_memcached.dllが見つからず詰まっております。(memcacheの方ならありましたが…)
memcachedサーバは別途用意済みです。
前に働いていた職場では利用できていたので簡単にできると思っていたのですが浅はかでした…。
導入方法をご教授いただけると幸いです。
0056nobodyさん2013/03/21(木) 19:41:56.00ID:???
自分で作れば?
0057nobodyさん2013/03/21(木) 19:50:40.93ID:???
http://shikii.net/blog/installing-memcached-for-php-5-3-on-windows-7/
ページで "Php 5.4" で検索
0058nobodyさん2013/03/21(木) 19:57:43.77ID:???
memcachedのマニュアルのとこの導入からインストールまで読んでいけば
ソースコードが入手できるリンクがあるから
そこからソースコードを入手して自分でコンパイルする
たぶんC言語だからCのコンパイラを探しなさい
0059nobodyさん2013/03/21(木) 20:01:25.53ID:???
>>56
いろいろサイトをみつつ格闘していますが、そもそもコンパイルする環境が…という状態なので
まずVisualStudioをインストールしています。

>>57
memcacheのほうでした…。

>>58
一度辿っていって挑戦してみます。
無理そうならWindowsではmemcacheのほうを使用するように振り分けたいと思います。
0060nobodyさん2013/03/21(木) 20:04:35.56ID:???
http://pecl.php.net/package/memcached
これじゃね?
php_memcached.cってファイルあるし
0061nobodyさん2013/03/21(木) 21:01:20.60ID:???
そんな雑な誘導したら今度はlibmemcachedがないですってならないか?
0062592013/03/21(木) 23:34:01.37ID:vaqS6iye
なんとかlibmemcachedはできたみたいなのですが、
php_memcachedのコンパイルがうまくいかず(nmakeでエラーが出るもどう修正していいか分からず…)
適当に変更しつつ無理やり進めていくももう限界な感じなので諦めます…
0063nobodyさん2013/03/22(金) 00:50:03.31ID:ZypSZ1+e
PHPで複数のブログを一括更新するプログラムをつくりたいのですが
初心者で何をどうしていいかわかりません。
勉強できるところ教えてください。
0064nobodyさん2013/03/22(金) 03:14:00.18ID:???
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

■本家マニュアル   http://www.php.net/manual/ja/
0065nobodyさん2013/03/22(金) 03:19:20.53ID:???
>>63
情報系の専門学校

PHPそのものは教えてもらえないと思うが
卒業時にはPHP使ってそれを組めるレベルにはなってるはず
0066nobodyさん2013/03/22(金) 12:00:48.07ID:M7ldJLa/
ソースコードから5.4.13をビルドして~/php にphpをおいてます。
まず、私のUbuntuに入っているphp 5.3を使って
php src.php
のようにやるとすぐに実行されます。
しかし、この自分でビルドしたPHPを使って
~/php/bin/php src.php
のようにやると実行されるのに10分くらいかかってしまいます。
どうしたらいい?

そして何故かインターネットにつながってないときだと
~/php/bin/php src.php
のようにやるとすぐに実行できます。
0067nobodyさん2013/03/22(金) 13:52:52.12ID:f80zdUg/
ボタン押下 → サーバー0 → サーバー1
              → サーバー2
              → サーバー3

という流れでサーバー0から他のサーバーに分散処理を行っています。

20件以上のデータを3件ずつ処理→レスポンスが返る
5件のデータを3件ずつ処理→レスポンスが返る

tcpdumpを確認しているとサーバー1,2,3は処理が終わってレスポンス
を返す通知をしているようにみえます。
サーバー0のほうがレスポンスを取得できない状態のようです。

考えられる原因は何がありますか
0068nobodyさん2013/03/22(金) 13:53:23.06ID:f80zdUg/
訂正
20件以上のデータを3件ずつ処理→レスポンスが返らない
0069nobodyさん2013/03/22(金) 14:29:36.96ID:???
includeしまくりのphpファイル読むのすごい大変なんだけどどうすればいいの?(WordPressです)
0070nobodyさん2013/03/22(金) 14:46:18.71ID:mJIp3k85
【OS名】FreeBSD 6
【PHPのバージョン】5.3.8
【連携ソフトウェア】MySQL
【質問内容】
質問失礼します。
phpで動的に生成したhtml(js含む)を暗号化するライブラリを探しています。
「サーバサイドSHTML for PHP」というツールを見つけました。
やりたい事はまさにコレなのですが、とある事情により組み込めませんでした。
他にライブラリは無いでしょうか?
よろしくお願いします。
0071nobodyさん2013/03/22(金) 17:06:26.09ID:???
当たり前だけど、
ブラウザのデベロッパツールで複合後のhtmlが見えるけどな
0072nobodyさん2013/03/22(金) 18:30:37.87ID:???
>>69
index.phpから順番に全部。
0073nobodyさん2013/03/22(金) 18:34:46.23ID:???
完全に隠蔽するのは無理
右クリで見られなくするだけならjavascriptで動的に生成すれば
0074nobodyさん2013/03/22(金) 18:38:25.64ID:jSNpdJza
仕事でPHPをやることになったんですけど、全然わかりません
おうちで読めるおすすめの本を教えてください。
自宅でPHPは出来ないので、リファレンスとかじゃなく読むだけでなぜかメキメキ上達する本を教えてください。
0075nobodyさん2013/03/22(金) 18:46:02.95ID:???
まずは自宅でPCを使えるようにするといいかな
0076nobodyさん2013/03/22(金) 18:47:08.54ID:???
とりあえずxampp使えるようになろうか
0077nobodyさん2013/03/22(金) 18:52:01.91ID:???
print 自宅のPCじゃ"やりたくない"です。。。
0078nobodyさん2013/03/22(金) 18:52:29.64ID:???
理由は3行
0079nobodyさん2013/03/22(金) 18:57:22.94ID:jSNpdJza
echo<<<EOF
面倒でうs
EOF;
0080nobodyさん2013/03/22(金) 19:15:00.55ID:???
公式通読がいちばん簡単な気がするけど……
用例もあるし
0081nobodyさん2013/03/22(金) 19:47:28.11ID:???
こんなとこでそんな下らない質問してる暇があったらさっさと勉強始めろ
お前にはただやる気がないだけだ
0082nobodyさん2013/03/22(金) 19:51:30.29ID:???
>>74
できもしないことを引き受けるなゴミクズ
お前みたいなゴミは納期直前になってからできませんとか言い出すからマジで迷惑
社会に出てくるなクズ
0083nobodyさん2013/03/22(金) 20:07:14.76ID:???
そもそもスレタイ通り下らねぇ質問なんだから、
スルーするか答えてやったらどやろか?
0084nobodyさん2013/03/23(土) 00:53:29.82ID:???
>>79
XAMPP 面倒とか言い出したら、PHP覚えるのは無理だと思うぞ。
俺、PHPはこれっぽっちも判らないけど(言ってて悲しい…)
自前のPC に XAMPP 入れて rep2 を使えるように動かすまで、
30分かかってないぞ。

本当は、XAMPPや rep2 のドキュメント読んで、
やっとけって書いてあったセキュリティ上の設定とか動作上調整した方が良さそうな設定を
読んだりいじったりして、1時間ちょっと掛かってると思うけど。

まぁ、それでもそんなもんだ。

>>81
スレの存在否定しとるがな。
0085nobodyさん2013/03/23(土) 02:02:00.73ID:???
初心者はXAMPP使うな
0086nobodyさん2013/03/23(土) 02:27:48.20ID:???
>>85
>初心者はXAMPP使うな

駄目だしして理由も代案出さないのは下の下。
別に XAMPPがベストとか最高だからお勧めとか言ってないし。
テスト用、学習用には困らんだろ。

「面倒でうs 」って言ってる >>79 に返答してみやがれ。
0087nobodyさん2013/03/23(土) 02:28:59.29ID:???
XAMPP否定されると自分が否定されたように感じるくらいの技術力って真面目にやばいと思うぞ
0088nobodyさん2013/03/23(土) 03:24:58.10ID:???
否定じゃなくて駄目だしするなら代わりの答え出してやれって。
そもそも、技術力以前に「これっぽっちも判らない」って言ってる訳だから、
やばいもなにも戦闘力0なんだけど。
0089nobodyさん2013/03/23(土) 03:44:59.83ID:???
初心者にはXAMPPは難しいだろ。
本家からビルド済みバイナリを取ってきて解凍して、php.exeなどにスクリプトを渡したら実行できるぞ。
0090nobodyさん2013/03/23(土) 03:49:36.35ID:???
xamppはapache,php,mysqlと煩わしい設定が一通りすんである
本家のバイナリは無効なものが多く設定をいじる必要があり開発するだけならxamppのほうがよい
有効にしてるものが多いほどセキュリティリスクが高まるが
ポートも閉じてサーバを運営するわけではないので問題ない
0091nobodyさん2013/03/23(土) 03:57:50.45ID:???
phpはサーバーサイドで使われることが多いが、サーバーから呼び出す事は必須でない。
apacheとか初心者には不要。余分なものがあると複雑になり混乱する。
0092nobodyさん2013/03/23(土) 06:44:53.94ID:???
xamppみたいなスーパーハカー用の環境を素人に勧めるのは鬼w
PCが複数台あるなら、どれか一台にインストールと設定が簡単なUbuntuとかCentOSとかを入れる。
一台しかないなら仮想環境に入れる。
インストール時にLAMP環境をまるごと入れられるから、猿でもPHPの練習環境が作れる。
VirtualBoxにCentOSを入れて、あっさりPHPが使えるようになったときは
xamppを勧めた鬼を恨んだw
0093nobodyさん2013/03/23(土) 08:04:54.35ID:???
不具合について調べて対処できないようでは、どんな言語でも無理だな。

Web Platform Installer
でも使え
0094nobodyさん2013/03/23(土) 08:16:30.00ID:???
初心者はXAMPP使うな
0095nobodyさん2013/03/23(土) 10:56:30.28ID:???
>>74 で「PHPをやることになった」って言ってるから、
php の zip なり、Installer 入れて PHPすればいいんじゃね。

>>94
それをいうなら、「初心者は PHP使うな」も真になったり…
0096nobodyさん2013/03/23(土) 11:33:38.16ID:???
>>95
なんで?
0097nobodyさん2013/03/23(土) 16:50:44.12ID:???
お前らはプログラムがしたいの?サーバの設定をしたいの?
0098nobodyさん2013/03/23(土) 18:20:03.41ID:???
Webアプリケーションを作るのであればサーバーの設定もできないとダメだな
0099nobodyさん2013/03/23(土) 18:37:17.32ID:???
プログラムがしたいからサーバはことは知らなくていいって考えなんだ
0100nobodyさん2013/03/23(土) 18:54:42.18ID:???
知る必要がない
プログラマーの仕事じゃないから
0101nobodyさん2013/03/23(土) 19:03:28.78ID:???
知らないと鯖の設定なのか自分の書いたPHPコードのバグか分からない場合もある
ここの質問見てたらパーミッションすら分かってないゴミがいる
0102nobodyさん2013/03/23(土) 19:15:03.81ID:???
んなあほな
warning出すのに
0103nobodyさん2013/03/23(土) 19:50:19.60ID:???
鯖はプログラムで動いてるんだけどね
0104nobodyさん2013/03/23(土) 20:57:48.56ID:???
だからXAMPPは使うなと言っただろう
0105EM114-49-35-242.pool.e-mobile.ne.jp2013/03/23(土) 20:59:51.52ID:???
XAMPPは使うなっ!!!!!!!!!!!!!!!
0106nobodyさん2013/03/24(日) 01:49:58.74ID:???
やっぱ荒らしてるのはチンピラだったんだな
0107nobodyさん2013/03/24(日) 02:46:07.29ID:MVB0e/DS
curlで重いファイルをpost、アップロードする時に途中経過を取得するにはどうしたらよいでしょうか
ダウンロードする時は分かったのですが。
0108nobodyさん2013/03/24(日) 04:00:14.39ID:???
>>107
お前がしなきゃならないのはファイルアップロードの途中経過を取得することではなく
今すぐに回線を切ってネット社会に迷惑をかけないことだ
分かったかゴミ
0109nobodyさん2013/03/24(日) 05:01:13.47ID:???
>>107
Ajaxでサーバに定期問い合わせする
それがいやならPHPはあきらめろん

ttp://p2b.jp/2010/04/30/multiple-file-upload-by-HTML5
session.upload_progress.enabledを有効にすれば
ttp://php.net/manual/ja/session.upload-progress.php
も使えるだろう(やったことないが)
0110nobodyさん2013/03/24(日) 05:39:24.59ID:MVB0e/DS
>>109
分かりにくくて申し訳ありません。
ブラウザ→サーバー にアップロードする時の途中経過ではなく
サーバー→別のサーバー にcurlを使ってアップロードする時の途中経過の事です。
0111nobodyさん2013/03/24(日) 10:02:38.72ID:???
>>107
ダウンロードするときのコードを教えてくれ
そしたら直してやる
0112nobodyさん2013/03/24(日) 12:32:00.53ID:???
>>106
うるせーザコ
0113nobodyさん2013/03/24(日) 13:45:27.68ID:MVB0e/DS
>>111
ダウンロードはこれで現状動いています。

$curl = curl_init();
$options=[];
$options[CURLOPT_URL] ="http://〜〜"
$options[CURLOPT_FOLLOWLOCATION] = true;
$options[CURLOPT_WRITEFUNCTION]=function($a,$b){
 $currentByte=curl_getinfo($a)["size_download"];
 printf("\r%2.2f/%2.2fMB",$currentByte/1024/1024,$contentLength/1024/1024);
};
$options[CURLOPT_HEADERFUNCTION]=function($a,$b){
 if(preg_match('{Content-Length:(\d+)}',$b,$match)){$contentLength=$match[1];}
};
curl_setopt_array($curl,$options);
$response = curl_exec($curl);
curl_close($curl);
0114nobodyさん2013/03/24(日) 18:14:59.12ID:+46FugGl
終了タグ?>って基本使わないんですか?
0115nobodyさん2013/03/24(日) 18:16:00.78ID:???
>>114
付けたいなら付けても全然構わない
0116nobodyさん2013/03/24(日) 19:09:13.56ID:???
むしろつけなくても動くことに驚きなんだけど
0117nobodyさん2013/03/24(日) 19:33:05.87ID:???
>>116
閉じタグは、HTMLが混在する時に使う区切りの扱い。
PHPだけのファイルでは、変なキャラクタが出力されたりしないように
省略するのが昨今の流行り。
0118nobodyさん2013/03/24(日) 20:44:25.82ID:???
コードの書き方が流行りで変化するPHP(笑)
0119nobodyさん2013/03/24(日) 20:46:50.37ID:???
>>113←うわw冗談を真に受けて本当にコード晒したゴ#ミがいるよwwww
0120nobodyさん2013/03/24(日) 21:56:30.10ID:???
>>114
htmlに埋め込むときは使う
phpだけの場合は使わない
0121nobodyさん2013/03/24(日) 23:17:36.26ID:???
>>113みたいな恥さらしは一体何がしたいんだろうか。
0122nobodyさん2013/03/25(月) 01:12:25.22ID:Ox4syU6B
アクセスしてくる携帯を識別してそれぞれに同じ動作をさせる事は可能でしょうか

具体的には文化祭でそこら中にQRコードをはって、それでスタンプラリーをしようかと思っているのですが
0123nobodyさん2013/03/25(月) 01:14:34.95ID:ISkubUPD
こんばんわぁ〜

PHPぷろぐらまぁ〜の おねぇ〜さんだよぉ〜

今日はどんな質問が あるのかな?
0124nobodyさん2013/03/25(月) 01:44:00.51ID:???
>>117
書かないことが気持ち悪いって人は沢山いるんだけど、
書くことによって起こる面倒なやり取りを避けるために、気持ち悪いことを承知の上で
書かないようにしようって判断した感じだよね。

「最後に空行がひとつあるんですがこれは?」とかまじでうっとうしいから
0125nobodyさん2013/03/25(月) 01:47:30.00ID:???
気持ち悪いとかじゃなくて実益で判断しろよ
気持ちいいコードしか書かんのかお前は
0126nobodyさん2013/03/25(月) 02:07:03.84ID:???
>>122みたいに質問すらロクにできないクズは何なの?
0127nobodyさん2013/03/25(月) 03:30:36.57ID:zKokAmn+
>>119
ダウンロードする時のコードからアップロードする時のコードに直すことが出来ないのですか?
0128nobodyさん2013/03/25(月) 04:10:17.81ID:???
ダウンロードとあっぷろ
0129nobodyさん2013/03/25(月) 09:05:07.55ID:???
>>122
前回回答済
0130nobodyさん2013/03/25(月) 12:43:29.77ID:???
>>127
ダウンロードするときには受け取った分から量がわかるけど
アップロードで丸ごと渡したらどこまで送信したかは、送った場所からはわからんだろ。
0131nobodyさん2013/03/25(月) 13:33:37.72ID:???
>130:nobodyさん :2013/03/25(月) 12:43:29.77 ID:??? [sage]
>>>127
ダウンロードするときには受け取った分から量がわかるけど
>アップロードで丸ごと渡したらどこまで送信したかは、送った場所からはわからんだろ。

はい、本日最高のヴァカ入りました
0132nobodyさん2013/03/25(月) 14:04:49.74ID:???
そんなこと言ってコード出させようとしても無駄w
0133nobodyさん2013/03/25(月) 17:17:47.63ID:wVRiuIe8
サニタイズ(無害化)について質問です。
次の変数$hostnameをDBに登録する場合、サニタイズは必要でしょうか?
よろしくお願いします。

$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
0134nobodyさん2013/03/25(月) 17:48:59.31ID:???
>>133
DBにはそのまま入れなよ
0135nobodyさん2013/03/25(月) 17:55:08.36ID:Xg0aZ+mi
Aサーバー→Bサーバー(長時間処理)

Bサーバーの処理終了もAサーバーがレスポンスを受け取らない。

Aサーバーがタイムアウトしてるとしか考えられないのですが
httpd.confのTimeoutとphpのタイムアウト設定以外に何処かいじるところ
ありますか?
0136nobodyさん2013/03/25(月) 17:57:54.37ID:???
>>135
> タイムアウトしてるとしか考えられない
で、タイムアウト「してた」の?
01371352013/03/25(月) 18:04:26.97ID:???
>>136

いえ、Bサーバー側ですべての処理が終わっても、クライアント側のPHP
はずっと動作したままブラウザは接続中になっています。

Bサーバーのtcpdumpではackをずっと飛ばしてるのですが、Aサーバーの
tcpdumpログに動きがないので、Bサーバーは強制切断になってます。
0138nobodyさん2013/03/25(月) 18:06:56.69ID:???
>>1も読めない>>137は以後スルーで
0139nobodyさん2013/03/25(月) 18:09:03.98ID:Xg0aZ+mi
>>138

間違えてsage入れてました。
この質問は取り下げます。
0140nobodyさん2013/03/25(月) 18:21:17.35ID:zKokAmn+
>>130
ブラウザやFTPクライアントはアップロードする時も%表示やプログレスバーが表示されますけど
phpでは表示出来ないという何か事情があるのでしょうか
0141nobodyさん2013/03/25(月) 18:25:56.14ID:???
>>140
curlで送ってるんじゃないの?
phpでcurlの関数に渡してはいおしまい、だと取れないだろって言ってるの
ダウンロードのコード晒してたから、そのまま使ったんじゃそうなるって話。
コールバックとか調べてみ。
0142nobodyさん2013/03/25(月) 19:09:28.56ID:???
A→Bへのコネクションだと思うんだけど、Aのログには別にRSTもFINも飛ばしてないんだよね?
コネクション張れてるならB→AへのACKがAに到達しないのはおかしいなぁとおもう。
nagleが絡んでるわけでもないんだよね
0143nobodyさん2013/03/25(月) 19:13:45.73ID:???
>>113
http://stackoverflow.com/questions/10946075/libcurl-c-curlopt-progressfunction
01441332013/03/25(月) 19:48:46.69ID:CCFS7U7g
>>134
ありがとうございました。
$_SERVER['REMOTE_ADDR'] の値が改竄される危険性については、
あまり心配しなくて良さそうですね。
0145nobodyさん2013/03/25(月) 22:22:50.37ID:???
取り下げられた質問にいつまでも絡んでる自己顕示欲くんウザ
0146nobodyさん2013/03/25(月) 22:39:40.23ID:???
自己顕示欲に見えるのはちょっと頭がおかしい
0147nobodyさん2013/03/25(月) 22:40:28.08ID:???
ごめん間違えた。ちょっとじゃなくてかなり。
0148nobodyさん2013/03/26(火) 00:08:15.71ID:???
>>146-147
自己紹介乙
0149nobodyさん2013/03/26(火) 03:29:34.65ID:???
どういたしまして
0150nobodyさん2013/03/26(火) 04:44:42.31ID:???
さすが底辺言語のスレ
常に煽りあってるよな
0151nobodyさん2013/03/26(火) 04:59:50.77ID:???
あおってるのが質問者でも回答者でもない人ってのが面白いところだよ
0152nobodyさん2013/03/26(火) 05:05:58.04ID:???
基本的な知識が足りないと判断されて回答してもらえなかった質問者やID出し忘れて叩かれた質問者が逆ギレして暴れているだけだろう。
0153nobodyさん2013/03/26(火) 05:13:23.28ID:???
この板のPerlスレ見てみろ
たまに煽り合いもあるけど基本平和そのものだぞ
言語使用者の民度は2chのスレッドにも表れる
0154nobodyさん2013/03/26(火) 09:03:11.23ID:???
ここしばらくおとなしかったのに春休みになったら荒れだしたな
0155nobodyさん2013/03/26(火) 10:20:58.89ID:???
お前ら全員Ruby使えは荒れることもないだろうよ
01561352013/03/26(火) 11:09:54.49ID:mRDPS0mY
>>142

返信ありがとうございます。

RSTはBサーバーではやってますが、Aのほうでは全く反応ない状態で
ackも送ってません。

nagleはちょっと調べてみないとわかりません。
01571352013/03/26(火) 12:16:11.31ID:mRDPS0mY
>>142

curlの
CURLOPT_TCP_NODELAYで無効にして試してみます。
ヒントありがとうございました。
0158nobodyさん2013/03/26(火) 15:23:43.17ID:???
質問取り下げたんじゃねーのかよ
嘘つきは消えろ
0159nobodyさん2013/03/26(火) 16:05:01.31ID:???
ループが分からないので教えてください
単純に文字を100回だすとかならまあ分かるんですけど
データベースとか絡んでくるとわけわからなくなってきます
0160nobodyさん2013/03/26(火) 16:47:05.53ID:???
嘘つきは泥棒の始まり

本当にここは犯罪者予備軍のスレだな
0161nobodyさん2013/03/26(火) 17:20:11.44ID:???
>>135がリアルキチガイなだけでしょ。
0162nobodyさん2013/03/26(火) 18:17:40.52ID:???
IDでてないよ
0163nobodyさん2013/03/26(火) 18:20:51.69ID:???
出てないから俺も静観してるとこ。
0164nobodyさん2013/03/26(火) 18:55:08.33ID:p9pFyvrs
ループ教えてください
01651352013/03/26(火) 19:00:48.07ID:???
嘘つきでもシステムが出来ればいいのです。
だってプログラマーでしょ
0166nobodyさん2013/03/26(火) 19:32:24.58ID:???
>>164
for(int i =0; i < 10; i++){
for(int j = 0; j < 10; i++){
}
}
0167nobodyさん2013/03/26(火) 19:41:13.66ID:p9pFyvrs
>>166
ループとイフの組み合わせを教えてください
0168nobodyさん2013/03/26(火) 20:28:52.75ID:???
この質問になんの意味があるんだろう?
その程度のこと知った所で何もプログラム組めないぞ
初心者向けのサイトでも見て学べ
0169nobodyさん2013/03/26(火) 20:33:08.47ID:???
>>166
ルールを守れない屑に回答してんじゃねーぞ精神異常
お前そこまでして自己顕示欲を満たしたいのか
0170nobodyさん2013/03/26(火) 20:43:01.27ID:???
>>166
ID出さない奴に回答するなゴミ。
0171nobodyさん2013/03/26(火) 20:55:12.54ID:???
>>170
IDは出てるじゃん
0172nobodyさん2013/03/26(火) 20:55:37.72ID:???
>>166
よくみたら無限ループでワロタ
0173nobodyさん2013/03/26(火) 21:07:53.64ID:???
>>171
はぁ?なにこいつ
最初出てなかっただろうが

万引きで捕まってから
お金払えばいいんでしょ!とか逆ギレするDQNと同じ精神構造
>>166共々消えろ
0174nobodyさん2013/03/26(火) 21:18:50.60ID:???
>>166はどう見てもマジレスじゃない
お前らアホか
0175nobodyさん2013/03/26(火) 21:23:41.80ID:???
>>174
いったじゃん。回答者でも質問者でもない人が馬鹿だって
0176nobodyさん2013/03/26(火) 21:26:02.46ID:???
>>166
PHPじゃないじゃん
0177nobodyさん2013/03/26(火) 21:36:48.57ID:???
>>169
ネタにマジレス…恥かしいよ…
0178nobodyさん2013/03/26(火) 21:41:24.07ID:p9pFyvrs
ぼくのために争わないで
みんなで仲良くPHPしましょう
0179nobodyさん2013/03/26(火) 21:44:07.30ID:???
なんでこんなに人気なの?
0180nobodyさん2013/03/26(火) 21:52:43.45ID:kZMtE//2
>>179
初めてやったのがphpで、それで事足りてるからほかの言語をやるきになれない...
サーバサイドで使ってるのはPHPだけだと思う。
MySQLとの連携とかはあるけど。
0181nobodyさん2013/03/26(火) 21:59:36.70ID:???
>>179
http://www.youtube.com/watch?v=VBm5m1-Eonw
0182nobodyさん2013/03/26(火) 22:09:43.32ID:???
>>179
お手軽にイオナズン唱えられるかんじ
0183nobodyさん2013/03/26(火) 22:15:55.27ID:kZMtE//2
>>182
フレームワークあれば開発速度ものすごい上がるしな。
0184nobodyさん2013/03/27(水) 04:49:18.79ID:???
<?php
echo "こんにちは";
?>

として、test.phpを保存しても、
ブラウザで読み込むとそのまま出てしまうんですが、コンパイル的なのが必要なんですか?
0185nobodyさん2013/03/27(水) 05:07:28.83ID:???
サーバー=PHPとHTMを解釈する環境。
0186nobodyさん2013/03/27(水) 07:44:23.93ID:???
>>184
その test.php はどこに保存されてて、ブラウザはどうやって開いているのかな?

ローカルに保存してローカルで開いたらそうなるけど。
ブラウザは PHP解釈しないから。

php解釈するモジュールを組み込める Apache などの Webサーバーにアップロードしておくか、
phpをcgiで実行できるようにWebサーバーに設定して同じくアップロードする。

そんでブラウザから Webサーバーを通じてアップロードしたしたファイルにアクセス。

というのがニワカの俺の知識。
0187nobodyさん2013/03/27(水) 09:02:47.30ID:???
test.php.txtになってるってオチだろ
0188nobodyさん2013/03/27(水) 10:09:51.76ID:???
>>187
そんなミスするのはお前だけだ
0189nobodyさん2013/03/27(水) 10:16:02.44ID:KYdi+aYH
PHPファイルのincludeができる範囲ってどんなもんなんでしょうか?
ドメインが違っても出来てしまいますか?
0190nobodyさん2013/03/27(水) 10:17:53.52ID:???
file:///C:/test.php なんだろ。
0191nobodyさん2013/03/27(水) 10:27:17.15ID:???
>>190
これだろうな
0192nobodyさん2013/03/27(水) 11:00:25.32ID:???
>>189
phpとして読めるならね。
普通、httpでphp読むと実行結果が返ってくるよね?
0193nobodyさん2013/03/27(水) 11:04:48.30ID:KYdi+aYH
>>192
つまり相対パスで呼び出さない限りincludeは出来ないということで良いのですね
安心しましたありがとうございます
0194nobodyさん2013/03/27(水) 11:22:45.13ID:o3YcYIdi
dataCheck($a,"txtA");
dataCheck($b,"txtB");

function dataCheck($str,$name){
if(strlen($str) == 0 || !preg_match('/^[0-9]$/',$str)){
print("<html><head><title>入力エラー</title></head><body>");
print($name." は半角数字を入力してください。<br /><br />\n");
print("<a href=\"#\" onClick=\"history.back(); return false;\">再入力</a>\n");
print("</body></html>");
exit;
}
}

txtAとtxtBの両方がfalseの場合、両方のエラーを表示させたいのですが
この場合だとどちらか片方しか表示されません。

両方表示できる方法をお願いします。
0195nobodyさん2013/03/27(水) 13:39:50.07ID:???
>>194
exitをなくせばいいと思うよ。
それとhead、bodyタグ等は関数の外で出力。
0196nobodyさん2013/03/27(水) 13:50:15.93ID:???
>>114
PHPだけのファイルの場合は付けない方が良く、その理由は明確。

PHPだけのファイルはrequireされるが、そのときそのファイルに?>に続くスペースなどがあると、
それが出力に影響を及ぼす場合がある。
また、PHPのコードでHTTPヘッダを出力するとき、requireしたファイルに?>に続く余分なスペース
や改行などがあると、もうHTTPヘッダは出力できなくなる。
そのため、?>は省略した方が良い。

ちなみに、PSR-2というコーディングガイド(PSRが何者かは要google)では、?>は省略が必須と
なっており、( http://www.infiniteloop.co.jp/docs/psr/psr-2-coding-style-guide.html )、
コーディングルールを静的にチェックするツールでは、エラーとして報告されるだろう。
0197nobodyさん2013/03/27(水) 14:00:57.53ID:???
dataCheck($a,"txtA");
dataCheck2($b,"txtB");

print("<html><head><title>入力エラー</title></head><body>");
print("</body></html>");

function dataCheck($str,$name){
if(strlen($str) == 0 || !preg_match('/^[0-9]$/',$str)){
print($name." は半角数字を入力してください。<br /><br />\n");
print("<a href=\"#\" onClick=\"history.back(); return false;\">再入力</a>\n");
}
}

function dataCheck2($str,$name){
if(strlen($str) == 0 || !preg_match('/^[0-9]$/',$str)){
print($name." は半角数字を入力してください。<br /><br />\n");
print("<a href=\"#\" onClick=\"history.back(); return false;\">再入力</a>\n");
}
}

適当にやったらなんとなく目的の動作に使づきましたが、「再入力」というのが2つ表示されたりと
なんとなくもっと簡単にできると思うんだが・・・

もし両方入力が不正の場合は、

「txtA txtBは半角数字を入力してください。」

と表示されるのが理想。$nameにtxtA txtBが代入されてるんだけど
それを配列で取り出す方法がわかりません。
0198nobodyさん2013/03/27(水) 14:06:09.03ID:GIbhyuNj
質問です。よろしくお願いします。
データベースから100件のデータを取得して、PHP側にて、whileで処理する場合、
そのwhileループ内で、更に、5回ずつデータベースに問い合わせると、
合計500回データベースにアクセスすることになってしまいます。

こういう場合には、どうするのがベストですか?
テーブルを結合して取得すればよいかとも思うのですが、
問い合わせが、5回、10回と多くなるとテーブルの結合も難しいです。
0199nobodyさん2013/03/27(水) 14:11:15.14ID:???
>>197
PHP以前の問題だ。

function validate($str){
 // 妥当なデータならtrueを、そうでない場合はfalseを戻す
 return strlen($str) !== 0 && preg_match('/^[0-9]$/', $str);
}

$buf = '';
if (!validate($a)) {
 $buf = "txtA,";
}
if (!validate($b)) {
 $buf .= "txtB";
}
if (strlen($msg) > 0) {
 $html = <<<EOB
<html><head><title>入力エラー</title></head><body>
$buf は半角数字を入力してください。<br /><br />
<a href="#" onClick="history.back(); return false;">再入力</a>
</body></html>
EOB;
}
0200nobodyさん2013/03/27(水) 14:12:42.17ID:???
>>198
> こういう場合には、どうするのがベストですか?
> テーブルを結合して取得すればよいかとも思うのですが、
それしかない。

> 問い合わせが、5回、10回と多くなるとテーブルの結合も難しいです。
難しくてもやれ。
0201nobodyさん2013/03/27(水) 14:13:28.39ID:???
>>199
誤:if (strlen($msg) > 0) {
正:if (strlen($buf) > 0) {
02021982013/03/27(水) 18:47:39.02ID:MD7cwBMv
>>200
なにか、他にテクニックがあるかとも思ったのですが、
やはり、テーブルの結合をするしかないようですね。
有難うございました。
0203nobodyさん2013/03/27(水) 19:02:19.68ID:???
テーブルの構造もやりたい内容も詳しくわからないのにテクニックとか
出しようが無いだろw
必要な呼び出しなら何回だろうが必要なだけ呼ぶしかないと言うだけのこと。
0204nobodyさん2013/03/27(水) 19:12:48.33ID:???
結合すると
> そのwhileループ内で、更に、5回ずつデータベースに問い合わせる
これがそもそもなくなるんじゃないかっていうのが回答者の意見だと思う

でも
> テーブルを結合して取得すればよいかとも思うのですが、
> 問い合わせが、5回、10回と多くなるとテーブルの結合も難しいです。
これがわからない

もうちょっと詳しく頼むわ
02051982013/03/27(水) 19:26:24.23ID:MD7cwBMv
>>204
不明瞭な点が有り、すみません。
意図していることは、結合するテーブルが5個、10個と多くなると、
SQLが複雑化するということです。
また、DBの設計上、結合が無理な場合も有り得るということです。
0206nobodyさん2013/03/27(水) 19:28:37.44ID:???
PHP関係なくね?
0207nobodyさん2013/03/27(水) 19:34:59.92ID:???
自分はデータベースを使うとき、内部は単一のテーブルしか使わん。
Sqliteメインからかもしれないが、分けるなら別ファイルにする。
0208nobodyさん2013/03/27(水) 20:19:03.85ID:r73Jwrfn
>>205
そうなってくると、DB設計見直してもいい気がします。
0209nobodyさん2013/03/27(水) 20:36:36.55ID:???
>>205
今スマホなんでURLは示せないけど、Oracle SQLパズルってサイト検索してみて。
一個のクエリで驚くほどいろんなことできるから。
ループ内のクエリは絶対だめ。
0210nobodyさん2013/03/27(水) 20:38:31.67ID:2iOdM1fp
PHPの練習問題などを公開しているサイトは無いですか?
イマイチ練習法がわかんなくて
02111982013/03/27(水) 20:55:59.05ID:I26BQZQ8
>>208
DB設計についても再考してみます。

>>209
http://www.geocities.jp/oraclesqlpuzzle/
これですね。かなり高度のようですが勉強してみます。

>ループ内のクエリは絶対だめ。
肝に銘じます。有難うございました。
0212nobodyさん2013/03/27(水) 21:39:21.74ID:???
Perlスレ荒らすのやめてもらえませんかね
昨日まで平和に進行してたスレが1日で50レス近く荒れてるんですよ
かなり迷惑なので他のスレにお願いします
0213nobodyさん2013/03/27(水) 21:49:56.92ID:???
被害妄想乙
0214nobodyさん2013/03/28(木) 00:27:58.07ID:???
>>212
>>206
0215nobodyさん2013/03/28(木) 09:21:24.03ID:???
ストアド使えよ
0216nobodyさん2013/03/28(木) 11:43:28.74ID:???
>>209
>ループ内のクエリは絶対だめ。
これなんでダメなん? PDOなんかだとループ前提の仕組みもあるよね
0217nobodyさん2013/03/28(木) 12:53:36.30ID:???
>>216
> これなんでダメなん?
実行時間が長くなり、サーバにも負担がかかるので。

例えば1000行戻ってくるクエリをループして、それぞれの行で5回検索をしたとすると、
ループ内では合計5000回のクエリ実行が必要。

対ローカルでもクエリの実行は数ms程度かかる。
1回のクエリにつき1msかかるとすると、このループの実行時間は5秒。
ネットワーク経由だと、10ms以上かかったりするので、数十秒〜数分のオーダーになるかもしれない。

一方、全部JOINして1回のクエリで終わらせられれば、数十〜数百msくらいで終わる。

> PDOなんかだとループ前提の仕組みもあるよね。
MDB2しか使ったことないんだけど、PDOのその仕組みってどういう奴なの?
0218nobodyさん2013/03/28(木) 12:55:27.85ID:???
マスターテーブルなんかを事前にhashで持っておき、ループ内ではクエリの実行を行わず、
hashを参照する方法もある。

が、大抵はJOINした1回のクエリより遅い。
0219nobodyさん2013/03/28(木) 13:33:51.38ID:Cp6GJ5bL
【OS名】Linux
【PHPのバージョン】5.3.10
【連携ソフトウェア】MySQL

phpでPDO使ってMySQLいじってる初心者です

指定の行の取得ってどうやるんでしょうか

$stmt = $dbh->prepare('select xxx from xx', array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, $num);
ってやっても最初の行しか取れなくて困ってます
0220nobodyさん2013/03/28(木) 13:42:08.01ID:???
ループで回すか、フェッチAllとか
0221nobodyさん2013/03/28(木) 13:50:16.41ID:???
ありがとうございます
fetchAll使って解決しました
0222nobodyさん2013/03/28(木) 13:51:36.21ID:???
>>219
マルチwwwwwww
http://toro.2ch.net/test/read.cgi/tech/1363522503/224
0223nobodyさん2013/03/28(木) 13:54:46.08ID:???
>>219
これでいけないか?

PDO limit句
http://phpgo.info/?PDO%20limit%E5%8F%A5
0224nobodyさん2013/03/28(木) 14:09:19.06ID:???
何でマルチポストに回答してんの?
そこまでして自己顕示欲を満たしたいの?
0225nobodyさん2013/03/28(木) 14:16:34.23ID:???
いいチャンスだったしただサイトの宣伝したかっただけだよ
0226nobodyさん2013/03/28(木) 14:17:01.51ID:???
匿名でIDも出さずに回答してるのに、自己顕示欲とかwww
0227nobodyさん2013/03/28(木) 14:21:40.28ID:???
>>224
俺がマ板からこの板に誘導したから。
が、よく>>222をみたらム板にもマルチしてたのか。どうでもいいけど。
0228nobodyさん2013/03/28(木) 14:27:57.85ID:???
そういえばPDOのLIMIT句バグはもう直ったのかな
0229nobodyさん2013/03/28(木) 15:18:25.70ID:???
>>228
質問ならID出てるはずだから質問じゃないな
独り言はTwitterでやれ精神障害
0230nobodyさん2013/03/28(木) 15:26:20.01ID:???
>>229
君も心に何かの問題を抱えてるようだよ。
0231nobodyさん2013/03/28(木) 16:33:27.95ID:???
夫婦喧嘩ってこういう感じなのだろうか。

言い合えるってだけで羨ましいス…
別に何も無いヨ…
0232nobodyさん2013/03/28(木) 22:53:42.51ID:???
>>216 >>217
> PDOなんかだとループ前提の仕組みもあるよね。

PDOでそういう仕組みは見たことないけど。
これと勘違いしてるんじゃない。

http://www.php.net/manual/ja/pdo.prepared-statements.php
プリペアドステートメントを使用して、繰り返し挿入処理を行う
0233nobodyさん2013/03/29(金) 00:31:56.83ID:???
strposで文字カウントすると ">" が4文字もカウントする
使えないんですけど何でですか?
0234nobodyさん2013/03/29(金) 00:53:54.84ID:G7mP7j2C
>>233
htmlspecialchars()とか前に使ってない?
'>' (大なり) は '&amp;gt;' になります。
0235nobodyさん2013/03/29(金) 00:58:12.47ID:???
>>234
ありがとーーー!!!
htmlspecialcharsを甘くみてたよ、ほんと助かった
0236nobodyさん2013/03/29(金) 01:09:24.93ID:???
&gt;で4じゃねーの
0237nobodyさん2013/03/29(金) 01:09:49.75ID:???
更新してなかった・・・死のう
0238nobodyさん2013/03/29(金) 09:05:45.51ID:???
>>232
それをループ内で使う
0239nobodyさん2013/03/29(金) 10:29:21.35ID:???
>>232
やっては駄目だといわれているのは、検索クエリ。
0240nobodyさん2013/03/29(金) 11:16:19.88ID:???
DBをキュー代わりに使ってるときは検索でもループ内で使うお
0241nobodyさん2013/03/29(金) 11:31:22.70ID:???
ループで検索クエリを流すかどうかは状況によるよ
一概にダメとは決めつけられない、というか決めつけるのは大抵の場合よくない
0242nobodyさん2013/03/29(金) 11:51:07.51ID:???
JOINできるんだったら、一回で済ませた方がいいだろ
0243nobodyさん2013/03/29(金) 11:55:25.73ID:???
>>242
何の話をしているんだ?
0244nobodyさん2013/03/29(金) 11:58:48.24ID:???
>>237
それをループさせる(爆)
0245nobodyさん2013/03/29(金) 12:53:54.89ID:???
>>198の話だけど?
0246nobodyさん2013/03/29(金) 13:44:23.45ID:???
とっくにそんな話は終わってんだろ
0247nobodyさん2013/03/29(金) 13:56:24.60ID:???
>>246
そう思うんならほっとけよ
0248nobodyさん2013/03/29(金) 14:02:33.34ID:???
ループしないといけない場合でも、ストアドで実装できるならストアドの方がいいね。
0249nobodyさん2013/03/29(金) 17:04:23.71ID:???
>>243
質問はID出せゴミ
0250nobodyさん2013/03/29(金) 19:01:31.30ID:YTM0Vtw2
【OS名】FreeBSD
【PHPのバージョン】5.4
【質問内容】
サブクラスに定義していない(スーパークラスの)関数
の中でサブクラスの変数は利用できないのでしょうか

これができればサブクラスの関数をスーパークラスに
引き上げることができて少しエレガントになるのですが
0251nobodyさん2013/03/29(金) 19:29:51.89ID:???
>>250
引数にすれば利用できる
0252nobodyさん2013/03/29(金) 20:05:29.23ID:???
その変数も基底クラスにもってけば?
0253nobodyさん2013/03/30(土) 13:44:04.73ID:???
【OS名】UbuntuServer12.04
【PHPのバージョン】5.3.10
【連携ソフトウェア】MySQL
データが1行のテーブルに記録された情報をmysql_fetch_assocなどの取得系で求めると必ずfalseが帰ってきます。
ただ2行以上ある場合はしっかりと帰ってくるのですが、肝心の1行目の情報がスルーされて2行目以降のデータが帰ってきます。
例)AAAのみ : bool(false) 、 AAA BBB CCCの三行 : BBBとCCCのみ帰ってくる

この場合ってどうしたらいいんでしょうか。SQL側の問題になるのでしょうか?
0254nobodyさん2013/03/30(土) 13:50:33.39ID:???
phpmyadminかコンソールからSQL実行したらどうなるの?
0255nobodyさん2013/03/30(土) 13:55:28.58ID:???
>>254
一行の場合でも結果がしっかり返ってきます。
書き忘れてましたがこのケース、whileで回すときだけ発生するのです。
0256nobodyさん2013/03/30(土) 14:12:46.69ID:???
>>1
0257nobodyさん2013/03/30(土) 14:53:57.28ID:???
>>255
ルールより自己の利益を優先するクズ野郎は消えろ
0258nobodyさん2013/03/30(土) 16:38:18.23ID:???
>>255人間のクズ
0259nobodyさん2013/03/30(土) 16:54:59.61ID:???
>>255の特徴

IDを隠す池沼
情報を後出しする糞
0260nobodyさん2013/03/30(土) 21:59:35.99ID:OzKgLCO2
PHPの配列で存在しない値を変数に代入したときどうなるの?
例えば

$a = $hairetsu['unko'];

unkoに対応する値はない。
このとき$aにはなにがはいるの?
こうしたとき、

isset($a)

ってしたときfalseかえってくる?
0261nobodyさん2013/03/30(土) 22:16:16.60ID:???
>>260
>◆質問する時の注意
>・ 質問者として、態度をわきまえること。
0262nobodyさん2013/03/30(土) 23:15:19.20ID:???
試してから質問してはいかがでしょうか
0263nobodyさん2013/03/31(日) 00:35:53.39ID:???
>>260
だれもテメーみたいなksに期待なんかしてないんだからfalseが返ってこようがこまいが関係ないだろ
一生電子ゴミを生産してろ
0264nobodyさん2013/03/31(日) 02:21:28.12ID:???
これは < 3 で真のはずなのに結果が 34 22 76となり
3回繰り返されず1回出力されるだけなんですがどうしてでしょうか?

<?php
$result[0] = 34;
$result[1] = 22;
$result[2] = 76;

for ($i = 0; $i < 3; $i++){
print $result[$i].'<br />';
}
?>
0265nobodyさん2013/03/31(日) 02:30:52.73ID:???
>>264
ルール無視のゴミは消えろ
0266nobodyさん2013/03/31(日) 07:47:45.45ID:???
http://ideone.com/tOT1Ek

3回出るけど
02672642013/03/31(日) 12:16:43.33ID:???
>>266
出ない理由を聞いているのであってあなたが試した結果はきいていません。
うっとうしいのでわざわざアンカうってレスしてもらわなくて結構です。
0268nobodyさん2013/03/31(日) 12:29:24.24ID:???
> これは < 3 で真のはずなのに結果が 34 22 76となり
何もおかしくない
02692642013/03/31(日) 12:31:32.34ID:???
267さんは偽です。
3回ってのは

34 22 76
34 22 76
34 22 76

こういうことです。for文は繰り返しですよね?
0270nobodyさん2013/03/31(日) 12:32:33.16ID:???
0からやり直せや
0271nobodyさん2013/03/31(日) 13:05:01.07ID:???
>>270
いいから教えろや
0272nobodyさん2013/03/31(日) 13:47:40.15ID:???
id出さない限り何度でも騙られるぞw
02732642013/03/31(日) 14:32:08.32ID:???
>>272
騙りではありません。
煽りたいだけなら黙っていてください。

ここにいる人たちはこんな簡単な質問にも答えられないのでしょうか?
0274nobodyさん2013/03/31(日) 14:38:59.41ID:???
俺は別にIDなんて気にしないけどIDに異様に拘る人がいるから質問するのならなりすましを防ぐ意味も込めてID出しとけばいいんじゃない
0275nobodyさん2013/03/31(日) 14:55:52.30ID:???
異様に拘るってアホか。騙りが出るからID出せって最初から言ってんだろ。テンプレ読めよアスペ。
02762642013/03/31(日) 17:55:19.44ID:???
IDとかどうでもいいねん。
質問したんだから答えろや
話が先に進まねぇやろ
0277nobodyさん2013/03/31(日) 18:04:09.79ID:???
あの手のガキはどっちみち答えないと思うよ
0278nobodyさん2013/03/31(日) 18:42:32.12ID:???
2重ループに陥って死ねや
0279nobodyさん2013/04/01(月) 13:20:46.87ID:???
質問に答えた上でIDだしてくれない?
とか普通に言えばいいのに、いちいち煽る
0280nobodyさん2013/04/01(月) 13:47:43.63ID:???
またそんなこと言ってルールに文句言うw
0281nobodyさん2013/04/01(月) 14:27:33.67ID:???
>>280

ルール重視して、スレの目的が達成できないとか本末転倒なので
柔軟に対応しろってこと。
ルール作った目的は偽者防止のはずだが、明らかに偽者じゃない人
にもIDだせってやりすぎだろ。
0282nobodyさん2013/04/01(月) 14:28:07.73ID:???
一番のルールは、荒らしを相手にしないことだ。
0283nobodyさん2013/04/01(月) 14:29:39.13ID:???
ruby基地が消えたと思ったら此れだよ
02842812013/04/01(月) 14:31:30.54ID:BwLTFG84
mysqlで少し場違いな気がする質問ですが
DBを利用した掲示板を作成しました
データを20件までとして古いものから削除したいので
以下のようにコード組みました
もう少しスマートにコード作りたいのですが
ご教授ねがいます


//日付と時刻の変数宣言
$date = date("Ymd");
$time = date("His");

//書き込み内容をDBへ
$result_insert = 'INSERT INTO date(name,body,date,time) VALUES (\''
.$name.'\',\''.$body.'\','.$date.','.$time.')';
mysql_query($result_insert, $con);

//指定件数の超過数算出
$result_select = 'SELECT * FROM date';
$number_count = mysql_num_rows(mysql_query($result_select, $con)) - 20;

//超過分を削除
$result_delete = 'DELETE FROM date ORDER BY date,time LIMIT '.$number_count;
mysql_query($result_delete, $con);
02852842013/04/01(月) 14:32:53.28ID:BwLTFG84
書き込んだら更新されて名前が>>284じゃなくなってました
気にしないでください
0286nobodyさん2013/04/01(月) 14:49:18.51ID:???
mysql_queryは非推奨
0287nobodyさん2013/04/01(月) 14:57:31.80ID:???
DELETE FROM date where not exists (select * from date order by date desc ,time desc limit 0,20 )
0288nobodyさん2013/04/01(月) 15:06:49.28ID:???
>>282
答える能力ないやつはすっこんでろ
0289nobodyさん2013/04/01(月) 15:22:49.33ID:???
>>284
・これ一件書き込んだら20件消えない?
・SQLインジェクションは大丈夫?
02902892013/04/01(月) 15:24:18.12ID:???
ごめん、
> ・これ一件書き込んだら20件消えない?
これ勘違いだった。
0291nobodyさん2013/04/01(月) 15:30:12.59ID:???
必ずPREPARE使う様にした方がいい、すぐ慣れるさ。
基本的に読む時に20件引っ張ってくればいいんで
消すこともないと思う。
0292nobodyさん2013/04/01(月) 15:30:22.40ID:???
SQLのlimit部分だけ$_GET['limit']で取得してるんですけど、これでもDELETEとかDROPされちゃう可能性ってあるんでしょうか?
0293nobodyさん2013/04/01(月) 15:31:05.51ID:???
>>286
嘘つくなよ・・・
0294nobodyさん2013/04/01(月) 15:31:51.91ID:???
>>292
数字としてバインドすれば問題ない
0295nobodyさん2013/04/01(月) 15:31:52.11ID:TTwnP515
すみません>>292ですがsageのチェックはずしたつもりが●のチェック外してました…
0296nobodyさん2013/04/01(月) 15:32:25.27ID:???
>>294
なるほどありがとうございます
0297nobodyさん2013/04/01(月) 15:33:41.44ID:???
>>292
limit="; DROP TABLE hoge"
とでも書けばいけるやん?
0298nobodyさん2013/04/01(月) 15:36:08.44ID:???
SQLに;が入ってれば弾けばいい
0299nobodyさん2013/04/01(月) 15:40:12.17ID:???
>>298
どうせ半端なことするなら mysqli_real_escape_string() 使え
半端なら半端をつらぬきとおせ
03002842013/04/01(月) 15:40:30.63ID:BwLTFG84
>>286>>293
わからんからそのままつかうことにします

>>287
単体で実行したけどエラーが出ました
#1093 - You can't specify target table 'date' for update in FROM clause
sqlよくわかってないんですみません

>>289
SQLインジェクションはnameとbodyに対し事前に行ってます
指摘ありがとうございます
0301nobodyさん2013/04/01(月) 15:41:05.73ID:???
>>298
わたしなら 0 を足す。
0302nobodyさん2013/04/01(月) 15:42:06.13ID:???
>>300
今はmysqli_queryだぞ
03032842013/04/01(月) 15:48:29.65ID:BwLTFG84
>>291
ごめんちょっと調べたけど
俺の実力では意味がわからなかった
0304nobodyさん2013/04/01(月) 15:48:33.69ID:???
>>300
table名が同じだと無理。別名つけてやればいいはず
数を数えるのと消すのを別の行でやると複数同時に動いた時バグるぞ。
トランザクションにしてもいいけど
0305nobodyさん2013/04/01(月) 16:06:43.25ID:???
>>297
mysql_queryって2つのSQL同時に実行出来ないでしょ ;で区切っても
03062842013/04/01(月) 16:28:56.62ID:BwLTFG84
>>302
置き換えてみたら動かなくなった

>>304
言ってることはわかるけどどうやって実現するのかわからない
勉強しないと駄目だね
0307nobodyさん2013/04/01(月) 16:40:33.45ID:???
>>306
動かなくなった じゃなくてさあ・・・
いや、別に良いや俺のサイトじゃないし
0308nobodyさん2013/04/01(月) 17:14:32.75ID:???
他の部分がmyql_のままなんだろ
mysqlとmysqliでは別モンだから全部変えなきゃいけないぞ
03092842013/04/01(月) 17:26:22.71ID:BwLTFG84
>>307>>308
ごめん名知識が無くて
全部変えて見たらデータベースに接続なってもうた
よくわからなくなってしまった
03102842013/04/01(月) 17:29:28.39ID:BwLTFG84
説明不足でした
mysql_connectをmysqli_connectに変えて接続かのうか処理したところ
弾かれたという現状です
受け渡す値もかえないとだめだったりするかもです
0311nobodyさん2013/04/01(月) 17:33:58.04ID:???
弾かれた
って何がどうなったの?
03122842013/04/01(月) 17:51:18.80ID:BwLTFG84
$con = mysqli_connect('126.0.0.1', my_user', 'パスワード');
if (!$con) {
$error = true;
exit('データベースに接続できませんでした。');
}


ここの処理で接続が弾かれてしまう

そもそもmysqlとmysqliの違いもわかってない
やばい
0313nobodyさん2013/04/01(月) 17:58:43.53ID:???
mysqli_connect_errno() の値は?
0314nobodyさん2013/04/01(月) 18:33:34.88ID:???
こうじゃね?

$con = mysqli_connect('126.0.0.1', ’my_user', 'パスワード','DB名');
0315nobodyさん2013/04/01(月) 18:38:29.21ID:???
それ指摘するなら、 126も127になおしといてやろうぜw
まあ書き込みでミスったんだろうけど
03162842013/04/01(月) 18:40:42.39ID:BwLTFG84
すみません
mysqli_select_db()の方でした
それで調べてみたら入れる値の順序が逆だったそうです

うまいこと動いてくれましたありがとうございます


まだ質問が残っているのですが
>>287がうまく動いてくれない
>>304の助言を元に挑戦してます
03172842013/04/01(月) 18:42:24.59ID:BwLTFG84
>>314>>315
ごめんなさいそこは自分の使ってるサーバー情報なので
書き換えた際におかしくなっただけです
今現在動いてます
細かなところに気づいていただきありがとうございます
0318nobodyさん2013/04/01(月) 20:09:58.96ID:???
動いてる?それは何かおかしい mysqliはmysqlにくらべて多くの場合引数が1コ多い

$con = mysql_connect('126.0.0.1', 'my_user', 'パスワード');>>312
↓
$con = mysqli_connect('126.0.0.1', ’my_user', 'パスワード','DB名');>>314
0319nobodyさん2013/04/01(月) 20:19:53.03ID:???
>>318
DB名無しでも動くよ?
0320nobodyさん2013/04/01(月) 20:31:39.19ID:???
面倒くさいから全部設定に書いて引数無しで接続してるわ・・・
03212842013/04/01(月) 21:02:06.55ID:BwLTFG84
>>318>>319
問題なくINSERTやDELETEできてます
0322nobodyさん2013/04/01(月) 21:20:41.93ID:???
>>315
いや バンクの技術者かもしれん
http://www.utrace.de/whois/126.0.0.1

ためしに284はfusianasanするべき
0323284nttkyo039102.tkyo.nt.ngn2.ppp.infoweb.ne.jp2013/04/01(月) 21:28:12.90ID:BwLTFG84
>>322
いえ、違いますよ
DBを使おうとおもい勉強がてら作ってみたのですがうまく行かない
長ったらしい文章になる等々あって今回質問しました
0324nobodyさん2013/04/01(月) 21:37:33.60ID:???
メール本文にメルアド埋めるのhtmlエンコしたいけどてまきまふん
0325nobodyさん2013/04/01(月) 22:58:56.50ID:???
そーせーじえっぐまふん
0326nobodyさん2013/04/02(火) 04:22:59.24ID:???
ソーセージエッグマフィン美味しいよね
朝マックのときは大抵あれ買う
0327nobodyさん2013/04/02(火) 05:39:33.55ID:???
味覚障害
0328nobodyさん2013/04/02(火) 17:29:03.92ID:pCXIVpZH
お知らせ

市原警察署の生活安全課の帰化人創価警官の指導の元、
入学式から2週間ほど、在日の創価学会員を主体とした自称防犯パトロールが、
2週間ほど行われることになりました

生活安全課の指導であることと、パトロールであることは、
絶対に公言してはいけないとの指導も、帰化人創価警官より出ています

期間中は2人組の在日の創価学会員が、頻繁に創価批判者の自宅周辺を、
うろつき回ると思われます
日本人の方は、充分に注意してください
0329nobodyさん2013/04/02(火) 18:23:57.95ID:???
ID出てるけど質問に見えない気がしないでもない
0330nobodyさん2013/04/02(火) 19:53:45.82ID:???
ソーセージなんとかもいいけどハッシュポテトもいいよ

あれは癖になる
0331nobodyさん2013/04/02(火) 22:45:17.78ID:???
メール本文にメルアド埋めるのhtmlエンコしたいときはどうかきますか?
0332nobodyさん2013/04/02(火) 22:48:54.62ID:???
母国のコミュニティでどうぞ
0333nobodyさん2013/04/03(水) 08:13:37.42ID:h+HuJAZG
HPにphpのソース載せたいんだけどソースを無効にして表示する方法を
教えてください。よく、php系のページに載せてあるけどあの方法がわからない。
0334nobodyさん2013/04/03(水) 08:16:18.19ID:???
>>333
そこのHTMLソース見れ
0335nobodyさん2013/04/03(水) 08:48:25.20ID:???
preとかcodeとか
0336nobodyさん2013/04/03(水) 09:51:28.80ID:???
ENT_COMPAT|ENT_HTML401と等しい定数
例えばENT_DEFAULTが定義されてないとかバカだろw
その後の引数の$encodingを触りたいだけなのに
延々とENT_COMPAT|ENT_HTML401と書かされるww
0337nobodyさん2013/04/03(水) 09:59:22.29ID:???
いまどき5.4未満とか
0338nobodyさん2013/04/03(水) 10:14:17.25ID:???
PHP書くやつがHPとか言っちゃうのか
0339nobodyさん2013/04/03(水) 10:39:54.58ID:Ko35x5uB
imagejpegについて質問させてください。
imagerotateで画像を回転させて
imagejpeg($rotate_file, null, 100);
とすると画像データがそのまま表示され、画像が表示されません。
以下のようにヘッダーをつけると
header("Content-Type: " . $mime . "");
imagejpeg($rotate_file, null, 100);
「Warning: Cannot modify header information - headers already sent」というエラーが出ます。
HTML上に画像として表示するにはどうすればよいのでしょうか?
0340nobodyさん2013/04/03(水) 11:47:27.38ID:???
>>339
画像処理スクリプトは、HTMLと混在させず、画像専用に単独でPHPファイルに記述します。
その画像ファイルを<img src="gazou.php">などとしてHTMLファイルから読み込みます。
03413392013/04/03(水) 12:14:26.87ID:Ko35x5uB
>>340
回答ありがとうございます。

画像処理部分は色々な関数を突っ込んでる部分の一部になります。
function.php内にあるfunction rotate(){ 処理 } という感じになります。

単独となるとfunction.phpからrotate()関数を切り出さないといけないということでしょうか。
そうなるとちょっと構成そのものを見直さないといけないので意外と面倒そうですね。
0342nobodyさん2013/04/03(水) 12:26:05.25ID:???
>>339
>function.phpからrotate()関数を切り出さないといけないということでしょうか。

いや、切り出す必要はないと思う。
画像専用ファイル(gazou.php)から、その rotate関数を読み込めばいいんじゃないかな。
そもそもローテーションしなければ表示されるの?
0343nobodyさん2013/04/03(水) 12:35:47.43ID:???
試しにヘッダー出力を最初にやってみ
0344nobodyさん2013/04/03(水) 12:36:43.34ID:???
あーあと画像以外のデータ一切出さないようにな
03453392013/04/03(水) 13:59:52.79ID:Ko35x5uB
みなさん回答ありがとうございます。
出力側は
<html>
<body>
<?php
require_once(関数ファイル);
echo "<img src=" . rotate('roteta.jpg') . ">";
?>
</body>
</html>
関数ファイルには
function rotate($filename){
$filenameを回転処理
imagejpeg($filename);
}
という風にしています。
恐らくimg srcで指定しているものがバイナリデータそのものになっているのでおかしなことになっているんだと思います。
img srcで指定するファイルはあくまでファイル形式である必要があるという認識でいいのでしょうか?
0346nobodyさん2013/04/03(水) 14:04:41.79ID:???
img src=なんちゃら
ってあったら、サーバじゃなくてクライアントのブラウザがなんちゃらを
取りに行くだろ?よく考えてみてよ。
0347nobodyさん2013/04/03(水) 14:06:11.56ID:???
埋め込む方法も無いことは無いけど、とりあえず
Content-Type: image/jpeg のヘッダとバイナリを出すだけの
php作ってみ
0348nobodyさん2013/04/03(水) 14:15:06.22ID:???
sample.html
<html>
<body>
<img src="./gazou.php">
</body>
</html>

gazou.php
<?php
require_once(関数ファイル);
rotate('roteta.jpg');
//出力処理
?>
03493392013/04/03(水) 14:23:36.76ID:Ko35x5uB
みなさん度々の回答ありがとうございます。
>>346
確かにブラウザ側からするとバイナリ表示されるアドレスを追いかけようとするわけですからうまく表示されるわけないですね。

>>347
画像を表示するだけのものは作ってみたのですが、全部1つのファイルでまとめれればラクだな〜と思って
呼び出せればと思っておりました。

>>348
こちらは1度試してうまくいくことは確認しておりました。
ただファイルを1個にまとめることが出来ればラクだな〜と思っていたため
ファイルデータをimg srcに渡せばいいのではないかと勘違いしておりました。
使うものをAPI的にまとめていまして、画像だけ別ファイルを作成して引っ張ってくるのはどうなんだろうかと思ってしまっておりました。

一般的には手を加えた画像を表示させる際は、別ファイルを用意してそれを経由する形で表示させるのが普通なのでしょうか。
一人で開発などしていてそのへんの作法がよくわからないこともあって今回の質問となってしまいました。
0350nobodyさん2013/04/03(水) 14:36:51.90ID:???
httpの基本的な仕組みからいって、HTMLファイルはHTML等で表示して、
画像ファイルは別ファイルになるから1つにまとめるのは難しいんじゃない。
0351nobodyさん2013/04/03(水) 14:38:20.35ID:???
大して難しくは無いが、意味あるんかな
0352nobodyさん2013/04/03(水) 14:58:08.22ID:???
どうしても埋め込みたいなら
src="<?=data:image/jpeg;base64,'.base64_encode($バイナリデータ)?>"
とかでできないこともないけど、、こっちのが扱いにくい気が
03533392013/04/03(水) 15:14:12.46ID:Ko35x5uB
みなさん本当にありがとうございます。
1つにまとめるのはそんなに深い意味はないです。
単純に1個のファイルにまとまってたらラクかな〜程度のものです。
画像に関しては別ファイルから取ってくるようにします。
その方がHTML的にもスマートかと思いますし。

>>352
そんなやり方あるとは知りませんでした。
このやり方だとさすがに扱いにくい気もしますが、データをそのまま表示できる方法として覚えておこうと思います。
ありがとうございました。
0354nobodyさん2013/04/03(水) 15:15:39.52ID:???
世の中に腐るほどあるWebサイトのHTML眺めるといいよ
0355nobodyさん2013/04/03(水) 15:56:07.94ID:HfBT+72d
【PHPのバージョン】5.4
【連携ソフトウェア】MySQL
【質問内容】
さくらレンタルサーバースタンダードに作ったMYSQLのデータをphpで書き出したページを公開したいのですが、
表示するphpファイルにSQL文を書いているので、phpファイルをダウンロードすると
SQL文が丸わかりになってしまうと思うのでファイルに書かないようにしたいです。(隠したいです)

データベースのID等を記したのをreuire_onceで別ファイルから読み込めることを知ったので、
SQL分もその要領で別ファイルから引っ張ってくればいいのかなと思ったのですが、
普通はどのように隠すものなのでしょうか、MYSQLとPHPだけではなく他のプログラミング言語やサービスなども組み合わせるものなのでしょうか。
それともSQL分を隠さない(別ファイルから出力しない)のが普通なのでしょうか。

あと、ソースの途中の$kekka["0"]とかも見えてしまいますが、これも隠したい場合、
reuire_onceで他のファイルから引っ張ってくるものなのでしょうか。
行数の関係で色々省いていますがソースです。
$tempHtml .= "
<td>".$kekka["0"]."</td>
<td>".$kekka["1"]."</td>;

<tr>
<?= $tempHtml ?>
</tr>

レンタルサーバーの仕様を見るとPerl Ruby Python PHPが使用可能のようでした。
もし見当違いの質問をしていたらすいません。
よろしくお願いします。
0356nobodyさん2013/04/03(水) 16:05:09.57ID:???
通常はphpからは読めるけどhttpdからは読めないところに置く
ドキュメントルートより上とかね
無理ならディレクトリ作ったり作らなくても、.htaccess で制御

>あと、ソースの途中の$kekka["0"]とかも見えてしまいますが
普通はこれは無いと思うけど
0357nobodyさん2013/04/03(水) 16:30:40.03ID:???
DBのIDを別ファイルから持ってくるんじゃなくて、
DBの処理まるごと別ファイルにやらせよう。 そのファイルは、直接参照で見えないようにしておこう。
0358nobodyさん2013/04/03(水) 16:53:15.23ID:???
つか、どうやったらPHPファイルをダウンロードできるんだ?
0359nobodyさん2013/04/03(水) 17:02:26.34ID:???
>>358
一般的なファイルとして認識させればPHPファイルを
そのままダウンロードしちゃう
初歩のトラブルや名
0360nobodyさん2013/04/03(水) 17:08:03.64ID:???
レンタルサーバが設定をミスってたときのことを考慮しようってことかなぁ
まぁ、その辺を考慮するなら.htaccessで制御もやっちゃいけないね
03613552013/04/03(水) 17:10:13.72ID:HfBT+72d
皆さんどうもありがとうございます。

>>あと、ソースの途中の$kekka["0"]とかも見えてしまいますが
>普通はこれは無いと思うけど
すいません、勘違いしておりました。
Irvine等のダウンロードツールでhttp://hogehoge.com/test.phpをファイルとしてダウンロードすると内容が見えると思ったのですが、
もう一度確認してみましたら、ダウンロードしたtest.phpを見てもphpの処理部分は見えませんでした。(消えていました。)

DB処理の部分は用意したファイルに処理させるのが一般的とお見受けしました。
アドバイス頂いたように、
/www/の上階層の非公開ディレクトリに別ファイルを用意して、そのファイルにDB処理をまるごとやらせるようにしてみます。
レス下さいましてありがとうございます。
0362nobodyさん2013/04/03(水) 17:13:47.64ID:???
>>359
どうやって一般的なファイルとして認識させるの?
0363nobodyさん2013/04/03(水) 17:16:58.20ID:???
>>356
> 普通はこれは無いと思うけど
なら、
> SQL文が丸わかりになってしまうと思うので
これも普通はないよね。

普通のWebアプリケーションは、アプリケーションのroot以下に全部置いちゃうよ。
/var/www/htmlより上にアクセスできないことだってあるんだし。
0364nobodyさん2013/04/03(水) 17:49:59.01ID:???
ああ、SQL文だけ別に抜き出してるのかと思った
phpのソースに埋め込んでるなら読まれないよ。
0365nobodyさん2013/04/03(水) 18:11:44.91ID:???
意味わかんない
0366nobodyさん2013/04/03(水) 18:26:23.36ID:???
>>362
wget -r -k -p http://hoge
としてパスワードを要求されるので入力すればおkだ
0367nobodyさん2013/04/03(水) 20:05:59.25ID:???
>>366

じゃあ>>363の言ってることは嘘か
0368nobodyさん2013/04/03(水) 20:43:16.74ID:???
>>367
httpでアクセスすると対応してくれる人はhttpデーモンさん
ftpでアクセスすると対応してくれる人はftpデーモンさん
sshでアクセスすると対応してくれる人はsshデーモンさん
どのデーモンさんがどのファイルに入れるかはコンテキストで設定できるんだけど
普通は、httpデーモンさんはphpファイルさんに直で話しかけられない恥ずかしがりやさんだから
apacheさんに変わりに聞いてもらっている
だからブラウザってphpファイルを見てるのじゃなくて
apacheさんが 「phpさんがこんなこと言ってたぜ」って言ってるのを見てる

ちなみにhttpデーモンさんは普通はアパッチさんのwwwより上を見にいけないので
wwwより上に置いておけばブラウザからはアクセスできない

phpファイルはアパッチさん(の一部)が読みに行くから
php内でwwwより上にリンクを貼ればアパッチさんの入れる範囲で読み書きできる

SQL接続関係は 私はwwwより上に置いている

ちなみに私はこのDB関係のクラスを
DIO データインターフェイスオブジェクト とよんでいる
DIOはtheWorldメソッドなどを持つ
0369nobodyさん2013/04/03(水) 20:46:12.73ID:???
メソッドじゃなかった ファンクションだた
0370nobodyさん2013/04/03(水) 21:00:14.58ID:YRjUCssz
WordPress での作業における質問なのですが、PHP一般の話題だと思いこちらで質問させて頂きます。

今、Windowsのローカル環境で error_reporting を 32767 にセットして警告をシラミ潰しにしているのですが、

Declaration of Walker_Nav_Menu_Edit::start_el() should be compatible with Walker::start_el(&$output, $object, $depth, $args, $current_object_id = 0) in D:\localhost\wordpress\wp-admin\includes\nav-menu.php on line 207

というのをどうやっても消せません。

これは継承元のクラスメソッドとシグニチャが一致しない場合の警告なのですが、元の Walker::start_el と同じに変更しても消えないのです!

同じ警告がこのファイルの別のクラス)(Walker_Nav_Menu_Checklist)でもやはり発生して消えません。

この種類のエラーはWordPressのいたるところに散在していて、他は確認できる範囲では全て消せました。(このファイルの別のクラスでも消せたものもあります)

しかしこのファイルのこの箇所のみ解消できないのです。

どなたかお分かりになる方はいらっしゃいませんか?
0371nobodyさん2013/04/04(木) 07:26:37.47ID:???
>>368
       _, ,_
 w  (・ω・ )
 (~)、 /   i  )
  \ ` |_/ /|
   `ー_( __ノ |
    (  `(  、ノ
wwwww_ノ`i__ノ
0372nobodyさん2013/04/04(木) 10:54:32.39ID:???
>>368
> 普通は、httpデーモンさんはphpファイルさんに直で話しかけられない恥ずかしがりやさんだから
> apacheさんに変わりに聞いてもらっている

> httpデーモンさんは普通はアパッチさんの

2度もでてくるってことはhttp daemonとapacheがそれぞれ存在する環境なんだろうなぁ。
0373nobodyさん2013/04/04(木) 11:18:40.47ID:???
582 名前:萌える名無し画像 [sage] :2013/04/03(水) 21:38:39.80 ID:UQ92SOst0
http://livedoor.blogimg.jp/erotika_dea/imgs/c/6/c64e57cf.jpg
http://livedoor.blogimg.jp/erotika_dea/imgs/b/a/baaaa95e.jpg
http://livedoor.blogimg.jp/erotika_dea/imgs/0/6/0642961f.jpg
http://livedoor.blogimg.jp/erotika_dea/imgs/2/d/2dba6b48.jpg
http://livedoor.blogimg.jp/erotika_dea/imgs/c/f/cf1b79c7.jpg
0374nobodyさん2013/04/04(木) 12:53:27.85ID:???
>>366
んじゃ、http://php.net/manual/ja/index.phpのソース取ってきてみ
0375nobodyさん2013/04/04(木) 12:55:28.10ID:???
phpダウンロードされたらSQLインジェクションどころの騒ぎじゃねーな
0376nobodyさん2013/04/04(木) 13:49:54.52ID:???
>>375
上の奴、冗談なのかマジなのか判別不可能なんだよ。
0377nobodyさん2013/04/04(木) 14:49:03.99ID:???
>>376
保存されるファイルが〜.phpだからダウンロードできてると勘違いしたに賭ける
0378nobodyさん2013/04/04(木) 15:41:23.79ID:???
apacheの設定でやらかしてるとダウンロードできちゃうよな
あと ~ とか .bak で落とせるところが今でもある
どうみてもレン鯖なところにビッグチャンスあり
0379nobodyさん2013/04/04(木) 16:19:30.19ID:ukDPOk48
関数の読み方一覧はありますか?
sprintf (エスプリントエフ)
ob_start (オービースタート)
とかでよい?
0380nobodyさん2013/04/04(木) 17:13:56.47ID:???
"オービースタート"でググったら4件しか無かった。いずれも関係無し。
"おーびーすたーと"だと0件。
つまり、Web上にはそのような一覧は多分無いってことだね。

CとかUnixのだと古いのがあったりするんだが。
http://atom.rye.tama.ac.jp/~stock/cgengo/04ctext2/04furoku-c.pdf

まあ、読み方はそのままでいいんじゃない?
03813702013/04/04(木) 17:59:41.69ID:JZyowHPw
>>370 ですが、どなたか無理ですか?
0382nobodyさん2013/04/04(木) 18:30:28.61ID:???
>>370
WordPressはさっぱり知らないし、どのWPのバージョンの話なのか、PHPのバージョンは何なのか
さっぱりわからないが、何で消そうとしてるの?
出なくなるまで、ログレベルを下げるわけにはいかないの?

それと、どうやって消してるのか知らないけど、WP本体を変更しちゃったら、バージョンアップしたら
変更が消えちゃわない?

あとググった?
0383nobodyさん2013/04/04(木) 19:37:19.25ID:???
>>381
ぐぐったらでてきたんだけどこれじゃダメ?
http://stackoverflow.com/questions/9734422/errors-when-trying-to-integrate-wordpress-on-my-existing-website
0384nobodyさん2013/04/05(金) 04:18:02.22ID:OQtVBSh8
getimagesize()でアップロードしたファイル(拡張子は.jpg)の画像タイプをチェックしてるんですが
ある特定の画像のみ上手くいきません

$fileType = $_FILES['uploadPic']['type'];
if(preg_match("/jpeg/", $fileType)){
jpgならアップロード処理
}else{
echo $fileType;
}
としても、jpgと判定されない上に、echo $fileTypeで何も出力しません

さらに別のやり方で、
switch(exif_imagetype($_FILES['uploadPic']['tmp_name'])){
case IMAGETYPE_JPEG:
アップロード処理
break;
default:
echo exif_imagetype($_FILES['uploadPic']['tmp_name']);
}
この方法でも、 echo exif_imagetype($_FILES['uploadPic']['tmp_name']); で何も出力しません

何が原因なんでしょうか
PHPは5です
03853842013/04/05(金) 04:51:07.31ID:???
自己解決しました
ファイル容量的には全く問題なかったんですが、画像の寸法が大き過ぎたようです
一辺が3000px以上あると、PHPはメモリエラーを起こすらしいです
知らなかった…
0386nobodyさん2013/04/05(金) 06:15:51.61ID:???
>>370
>>381

Reflectionで調べたら、違いがあるかもしれないよ。
編集しているつもりが別のファイルだったりするってこともない?(おれはあるw)
0387nobodyさん2013/04/05(金) 06:18:17.31ID:???
しかし、WPはいまだに引数の参照渡しとかやってるのか。
まぁ、後方互換性じゃしょうがないか。
0388nobodyさん2013/04/05(金) 06:19:10.39ID:???
>>387
事故レス。ごめん、勘違い。
0389nobodyさん2013/04/05(金) 13:40:01.87ID:???
フォームに文字列を入力して自動変換させるphpで
例えばフォームに

FX News   と入力すると
↓
http://www.hoge.com/search.php?terms=FX%20News

のように変換させたいのですが上手くいきません。
以下のような感じではダメなのでしょうか?

<Form action="URL_henkan.php">
<input type="text" name="moji" size="80" value="<?echo 'http://www.hoge.com/search.php?terms=', urlencode($moji) ?>">

<input type=submit value=sub>
</Form>
0390nobodyさん2013/04/05(金) 13:42:05.75ID:???
いや、意味わからんし・・・なんでフォームのvalueにechoしてんの?
0391nobodyさん2013/04/05(金) 13:52:54.63ID:???
本当は最初はフォームは空白で、文字を入力すると
http://www.hoge.com/search.php?terms=xxxx と出力されるようにしたいんですが
やり方がわからないので…
0392nobodyさん2013/04/05(金) 13:56:52.13ID:???
そんなのphpの範疇じゃない
0393nobodyさん2013/04/05(金) 13:57:03.83ID:???
>>391
<input value="<?=urlencode($moji)?>">
0394nobodyさん2013/04/05(金) 13:59:33.61ID:???
>>389
やってみたらどうなった?
$mojiに何も入ってないとか?
0395nobodyさん2013/04/05(金) 14:00:59.14ID:???
$_REQUEST['moji']
にしてみたら?
XSSしてくださいって感じだけどもw
0396nobodyさん2013/04/05(金) 14:06:29.87ID:???
>>391
なんか、いろいろわかってないな。
?以降はURLパラメータという奴で、HTTP GETしたら勝手に付く。

hoge.php
--
<title>Test</title>
<body>
<form method="GET" action="search.php">
<input type="text" name="term">
<input type="submit">
</form>
</body>
--
を表示させて、テキストにabcと入力してsubmitしてみろ。
URLがhttp://.../search.php?term=abcになってるから。
0397nobodyさん2013/04/05(金) 14:10:17.91ID:???
>>396
$mojiはどこにいったんだよ
0398nobodyさん2013/04/05(金) 14:13:41.43ID:???
んで、自分自身のURLに対してGETし、変換結果をテキストボックスに表示させたいなら、こう。
hoge.php
--
<?php
$converted = isset($_GET['term']) ? 'hoge' : '';
?>
<title>Test</title>
<body>
<form method="GET" action="hoge.php">
<input type="text" name="term" value="<?php echo $converted; ?>">
<input type="submit">
</form>
</body>
--
0399nobodyさん2013/04/05(金) 14:15:15.52ID:???
まあ、このままだと、永遠にhoge.phpへのGETを繰り返すだけなんですけどね。
0400nobodyさん2013/04/05(金) 14:16:17.51ID:???
打ったそばからURLに変換していきたいってことだと思ったんだけど?
PHPじゃ無理だろ
0401nobodyさん2013/04/05(金) 14:18:44.77ID:???
>>400
URLを変換する意味が分からない。
次にGETしたときに、パラメータが付加されるのだから。
0402nobodyさん2013/04/05(金) 14:19:13.57ID:39+wkXdW
【PHPのバージョン】5.3
【PHPのバージョン】MYSQL
001.php、002.php、003.php・・・をMySQLのDB内レコードの、
指定したIDのレコードを表示させたいのです。
今はこんな感じでそれぞれ、ファイルを用意しようかと思っているのですが、
http://www.rupan.net/uploader/download/1365139040.png
ファイルが数百ファイル必要になってしまい、作業手順も多くなってしまいます。
003.phpを004.phpにファイル名をリネーム
004.php内のsql003.php→sql004.phpに変更
sql003.php内のwhere id = 3 を id = 4に変更 ・・等々

これらの方法を実現させるにはphpの何かの機能を使えば実現出来るでしょうか。
また、一般的にはどのように実現させるものなのでしょうか。
04034022013/04/05(金) 14:24:04.75ID:39+wkXdW
訂正です。
×【PHPのバージョン】5.3
×【PHPのバージョン】MYSQL
↓
○【PHPのバージョン】5.3
○【連携ソフトウェア】MYSQL
0404nobodyさん2013/04/05(金) 14:24:33.15ID:???
>>394
入力した文字列はフォームへの出力へは反映されていません。
つまり>>389の例だと
http://www.hoge.com/search.php?terms=
としか表示されていません。
0405nobodyさん2013/04/05(金) 14:28:19.20ID:???
>>389も>>402も基本がわかってなさすぎ。

まず、PHPの入門書を一冊通読しろ。
04063702013/04/05(金) 14:42:12.80ID:???
>>382 >>383 >>386

レス有難う。解決した。

問題を単純化するとこういうことだった

class A {
function meth($arg1, $arg2 = 0) {}
}

class B extends A {
function meth($arg1 = 0, $arg2 = 0) {}
}

class C extends B {
function meth($arg1, $arg2 = 0) {}
}

// エラーレポート内容
Declaration of C::meth should be compatible with A::meth($arg1, $arg2 = 0) in ........


1.継承メソッドが親メソッドにさらに初期値を追加定義することはエラーにならない。つまり、Bにおけるmethの定義
2.継承メソッドが親メソッドより初期値を少なくすることはエラーになる。つまり、Cにおけるmethの定義

ただ、エラーレポートがCの定義内容をAとの比較でしか報告していないのでBを調べることを怠った。
要するに、PHPのエラーレポートシステムが、おれの怠慢を補ってくれない程度にクソだったってことだ。
0407nobodyさん2013/04/05(金) 14:50:46.20ID:???
>>402
普通は、プレースホルダを使う。
http://lets.postgresql.jp/documents/tutorial/with_php/against_sql_injection/placeholder

SQLインジェクションが起きてもいいなら、'where id = ' . $idみたいに、クエリ文字列を組み立てる。
04084072013/04/05(金) 14:51:27.81ID:???
悪い、このURLはPostgreSQLのだった。
MySQLの場合どうやるかはググってくれ。
0409nobodyさん2013/04/05(金) 15:01:58.57ID:???
for (i = 0; i < 100; i++) {
//数行の処理
}

を100ブロックに展開するって話思い出した。
0410nobodyさん2013/04/05(金) 15:58:08.23ID:???
ダメだー
無料の掲示板導入しようとしてるんだがことごとく失敗するw

初心者でも設定が簡単な無料掲示板教えて
できれば画像などを投稿できるやつがいい

夢幻ってサイトので10ぐらい無料の試したが全部しっぱいしたw
0411nobodyさん2013/04/05(金) 16:03:05.38ID:???
<a href="http://script.s16.xrea.com/2ch/";>2chみたいな掲示板</a>
サンプル
2ちゃんねるみたいな掲示板
この掲示板スクリプトは、ネット上で見つけたread.cgi、bbs.cgiをPerlからPHPに移植したものです。
改造、再配布、商用利用等に制限はありませんが、プログラムのバグ等でログが消えたり他の損害がおきても作者は一切の責任を負いません。
<a href="http://script.s16.xrea.com/2ch/php/";>2ちゃんねるみたいな掲示板</a>
0412nobodyさん2013/04/05(金) 16:03:51.63ID:???
スーレーチー
04134022013/04/05(金) 19:24:49.12ID:39+wkXdW
勉強不足でした。。入門書通読して勉強してきます。

>>407
なるほど、普通はそういった方法を使うのですね。
ありがとうございます、勉強になります。
0414nobodyさん2013/04/05(金) 19:47:44.44ID:???
このスレ、まじで和むな。
0415nobodyさん2013/04/06(土) 02:00:26.72ID:???
このスレは他の質問スレより回答がわかりにくく、厳しいと思いました。
0416nobodyさん2013/04/06(土) 04:21:01.34ID:???
質問は?
0417きら ◆Kira.u9zNc 2013/04/06(土) 04:50:16.93ID:???
さきゅばすがあるフォルダに移動して
さきゅばすCLI版を起動させるバッチファイルを作ったんですが
名前を指定して実行などでは普通に出来るのにPHPのexec();でだけ出来ません。
どうすればexecで起動出来ますか?
0418きら ◆Kira.u9zNc 2013/04/06(土) 04:53:09.41ID:???
【OS名】Windows
【PHPのバージョン】5.3.18
【連携ソフトウェア】MySQL VertrigoServ
【質問内容】>>417
0419nobodyさん2013/04/06(土) 05:04:37.52ID:???
>>418
>>1
0420nobodyさん2013/04/06(土) 06:37:26.53ID:???
>>417

>出来ません。
ってだけで、
エラーメッセージとかコマンドの詳細を書かないってことは、
エスパーできる範囲で質問せざるをえないわけだが。

イベントログかPHPのエラーログ見た?
セーフモードは?
フルパスで起動してる?
パスに空白入ってない?
権限は?
0421nobodyさん2013/04/06(土) 09:33:39.67ID:???
exec('test.bat'); とでもやってんだろ
0422nobodyさん2013/04/06(土) 18:25:33.81ID:yOARrNMO
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL

<?php
$hoge = intval($_GET["hoge"]);

$q=<<<eot
select * from table where id = $hoge;
eot;

$re=mysql_query($q);
$hairetu=mysql_fetch_array($re);

?>
<body>
<?= $hairetu["taijuu"] ?>

これで実行すると下のようなエラーが出てしまいます。
Notice: Undefined variable: taijuu in C:\xampp\htdocs\xxxx.php on line 100

3行目を追加($taijuuを定義)して、<?= $hairetu ?>に変更すると、

(途中省略)
$re=mysql_query($q);
$hairetu=mysql_fetch_array($re);
$taijuu = $hairetu["taijuu"];
?>
<body>
<?= $hairetu["taijuu"] ?>

正常に<?= $hairetu["taijuu"] ?>が処理され表示されます。
なぜ、<?= $hairetu["taijuu"] ?>ではエラーが出るのでしょうか。
0423nobodyさん2013/04/06(土) 18:42:09.69ID:???
>>422
下のほうに$taijuu変数があるんでしょ。
そちらを書き換えればいい。
100行目って出てるよ。
0424nobodyさん2013/04/06(土) 19:04:29.97ID:yOARrNMO
>>423
ありがとうございます。そこが問題だったようです。
そこを書き換えて、あと100行目前後の変数の部分が変な記述になっていたので
これも直したら正常に処理することが出来ました。
0425nobodyさん2013/04/07(日) 10:05:58.96ID:???
◆真夜中のじゃあのさん◆
http://hissi.org/read.php/news4vip/20130407/T29ZaG1nNGow.html


◆じゃあのさんまとめ◆
http://jyaanowww.wiki.fc2.com/
0426nobodyさん2013/04/08(月) 09:47:10.31ID:Hgt8t7EN
【OS名】CentOS 6.0
【PHPのバージョン】5.1.6
【連携ソフトウェア】なし
【質問内容】
ファイルを圧縮・解凍したいと思っています。
PHPが5.1.6なのでZipArchiveがありません。
phpMyAdminなどの追加も出来ない環境なのでモジュールを使ってするということができません。
コマンドも権限が無いので叩けない状態です。
こういった状況で圧縮・解凍する方法がPHPであればアドバイスもらえないでしょうか。
0427nobodyさん2013/04/08(月) 10:04:42.45ID:???
ピュアphpのコードで自力でやる
0428nobodyさん2013/04/08(月) 10:24:46.31ID:???
5.1.6でも標準でgz使えるんじゃないのか。
調べてサーバーで使用禁止の設定を確認したか。
0429nobodyさん2013/04/08(月) 10:44:26.70ID:???
>>426
つまり、zlib関数も使えないってこと?
04304262013/04/08(月) 11:39:04.03ID:Hgt8t7EN
みなさん回答ありがとうございます。

検索ワードが悪かったせいか、上位にZipArchiveに関する事が多く出ていました。
zlib関数があることを知りませんでしたので、そちらで汎用的なzipファイルを作成できるという
ことであればそちらを使ってみたいと思います。
0431nobodyさん2013/04/08(月) 21:14:28.36ID:???
https://www.google.co.jp/search?q=php+zip
目の錯覚か
0432nobodyさん2013/04/08(月) 23:33:19.67ID:w0n+quq7
【OS名】CentOS 5.3
【PHPのバージョン】5.1.6
【連携ソフトウェア】なし / モジュール追加不可
【質問内容】
2038年を超える日付計算をしたいのですが、PHP5.1系のためDateTimeも使えず
モジュールも追加出来ないためPearで計算することも出来ません。
こういった状況で2038年を超える日付計算をするにはどのようにすればいいのでしょうか?
0433nobodyさん2013/04/08(月) 23:51:09.14ID:???
>>432
unixタイムのマイナス値使わないなら マイナス値対応させれば2106年くらいまでけそうだな
独自ファンクション作ってしまえ
そしてここで公開しよう
0434nobodyさん2013/04/09(火) 00:11:04.43ID:???
64bit使えばいいじゃん?
0435nobodyさん2013/04/09(火) 01:17:58.80ID:???
日付計算が具体的に何をさすかで自分で実装可能なんじゃね
0436nobodyさん2013/04/09(火) 03:56:46.64ID:???
>>406
亀だがありがとう。
出くわしたときに助かります
04374262013/04/09(火) 09:05:47.21ID:Bv2LP4mI
そういえばPearとかはdatetime使えなくても使えるけど
マイナス値になったら2038年以降とみなして計算するとかそういう作りになってんのかね。
0438nobodyさん2013/04/09(火) 12:06:53.35ID:???
マイナスを考慮してるといっても2106年で限界が来るだろ
根本的解決になってないけどそれでいいのかよ
0439nobodyさん2013/04/09(火) 12:11:35.33ID:???
ここは9999年まで使えるユリウス通日をだな
0440nobodyさん2013/04/09(火) 12:59:59.55ID:???
class MyDate {
 private $year;
 private $month;
 private $day;

 public function addYear($year) {
  $this->year += $year;
 }

 public function addMonth($month) {
  $this->month += $month;
  if ($this->month === 12) {
   $this->year++;
   $this->month = 0;
  }
 }
}
とかのクラス作ればいいんじゃないかと思うんだが、違うのかな。
0441nobodyさん2013/04/09(火) 13:17:42.58ID:???
>>439
そのころにはユリウスさん死んでるだろ
0442nobodyさん2013/04/09(火) 17:49:22.79ID:???
>>432
pearはただのPHP
0443nobodyさん2013/04/09(火) 19:25:12.90ID:Bv2LP4mI
2106年まで計算出来れば十分だよ
そんときゃ俺はもういないし
0444nobodyさん2013/04/09(火) 19:30:24.16ID:???
俺はいるかもしれない
0445sage2013/04/09(火) 20:32:27.31ID:???
2106までいるってなにもんだよ
0446nobodyさん2013/04/10(水) 00:15:03.20ID:???
新人類
0447nobodyさん2013/04/10(水) 00:34:11.60ID:???
今俺ハタチだろーあと93年だろー
113・・・ギリギリセーフだろー
0448nobodyさん2013/04/10(水) 01:21:33.51ID:V2usnkco
【PHPのバージョン】5.3
【連携ソフトウェア】MYSQL
画像で説明となって失礼します。
http://brunhild.sakura.ne.jp/up/src/up590551.png
(ミラー)http://www.07ch.net/up2/src/lena8917.png

画像の洞くつ結果表、海上結果表、山道結果表を得るのに、
下のSQL文のように、スキルテーブルを一つのphpファイルのSQL文で
何回も必要として呼び出しているのですがDBの負荷が心配です。(正規化にも問題あるような気もしますが。。
何か効率的な書き方や、使い回しやバッファにため込む(?)等、出来ればいいなと思うのですが、何か良い方法はあるでしょうか。
0449nobodyさん2013/04/10(水) 01:22:41.12ID:V2usnkco
>>448の続き
phpのソース部分です。

$doukutu=<<<EOM
select
洞くつ.レベル
洞くつ.技
スキル.攻撃力
スキル.消費MP
from 洞くつ
join スキル
on 洞くつ.技 = スキル.技
where 洞くつ.敵 = 'スライム';
EOM;
$query_doukutu=mysql_query($doukutu);
$kaijou=<<<EOM
select
海上.レベル
海上.技
スキル.攻撃力
スキル.消費MP
from 洞くつ
join スキル
on 海上.技 = スキル.技
where 海上.敵 = 'スライム';
EOM;
$query_kaijou=mysql_query($kaijou);
0450nobodyさん2013/04/10(水) 01:25:17.10ID:???
http://dev.mysql.com/doc/refman/4.1/ja/variables.html
0451nobodyさん2013/04/10(水) 02:33:34.60ID:???
>>449
敵テーブルに場所列を付ければ?
0452nobodyさん2013/04/10(水) 08:28:04.93ID:V2usnkco
>>450
ありがとうございます、ユーザ変数を使うと後で参照出来るのですね。
さっそく活用してみます。

>>451
なるほど、書いていませんでしたが前の行で敵名を別で読み込んでいるので、
それをwhere 敵=に読み込んでいたのですが、
敵テーブルに場所列を付けるというやり方もありますね、検討してみます。
ありがとうございます。
0453nobodyさん2013/04/10(水) 08:39:55.65ID:???
伝わっているとは思うけど、洞窟、海上、山道テーブルを敵テーブルとして統合するってことね

そもそも何を心配しているかによるけど。
スキルテーブルを何度もjoinするのが心配?
それより地形ごとに何度もクエリを発行するほうが負荷。
てか1リクエスト事に地形は1種類だけでいいのでは?だったら参照する地形テーブルを動的に変えるか、上で書いたように統合すればいい
0454nobodyさん2013/04/10(水) 08:44:18.91ID:???
どうせ、キャッシュに入ってるだろ。
心配なら、自分でキャッシュすればいい。
この件でSQLの書き方工夫したところでたいした効果はない。
0455nobodyさん2013/04/10(水) 11:01:42.44ID:???
クラスについて「オブジェクト」「new」「カプセル化」の用語を使って説明しなさい。
0456nobodyさん2013/04/10(水) 11:05:23.23ID:???
落書きは、自分のノートに
0457nobodyさん2013/04/10(水) 11:06:31.12ID:???
PHP初心者にありがちではあるが
いまさらオブジェクト指向の話題とかふるなよ
あんなのは最早知ってて当然のレベル
0458nobodyさん2013/04/10(水) 14:38:17.61ID:???
プログラミング、オブジェクト指向のどちらの初心者にとっても、やっぱり難しい話だと思うよ。
0459nobodyさん2013/04/10(水) 16:01:47.70ID:IX7jFUbJ
依存性の注入についてわかりやすく3行でまとめて下さい
0460nobodyさん2013/04/10(水) 16:03:55.18ID:???
>>459

依存性の注入とは
プログラミングの手法の一つですが
>>459 には未だ早い
0461nobodyさん2013/04/10(水) 17:01:12.23ID:???
PHP厨をもっと量産してくれ
PHP使ってる奴って安価で切りやすい労働力だからもっと社会に輩出してほしい
それ以外にPHP厨に価値はないからな
0462nobodyさん2013/04/10(水) 17:20:21.26ID:???
いまはしらんが。
昔、PSや任天堂はダメでセガというやつ、windows、unixはダメでMacというやつがいて
異常な情熱をして燃やしてるのがいたが。
同じ事で主流、メジャーに対する反抗なんだろうな。
それ自体かいいか悪いかでなく、メジャーだからという理由。
0463nobodyさん2013/04/10(水) 19:02:04.29ID:???
>>461
よし、そのためにはPHPのお仕事を今よりももっと量産してくれ
そしたら簡単な仕事がさらに増えてルーチンワークで金を稼げる
0464nobodyさん2013/04/10(水) 21:54:25.24ID:V2usnkco
>>453-454
なるほど、キャッシュに入るのでしょうか。それでしたらそれに越したことは無いのですが、
リクエストが多くなっていることと、また、ソースが複雑になっていたことも考慮して
テーブルを統合してみました。アドバイスどうもありがとうございます。
0465nobodyさん2013/04/10(水) 22:42:35.48ID:B4F75Z08
PHPで作った掲示板に書き込みがなされるたびにIPアドレスを保存するようにしている。
ここからさらにIPアドレスから自動的に国まで特定したいと思ってるんだけどいい方法無い?

ちなみにGeoIPというツールをインストールすればIPアドレスから国を調べることができるらしいけど
あいにくうちのレンタルサーバー(000webhost)はシェルの操作ができないからmake; make install;とか出来ないんだよね。

なんかもっと簡単に、どこかにIPアドレスを投げると国名を返してくれるネットサービスとかあればいいんだけど。
0466nobodyさん2013/04/10(水) 23:34:51.06ID:???
なんでPHP厨って>>465みたいにウェブの基本も分かってないゴミしかいないんだろうな。

ウェブの基本も知らずにウェブを通して利用するシステム書いてるとかありえね。

そんなことも知らないレベルならセキュリティリスクもありまくりだろうな。

悪意のあるハッカーに踏み台を用意してるゴミ=>>465
0467nobodyさん2013/04/10(水) 23:43:34.73ID:???
>>465
お前がやらなきゃならないのは国の特定ではなく今すぐ回線を切ること
0468nobodyさん2013/04/10(水) 23:48:10.26ID:???
>>465
system('make')
0469nobodyさん2013/04/11(木) 00:00:09.61ID:???
>>465
マルチ
0470nobodyさん2013/04/11(木) 00:05:39.68ID:???
>>465
叩かれたら放置でマルチか
0471nobodyさん2013/04/11(木) 01:54:53.00ID:???
>>466
> なんでPHP厨って >>465 みたいにウェブの基本も分かってないゴミしかいないんだろうな。
>
> ウェブの基本も知らずにウェブを通して利用するシステム書いてるとかありえね。
>
> そんなことも知らないレベルならセキュリティリスクもありまくりだろうな。
>
> 悪意のあるハッカーに踏み台を用意してるゴミ= >>465 

具体的に465のどこの発言からwebの基本が分かってないと判断したのだろうか?
ちなみに、IPアドレスから国を判断するというのであれば、自分で調べれば自前で実装できる。
GeoIPのメリットは都市まで調べられるところだな。
0472nobodyさん2013/04/11(木) 12:32:28.71ID:???
タイムスタンプを視認しやすい年月日時フォーマットに変換するのってプラグインつくらず標準機能でできるの?
0473nobodyさん2013/04/11(木) 12:46:48.22ID:???
strftime のことかな
0474nobodyさん2013/04/11(木) 12:52:40.88ID:???
>>472-473
なんでルールを無視しようと思ったの?
そんなに荒らしたいの?
お前らみたいなクズのせいでPHPが馬鹿にされるんだよ
0475nobodyさん2013/04/11(木) 14:58:02.81ID:???
>>474
おまえこそ2ちゃんのルールを守れよ
0476nobodyさん2013/04/11(木) 15:01:39.89ID:???
というか、ここのルールだなw
id出さずに聞くとはね。
0477nobodyさん2013/04/11(木) 15:10:55.16ID:???
>>474
質問はIDを出してね
0478nobodyさん2013/04/11(木) 15:27:42.24ID:???
>>472
秒数なんで足し算とか割り算とかしたら簡単にできるよ
0479nobodyさん2013/04/11(木) 15:34:58.04ID:???
>>478=ゴミw
0480nobodyさん2013/04/11(木) 15:44:57.58ID:???
>>472
Cロケールの可能性を考慮して、ここはdate()で。
0481nobodyさん2013/04/11(木) 16:59:28.61ID:???
365541705を
2013/04/10 (Wed) 06:08:25
に変換するという質問です
0482nobodyさん2013/04/11(木) 17:01:59.31ID:???
さすがに id 出してくれないとw
0483nobodyさん2013/04/11(木) 17:04:10.44ID:HixpqTLW
すみません、なんのことかわかっていませんでした
sageを削除するんですね
0484nobodyさん2013/04/11(木) 17:09:45.63ID:itiKrwCW
つい最近、PHPではうるう秒が使えず、libcなんかと互換性が無いみたいな話を見かけたような気がするがきのせいか?
0485nobodyさん2013/04/11(木) 17:10:02.05ID:0KD/BzYB
IDが出ないこの板が悪い
0486nobodyさん2013/04/11(木) 17:11:56.71ID:???
うるう秒って会議で決めるもんなんだから無理に決まってんだろがクズがよー
0487nobodyさん2013/04/11(木) 17:16:41.35ID:HixpqTLW
簡単にはできないということですか?
0488nobodyさん2013/04/11(木) 17:18:44.27ID:???
お前が毎日ニュースサイトで閏秒の決定がないか監視する必要がある
0489nobodyさん2013/04/11(木) 17:28:50.22ID:???
>>483
echo date("Y/m/d (D) H:i:s", 365541705);
echo strftime("%Y/%m/%d (%a) %H:%M:%S", 365541705);

ロケールとか影響しないフォーマットにしてみたけど
この数字だと 1981/08/01 (Sat) 19:21:45 になるから元が違う?
0490nobodyさん2013/04/11(木) 17:29:36.79ID:???
まあ 60 秒が存在できるかどうか、というのもあるしなあ
0491nobodyさん2013/04/11(木) 17:36:59.62ID:???
>>489
え!元が違うことはないかと
メール送信時に同時に書き込まれてます
0492nobodyさん2013/04/11(木) 17:37:33.71ID:HixpqTLW
すみません
またsage削除を忘れました
0493nobodyさん2013/04/11(木) 17:43:40.31ID:???
元が(エポックタイムとは)違う何かなのでは。
0494nobodyさん2013/04/11(木) 17:44:58.45ID:???
>>491
頭の1抜けてるっしょ、1365541705 だろう
0495nobodyさん2013/04/11(木) 17:45:18.61ID:???
じゃなくて、単に一番上の「1」が抜けてるんだな
1365541705
0496nobodyさん2013/04/11(木) 17:45:50.66ID:???
ああかぶりました。495=493
0497nobodyさん2013/04/11(木) 17:48:38.28ID:itiKrwCW
ちょっと手元で試してみた。

test.c
--
#include <stdio.h>
#include <time.h>
int main()
{
time_t t = 915148821;
struct tm *tm = localtime(&t);
printf("%s\n", asctime(tm));
return 0;
}
--

test.php
--
<?php
echo date("Y/m/d (D) H:i:s", 915148821) . PHP_EOL;
--

うるう秒を考慮するzoneinfoを使うと…
$ TZ=/usr/share/zoneinfo/right/Japan ./test
Fri Jan 1 08:59:60 1999

$ TZ=/usr/share/zoneinfo/right/Japan php test.php
1999/01/01 (Fri) 09:00:21

うーむ…。
0498nobodyさん2013/04/11(木) 18:18:16.16ID:???
解釈の違いによって20秒くらいの誤差が出てもかまわないという考え方もある。
0499nobodyさん2013/04/11(木) 18:23:57.62ID:HixpqTLW
メールを見直しましたが頭に1はついてないみたいです

365541705は
date( substr(time(), -9) );

2013/04/10 (Wed) 06:08:25は
date( "Y/m/d (D) H:i:s", time() );

という関数で吐き出されています
0500nobodyさん2013/04/11(木) 18:42:20.92ID:???
>>499
なんでわざわざ substr で 後ろから9文字取り出してるの?
10桁あるんだから 1が落ちて当然だよね?
0501nobodyさん2013/04/11(木) 18:44:53.19ID:???
>>500
ワロタw
時刻が関係する場所だから-9がずーっと時差関係の数字に見えてたww
0502nobodyさん2013/04/11(木) 18:48:26.96ID:???
GMT+9だもんな日本時間
0503nobodyさん2013/04/11(木) 18:54:33.33ID:HixpqTLW
>>500
あれの意味はうしろから9桁なんですね
どうしてそうしたのか尋ねてみます
明日以降になると思います
0504nobodyさん2013/04/11(木) 20:01:05.11ID:???
>>500
10桁になる前に書かれたロジックとか。
0505nobodyさん2013/04/11(木) 21:13:22.64ID:???
それはすごい
0506nobodyさん2013/04/11(木) 22:45:58.95ID:yLGwf0zn
>>471
> ちなみに、IPアドレスから国を判断するというのであれば、自分で調べれば自前で実装できる。

IPアドレスの国への割り振りって動的に変動しているけどそれはそういうのに追従できる方法?
0507nobodyさん2013/04/11(木) 22:53:54.56ID:???
15桁の数字の真ん中の5桁を抜き出すの1行で書けます?
123456789123456の真ん中の67991
0508nobodyさん2013/04/11(木) 22:54:36.57ID:???
>>507
>>1
0509nobodyさん2013/04/11(木) 22:55:56.12ID:???
文字列変換とsubstr
0510nobodyさん2013/04/11(木) 22:58:49.26ID:???
文字列に変換?
0511nobodyさん2013/04/11(木) 22:59:58.02ID:???
そもそもストリップをどうするのか解らなくて 汗
0512nobodyさん2013/04/11(木) 23:13:28.27ID:???
var [ alias, dom ] = ate.split("@");
0513nobodyさん2013/04/11(木) 23:30:57.18ID:???
>>506
馬鹿は黙っててね
0514nobodyさん2013/04/12(金) 04:09:06.68ID:???
10万でわって10万で割ったときのあまり
0515nobodyさん2013/04/12(金) 18:15:51.75ID:???
>10万でわって10万で割った

最初は全部ひらがなで「わって」って書いてるのに、次は「割って」って書いてる。
この一貫性のなさは絶対アスペだろ。
そこを変えるなら全部変えるべき。
最初は「100,000でわって」にして、
次は「10万で割って」にするとか。
これだったら「最初と次を変える」という一貫性が窺えるから気持ち悪さはない。
中途半端に変えるってのは精神的に安定してない証拠。
こいつ絶対にアスペ。
普段のコミュニケーションにも支障をきたしてそう。
気持ち悪い。
0516nobodyさん2013/04/12(金) 18:34:27.03ID:???
一貫性の無さは、むしろアホなんじゃ……
アスペの統一性の高さはちょっと異常レベルだし
0517nobodyさん2013/04/12(金) 19:11:33.43ID:???
そういうくだらない部分の指摘しかできないのもアスペルガーか何かじゃないの?
0518nobodyさん2013/04/12(金) 19:34:25.22ID:???
>>515
技術的なツッコミができないからそういう感じになっちゃうのか
何でここにいるの?
0519nobodyさん2013/04/12(金) 20:19:06.70ID:???
>>509
もう少しヒントをお願いします
0520nobodyさん2013/04/12(金) 21:30:09.59ID:???
>>519
文字列変換は暗黙の型キャストを嫌う場合の処理。
substr はヒントも何もそれが答えだよ。
自分で調べてないのが丸わかりだ。
0521nobodyさん2013/04/12(金) 21:32:18.65ID:???
あとたぶん8を9に置換する処理が必要だな
0522nobodyさん2013/04/12(金) 21:38:55.90ID:???
>>519
>>508
0523nobodyさん2013/04/12(金) 21:44:33.51ID:???
>>520
質問者?
0524nobodyさん2013/04/13(土) 00:43:50.64ID:???
>>519
質問者でもないゴミが書き込むな
0525nobodyさん2013/04/14(日) 04:05:20.50ID:???
>>515
これマジで書いてるよな
こういうキモイの初めて見た
世の中キチガイってマジでいんだな
0526nobodyさん2013/04/14(日) 04:09:13.76ID:???
>>525って自分がキチガイでリアルでもキモがられてるのに気付いてなさそうw
0527nobodyさん2013/04/14(日) 13:16:41.05ID:GUqrSjpz
$a[0]から$a[200]の数値が入った配列の操作について聞きたいです。
配列の範囲を指定して、その合計値を出す方法が知りたいです。

$a[50]から$a[70]の数値をすべて合計した値を出すなど
0528nobodyさん2013/04/14(日) 13:43:25.50ID:???
>>527
array_sum(array_slice($array, 50, 21))
0529nobodyさん2013/04/14(日) 15:05:52.19ID:GUqrSjpz
>>528
ありがとうございます
0530nobodyさん2013/04/15(月) 17:12:04.80ID:Zye3ucx/
自分用にゲームの発売日なんかを自動で集めてきて表示するサイトってPHPで作れますか?
0531nobodyさん2013/04/15(月) 17:15:50.60ID:???
>>530
作れる
0532nobodyさん2013/04/15(月) 17:17:26.44ID:Zye3ucx/
>>531
ありがとうございます
ついでといっちゃなんだがなんかヒントくれよな
0533nobodyさん2013/04/15(月) 17:22:34.61ID:???
かき集めてきてHTML出力すればいいんじゃないの
定期的にcronなりタスクスケジューラなんかでかき集めておいて、
生成しておいたプレーンなHTMLにアクセスするほうがいいかもしんない。
0534nobodyさん2013/04/15(月) 17:25:23.97ID:A3jblSzx
すいません、開発環境を構築していたところ、
本番環境ではでなかった
以下のようなエラーが表示されるようになってしまいました。

A PHP Error was encountered
Severity: Notice
Message: Use of undefined constant END_TRANSACTION - assumed 'END_TRANSACTION'
Filename: db/mysql.php
Line Number: 117

【PHPバージョン 5.3】
原因・回避方法わかりましたらご教示ください。。。
0535nobodyさん2013/04/15(月) 17:34:24.67ID:???
>>532
まず手動で集めて表示するサイトを作ってそれを自動化
0536nobodyさん2013/04/15(月) 17:40:51.15ID:???
>>533,535
サンクス!
0537nobodyさん2013/04/15(月) 17:59:13.24ID:???
>>534
ドキュメントルートがおかしいのではないかって海外フォーラムでいわれているよ
開発環境と本番環境それぞれの、そのあたりを注目してみてはどうでしょう
05385342013/04/15(月) 18:10:51.68ID:A3jblSzx
>>537
ありがとうございます。そのあたりを疑ってもう少し頑張ってみます。
0539nobodyさん2013/04/15(月) 18:11:31.29ID:???
>>534
本番環境でEND_TRANSACTIONを定義しているライブラリは、開発環境に入ってる?
入ってるなら、参照できてない(パスの解決ができていない)とかかな。

あるいは、本番環境のエラー出力レベルで~Noticeしてて、本番環境でもそのエラーが
発生してるけど、ログには出てないだけとか。
05405342013/04/15(月) 18:50:39.07ID:A3jblSzx
>>539
本番環境でもNoticeレベルのエラー表示はされるので
そのあたりの設定とは関係ないようです。

アプリケーションは丸ごとコピーしてアップしているのですが、
その中にはEND_TRANSACTIONの定義は見当たらないようなのです。。

ちなみにDB環境は以下のように変わっています。
---------------------------------------
ソフトウェア: MySQL
ソフトウェアバージョン: 5.1.49-log - FreeBSD port: mysql-server-5.1.49
データベースクライアントのバージョン: libmysql - mysqlnd 5.0.10
PHP 拡張: mysqli
---------------------------------------
↓
---------------------------------------
サーバのバージョン: 5.0.95
プロトコルバージョン: 10
MySQL クライアントのバージョン: 5.0.95
PHP 拡張: mysql
---------------------------------------

海外サイトも調べているのですが、明確な解決法が見当たらず。。。
0541nobodyさん2013/04/15(月) 19:28:33.26ID:???
>>540
何のアプリよ?
0542nobodyさん2013/04/15(月) 19:35:48.72ID:3Mv3hGy+
PHPに書くデータベースの接続パスワードは別ファイルに書くのが慣習だけど
実際にPHPに一緒に書いてて覗き見られることってある?
0543nobodyさん2013/04/15(月) 19:45:48.33ID:???
>>542
そういう設定になっていれば見られる
05445342013/04/15(月) 20:10:52.09ID:A3jblSzx
>>541
解決しました。。。

vogooというリコメンドエンジンAPIです。
ライブラリのコンフィグファイルのDB設定が本番環境のままなのが
原因のようでした。
0545nobodyさん2013/04/16(火) 01:28:10.29ID:ooHoVKGv
値で検索してその配列のキーを取り出したいです。

例えば
$a[0]から$a[100]の配列があるとして
6000と同じ値が入った配列を$aの配列から取得
↓
その配列のキーだけ取り出して変数に入れる
0546nobodyさん2013/04/16(火) 01:43:46.90ID:D4JSFeay
日本語でおk
0547nobodyさん2013/04/16(火) 02:08:35.35ID:ooHoVKGv
聞き方が下手で申し訳ないです

このような配列があった時に
$a[0] =50
$a[1] =51
$a[2] =52
$a[3] =53
$a[4] =54

値から配列の変数を調べる方法が知りたいです
例えば値が54に該当する配列の変数がどれなのかを調べる時に使いたいです
あと配列の変数がわかった後に、そのキーだけほしいです

この例だと
54で調べると
↓
$a[4]が該当して
↓
そのキーの4

となって最終的に4がほしいです。
0548nobodyさん2013/04/16(火) 02:31:37.39ID:???
>>547
$key = array_search(54, $a);
0549nobodyさん2013/04/16(火) 03:20:31.00ID:ooHoVKGv
>>548
ありがとうございます
0550nobodyさん2013/04/16(火) 10:55:46.37ID:???
>>547
配列の場合は、普通は「変数」とは言わずに、「インデックス」とか「添え字」という
0551nobodyさん2013/04/16(火) 11:29:04.50ID:ooHoVKGv
>>550
勉強になります
ありがとうございます
0552nobodyさん2013/04/16(火) 17:01:24.35ID:???
キーでいいじゃんw
0553nobodyさん2013/04/16(火) 17:53:54.39ID:???
ハッシュじゃね?
0554nobodyさん2013/04/17(水) 09:43:19.92ID:???
PHPはその辺あいまいだから・・・
0555nobodyさん2013/04/17(水) 11:16:36.85ID:???
PHPは添え字とハッシュと両方あるんだよな
0556nobodyさん2013/04/17(水) 11:26:21.72ID:???
配列の添字だと思われるのは実は連想配列のキー。
0557nobodyさん2013/04/17(水) 13:02:11.83ID:???
PHPのマニュアル見るとわかるんだが、PHPでは「配列のキー」という言い方は普通に使われる。
0558nobodyさん2013/04/17(水) 13:14:05.13ID:???
PHPでは添え字のことをキーと呼ぶ
0559nobodyさん2013/04/19(金) 01:52:35.21ID:BkSiPRWu
vpsサーバーで下のコードを動かしてるのですが
<?php echo file_get_contents('http://xxx.xxx.xxx/test.cgi');?>

下のエラーが出てしまいます。
failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in xxx
urlに直接ブラウザでアクセスするとtest.cgiがちゃんと表示できます。

下のコードだとちゃんとyahooのトップが表示できます。
<?php echo file_get_contents('http://yahoo.co.jp/');?>

ローカルのxampp上で同じプログラムを動かした場合もちゃんと表示できます。

原因なんでしょうか??
05605592013/04/19(金) 01:57:02.52ID:BkSiPRWu
以下の環境です

【OS名】CentOS6.2
【PHPのバージョン】5.3.3
0561nobodyさん2013/04/19(金) 03:32:15.65ID:???
そのエラー内容を見てみたらなんか分かるんでないの
05625592013/04/19(金) 08:23:54.41ID:???
ありがとうございます。ログ見たら解決しました。
cgiの方で呼び出しもとのホストを弾く設定になってたみたいでした。
0563nobodyさん2013/04/19(金) 11:04:15.70ID:???
質問する前に、なんで先にログを確認しないのか
0564nobodyさん2013/04/19(金) 13:02:39.65ID:lhK9q9u1
フレームワークに挑戦しようと勉強してるのですが、質問させてください

今までオブジェクト指向で書いたことがなく、ページ遷移の際にセッションに保存してそこからデータを
出し入れしたのですが、フレームワークで書かれたウェブアプリのサンプルソースを
みていると、インスタンスに全部入れ込んでいく方法がとられているのですが、
インスタンスにデータを保存して、そこから読み出し書き出しをして処理しようと思うのですが、
インスタンスに設定情報や取得情報を代入した場合、
ページ遷移した場合は当然保持されないのでしょうか
0565nobodyさん2013/04/19(金) 14:14:51.32ID:???
文章推敲して質問し直して
05665642013/04/19(金) 14:35:58.50ID:lhK9q9u1
はい・・・すみません

フレームワークの場合、クラスファイルをautoloadで読み込んだりするために
クラスファイルのパスやその他各種設定情報をインスタンスに格納していくかとおもいますが、
ページ遷移をまたぐ場合、インスタンスは保持されるのでしょうか
それともセッションなどに一時的に保存する必要があるのでしょうか
0567nobodyさん2013/04/19(金) 14:52:24.01ID:???
フレームワークの場合とか言われても フレームワークで違うし
インスタンスに格納すると決め付けられても。 というか、 インスタンス と言うものを 勘違いしてる?
ページ間のデータのやり取りはフレームワークが勝手にやるのかもしれないし、
オブジェクト指向関係ないし
05685642013/04/19(金) 15:35:16.89ID:lhK9q9u1
わかってない者のわかってない質問になっていると思います、すみません・・・

もう一度整理して・・・
やろうとしてることは、ユーザ登録のページを作成
(入力フォーム→確認画面→送信完了)で、今まで3つのphpファイルでページ遷移をしていました

今度は、index.phpにアクセスしてフォーム等の設定を読み込み→入力フォームを表示、
ユーザが入力をして確認ボタンを押すと、データを受け取るクラスを実行してindex.phpに
リダイレクトし、確認画面を表示させる〜(以降略)
という動きを考えているのですが、フォームボタンを押してページ遷移(リダイレクト)させるという処理が
単純に最初に示したphpファイル毎にページが遷移していくやり方と比較して
フレームワークの場合は一連の動作になるのでしょうか
それとも、一旦セッション等に保存して、index.phpが再度読み込まれた際にセッションから設定を
呼び出して処理をおこなうものなのでしょうか
0569nobodyさん2013/04/19(金) 15:51:05.66ID:???
フレームワークによる

index.phpで受けて index.phpで表示する。
別にセッションで受け渡ししないでも作れるよね。

アクションで、受けるとこ、結果表示するとこ分けて、セッションで受け渡す形で作るのもあるし
0570nobodyさん2013/04/19(金) 16:18:53.21ID:???
>>569
> アクションで、受けるとこ、結果表示するとこ分けて、セッションで受け渡す形で作るのもあるし

横からだけど、これ具体的にはどのフレームワーク?
05715642013/04/19(金) 16:36:11.06ID:lhK9q9u1
>>569
なるほどです

MVCの解説サイトなどを見ながら勉強してるのですが、
だいたいindex.phpにリクエストがきて、コントローラから、初期化や設定ファイルなどを読み込んで、
Dispatcher.phpで振り分けられて、アクションに応じたクラスが実行されて、
結果をビューに渡して表示させる
・・・という流れで理解をしたのですが、ビューの結果をクライアントにレスポンスとして返されたあとのことに
触れられている説明がなく(読み足りないのかもしれません)、
クライアントがその次にリクエスト(たとえばフォームで入力ボタンを押す)をした際に、
次の振り分けでボタンを押す処理のクラスを実行するに、またindex.phpが呼び出され、
初期化や設定ファイルの読み込み、クラスのautoloadなどを最初からしなければならないのか、
はたまたその辺は保持されているものなのか、セッション等で設定を保存して読み込むようにしてあげる必要があるのか
その辺で疑問に思った次第です
書籍のサンプルでは、最初に読み込まれた際に、設定情報を格納したインスタンスを凍結させ、
それ以降の設定変更ができないようにしているのですが、そのインスタンスをセッションに保存したりするような
記述が見つからなく、混乱している状態です
0572nobodyさん2013/04/19(金) 16:54:57.85ID:???
>>571
なにで引っかかってるのかわかんないから 的外れなのかもしれないけど、

普通は、どんなアクセスも全部 index.phpで受けて 毎回毎回 初期化、設定読込は行われる。
基本的には、リクエスト毎に実行され、処理が終われば消えてなくなり、
各リクエストは関連なく独立しているものです。

アクセスしてる個人単位で連続しているように見せかけるために、
個人だけに関連するデータをセッションで保持したりしますが、

普通はインスタンスごと持ったりみたいなことはしないものです。
0573nobodyさん2013/04/19(金) 17:20:17.98ID:???
>>571
その勉強中のMVCのサイトか、勉強中のフレームワーク名を出すと話が早いかもよ。
0574nobodyさん2013/04/19(金) 21:22:28.01ID:???
毎回最初からだよ。
セッション情報を使うことで続きっぽく扱えるだけで、HTTPはリクエストごとに独立した処理をするのが原則
0575nobodyさん2013/04/20(土) 13:45:38.40ID:???
Merge branch 'PHP-5.4' into PHP-5.5 や
Merge branch 'PHP-5.3' into PHP-5.4 は
先に古いバージョンで修正されたものが
新しいバージョンの方にも適用されたという事でよいのかな?
0576nobodyさん2013/04/20(土) 14:19:52.09ID:???
>>575
>>1
0577nobodyさん2013/04/20(土) 16:45:32.14ID:???
>>575=精神異常
0578nobodyさん2013/04/20(土) 18:05:38.77ID:???
>>577
気づいてないかも知れないけど、君がそうかもよ?
0579nobodyさん2013/04/20(土) 19:36:32.31ID:???
>>578
>>578
0580nobodyさん2013/04/21(日) 04:47:46.16ID:???
>>575
そう。
05815642013/04/21(日) 17:35:31.74ID:QsqTX+06
みなさまレスありがとうございます

なるほど、1回毎に読み込みがおこなわれるわけですね
引っかかってる部分がようやくとけました
どうりで保存したりする処理がないわけですね
となると、リクエストに対して、必要な設定読み込みを考えないとダメですね
何でもかんでも最初に初期化設定読み込みをautoloadなどで一括に処理してしまうものだと思ってました
全体の流れや効率を考えた外枠から考えないとダメですね
0582nobodyさん2013/04/22(月) 06:20:08.99ID:???
質問させてください

YouTubeやニコニコ動画などは再生可能なサムネイルを
出力できますが、
ニコ生放送は再生可能なサムネイルを貼り付けることは出来ますか?
0583nobodyさん2013/04/22(月) 08:08:19.49ID:???
>>582
>>1
0584nobodyさん2013/04/22(月) 17:30:21.42ID:0nrxKiO8
zend frameworkを使うことによって得られるメリットは?
0585nobodyさん2013/04/22(月) 20:16:28.58ID:???
>>584
>>1
>・ 質問者として、態度をわきまえること。
0586nobodyさん2013/04/22(月) 23:14:46.67ID:YyKrblk5
○じゃあのさんの入れ知恵○
じゃあのさん来た! 次スレ

26:以下、名無しにかわりましてVIPがお送りします[]
2013/04/22(月) 22:59:02.35 ID:8TN30C6y0
じゃあ、こっからが情報戦レクチャーに入るぜwww
敵の資金源をおまいらでも一枚噛んでぶっ潰す方法だwwww
不買運動やデモは単なる手段でしか無いwww
俺が求めるのは更にその先だwwww

--- 以下スレ情報 ---
高岡さんがフジ韓流ゴリ押し批判したら干されたのでウジテレビ凸
http://hayabusa.2ch.net/test/read.cgi/news4vip/1366637744/
0587nobodyさん2013/04/23(火) 10:52:32.26ID:???
>>585
いちいち反応するなボケ
お前も荒らしか?
0588nobodyさん2013/04/23(火) 10:55:13.48ID:???
>>587
>>1
>・ 質問者として、態度をわきまえること。
0589nobodyさん2013/04/23(火) 16:19:34.01ID:???
>>584
フレームワークを使うことによって得られるメリットと同等のメリットが得られる
0590nobodyさん2013/04/23(火) 21:53:05.68ID:870eDqk8
>>564
亀だけど、ぜんぜん方向の違う勘違いしてるじゃないか
お前らちゃんと指摘してやれよw
PHPはリクエストのたびに起動して一プロセス消費して終わり。
これ、フレームワークがどうたらとか関係なく、言語仕様な。

一度作成したインスタンスを再利用するなんてのはシリアライズして
DBに保存してっていう、どっちかっていうと変態っぽいやりかただから、
まだ手を出さないほうがいいと思うし。
0591nobodyさん2013/04/24(水) 02:14:16.69ID:???
>>590
いや、もう十分に指摘してるだろ
0592nobodyさん2013/04/24(水) 04:02:41.23ID:???
鼻水出たw
0593nobodyさん2013/04/24(水) 04:12:15.02ID:6o5SNjBY
全体の流れや効率を考えた外枠からではなくhttp通信の流れからだろ
0594nobodyさん2013/04/24(水) 04:23:24.40ID:???
HTTPはステートレス。そうじゃなく見える場合はプロトコル以外の部分が工夫してるだけ
0595nobodyさん2013/04/24(水) 11:10:58.26ID:???
hoge.php
を外部から呼び出す時、引数を与えたいのですが、
hoge.php?saitama=chichiu
以外に方法はありますか?

PHP 5.2.17です。
0596nobodyさん2013/04/24(水) 11:14:23.84ID:???
IDが出てないとダメなんです。ごめんなさい。
0597nobodyさん2013/04/24(水) 12:01:08.73ID:L2MfGf1m
hoge.php
を外部から呼び出す時、引数を与えたいのですが、
hoge.php?saitama=chichiu
以外に方法はありますか?

PHP 5.2.17です。


>>596
すみません。
0598nobodyさん2013/04/24(水) 12:04:45.02ID:???
POSTするんじゃだめ?
あとPATH_INFO使うとか
0599nobodyさん2013/04/24(水) 12:05:42.44ID:???
って外部からってのは具体的にどういう?
0600nobodyさん2013/04/24(水) 12:08:26.65ID:???
http://example.com/hoge/saitama/chichiu
で、 hoge.phpに saitama と chichiu 渡すみたいな方法はあります。
0601nobodyさん2013/04/24(水) 12:16:58.15ID:???
>>600
あります

次の質問どうぞ〜
0602nobodyさん2013/04/24(水) 12:36:56.42ID:???
>>600
PHPには その方法は無いよ
0603nobodyさん2013/04/24(水) 13:38:58.11ID:???
あるだろw
0604nobodyさん2013/04/24(水) 18:32:03.09ID:???
?saitama=chichiuでsaitamaとchichiu拾うの?
foreachで$_GETからkeyとvalue取ってくるの?
0605nobodyさん2013/04/24(水) 18:33:19.63ID:???
ディレクトリ構造に見せかけてるだけで実際getと変わらんじゃん
0606nobodyさん2013/04/24(水) 20:26:09.16ID:???
>>603
PHPだけじゃ実現できないよ
0607nobodyさん2013/04/24(水) 20:53:40.70ID:???
はいはい
0608nobodyさん2013/04/25(木) 02:19:49.33ID:UuN6Innx
php5.4.14 PEAR1.9.4
Windows7でpeclで pecl_http を入れようとしてダウンロードまではいったのですが
その後エラーが出て止まってしまいました。これはどうすればいいんでしょうか。

pecl install http://pecl.php.net/get/pecl_http
downloading pecl_http-1.7.5.tgz ...
Starting to download pecl_http-1.7.5.tgz (174,624 bytes)
.....................................done: 174,624 bytes
71 source files, building
ERROR: The DSP pecl_http.dsp does not exist.
0609nobodyさん2013/04/25(木) 02:32:52.82ID:???
>>608
http://stackoverflow.com/questions/7751679/php-http-build-url-and-pecl-install
0610nobodyさん2013/04/25(木) 10:16:17.52ID:???
>>606
httpdが必要って言いたいのか。
こじつけもいい加減に・・・
0611nobodyさん2013/04/25(木) 13:44:25.08ID:???
>>609
英語なのであいまいにしか翻訳できなかったので間違っていたらすいません。
これはhttp_build_urlを使うためにpecl_httpを入れようとしたけど使えなかったから
http_build_url() を自作したっていう話ではないですか?
私がしたいのは http_build_url ではないのでこれには当てはまらないのではないでしょうか。
06126092013/04/25(木) 13:44:56.25ID:UuN6Innx
ID忘れてました。
>>611 は 609 です。
06136082013/04/25(木) 13:46:28.43ID:UuN6Innx
さらに間違い。>>611,612 は 608 の間違いです。たびたびすいません。
0614nobodyさん2013/04/25(木) 14:17:01.66ID:0FNu+M2T
>>603
http://example.com/hoge.php/saitama/chichiu
ならできるけど、
http://example.com/hoge/saitama/chichiu
ってできる?
0615nobodyさん2013/04/25(木) 14:37:11.67ID:???
>>614
サーバーにディレクティブ渡せば楽勝でしょ。
WordPressやCakePHPのURLの仕組みを調べてみれば?
0616nobodyさん2013/04/25(木) 15:04:32.09ID:???
いくらでもやり方はあるけど、
.htaccess に、特定のファイル名の時はapplication/x-httpd-phpを追加する
とかが一般的かな
0617nobodyさん2013/04/25(木) 15:31:26.40ID:???
PHPオンリーでって話じゃないのか
0618nobodyさん2013/04/25(木) 16:37:07.19ID:???
PHPのビルトインウェブサーバで実行できなきゃだね
0619nobodyさん2013/04/25(木) 16:42:52.06ID:???
質問者いなくなっちゃったのか
0620nobodyさん2013/04/25(木) 19:16:06.66ID:???
俺はくだらない質問をする
お前たちは答えてろ
0621nobodyさん2013/04/25(木) 19:32:36.30ID:???
俺はただ見物して楽しむ♪
0622nobodyさん2013/04/25(木) 21:49:42.17ID:???
>>615
楽勝には同意するけど
> サーバーにディレクティブ渡せば楽勝でしょ。
用語を勉強しなおしましょうね
0623nobodyさん2013/04/26(金) 07:59:11.43ID:h02AATTS
基礎の基礎で申し訳ありません

インスタンスを生成後、オブジェクトにアクセスする際
$this->val
valの部分に他の配列に入れておいた文字列でアクセスするにはどうしたらよいでしょうか
$val = array(a,b)
$this->a
$this->b
のょうに繰り返しで処理したいです

配列だとhoge[$val]といったようにしてましたが、オブジェクトの場合はどうなるのでしょう
0624nobodyさん2013/04/26(金) 08:12:40.04ID:???
>>623
$this->$val[0]
0625nobodyさん2013/04/26(金) 13:34:02.60ID:wd6ISbqU
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL
【質問内容】
DBに書き込みデータを保存する掲示板を作っているのですが
ユーザーが書き込んだ文字列をHTMLエスケープするのはどの段階にするべきでしょうか

勿論'や;に\をつけるのはDBに保存する前だと思いますが、
<や>等HTMLとして影響を与える文字をエスケープするのはDBに保存する前か
それともDBにはそのまま保存して出力する際にエスケープすべきでしょうか
一般的な考え方があったら教えて下さい
0626nobodyさん2013/04/26(金) 13:44:14.73ID:???
考慮するのは2点
DBにデータを入れる際のSQLインジェクション
そしてデータをHTMLに出力する際のクロスサイトスクリプティング

DB操作にどのAPI使ってるのかしらんがDBに入れる際
mysql関数ならmysql_real_escape_string
PDOならプリペアードステートメントを使う

DBから取り出してHTMLに出力するときにhtmlspecialcharsを使う
0627nobodyさん2013/04/26(金) 13:45:37.38ID:???
もちろんデータをselectするとき検索など外部に入力を依存するシステムの場合は
select文にたいしても同様にSQLインジェクション対策を行うこと
0628nobodyさん2013/04/26(金) 15:17:37.16ID:wd6ISbqU
>>626-627
どうもありがとうございます
0629nobodyさん2013/04/26(金) 15:22:40.36ID:???
PDO+静的プレースホルダで、DBにはそのまま保存。
出力するときに、htmlspecialcharsを使う。

これしかない。
0630nobodyさん2013/04/26(金) 15:27:43.27ID:???
>>625
有効にするタグがあるのかどうか(<a>や<strong>, <pre>などは生かすとか)によって違う。
また、エンコードが何なのかによっても違う。
0631nobodyさん2013/04/26(金) 16:08:21.01ID:???
>>625
色んな所で古くから議論されてるけど、
基本はDBに生で保存して出力時に整形する。
いろんな検証の仕方をしても多分ここに落ち着く。

それを踏まえた上で、パフォーマンスを高めるためのチューニングとして
エンコード済みのデータをケースバイケースで本データとは別に保存しておいたりすると良い。
0632nobodyさん2013/04/26(金) 17:56:09.59ID:???
>>625
ほかの人も言っていることとほぼ同様だけど
取り立てて仕様に影響するような要件がない場合は、DBには可能な限り生なデータを突っ込んだほうがいい。
突っ込む前に整形するとその後の拡張性がすこぶる悪くなったりする。
で、PHPでMySQL使っているならば、mysqli_real_escape_string関数あたり使いなはれ。
で、出力するときは、htmlspecialcharsあたりでXSS除けしなはれ。
ちなみにWHERE句なんかで外部からの値突っ込むときもちゃんとエスケープ処理かけるんだぞ。
もう一つ言うと、LIMITやOFFSET句みたいな場所を除いて外部から受け取ったIntegerを突っ込むときも
ちゃんとエスケープ処理して'つけてSQL文に流し込め。
LIMITやOFFSETは、Integer以外入りようがないのだから、正規表現かなんかでバリデートすべし。
0633nobodyさん2013/04/26(金) 18:13:03.59ID:???
DBに保存する前に、入力データそのものを変更するって考え方、誰が広めたんだ?
昔はそれが普通だったのか?
0634nobodyさん2013/04/26(金) 18:14:00.99ID:???
同じ回答を繰り返すPHP回答者△
0635nobodyさん2013/04/26(金) 18:14:09.48ID:2flPsSFU
MySQLはPHPと共にオワコン
0636nobodyさん2013/04/26(金) 18:16:10.65ID:???
>>633
たんに何のセキュリティ問題なのかとか具体的なことがわからなかったってだけでは?
とりあえずエスケープにはhtmlspecialcharsを使っとけばいいって覚えちゃった人が
自分のサイトでこういうふうにして入れますみたいに書いて
それを間にうけた第三者が真似していくという
0637nobodyさん2013/04/26(金) 18:18:57.51ID:???
セキュリティホールの名称はわかっても具体的な内容までは知らない人
内容はだいたいわかるけど実際に問題になるコードが書けない人
本当にアマでセキュリティホールを理解してるのは少ない
0638nobodyさん2013/04/26(金) 19:13:13.98ID:???
>>632
そういう時は、同様じゃない部分だけ書くのが大人
0639nobodyさん2013/04/26(金) 19:42:40.94ID:???
普通のファイルに<>でカラムを分割していたから
そのカラムの範囲を破壊されないために
<と>をエスケープしていたんだよねwww
0640nobodyさん2013/04/26(金) 20:23:06.36ID:???
>>637
そうそう、そんな理解していない奴らが簡単にWebアプリもどきを作れるようにしたPHPは犯罪
世界規模のサイバーテロに匹敵するほどの犯罪

犯罪者予備軍のPHP厨にはお似合いかw
0641nobodyさん2013/04/26(金) 22:33:10.72ID:zqV1AZ+p
>>640
わしのことやな、、getpost変数はほぼホワイトリスト解決させてる、、ヌルバイトだけはどう来るか予想できん。。。。
0642nobodyさん2013/04/26(金) 22:35:09.48ID:???
失礼さげ
0643nobodyさん2013/04/27(土) 06:55:33.74ID:???
>>640
理解してないやつらが簡単に〜
なんてどの言語でもそうじゃないか
0644nobodyさん2013/04/27(土) 14:25:23.44ID:RdpUkJUr
それが同じなどというのは言葉遊びに過ぎない
仮にmcintosh(詳細な綴りは知らん)とwindowsに同じ問題があったとして
その影響が同じだなどという主張と変わらん
0645nobodyさん2013/04/27(土) 14:36:40.37ID:???
つまり罪深さで言えばWindowsそのものが大罪を犯してるわけだ
0646nobodyさん2013/04/27(土) 14:48:32.82ID:???
mcintoshはないだろ
なんでmacって呼ばれてるのか考えろ!
0647nobodyさん2013/04/27(土) 14:49:44.35ID:???
Mcdonald'sじゃないのよ!
0648nobodyさん2013/04/27(土) 19:00:06.77ID:RdpUkJUr
興味のない知らんもんは考えても正解にはたどり着かんよw
0649nobodyさん2013/04/27(土) 22:27:02.27ID:78HtUPwG
○じゃあの野間まつり○
じゃあのさん来た!

421:以下、名無しにかわりましてVIPがお送りします[]
2013/04/27(土) 21:53:57.62 ID:qYDE1sEQ0
てか、すっかり野間ちゃんのこと忘れてたわwww
別件で色々あってなwwww
所詮その程度の存在なんだけどなwww野間ちゃんなんてwwww
じゃあ、今からやるかwww罰ゲームなwww
あーあwww野間のせいだwww野間が全部悪いwww
--- 以下スレ情報 ---
高岡さんがフジ韓流ゴリ押し批判したら干されたのでウジテレビ凸
http://hayabusa.2ch.net/test/read.cgi/news4vip/1366990405/
0650nobodyさん2013/04/28(日) 01:08:05.93ID:A2fSkdFW
【OS名】Windows 【PHPのバージョン】5.3
ウェブサイトを制作しており、初回訪問時に設問を表示し、その答えに応じてメニューの並び順などを変えたいと思っています。
Cookieに保存し次回訪問時も引き継ぎたいです。
$pt = $_POST["pt"];
if ($pt == ""){
$pt = $_COOKIE["pt"];
if ($pt == ""){
header("HTTP/1.1 301 Moved Permanently");
header("Location: ./start.html");
quit();}
} else {
setcookie("pt", $pt, 0, "/", "www.exsample.jp");}
$topMenu[0] = "<a href=\"aa\" alt=\"aa\">aa</a>";
$topMenu[1] = "<a href=\"bb\" alt=\"bb\">bb</a>";
switch ($pt){
case "1": $topDisp = array(0, 1);
break;
case "2": $topDisp = array(1, 0);

現在このように書いており、「start.html」にて
<form method="post" action="index.html">
<a href="http://www.exsample.jp"; onclick="forms[0].pt='1'; forms[0].submit();">1</a>
<a href="http://www.exsample.jp"; onclick="forms[0].pt='2'; forms[0].submit();">2</a>
<input type="hidden" name="pt" value="" /></form>
と、選択させCookieへの保存を行なっているつもりです。
しかし「index.html」へアクセスすると「start.html」に飛びはするのですが、選択しても「start」から移動しません。
どの部分に間違いがありますでしょうか。あまり知識がなく、どうか教えていただきたいです。

また、現在は「start」という別ページを置いていますが、jQueryなどを使い、設問画面がポップアップするという形を取りたいと思っております。
その方法(どの部分でどういった書き方をすれば良いか)も教えて頂ければと思います。
長文となって申し訳ありませんが、よろしくお願いします。
0651nobodyさん2013/04/28(日) 06:40:23.43ID:???
毎回ブラウザ終了時にクッキー消してる人には大迷惑だな
0652nobodyさん2013/04/28(日) 06:52:30.49ID:???
>>650
長い。3行で。
0653nobodyさん2013/04/28(日) 19:10:31.55ID:???
クラスのヒアドキュメント内での挙動について聞きたいです。

// 222を出力するクラスaaa
class aaa{
function aaa_m(){
echo "222<br>";
}
}

// クラスaaaを継承したクラスbbb
// ヒアドキュメント内でクラスaaaのメソッドを出力
class bbb extends aaa{
function bbb_m(){
echo <<< EOF
111<br>
{$this->aaa_m()}
333<br>
EOF;
}
}

$bbb = new bbb;
$bbb->bbb_m();

クラスbbbのメソッドbbb_mを使うと

111、222、333とならぶはずが
222、111、333となります

となってしまいます。ヒアドキュメント内でクラスを使うと
最初に呼び出される仕様なのでしょうか?
0654nobodyさん2013/04/28(日) 19:13:02.19ID:???
>>1
0655nobodyさん2013/04/28(日) 19:17:29.32ID:mmUnQlFQ
すみませんIDわすれてました
0656nobodyさん2013/04/28(日) 22:43:03.43ID:???
>>655
echo -> return
0657nobodyさん2013/04/28(日) 23:50:47.53ID:3X4yk4QN
質問の答えの前にまず言っておくがコーディング自体に大きな問題がある


で、質問の答えだが、ヒアドキュメントのパースする際に
まずはその中の命令を処理する必要があると思わないか?

この結果には驚くような要素は何も含まれていないと思うよ。
0658nobodyさん2013/04/29(月) 00:02:01.61ID:???
array_mapを使って下記のような関数をつくってたのですが、
クラスファイルで使いたいと思い、作り直しを試みているのですが
function hout($d) {
if (is_array($d)) {
return array_map('hout', $d);
}
else {
$d = htmlspecialchars($d, ENT_QUOTES);
}
}

以下がオブジェクトで
Class Hout
publice function __construct($d)
0659nobodyさん2013/04/29(月) 00:04:09.93ID:C0H6wuFm
>>656
>>657
レスありがとうございます
0660nobodyさん2013/04/29(月) 00:07:12.36ID:cl3jdKHB
すみません、途中投下してしまいました・・・
クラスファイルで書いてみたのがは以下の通りです

Class Hout
{
private $d;
public function __construct($data)
{
$this->d = $data;
if (is_object($this->d)) {
$this->d = get_object_vars($this->d);
}
}
public function htmlout()
{
if (is_array($this->d)) {
return array_map('htmlout', $this->d);
} else {
$this->d = htmlspecialchars($this->d, ENT_QUOTES);
}
}
}
06616602013/04/29(月) 00:13:10.57ID:cl3jdKHB
return $this->d が最後抜けてますが、転記ミスです
0662nobodyさん2013/04/29(月) 00:27:56.12ID:???
Class Hout
{
private $d;
public function __construct($data)
{
$this->d = $data;
if (is_object($this->d)) {
$this->d = get_object_vars($this->d);
}
}
public function htmlsc()
{
var_dump($this->d);
if (is_array($this->d)) {
return array_map('Hout::htmlsc', $this->d);
} else {
$this->d = htmlspecialchars($d, ENT_QUOTES);
}
return $this->d;
}
}

としてみましたが、ループしてしまいます・・・
0663nobodyさん2013/04/29(月) 00:59:39.61ID:???
なぜ >>658 をクラスメソッドにしたら >>662 になるんだ・・・
0664nobodyさん2013/04/29(月) 02:22:19.12ID:???
phpでオブジェ使ったことないわしがarraymap途中でプロパティが途中で配列じゃなくなったと勝手に予想
0665nobodyさん2013/04/29(月) 03:26:57.34ID:???
安易にネットとPCを普及させたヤフーBBやPCショップにまで矛先いきそうな
06666622013/04/29(月) 04:14:22.43ID:cl3jdKHB
>>664さんのを参考に見直していくと
var_dump($val);
$val = get_object_vars($val);
var_dump($val);

とすると、結果が

object(ArrayObject)[17]
string '0' (length=1)
string '1' (length=1)
string '1' (length=1)
string '0' (length=1)

array (size=0)
empty

となってしまうのが、上手くいかない原因のようなのですが、
なぜに、get_object_varsを通すとemptyになってしまうのでしょうか・・・
array
[0] => string'0'
[1] => string'1'
[2] => string'1'
[3] => string'0
とさせたいのですが'
0667nobodyさん2013/04/29(月) 09:07:52.19ID:aXyeiYnz
PHP5.4でMemcached 2.1.0(libmemcached 1.0.13)入れてます。

addServers(array(
192.168.0.11 => 11211,
192.168.0.12 => 11211,
192.168.0.13 => 11211
));

で複数のMemcachedクラスタを構成しています。
Memcachedが落ちた(get(key1)できなかった)場合、DBに直接アクセスしてデータ(val1)を取得した後、
書き込みset(key1,val1)を行います。

この状態で、たとえば192.168.0.12が落ちた場合、192.168.0.12にマッピングされていたkey1が
0.11か0.13にマッピングし直されて継続されることを期待しているのですが、どうも0.12に向けられていた
割り当てられていた分が全部DBに直接アクセスしているっぽいです。

addServersでサーバーを追加したら、そのどれかが落ちていたとしても、再マッピングはされないのでしょうか?
OPT_DISTRIBUTIONを変えても駄目でした。

そうすると、addServersを行う前にサーバーの死活をチェックして、もし0.12が落ちているのであれば

addServers(array(
192.168.0.11 => 11211,
192.168.0.13 => 11211
));

のようにしないといけない、ということなのでしょうか?
(この方法だともちろんうまくいきましたが、何か納得いかず・・・)
0668nobodyさん2013/04/29(月) 10:06:27.00ID:???
汎用性のかけらもないわけのわからないクラスですね
0669nobodyさん2013/04/30(火) 09:46:50.70ID:???
cacheとはそもそもそういうもん。
サーバーを冗長化するのは、負荷分散で、データの多重化ではないよ。
データベースへのアクセスをメモリーを使って高速化するのが希望なら、tokyo tyrantを使いなさい。
06706672013/04/30(火) 15:11:25.92ID:/LZjkS9q
どうもです。確かにNoSQLのほうがいいかもしれませんね。
ただ、>>667の説明がまずかったようなので、流れを書きますと



Memcachedクラスタ:A、B、C
仮にkey1 => val1がBに対応づけられているとする。

ここでBが落ちたとき

プロセスX
(1) get(key1)する
(2) 当然失敗する
(3) DB叩いてval1を取る(実際には色々加工してval1を作るわけですが)
(4) set(key1,val1)する
(5) 今はクラスタが{A,C}なので、今度は(例えば)Aにkey1 => val1が保存される

プロセスY
(6) get(key1)する
(7) 今度はAに保存されているval1が返ってくる

こういう動作を期待しているんですが、どうもプロセスYでもプロセスXと同様にDB叩いてるっぽいんですよね。
それもタイミング差で数プロセスってレベルじゃなくて、数百というプロセスが何分間も。
当然DBが(結果を加工してval1を作っているWebサーバも)捌ききれなくなってあぼん。
0671nobodyさん2013/04/30(火) 15:21:11.06ID:???
状況説明が下手すぎる

6で失敗してることは確認したの?
6で成功する環境が構築できていることは確認したの?
0672nobodyさん2013/04/30(火) 15:25:34.14ID:???
そら、もともとの3台の設定のままなら、
同じように失敗してるとこへ聞きにいって、同じこと繰り返すに決まってる。

クラスタ纏めてるサーバーが1台あって死活まで管理してるならともかく、
簡易的な分散なんだから。
0673nobodyさん2013/04/30(火) 15:38:05.83ID:???
>>671
すみません・・・

> 6で失敗してることは確認したの?
Yes

> 6で成功する環境が構築できていることは確認したの?
addServers(array(A,C))なら期待したとおりに動きます。

>>672
こんなコード書いてやってみましたが、確かにval1は取れませんね・・・そういうもんなのか(´Д`)

$m = new Memcached();

$servers = array(
array('localhost', 11211), //Memcachedが動いている
array('192.168.0.201', 11211), array(...), array(...), ... //存在しないサーバー100個ぐらい適当にぶっこむ
);
$m->addServers($servers);

$m->set('key1','val1',time()+100); //多分localhostじゃないとこに書き込もうとしてる

var_dump($m->get('key1')); // bool(false)・・・
0674nobodyさん2013/04/30(火) 15:46:15.33ID:???
下手にイチイチ死活チェックするより、てきとーなスクリプトで常駐監視させて
Bを速攻で復旧させたほうがスマートじゃないだろうか
数秒間落ちただけでDBが死ぬほどクリティカルじゃないんだろ?

ハードのトラブルとかで長期間落ちる場合は、addServersのところを自動なり手動なりで
書き換えてクラスタから切り離す。

あとは>>669のようにNoSQLか。どう冗長化すりゃいいのか俺は知らんけど。
0675nobodyさん2013/04/30(火) 19:04:08.46ID:???
>>670
アクセスが1秒間に数百もあるようなシステムなの?
0676nobodyさん2013/04/30(火) 19:59:46.53ID:???
そら秒間数十リクぐらいのシステムならMemcachedクラスタ構成にする必要ねーだろ
DBそのまま叩いてもイケる
0677nobodyさん2013/04/30(火) 20:02:21.83ID:???
そんなサイトがPHPって・・・
作成者が2chで質問って・・・
0678nobodyさん2013/04/30(火) 20:04:01.91ID:???
あ?PHPなめんな
0679nobodyさん2013/04/30(火) 20:06:21.67ID:???
wikiとかアフィブログとかでもピークで秒間数百なんて簡単にいくだろ
0680nobodyさん2013/05/01(水) 03:40:01.52ID:cfjacJ3h
初歩的な質問ですみませんが、わかるかた教えてください。

$a = 1;
$b = 0;

if ($a == 0)
if ($b == 0) print "a";
elseif ($a == 1)
if ($b == 0) print "b";
else
if ($b == 1) print "c";

上記のようなコードを実行すると、想定では「b」が表示されるはずだったのですが
何も表示されずに終了します。
$a = 1; $b = 1; とした場合も「c」が表示されません。
$a = 0; $b = 0; では想定通り「a」が表示されます。
なぜこのような動作をするのか教えて頂けないでしょうか。
0681nobodyさん2013/05/01(水) 04:11:57.11ID:???
まさかelseifがくっついてるからとか??
0682nobodyさん2013/05/01(水) 04:12:19.66ID:???
しらねえが括弧つけてくれ。
見にくすぎる。
0683nobodyさん2013/05/01(水) 04:27:00.83ID:???
if ($a == 0) {
 if ($b == 0) {
 }
} elseif ($a == 1) {
 if ($b == 0) {
 }
} else {
 if ($b == 1) {
 }
}

なんだこのクソみたいなコードは・・・

if ($a == 0 && $b == 0) {
} elseif ($a == 1 && $b == 0) {
} elseif ($b == 1) {
}
0684nobodyさん2013/05/01(水) 04:28:40.98ID:???
うおくっつけててもええんか、、
06856802013/05/01(水) 06:56:39.93ID:???
>>683のコードのように{}を入れると正しく動作します。。
理由がさっぱりです。。
if〜elseif〜else文のときは必ず{}を入れろということでしょうか?
0686nobodyさん2013/05/01(水) 08:55:31.76ID:???
>>670
やりたいことが分かった。
AddServerには、weightオプションがあるよ。
ABCをそれぞれ、321にしなさい。Weightの重い順にアクセスする。
weightがフラットだと、均等にアクセスするから、ABCのどれにアクセスするか分からない。
一度アクセスすると、CならCにずーっとアクセスする。でないと、結果が取れないでしょ?

あと、Daemon Toolsを調べなさい。落ちたmemcashedを自動的に再起動してくれる。
0687nobodyさん2013/05/01(水) 09:01:09.31ID:???
>>680

その式の解釈は

if ($a == 0)
{
if ($b == 0) print "a";
elseif ($a == 1)
if ($b == 0) print "b";
else
if ($b == 1) print "c";
}
だからです。 なんで elseif のが 一個目のifの受けだと思ったんです?
0688nobodyさん2013/05/01(水) 09:03:12.54ID:???
pythonerなんじゃね?
0689nobodyさん2013/05/01(水) 10:30:44.81ID:???
>>685
自分でコード追ってみりゃわかる
わからないうちは括弧入れよう(わかっても読みやすくするために入れるけどね)
インデントは読みやすくするために必須だけど、間違ったインデントに騙されないようにね。
06906802013/05/01(水) 12:46:23.79ID:???
>>687,689
有り難うございます。
そういうことでしたか。勘違いしてました。
ようやく理解できました。
0691nobodyさん2013/05/01(水) 15:51:42.82ID:???
俺も基本括弧は入れるな
括弧つけないのは

...
...
if ($FLAG === 0) echo "error";
...
...


こういう場合だけ
0692nobodyさん2013/05/01(水) 16:26:56.70ID:???
トラブルを起こさない書き方をする
これ常識ネ
0693nobodyさん2013/05/01(水) 16:32:05.68ID:???
リーダブルコードを10回読め
0694nobodyさん2013/05/01(水) 17:44:31.14ID:???
>>685
その認識レベルなら必ず括弧入れるべき。
面倒くさいのはわかるが括弧で区切りつけないと後々絶対同じような問題起こす。
0695nobodyさん2013/05/01(水) 18:50:59.11ID:???
>>683はどこへ
0696nobodyさん2013/05/01(水) 18:53:25.95ID:???
適当なエディタでインデントしなおせば分かりやすいかも。
たとえば、こうなった。
if ($a == 0)
&nbsp;&nbsp;&nbsp;&nbsp;if ($b == 0) print "a";
&nbsp;&nbsp;&nbsp;&nbsp;elseif ($a == 1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($b == 0) print "b";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($b == 1) print "c";
0697nobodyさん2013/05/01(水) 18:54:27.87ID:???
あー。。全角スペースでごまかしますorz

if ($a == 0)
  if ($b == 0) print "a";
  elseif ($a == 1)
    if ($b == 0) print "b";
    else
      if ($b == 1) print "c";
0698nobodyさん2013/05/01(水) 19:43:46.49ID:j59swQb1
オブジェクト指向で質問です
public $hensuu;
〜
〜
$hoge = "hensuu";
echo $this->$hoge;
として、$hogeに入ってる文字列でプロパティにアクセスしたいので、
存在しないプロパティを呼び出さないようチェックを入れたいのですがうまくいきません

if(property_exists($this, 'hensuu'))
ではtrueが返ってくるのですが、
if(property_exists($this, $hoge))
ですとfalseが返ってきてしまいます・・・
0699nobodyさん2013/05/01(水) 20:14:00.04ID:???
試したらtrueになってるけど。
そのコードどうなってんのよ。
0700nobodyさん2013/05/01(水) 20:20:42.60ID:???
$hogeに 'hensuu' が入ってないだけってオチに思える。
0701nobodyさん2013/05/01(水) 20:31:42.36ID:???
それ以前の問題として、プロパティは全部privateにしてメソッド経由で読み出せよ
そのメソッド中で変なプロパティ読み出さないようにチェックしれ
0702nobodyさん2013/05/01(水) 20:50:13.64ID:???
>>701
つ__get
0703nobodyさん2013/05/01(水) 23:56:42.39ID:iNKD91fw
error_reporting(-1);
とすれば全てのエラーを出力してくれますが、
このエラー内容を取得することは出来ますか?
エラーを画面上に表示させずに、エラー内容をテキストか何かに書き出して
おきたいと考えています。

標準出力ではなくテキストなどへの出力方法などあればアドバイスいただけないでしょうか。
0704nobodyさん2013/05/02(木) 00:30:53.74ID:???
>>703
error_get_last()

register_shutdown_function() と絡めてみるとうまくいく思う
0705nobodyさん2013/05/02(木) 00:33:05.62ID:???
っていうか、ログに吐き出したいだけか。
なら、 error_log() だな。
0706nobodyさん2013/05/02(木) 03:39:40.66ID:???
error_logは自作エラーメッセージをログに出力するもんだろ・・・
0707nobodyさん2013/05/02(木) 05:41:36.85ID:???
apache経由ならerrorログに出てるでしょ
0708nobodyさん2013/05/02(木) 05:49:01.99ID:PlTCCm2Z
Nagios のプラグインが使える監視ツールを作ろうと思っています。
そのプラグインの使用は、終了コードと標準出力にテキストを出すというものです。
exec 関数でやればいいようですが、処理の並列化のため、

exec ('/pathto/program > /dev/null &', $output, $return_var);

とすると、標準出力を得られません。何かいい方法はありますか?
ファイルにリダイレクトしてそれを読むのでしょうか?いやいや。
07097032013/05/02(木) 07:53:36.09ID:7Z0Os0eY
みなさん回答ありがとうございます。
回答をもとに対応してみたいと思います。
ありがとうございました。
0710nobodyさん2013/05/02(木) 08:21:52.96ID:???
>>708
いやいや。
0711nobodyさん2013/05/02(木) 10:52:24.02ID:???
>>708
何をしたいのか良くわからないが、ここが参考になるかもな。

PHPでプロセスを呼び出してパイプで繋ぐ方法
http://d.hatena.ne.jp/UDONCHAN/20101116/1289891757
0712nobodyさん2013/05/02(木) 13:41:47.39ID:???
カーセックス最高
0713nobodyさん2013/05/02(木) 15:03:31.48ID:???
>>708
標準出力捨ててんのに何がしたいのよwwwwww
非同期で標準出力取りたいなら、どっかのファイルにぶち込んで
別のプロセスでそのファイル監視し続けるしかないんじゃないの?
0714nobodyさん2013/05/02(木) 15:08:06.58ID:???
他言語のスレッドみたいな感覚で使いたいんだろうなあというのは伝わってくる
0715nobodyさん2013/05/02(木) 16:03:05.63ID:???
結局 nagios のソース読んだら、
fork して子プロセスで popen して読み取って、
ファイルに書き出してやがったですよ!
0716nobodyさん2013/05/02(木) 16:04:02.00ID:???
ぽぺん
0717nobodyさん2013/05/02(木) 20:20:16.22ID:???
ありがち
そして事態はより複雑に
0718sage2013/05/03(金) 07:54:54.79ID:???
上の方でも出てますがエラーを取得するのにerror_get_last()が使えるとありますが
複数のエラーが発生した場合は最後のエラーしかとれません。
エラーをすべて取得する方法ってありますか?
0719nobodyさん2013/05/03(金) 08:03:38.10ID:???
ログとれログ
0720sage2013/05/03(金) 08:59:40.30ID:???
レンタルサーバーでもログとか取れるもんなのでしょうか?
0721nobodyさん2013/05/03(金) 09:19:17.66ID:???
レンタル鯖っつったってphpとperlしか動かないものからOS自分で入れるものまで色々あるがよ・・・
0722nobodyさん2013/05/03(金) 12:58:19.36ID:???
apacheの生ログ見られる鯖はある
0723nobodyさん2013/05/03(金) 13:11:02.95ID:???
>>721
適当にあたりをつけて回答しろよ
なんでもヒントが出てくると思ってんじゃねーぞ
0724nobodyさん2013/05/03(金) 16:06:03.57ID:???
えっ
すみませんココ試験会場だったのですね間違えました
0725nobodyさん2013/05/03(金) 18:08:11.32ID:???
VMとかrootあるなら見れるとこ多いけど
普通のレンタル鯖だと生ログ見れるところはないと思う

phpとかPerlしか動かせない鯖だと全部のエラーをキャッチしておくってのは無理じゃないかな
0726nobodyさん2013/05/03(金) 18:23:59.04ID:???
>>725
wkey.meだけどユーザー毎のホームディレクトリにlogディレクトリがあってそこにログたまっていくぞ
0727nobodyさん2013/05/03(金) 18:54:53.52ID:???
レンタル鯖っていっても昔と違って数百円/月で仮想root付きのがあるからなぁ
0728nobodyさん2013/05/03(金) 20:24:59.12ID:???
仮想サーバほしいなら貸そうか?

なんつって
0729nobodyさん2013/05/03(金) 20:43:05.77ID:???
月1000円未満で借りられるVPSがたくさんあるのに、今時プログラマがレンタルサーバ
借りる理由ってなんだ?
0730nobodyさん2013/05/03(金) 20:46:04.14ID:???
管理がめんどくせえ
0731nobodyさん2013/05/03(金) 20:54:23.17ID:???
セキュリティも考えると全部管理すんのめんどくせーよ
0732nobodyさん2013/05/03(金) 21:34:09.24ID:???
節子、それレンタルサーバや

>月1000円未満で借りられるVPSがたくさんあるのに、今時プログラマがレンタルサーバ
0733nobodyさん2013/05/03(金) 22:30:55.67ID:???
クラウドで、サーバー立て放題
いまどき、負荷で他人に迷惑とか心配するようなのなんで借りるのか。
0734nobodyさん2013/05/03(金) 23:22:55.41ID:???
楽だから
0735nobodyさん2013/05/04(土) 01:24:08.92ID:???
>>732
レンタルサーバとVPSって別物だよ
まあごっちゃにしてる業者があるのかもしれんが
0736nobodyさん2013/05/04(土) 02:24:53.02ID:???
めんどくさいから、って大きな理由だよな。
0737nobodyさん2013/05/04(土) 04:30:06.34ID:???
>>735

借りられるVPSがレンタルサーバーではないだと!?
0738nobodyさん2013/05/04(土) 04:56:11.79ID:???
さすが連休だな
0739nobodyさん2013/05/04(土) 08:14:30.77ID:???
そういういみでいえばホスティングでもレンタルサーバーになるんだよな
0740nobodyさん2013/05/04(土) 15:34:13.29ID:???
レンタルサーバーって営業形態を指す言葉だろ
0741nobodyさん2013/05/04(土) 16:03:20.74ID:???
サーバを借りるって意味だろ
0742nobodyさん2013/05/04(土) 16:09:50.75ID:???
http://e-words.jp/w/E383ACE383B3E382BFE383ABE382B5E383BCE38390.html

語源や言葉の意味なんてころころ変わるもの
だいたいIT用語なんて確立した意味をもつものは少なく曖昧な意味が多い
下らない争いしてんじゃねえよ
729も用語無理して使うな(下手に曖昧なこというな)
732も意図理解しててあえて突っ込んでやるな
共用サーバって言いたかったんだろ
0743nobodyさん2013/05/04(土) 17:00:42.40ID:???
レンタルサーバもVPSもVPCも共用サーバといえるわな
0744nobodyさん2013/05/04(土) 19:34:20.11ID:???
物理的には共用サーバだが論理的には専用サーバとか
そういうたぐいのめんどくせー話はいらんわ
0745nobodyさん2013/05/05(日) 01:54:18.29ID:???
何にもめんどくさいないのに
0746nobodyさん2013/05/05(日) 01:55:09.42ID:???
ここ何スレ?
0747nobodyさん2013/05/05(日) 03:48:45.37ID:???
>>746
歴史板へようこそ
0748nobodyさん2013/05/05(日) 17:12:44.70ID:WrP9RIzV
db登録ユーザーが大別して2種類います。
IDの先頭にsenior(シニア)がつくユーザーと、つかないユーザーです。

senior102315
senior102516
112316
senior118311
120210
121653
・
・

seniorを削除して全ユーザのIDを数字のみにしたいのですが

UPDATE `table_ID` SET `field_ID` = REPLACE(`field_ID`,'senior','');

記述がどこか違っているのかわかりません。
一括削除の操作は別のコマンドを使うのでしょうか?
0749nobodyさん2013/05/05(日) 17:28:37.62ID:???
それdbの質問じゃ?
間違ってるようにみえないけど、試しに select してみ
SELECT field_ID , REPLACE〜 FROM 〜
とかさ
0750nobodyさん2013/05/05(日) 17:58:30.08ID:WrP9RIzV
スレが違うとのこと、すみません
そうそうに引き揚げますのでこれだけみてください
なぜ機能しないのでしょう
SELECT field_ID, REPLACE(`field_ID`,'senior','') FROM `table_ID`;
0751nobodyさん2013/05/05(日) 18:04:11.71ID:???
引き上げてねえww
0752nobodyさん2013/05/05(日) 18:09:18.89ID:???
ここで聞いてるってことは、phpから呼んでるんだよな?
機能しないってのは結果が0件とか?
エラー表示させるとか、一番単純なやつで結果見るとかしてみては
0753nobodyさん2013/05/05(日) 18:19:38.27ID:???
そもそも設計が悪いだろ
IDは数値のみでもってシニアかどうかはフラグでもつければいいのに
0754nobodyさん2013/05/05(日) 19:01:15.54ID:???
IDが重複して主キー制約に引っかかってるとエスパー
0755nobodyさん2013/05/05(日) 19:42:00.33ID:???
phpスレらしく全部selectして

$newid = preg_replace("/senior/","",$oldid);
$query = "update usertable set id = $newid where id = $oldid";

とかどうかな
0756nobodyさん2013/05/05(日) 19:46:29.03ID:???
>>753
設計したクソ野郎は既にどっか消えたとかよくある話
0757nobodyさん2013/05/05(日) 19:49:51.60ID:???
今は既存のDBに好きなカラム付け足したり
制約コロコロ変えたり拡張が簡単になってるんでそ
断片化が半端なさそうだが
0758nobodyさん2013/05/05(日) 20:02:15.57ID:???
昔はカラム追加できなかったんかw
0759nobodyさん2013/05/05(日) 20:18:14.45ID:???
できる範囲のことはDB側でやったほうがいいっていうけど
SQLの知識が足りないなら無理せず>>755みたいにPHP側に回せばいいだけだな
0760nobodyさん2013/05/05(日) 20:24:49.96ID:???
内容的にどうせ1回しかやらねー処理だし、足りない頭で変にクエリをあれこれ考えるよりphpでやっちまったほうが早いだろうな
0761nobodyさん2013/05/05(日) 20:26:34.38ID:???
クエリのほうが楽だろ
0762nobodyさん2013/05/05(日) 20:32:37.47ID:???
足りてる頭でやるならな
0763nobodyさん2013/05/05(日) 20:34:58.73ID:???
PHPが始めての場合
PHP→SQLって流れが一般的かと
そうするとPHPのほうが楽な人も多いと思う
0764nobodyさん2013/05/05(日) 22:44:00.67ID:???
>>760
そりゃお前がSQLの知識ないだけ
0765nobodyさん2013/05/05(日) 23:35:38.19ID:???
>>764
10人いたら9人分かるコードにしとかないと。
いまのところ2人でてきたしダメだろ。
0766nobodyさん2013/05/05(日) 23:54:57.58ID:???
SQLでできることをわざわざPHPを介して操作とかいくらなんでも馬鹿すぎる
0767nobodyさん2013/05/06(月) 00:18:24.18ID:???
まったくだ
アホばっか
0768nobodyさん2013/05/06(月) 00:23:13.86ID:???
>>748がスカタンだからそういう話になってんだろ
そりゃSQL自由自在に使える奴ならSQLでやったほうが早いに決まってる
0769nobodyさん2013/05/06(月) 00:37:03.05ID:???
そうでもない
0770nobodyさん2013/05/06(月) 00:37:36.77ID:???
>>765
無知w
0771nobodyさん2013/05/06(月) 00:39:03.38ID:???
クエリって何?
SQLの方が理解できる人多いと思うわ
0772nobodyさん2013/05/06(月) 00:39:06.99ID:???
>>755
いい感じだな
0773nobodyさん2013/05/06(月) 03:29:25.92ID:???
>>771
S,Q,Lまで知ってて、Qだけ何?とかないだろw
0774nobodyさん2013/05/06(月) 04:49:12.12ID:???
1回しかやんないんだから求める結果が得られればPHPでもSQLでもいいとおもうけどな
継続的にやるとかなら負荷とか処理速度とか考えるけど
0775nobodyさん2013/05/06(月) 04:56:27.67ID:???
SQLでやるデメリットって何
0776nobodyさん2013/05/06(月) 07:17:16.77ID:???
特定の処理に弱いとかもあるだろうけど
多くの場合PHPで加工を入れたほうが遅いのは想像に易い
が一応ちゃんとベンチとってからそういう事言わないとな

PosqlみたいなのもあるしSQLが早いっていう考えはちょっとおかしい
0777nobodyさん2013/05/06(月) 10:20:41.47ID:???
SQLでやるとバグの温床になりそうな処理はあるな
パッと見て何がやりたいのか、なんでそうなるのか凡人の頭じゃさっぱりわからないキチガイSQL
0778nobodyさん2013/05/06(月) 11:08:56.63ID:???
SQLがわからんとか、さすがにネタだよね?
いくらなんでも片手間の俺よりはできるだろうと思って外注に出してるけど、
業者さんがこのレベルってことはないよね?
0779nobodyさん2013/05/06(月) 11:43:30.00ID:???
>>777
PHPでやったってスパゲッティコード書けば同じだろ
0780nobodyさん2013/05/06(月) 11:49:12.07ID:???
言語の問題ではなくそれを書く人の問題だってこと分かってないよなw
まぁSQLやらない/できない言い訳を必死に考えてんだろうけど
0781nobodyさん2013/05/06(月) 11:54:27.69ID:???
馬鹿?
SQLでやったほうがいい処理もあるし、PHP側でやったほうがいい処理もあるに決まってんだろ
そんなにSQL好きならHTMLタグまで全部SQL側で生成しろよwwwww
0782nobodyさん2013/05/06(月) 17:11:55.85ID:???
馬鹿はお前だ
0783nobodyさん2013/05/06(月) 20:04:40.44ID:???
視野の狭い奴ばっかだな
0784nobodyさん2013/05/06(月) 20:05:17.12ID:???
視野の広いコメントをよろしく
0785nobodyさん2013/05/06(月) 20:48:18.75ID:???
>>778
外注とはコスト削減のために使うものであって、自分より質の高いものを得るために使うものじゃない(確信)
0786nobodyさん2013/05/06(月) 21:16:20.05ID:???
えっ?
0787nobodyさん2013/05/06(月) 22:16:45.77ID:???
>>778はとりあえずスレチだから放っておけ
初心者だらけのスレで何を言ってるんだって感じだな
0788nobodyさん2013/05/06(月) 22:19:17.49ID:???
このスレって初心者用スレだったっけ?
0789nobodyさん2013/05/06(月) 22:33:00.24ID:???
>>788
素でそう思ってるんだが違うのか、、、
0790nobodyさん2013/05/06(月) 22:59:21.71ID:???
初心者だらけとはいったが初心者用とはいってない
0791nobodyさん2013/05/07(火) 00:30:53.24ID:???
(キリッ
0792nobodyさん2013/05/07(火) 01:37:23.03ID:zoq9xUOz
質問おねがいします。
phpって実行時に一度C言語に変換された後機械語に変換されるんですか?
それともphpインタプリタが直接機械語に変換するのでしょうか?
プログラムの動作する仕組みがよくわからないので教えてください。
0793nobodyさん2013/05/07(火) 02:15:58.09ID:???
>>792
後者
0794nobodyさん2013/05/07(火) 02:41:07.19ID:zoq9xUOz
>>793
あざっす。
その変換されたものをファイルに書き出すことってできないんですかね?
というのも実行時にいちいち変換するより、もうほとんど手を加えないとういプログラムなら
変換したものを動作させたほうが速いだろうと思うのですが。
開発中 -> インタプリタで実行するごとに変換
本番環境 -> コンパイル?されたファイルを変換せずに実行
0795nobodyさん2013/05/07(火) 04:43:13.60ID:???
できたらみんなやってる
0796nobodyさん2013/05/07(火) 06:06:21.19ID:zoq9xUOz
>>795
そうなんですか。ありがとうございます。
初心者が言うのも変ですが、変換はできてそれを実行もできるのに
変換したものを保存することができないってのがよくわからんです。
c言語ならコンパイルしたものがファイルとして保存できますよね。
なぜphpは変換したものが保存できないのですか?
0797nobodyさん2013/05/07(火) 07:00:35.00ID:???
>>794
http://www.php.net/manual/ja/intro.apc.php
0798nobodyさん2013/05/07(火) 08:19:30.37ID:???
eAcceleratorとかあるやろ
どうやってんのかしらんけど
0799nobodyさん2013/05/07(火) 09:24:00.12ID:zoq9xUOz
>>797,798
apc_bin_dumpfileでできましたー。
これ以前試したことがあってできなかったからapcはまだ不安定なんだと思ってたんですが、
php5.4.13 + apc3.1.13でファイルに書き出せました。

このバイナリデータはすでにphpは関係ないってことですよね?
ということはc言語も関係ないってことだと思うのですが、
これどうやって実行すればいいんでしょうか?
0800nobodyさん2013/05/07(火) 09:47:48.19ID:???
HipHop
HipHop VM
Phalanger
0801nobodyさん2013/05/07(火) 10:36:29.78ID:n6USVSPe
【OS名】Windows7
【PHPのバージョン】5.4.13
【連携ソフトウェア】
【質問内容】超初心者です。
HTMLの記述の中に、<?PHP 〜 ?>を書いて、そこにPHPプログラムを書いて動的なものにしていくと思うんですけど、
while とかで求める繰り返し処理をして連想配列から出した値を、HTMLの記述のあちこちに表示させたい場合、
その表示させたい箇所ごとにwhile分を使わないといけないんでしょうか?例えば
<?PHP
<body>
while (list($key,$val) = each($arr)){
echo "$key $val \n";
}
</body>
?>
の場合だと問題ないのですが、<body>にけっこう多いコードがあったときにもし"$key"と"$val"をバラバラの場所に
表示させたいときに、それぞれにwhileを使うしかないのでしょうか?
よろしくお願いします。
0802nobodyさん2013/05/07(火) 10:38:35.04ID:???
別に変数に丸ごと入れて一回で出力してもいいし
好きにやればいい
08038012013/05/07(火) 10:40:42.79ID:n6USVSPe
<?PHP
while (list($key,$val) = each($arr)){
echo "$key";
?>

  〜間にHTMLの記述〜

<?PHP
echo "$val";
}
?>

こんな感じで上と下に表示できるかなーと思ったのですが、ダメでした。
よろしくお願いします。
0804nobodyさん2013/05/07(火) 10:47:24.21ID:???
結局何をどうしてもループは複数回やらないとだめですよ
0805nobodyさん2013/05/07(火) 10:49:30.54ID:???
どうダメだったんだよ
間のHTMLは一回だけにしたいって意味?
ループ中は文字列変数につないでいって
ループ出てからechoすりゃ一回でいける。
08068012013/05/07(火) 10:56:47.81ID:n6USVSPe
そうです。1つのループで複数の変数を別の場所に表示しようとして、803のようなことを
やっったりしてました。
?>と<?PHPで、いったんPHPから抜けたら 間のHTMLはループされずに 
echo "$key" と echo "$val" だけループされるのかと思ったけど、そうなりませんでした。
変数につないでいってループ出てからechoをやってみます。
ありがとうございました。
0807nobodyさん2013/05/07(火) 10:57:43.28ID:???
何がしたいのかわからんが

$str = "";
while(...) {
$str = "<li>".$key."=>".$val."</li>";
}
echo $str;

echo $str;

echo $str;

後は好きにしろ
0808nobodyさん2013/05/07(火) 11:03:54.13ID:???
>>799
APCに読ませてPHPに実行させる。
独立したapacheモジュールみたいなものを書き出しているわけじゃないよ
0809nobodyさん2013/05/07(火) 11:04:07.17ID:???
.= でないと
0810nobodyさん2013/05/07(火) 19:18:37.58ID:???
>>806
ああ

<?PHP
echo implode('', array_keys($arr));
?>
  〜間にHTMLの記述〜
<?PHP
echo implode('', array_values($arr));
?>
0811nobodyさん2013/05/08(水) 17:19:35.07ID:QMrGFLn3
test.php
<?php
echo "1";
echo "2";
echo "3";
?>
sample.php
$file = file('test.php');

としたときに
$file[0]
には
echo "1";
がはいります。
しかし
$file[5]
には
?>
が入っています。
?>は取得出来るけど<?phpはどうやっても取得されないのでしょうか?
実際には2行目にecho "1";が来るのに配列としては[0]なのであわせられればと思っています。
0812nobodyさん2013/05/08(水) 18:03:38.44ID:???
>>811
どうやって確認した?
var_dump 使った?
0813nobodyさん2013/05/08(水) 18:04:15.48ID:???
もしも結果もブラウザから見てるならソース表示させてみ
0814nobodyさん2013/05/08(水) 18:19:51.72ID:QMrGFLn3
var_dumpでブラウザ上に表示したら
array(5) {
[0]=>
string(6) "
string(10) "echo "1";
"
[2]=>
string(10) "echo "2";
"
[3]=>
string(10) "echo "3";
"
[4]=>
string(2) "?>"
}
となってました。
ブラウザ側のソースには
[0]=>
string(6) "<?php
"
[1]=>
string(10) "echo "1";

と表示されています。
html上のものでなぜソースが異なるのかちょっと意味がわからないです。
0815nobodyさん2013/05/08(水) 18:25:42.54ID:???
<?php
"
[1]=>

がタグ扱いでブラウザで表示されないだけじゃねーか。
0816nobodyさん2013/05/08(水) 18:26:35.32ID:???
いや <?php とかはタグの始まりとみなされてブラウザが次の > まで
表示しなくするだろw
どうしてもブラウザに出したければ、htmlspecialcharsを通すとかでどうかな。
0817nobodyさん2013/05/08(水) 18:53:59.75ID:???
>>814
ちょっと意味が分からないならたくさん勉強することだ。
0818nobodyさん2013/05/08(水) 19:10:17.99ID:???
var_dumpは出力にそのまま垂れ流すことしかできないからソースを見るしかw
0819nobodyさん2013/05/08(水) 20:47:32.31ID:???
>>814
お前のカキコの意味がわからんわ
0820t2013/05/08(水) 21:34:36.96ID:zJfXxHKJ
【OS名】mac10.8
【PHPのバージョン】5.3
【連携ソフトウェア】
【質問内容】
$encodingText=htmlspecialchars($writingText);
$encodingText=str_replace('\r\n','<>',$encodingText);
$encodingText=str_replace('\n','<>',$encodingText);
$encodingText=str_replace('\r','<>',$encodingText);
$encodingText=str_replace(PHP_EOL,'<>',$encodingText);

ここで聞く事なのかどうか。。2chのlogみたいにcsvにフォームからの書込みを一行保存したくて改行を<>に変換したいですけど
これだとcsv内は改行されてしまいます。。何故かPHP_EOLを使った部分で改行が「"改行<>"」という形でcsvに保存されます。
どうすりゃ改行を一行にまとめられますかね???ちなみに最初のhtmlspecialcharsは関係なかーたです
0821nobodyさん2013/05/08(水) 21:40:22.63ID:???
文字コード絡みじゃねーのとエスパー
0822nobodyさん2013/05/08(水) 21:52:05.37ID:???
>>820
改行コード(\n)がシングルになってる。
展開させるためにはダブルにしろ。"\n"
htmlspecialcharsは出力の直前にかけろ。
ただし2chがそういう仕様ならそれを真似るなら仕方ない。
str_replaceでまとめられるものはまとめろ。
つまりstr_replace(["\r\n", "n"], '<>',$encodingText);
"\r"で改行なんて今更ない。昔あったのかも知らん。
遺贈。
0823nobodyさん2013/05/08(水) 22:19:17.07ID:???
100を-100のようにプラスとマイナスを反転させたいのですが
反転させるような関数はありますでしょうか?

なければ100-(100*2)みたいな感じしかないでしょうか。
0824t2013/05/08(水) 22:26:44.16ID:zJfXxHKJ
>>822
ありがとうございます。str_replaceのシングルをダブルクオートに変えたら行けました。
どーもですどーもです。

ちなみにその[]で囲むやり方知らなくてこっちで動かなくて気になるんですができれば。。。。。
0825t2013/05/08(水) 22:28:51.25ID:zJfXxHKJ
>>823
-1をかけたらええですよ
0826nobodyさん2013/05/08(水) 22:44:09.17ID:???
>>824
あ、ごめん。php5.3なんだな。
5.4からその記法は使えるよ。
array() => []
0827t2013/05/08(水) 23:17:42.41ID:zJfXxHKJ
>>826
おーどーもです。うーむ無理か。。
0828nobodyさん2013/05/08(水) 23:57:01.25ID:???
str_replace(array("\r\n", "n"), '<>',$encodingText);
こうすればいけるよ。
>>826のは
5.4から array() の代わりに [] が使えるようになったよって意味の => かと。
0829nobodyさん2013/05/09(木) 00:11:27.65ID:???
関数リファレンスくらい読めと
0830nobodyさん2013/05/09(木) 09:06:33.16ID:Jsywf66a
【OS名】CentOS 6.3
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL
【質問内容】
datetimeの比較がうまくいきません。

$start = new DateTime("2013/05/08 12:30:30");
$end = new DateTime("2013/05/04 12:30:30");
if( $start > $end )
{
echo "true";
}
else
{
echo "false";
}

としてもfalseのみが出ます。
仮に$startと$endを入れ替えてもfalseとなります。
http://php.net/manual/ja/datetime.diff.php を見るとオブジェクトの比較が出来ているようなのですが何か違っていますでしょうか?
0831nobodyさん2013/05/09(木) 09:11:48.64ID:???
>>830
http://ideone.com/7kfq6S
0832nobodyさん2013/05/09(木) 10:02:15.85ID:???
>>830と>>831のソースの違いがよくわかんね〜
0833nobodyさん2013/05/09(木) 10:16:18.74ID:???
いや同じだろ
>>830のコードはtrueになるしなんか勘違いしてんじゃね
0834nobodyさん2013/05/09(木) 10:26:25.73ID:???
>>830のコードは
new を使っているからオブジェクトで定義しているんじゃないの?
中の値で比較するんだったら

if($start->gettimestamp() > $end->gettimestamp())

とかで比較しないとダメなんじゃない?
0835nobodyさん2013/05/09(木) 21:11:32.82ID:???
>>832
つまり、コード以外の所が違うということだよ
0836nobodyさん2013/05/10(金) 22:59:44.03ID:nZ5eiGcK
PHPのマニュアルを丸ごと(ソースごと・・・)コピーしただけのサイトがよく検索に引っかかりますがあれはなんの嫌がらせですか?
0837nobodyさん2013/05/10(金) 23:03:50.33ID:???
ミラーサイトという言葉を知らないのかね
0838nobodyさん2013/05/10(金) 23:21:28.67ID:iT9k79IA
PHPは公式から既に嫌がらせだからな
0839nobodyさん2013/05/10(金) 23:26:36.03ID:???
コピーするならcssも引っ張って来いとは思う
0840nobodyさん2013/05/10(金) 23:50:29.42ID:ReW38688
XMLをsimplexml_load_string()でオブジェクトに代入してから
要素についてtrue(1)かfalse(0)かを確かめたいのですが
var_dumpで
object(SimpleXMLElement)#1 (1) {
["result"]=>
object(SimpleXMLElement)#4 (4) {
["options"]=>
object(SimpleXMLElement)#2 (0) {
}
["raw"]=>
object(SimpleXMLElement)#3 (0) {
}
["status"]=>
string(1) "0"
["statusmsg"]=>
string(5) "Sorry"
}
}
のようになっているのものを
if($object->result->status)
とすると0の場合も1の場合もtrueになってしまいます。
string型の0はfalseと判断されないのでしょうか?
0841nobodyさん2013/05/11(土) 00:06:09.37ID:???
>>840
var_dump($object->result->status)
0842nobodyさん2013/05/11(土) 09:14:21.17ID:3jYy1Xhq
phpを使った空メール→配信登録をつくってるんですが、
QRコード読み取りから空メールさせる方法とは別に、
サイトからユーザに空メールを送るようにもさせたいと思っております
mailtoを貼り付けようと思ったのですが、この場合spamが心配です

たとえば、phpで動的に書き出したページにmailtoを仕込んでおけば
spam対策になるもんでしょうか
それともなにか他に手だてがありますでしょうか
0843nobodyさん2013/05/11(土) 09:15:59.98ID:???
>>842
HTMLエンティティ化して記載
0844nobodyさん2013/05/11(土) 12:18:36.78ID:OhMoHBiS
どこかのブログでやってるけど
フィールド名いじっておいて
普通に使うフィールド名は罠フィールドとしてcssで非表示

罠フィールドに何か入ってたらbotとして拒否

ということやってる
0845nobodyさん2013/05/11(土) 22:28:31.55ID:JC/Ksawh
error_log()について質問です

質問1
message_typeで1を指定したらメールを送れるってことですが、
この場合このPHPが入ってるのと同じサーバのsmtpdを利用するってことですよね?
他サーバのsmtpdを使うことは出来ないんでしょうか
アプリケーションサーバとメールサーバを分けたい場合はどうすれば良いんでしょうか

質問2
エラーを出力保存するファイルを指定できるようになっていますが、
蓄積されたエラーが膨大になった時に、過去ログ化して新しい同名のファイルを
作成することになるんだと思います。
このとき、何を基準に新規ファイル作成するんでしょうか

そういうのを指定できるオプションってないですか?
よろしくお願いします
0846nobodyさん2013/05/11(土) 22:36:28.21ID:???
>>845
1
http://www.php.net/manual/ja/mail.configuration.php
2
logrotate
0847nobodyさん2013/05/11(土) 23:07:38.46ID:???
>>846
ありがとうございます、助かりました
0848nobodyさん2013/05/12(日) 12:39:50.54ID:kHm/fQGT
すみません、上でerror_log()について質問したものなんですが、ログの文章が改行ができません
ググるとたくさん該当する話が出てくるんですが
$msg = "エラーです";
error_log($msg.'\n', 3, '/tmp/error.log');
error_log($msg.'\r', 3, '/tmp/error.log');
error_log($msg.'\r\n', 3, '/tmp/error.log');
error_log($msg.'\n', 3, '/tmp/error.log');
error_log($msg.'\r', 3, '/tmp/error.log');
error_log($msg.'\r\n', 3, '/tmp/error.log');
とどうやっても改行されません

エラーです\n
エラーです\n
と、そのまま出てしまいます

どうしたらいんでしょうか
08498482013/05/12(日) 12:46:50.30ID:???
化けてたらすみません、上記のサンプルの上三つはバックスラッシュ、下三つは¥記号です
0850nobodyさん2013/05/12(日) 12:52:41.37ID:???
改行はだぶるくぉーてーしょん。
08518482013/05/12(日) 12:58:21.07ID:???
>>850
ありがとうございます!
こんな使いわけが必要なんですね、ビックリしました
0852nobodyさん2013/05/12(日) 22:03:29.67ID:???
>>841
ありがとうございます。
オブジェクトの時は常にtrueなんですね
0853nobodyさん2013/05/12(日) 22:07:17.68ID:4FW3vhI4
◆じゃあのさん来た◆
178:名無しさん@13周年[]
2013/05/12(日) 20:54:52.39 ID:VA7SdRMg0
ふーーーんwwww
民主党調子こいてんなあwwww
ようおまいらwww元気ぃ?wwwよろしくやってたかい?www
--- 以下スレ情報 ---
【政治】「自民が反対したから」「官僚が抵抗したから」 民主党の『大反省会』、反省どころか、言い訳や責任転嫁がほとんど★3
http://uni.2ch.net/test/read.cgi/newsplus/1368355843/
0854nobodyさん2013/05/13(月) 13:12:37.61ID:Y6gDftln
【OS名】windows7
【PHPのバージョン】5.3
【連携ソフトウェア】
【質問内容】HTMLの入力フォームにURLを入力して、
予め保存してある複数のURLと重複していないか、
リンク切れではないかという判定をしたいのですが
うまくいきません。
まず重複の判定は、入力フォームからの文字列を$str、
予め保存してるURLを"urlist.txt"に保存してます。

if(!$fp=fopen("urllist.txt","r")){
return ERROR(1);
}else{
$urllist = file("urlist.txt");
foreach( $urllist as $url ){ //URLの重複チェック
if (mb_ereg( "$str","$url" )){
return ERROR(2);
break;
}
}
fclose($fp);
}

こんな感じで、普通のURLだと重複チェックできるのですが、
yutubeやニコニコ動画などのURLだとなぜか判別できません。
08558542013/05/13(月) 13:14:40.79ID:Y6gDftln
そして、リンク切れのチェックはネットで見つけた
get_http_headerというのをつかってみたのですが
うまくできませんでした。
何か良い方法があれば教えてください。
よろしくお願いします。
0856nobodyさん2013/05/13(月) 13:29:28.92ID:???
正規表現のパターンなんだから、
.は任意の一文字で合ってしまうとしても、 ? があると通らないよね。
0857nobodyさん2013/05/13(月) 13:40:37.60ID:???
判別できない両者を出してみてどうなってるか見てみては
0858nobodyさん2013/05/13(月) 15:15:30.49ID:k+GDNsHp
【PHPのバージョン】5.3.6

function &hoge()
{
return new StdClass;
}

とすると、
Notice: Only variable references should be returned by reference
とエラーログが出ますよね。
で、いったんnewを変数に入れてからreturnすると問題はなくなります。

しかしこれって、いったん変数に入れることで
PHPの処理内容としてどのような違いがあるわけなのでしょうか?

恐れ入りますが、ものすごくわかりやすく教えて下さい。
08598542013/05/13(月) 15:56:53.43ID:Y6gDftln
>>856-857
レスありがとうございます。
見てみたら、yutubeやニコ動のURLには?、&など入ってました。
これを正規表現に展開しないようにすれば、判別できるようになるのでしょうか?
展開しないようにそのまま判別するには、?、&があった場合に\を付ける的な
処理をすればできますかね?
0860nobodyさん2013/05/13(月) 16:19:53.06ID:???
基本的に同一とみなす条件を調べないとならんと思うけど
完全一致でいいならstrcmpやstrcasecmp使ってはどうか。
0861nobodyさん2013/05/13(月) 16:52:44.90ID:???
>>858
質問の答えじゃ無いんだけど、なんで
function hoge()
とやらずに
function &hoge()
ってやりたいの?
0862nobodyさん2013/05/13(月) 17:06:55.59ID:k+GDNsHp
>>861
PHPの挙動と仕様への理解を深めたいだけで、やりたいわけじゃないです。
オブジェクトはデフォルトで参照で渡されるそうですが、
この場合、&を付けることでどのような違いが発生していますか?
0863nobodyさん2013/05/13(月) 18:14:48.62ID:???
>>862
んー、明確な答えを持ってるわけじゃ無いんだけど、まず、new Klassしたものはリファレンスではない。
http://php.net/manual/ja/language.oop5.references.php ・・・(1)

$a = new Klass;
この場合の$aはリファレンスでは無くオブジェクトのID。

一方、リファレンスを戻すメソッドは、&method()と定義し、リファレンスを戻さなければならない。
http://www.php.net/manual/ja/language.references.return.php

つまり、&method()では、new Klassしたものを直接戻すことはできない(型が違うので)。

&method()でreturn $variable;と書くと、$variableのリファレンスが戻される(&$variableが戻る)。
これは、(1)の$c = &$d; の場合と同じ。
08648632013/05/13(月) 18:16:35.34ID:???
だとしたら、なぜfunction &method()でreturn new Klass;としたときに、&(instance)的な処理が
行われないのだろうかという疑問が残るが、それは良くわからない。

良くわからないので、俺は&method()は一生使わないと思う。
0865nobodyさん2013/05/13(月) 18:22:46.46ID:???
PHPの場合は良くわからないけど、一時オブジェクトを参照で受けるってありなのか?
0866nobodyさん2013/05/14(火) 00:45:31.37ID:gD2UsIag
>>>863
オブジェクトのIDとは知らなかったのでひじょーに勉強になりました。

> 式 の結果を返してくれることはありません。
> 可能なことは、値へのリファレンスを返すことができるということだけで、
> それ以外の何者でもありません。

という仕様だということで、&のretun newが無効なのも納得できました。
0867nobodyさん2013/05/14(火) 01:13:37.48ID:gD2UsIag
関連して気になったのですが、

function hoge()
{
return 1;
}

$r = &hoge();

とした時、$rの参照先はどこを指していますか?
どこからもアクセスや改変がされない何処かなのでしょうか?
0868nobodyさん2013/05/14(火) 09:26:33.29ID:???
動きません
08698672013/05/15(水) 07:58:41.28ID:/TAZ4XOp
PHPのマニュアルを読んで自分なりに考えました。
マニュアルで、リファレンスはハードリンクのようなものだと学びました。
http://www.php.net/manual/ja/language.references.whatare.php

とすると、>>867では「$r = &hoge();」としても、「$r = hoge();」としても、
この場合、値に対してシンボルテーブルが割り当てられているのは「$r」に限られるため、
「$r」が保持するものも処理内容自体も、全く同じであると考えていいわけですね?
0870nobodyさん2013/05/15(水) 22:55:26.37ID:efuZNxA4
ぐぐる先生もなかなか回答をくれずさっぱりです。
くだらない質問ですが助けてください。

【OS名】Windows7+XAMPP1.8.1
【PHPのバージョン】5.4.7
【連携ソフトウェア】PEAR 1.9.4
【質問内容】
DBからテーブルのデータを連想配列に取り込もうとしています。
Web上にあった「while($row=$hoge->fetchRow(DB_FETCHMODE_ASSOC))」を利用して実行すると、
「Notice: Use of undefined constant DB_FETCHMODE_ASSOC - assumed 'DB_FETCHMODE_ASSOC' in hogehoge.php on line 34」とエラーが出てしまいます。
エラーの通り「while($row=$hoge->fetchRow('DB_FETCHMODE_ASSOC'))」とするとエラーは消えますが、取得した配列のキーはnullになります。
どうしたら回避できるでしょうか。
なにとぞお助けください。
0871nobodyさん2013/05/16(木) 01:43:12.19ID:???
初心者はxampp使うな
0872nobodyさん2013/05/16(木) 02:27:01.44ID:???
xampp良いと思うけどなー
サーバーたててlampは辞めて欲しいけどローカル用環境ならxamppで十分でしょ
08738702013/05/16(木) 08:03:03.05ID:yTIwfF81
>>871 >>872
ありがとうございます。
XAMPPで構成されたAPACHEやPHPは単独で入れた場合と動作が違うということでしょうか。
XAMPP消してそれぞれ単独インストールしてみたほうがいいですか?
0874nobodyさん2013/05/16(木) 10:52:46.00ID:???
>>870
requireが足りてないんじゃないの?
0875nobodyさん2013/05/16(木) 12:38:58.01ID:IW38rAuX
ファイルの書き換えで
fileで読み出し
whileで全行検索
一致部分を変更
file_put_contentで元に戻すという形で書き換えています。
linuxのsedみたいに指定箇所をざっくり書き換える方法はありますか?
0876nobodyさん2013/05/16(木) 12:52:43.89ID:???
ざっくりって何だよ?
あと、sedがいいならsed起動しろ。
0877nobodyさん2013/05/16(木) 13:26:22.85ID:IW38rAuX
>>876
すべてをいったん読み込むことなく
該当する場所のみを書き換えるのにざっくりという言葉を使ってしまいました。
申し訳ありません。

現在開発をしているところはコマンドを叩ける権限がないので
一旦すべてを読み込む以外でsedのように書き換える方法があればと思っておりました。
0878nobodyさん2013/05/16(木) 14:32:47.60ID:???
>>877
全部まとめて読むのが嫌なら一行ずつ読めばいいじゃない。
0879nobodyさん2013/05/16(木) 15:16:03.67ID:???
>>877
全てを読まないとどこを変更していいかわからないだろ。
sedだって全部読んでる。
0880nobodyさん2013/05/16(木) 16:59:41.66ID:???
うちのsedはきっちり書き換えてくれるよ。

ファイルの先頭に一文字追加したときに起こっていることについても勘違いしてそう。
0881nobodyさん2013/05/16(木) 17:21:26.79ID:???
sedが書き換えてくれないなんて誰も言ってませんが
0882nobodyさん2013/05/16(木) 17:31:23.47ID:???
ざっくり書き換えるsedをください
0883nobodyさん2013/05/16(木) 19:08:30.78ID:???
こっそり書き換えるsedなら
0884PHP神2013/05/16(木) 20:21:10.92ID:???
>>875
読む分と書く分をfopenしてwhileでfgetsして処理してfwrite
08858702013/05/16(木) 20:28:48.82ID:pZ2YUXzt
>>874
ご指摘ありがとうございます。
requireはMDB2.phpだけ指定しています。
MDB2_driverも呼んでみましたが変わらなかったです。
0886nobodyさん2013/05/16(木) 20:40:17.71ID:???
>>885
そのコードはどこからコピーしてきたの?
0887nobodyさん2013/05/16(木) 22:58:34.11ID:???
DB_FETCHMODE_ASSOC は  pear:DB 
MDB2なら MDB2_FETCHMODE_ASSOC 
08888702013/05/17(金) 18:10:51.64ID:GrS1oXzW
>>887
解決しました!!
マニュアルはちゃんと全部読めってことですね、猛省します・・・。
みなさまありがとうございました!!
0889nobodyさん2013/05/17(金) 19:57:20.25ID:???
いや別のモジュールのサンプルコードをコピペしてくんなよってことだよ
0890nobodyさん2013/05/17(金) 20:42:22.69ID:hjTCl7an
PHP勉強し始めて1か月くらいなんですけど、質問です。スレチだったらすいません
↓このプログラムの値を受け取るにはどのようにしたらいいのでしょうか?
<form action="sample10-2.php" method="get">
<?php
$items=array('a-1'=>'ガム', 'b-2'=>'チョコレート', 'c-3'=>'クッキー');
foreach($items as $itemKey => $itemValue){
print('<input type="checkbox" id="'.$itemKey.'" value="'.$itemKey.'" />
<label for="'.$itemKey.'">'.$itemValue.'</label>');
}
?>
<input type="submit" value="送信する" />
</form>
0891nobodyさん2013/05/17(金) 20:46:23.00ID:???
>>890
受取先でvar_dump($_GET)してみ
0892nobodyさん2013/05/17(金) 21:54:07.09ID:hjTCl7an
>>891さん
array(0) { } ってでてきました。
0893nobodyさん2013/05/17(金) 22:03:08.07ID:???
送信するってボタン押した?
08948902013/05/17(金) 22:06:06.39ID:hjTCl7an
押しました!受け取る側のプログラムの変数宣言とかもわからないのですがそのせいでしょうか?
0895nobodyさん2013/05/17(金) 22:27:59.48ID:jIpNXAl4
レンタルサーバーで
/public_htmlファルダに置いたa003.phpに対して
同じく/public_htmlファルダに置いたtest.shに
#!/usr/bin/php

cd ~/public_html
/usr/bin/php a003.php

と書いて、cronマネージャに
sh ~/public_html/test.sh
と書いて実行しましたが、a003.phpは動きません

sh ~/public_html/test.shは間違いない記述で
a003.phpは動作正常に動作しています。
test.shのphpの実行の間違えだと思うのですが、
教えてください。
0896nobodyさん2013/05/17(金) 22:37:03.62ID:???
実行権限とか、改行コードとか
0897nobodyさん2013/05/17(金) 22:41:22.82ID:???
>>894
getメソッドなら送信後のURLをコピペしてみ
0898nobodyさん2013/05/17(金) 22:47:24.26ID:jIpNXAl4
実行権限はa003.phpが777で
test.shが777にしています。
レンタルサーバーの会社に問い合わせると、
phpは動く。
cronのコマンドなどのサポートは一切できない
という返信が来ました
もう、さっぱりわかりません
08998902013/05/17(金) 22:48:23.15ID:hjTCl7an
>>897さん
URLは
http://localhost/sample10-2.phpになりました
0900nobodyさん2013/05/17(金) 22:49:31.26ID:???
>>898
なんでPHP宣言でシェルスクリプト動かそうとしてるのさ
0901nobodyさん2013/05/17(金) 22:57:18.66ID:???
>>899
もうソースうp
0902nobodyさん2013/05/17(金) 23:03:59.98ID:???
実行権限はa003.phpが777で
test.shが777にしています。
レンタルサーバーの会社に問い合わせると、
phpは動く。
cronのコマンドなどのサポートは一切できない
という返信が来ました
もう、さっぱりわかりません
0903nobodyさん2013/05/17(金) 23:05:37.84ID:???
大事なことなので二度書きました
0904nobodyさん2013/05/17(金) 23:06:17.51ID:jIpNXAl4
test.sh
cd ~/public_html
/usr/bin/php a003.php

こうですか
0905nobodyさん2013/05/17(金) 23:06:57.67ID:???
777にする意味がわからない
0906nobodyさん2013/05/17(金) 23:26:49.02ID:???
>>902

あとは php のパスかなぁ。確認した?たまに
/usr/local/bin/php
のところもあるよ
0907nobodyさん2013/05/17(金) 23:52:42.50ID:jIpNXAl4
phpのパス
モジュール版 パス: /usr/bin/php
となってました
fc2 レンタルサーバーLITE
0908nobodyさん2013/05/18(土) 00:22:14.10ID:???
> sh ~/public_html/test.shは間違いない記述で

これおかしくないか?
間違えてないって何で言えるの?
シェルを実行しているルートからのパスにしないとダメだろ
0909nobodyさん2013/05/18(土) 00:28:16.12ID:sKm+lEFL
cron コマンドに
sh ~/public_html/test.shと記述すると
public_htmlの下に置いたtest.sh
にecho "why" > ~/public_html/naze.txtと記述した時に
public_htmlの下にnaze.txtが生成されるので、
sh ~/public_html/test.shで正しいと判断しました。
09108902013/05/18(土) 04:48:14.04ID:8v+sotfd
>>901さん
受け取り側のプログラムのソースは
array(0) {
}
でした。
0911nobodyさん2013/05/18(土) 06:37:50.58ID:6ky0kPCm
どうしてこう頓珍漢な投稿しかできないかというと
どうやって表示するのかすら考えようとしないからなんだよね(笑)
0912nobodyさん2013/05/18(土) 09:06:33.17ID:???
>>910
phpファイルをうpしろ
0913nobodyさん2013/05/18(土) 09:32:33.84ID:???
仮にシェルが正しく動いて、 a003.php が実行されても、
当然ですがPOSTはされません。 
>>890のPHPは、 そのような文字列を書き出すだけのものです。
その文字列が sample10-2.php へPOSTするような処理をするhtmlだと
認識して実行できるのはブラウザだけです。
普通はPOSTするだけのプログラムをPHPで書きます。
自動でPOSTするようなjavascriptを入れてブラウザになんとか渡して実行できていたとしても
checkboxは、チェックされていないとPOST時にキーすら渡しません。
0914nobodyさん2013/05/18(土) 09:46:20.08ID:???
はい?
0915nobodyさん2013/05/18(土) 11:26:02.37ID:???
シェルの書き方違うじゃねぇかw

#! /usr/bin/sh
/usr/bin/php 引数

引数はスクリプトのパスだ
09168902013/05/18(土) 19:00:46.89ID:8v+sotfd
>>912さん
元のphpプログラムのソースは
<form action="sample10-2.php" method="get">
<dl>
<dt>商品</dt>
<dd>
<?php
$items=array('a-1'=>'ガム', 'b-2'=>'チョコレート', 'c-3'=>'クッキー');

foreach($items as $itemKey => $itemValue){
print('<input type="checkbox" id="'.$itemKey.'" value="'.$itemKey.'" />
<label for="'.$itemKey.'">'.$itemValue.'</label>');
}
?>
</dd>
</dl>
<input type="submit" value="送信する" />
</form>
です。受け取り側はわからないです
0917nobodyさん2013/05/18(土) 19:21:28.77ID:???
>>916
>>912
09188902013/05/18(土) 19:30:34.88ID:8v+sotfd
>>917さん
レンタルサーバにうpしました。
http://yumaru51.sitemix.jp/sample10.php
0919nobodyさん2013/05/18(土) 19:36:28.52ID:???
>>918
再現する送信側と受信側のPHPファイルをうpしろ。
0920nobodyさん2013/05/18(土) 19:41:33.17ID:???
まて
この対戦がおわったら
0921nobodyさん2013/05/18(土) 19:44:51.53ID:???
これ受け取り側の問題だわ
09228902013/05/18(土) 20:14:52.87ID:8v+sotfd
>>919さん
再現?PHPの勉強でブラウザ上に表示させたいだけなんです!
できたら受け取りのプログラムをどのように書けばいいか教えてください!!
0923nobodyさん2013/05/18(土) 20:26:02.35ID:???
>>922
<?php
print_r($_GET[);
?>
09248902013/05/18(土) 20:34:42.77ID:8v+sotfd
>>923さん
GETの後はvalue属性の値でいいんですか?その時は変数宣言はいりますか?
0925nobodyさん2013/05/18(土) 20:35:29.58ID:???
print_r($_GET);

こうだった
このまま打て
09268902013/05/18(土) 20:38:06.79ID:8v+sotfd
>>925さん
sample10-2.phpのほうで
Array ( ) て表示されてしまいました。
0927nobodyさん2013/05/18(土) 20:43:18.18ID:???
あーわかった
送信側idじゃなくてnameに変えろ
09288902013/05/18(土) 20:54:09.48ID:8v+sotfd
>>927さん
できました!!ありがとうございます!!
ちなみにvalueの値を表示するのにはどうしたらいいですか?
0929nobodyさん2013/05/18(土) 20:57:32.46ID:???
$_GETは配列だからkey指定してやればいい
09308902013/05/18(土) 21:12:47.65ID:8v+sotfd
>>929
全部をチェックしたらArray ( [a-1] => a-1 [b-2] => b-2 [c-3] => c-3 ) と表示されるんですけど
キーだけ表示するにはどうしたらいいですか?
0931nobodyさん2013/05/18(土) 21:15:38.41ID:???
nameとvalueが一緒だからややこしいな
この場合だと
echo $_GET['nameの値'];で値が出せる
a-1だったら
echo $_GET['a-1']な

チェックされてるものだけ全部表示したいなら
foreach($_GET as $value){
echo $value;
}

で全部出る
09328902013/05/18(土) 21:40:16.26ID:8v+sotfd
>>931さん
できました!ありがとうございました!!
0933nobodyさん2013/05/19(日) 20:07:23.39ID:5aKhdCp3
windows版のPHPで、デスクトップフォルダにファイルを出力させたいのですが、

$desktop_path = getenv("HOMEDRIVE").getenv("HOMEPATH");
$path = $desktop_path.'\test.txt';
file_put_contents($path,"hoge");

とやっても、デスクトップフォルダではなく、ユーザフォルダにファイルが出力されてしまいます
どうするのが正しいのでしょうか
0934nobodyさん2013/05/19(日) 20:08:40.67ID:???
apacheの管轄外にファイルなんて勝手に作れるの?
0935nobodyさん2013/05/19(日) 20:11:36.88ID:???
HOMEPATHがユーザフォルダなんだから当たり前じゃん
0936nobodyさん2013/05/19(日) 20:49:22.95ID:???
(゚o゚;) ハッ
ありがとうございました
0937nobodyさん2013/05/19(日) 21:00:06.37ID:???
ID出してな
0938nobodyさん2013/05/20(月) 02:57:49.64ID:???
>>934
chrootとまざってる?
0939nobodyさん2013/05/20(月) 13:38:53.01ID:???
>>937
いやならスルーしろ
0940nobodyさん2013/05/20(月) 16:54:47.19ID:???
スルーするならその質問は未解決ということになるが
0941nobodyさん2013/05/20(月) 17:02:05.31ID:???
いやまあ今回のは質問じゃないからな
質問者と同じ人ではあるだろうけど
09429332013/05/20(月) 22:46:02.99ID:???
>>936は偽物です。
よく分からないから説明してくださいクズ共。
0943nobodyさん2013/05/20(月) 22:51:36.66ID:???
>>942
ID
0944nobodyさん2013/05/21(火) 13:52:14.79ID:zVTd5q9v
ディレクトリにphp.iniを置いて設定を上書きする場合についてですが、
いろいろなサイトを見ると、すべてのディレクトリに置く必要があると書いてあります
一般的なフレームワークのように、
ルートに置かれているindex.phpが、サブディレクトリの各ファイルを読み込んでいる場合、
サブディレクトリにも置く必要があるのでしょうか?
0945nobodyさん2013/05/21(火) 14:07:29.21ID:???
>>944
いろいろなサイトをググるより、とりあえず公式
http://www.php.net/manual/ja/configuration.file.per-user.php
0946nobodyさん2013/05/22(水) 03:02:39.01ID:bg0nnEgA
不可解なエラーが出ます。

mb_regex_encoding("UTF-8");
$str = "てすと";

$regex = '(\xEE\x80\x80)|(\xEE\x80\x81)';
$array = mb_split($regex,$str);
→エラーなし

$regex = '\xEE\x80[\x80-\x81]';
$array = mb_split($regex,$str);
→Warning: mb_split(): mbregex compile err: too short multibyte code string

正規表現が表わすものは同じなのに、後の例では警告が出ます。
理由は何でしょう?
0947nobodyさん2013/05/22(水) 07:03:42.22ID:+OY2v0pP
同じじゃねえよ
# 戻り値と後方参照は別として
$regex = '(\xEE\x80\x80)|(\xEE\x80\x81)';
 →$regex = '\xEE\x80\x80|\xEE\x80\x81'; と同一
$regex = '\xEE\x80[\x80-\x81]';
 →$regex = '(\xEE\x80\x80|\xEE\x80\x81)'; と同一
0948nobodyさん2013/05/22(水) 07:08:05.64ID:s3ucw8IQ
ランキングシステムのような物を趣味で勉強兼ねて作ろうと思ってるのですが
人気メーターのような画像を生成したいと思っており

メーターのmaxValueを100と設定した場合
http://www.example.com/meterimg.php?value=100
上記URLでメーターがMAXの画像が表示され

http://www.example.com/meterimg.php?value=50
上記URLでメーターが半分の画像が表示され

こんな感じで画像生成する方法って可能でしょうか?
可能であれば参考になりそうな記事等教えて貰えれば幸いです。
またこのような手法をなんというかも知りたいです。

よろしくお願いします。
0949nobodyさん2013/05/22(水) 07:25:19.91ID:???
>>948
どんな画像を生成したいかによるが生成自体はできる。
ただ、それなら10個ほど画像用意したほうが毎回生成するよりいいと思う。
php 画像生成 gd でぐぐればでてくる。
0950nobodyさん2013/05/22(水) 09:05:15.52ID:???
10刻みなんて誰も言ってないだろ
0951nobodyさん2013/05/22(水) 09:29:22.30ID:???
divの背景に画像入れて幅指定のスタイルをPHPで書き出せばいいだろ。
0952nobodyさん2013/05/22(水) 09:48:53.15ID:s3ucw8IQ
>>949
ありがとうございます。
自分でも画像を10個程度用意してやろうかと思ったのですが
出来ればmaxvalueなる値を設定出来るようにしたかったので
この方法が出来ればなぁと質問させて頂きました

ご提言頂いたphp 画像生成 gdで調べてみます。

ありがとうございました。
0953nobodyさん2013/05/22(水) 15:14:10.07ID:bg0nnEgA
>>947
ありがとうございました
同じになるように、エラーが出ない方を
$regex = '((\xEE\x80\x80)|(\xEE\x80\x81))';
としても、エラーは出ません。
[\x80-\x81]の展開部分に何か問題があるようです
mbregex compile err: too short multibyte code string
で検索しても、情報がほとんどなく困っています
0954nobodyさん2013/05/22(水) 16:30:20.92ID:???
>>952
ロールオーバーでよくね?
0955nobodyさん2013/05/22(水) 16:50:09.27ID:???
鬼車では、そういう記述が出来ないようです。
[\xEE\x80\x80-\xEE\x80\x81] って書いてください。
0956nobodyさん2013/05/22(水) 17:10:09.02ID:bg0nnEgA
rubyの人が同じような現象を書いていたので、なにかそのへんかと思っていたのですが、そういうことですか
ありがとうございました。
0957nobodyさん2013/05/23(木) 10:07:22.17ID:???
>>948
>>951じゃないけど、この人の言うやり方はかなり効率的だよ。
PHP-gdや固定的な画像だけでなんとかするというよりも
cssやjQueryを併用してブラウザ側に視覚的な処理を持たせることも
考えたほうが、構築も負荷も楽になるじぇ。
0958nobodyさん2013/05/23(木) 15:08:16.74ID:???
グラフが保存できないという致命的な問題が
0959nobodyさん2013/05/23(木) 19:09:57.40ID:C+sPY2uV
自分の要件すらわからないという致命的な問題があるな、うん
0960nobodyさん2013/05/24(金) 03:03:29.49ID:???
なんでcanvas使おうって話にならないんだ?ここだけ何年も前で止まってんの?
0961nobodyさん2013/05/24(金) 07:40:55.82ID:???
なんでcanvas使おうって話になるの?
0962nobodyさん2013/05/24(金) 07:43:06.74ID:???
社会性がないワガガマンだからw
0963nobodyさん2013/05/24(金) 10:01:17.06ID:N0RBDP8p
【OS名】CentOS 6.4
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL
【質問内容】
配列について質問です。

$_POST['num1']
$_POST['num2']
$_POST['num3']

と配列があるのですが、この個数が不確定な状態です。
num1 〜 num3 までのときもあれば num1 〜 num78 まであるときもあります。
現在は1個ずつnum*があるかどうかを確認してから取り出しているのですが
num*の*の部分を正規表現みたいな感じで一気に抜き出すようなことはできないでしょうか?

もしくは効率の良い方法などあればご教授いただけないでしょうか。
0964nobodyさん2013/05/24(金) 11:44:27.09ID:???
>>963
foreach ($_POST as $key => $val) { ... }
0965nobodyさん2013/05/24(金) 15:49:43.00ID:???
$results = array();
array_map(function($element) use ($results) { if(preg_match('/^num([0-9]+)$/', $element, $m)) { $results[] = $m[1]; } });
0966nobodyさん2013/05/24(金) 15:51:14.48ID:???
間違えた

$results = array();
array_map(function($element) use ($results) { if(preg_match('/^num([0-9]+)$/', $element, $m)) { $results[] = $m[1]; } }, $_POST);

これで $results に数字の部分だけが配列になって入ってるはず。
0967nobodyさん2013/05/24(金) 15:52:54.06ID:???
また間違えた

間違えた

$results = array();
array_map(function($element) use ($results) { if(preg_match('/^num([0-9]+)$/', $element, $m)) { $results[] = $m[1]; } }, array_keys($_POST));

何やってんだおれ
0968nobodyさん2013/05/24(金) 16:16:22.06ID:???
>>965-967
無理に回答しなくて大丈夫ですよ
0969nobodyさん2013/05/24(金) 16:21:49.71ID:???
無理やり一行にするなって何回言ったらわかるんだ????????????????????
0970nobodyさん2013/05/24(金) 16:22:38.74ID:???
ifを1行に書く意味がわかんね
何のための三項演算子だ
0971nobodyさん2013/05/24(金) 16:25:56.38ID:???
$results = array(); array_map(function($element) use ($results) { if(preg_match('/^num([0-9]+)$/', $element, $m)) { $results[] = $m[1]; } }, array_keys($_POST));
0972nobodyさん2013/05/24(金) 16:27:20.22ID:???
$results = []; array_map(function($element) use ($results) { if(preg_match('/^num([0-9]+)$/', $element, $m)) { $results[] = $m[1]; } }, array_keys($_POST));
0973nobodyさん2013/05/24(金) 16:28:13.75ID:???
$r = []; array_map(function($e) use ($r) { if(preg_match('/^num([0-9]+)$/', $e, $m)) { $r[] = $m[1]; } }, array_keys($_POST));
0974nobodyさん2013/05/24(金) 17:37:29.91ID:tSKlADWF
ここでいいのかわからんですが
鯖がcentosで空メールのシステムを作っているのですが、
aliecesにパイプ処理で受信してからphpに処理を引き渡してます

ウェブサーバーでphpを動かす時はapacheですが、こんな風にパイプで
phpに処理させるときって、そのphpファイルを実行するユーザは誰なんでしょう
0975nobodyさん2013/05/24(金) 17:39:49.26ID:???
こういう使い方をしたいときは、レキシカル変数を参照で渡しましょう。


for($i = 1 ; $i<=78 ;$i++)
if (isset($_POST['num'.$i]))
$r[$i] = $_POST['num'.$i];

でいいんじゃねーのと思うがね。
0976nobodyさん2013/05/24(金) 17:59:56.83ID:???
>>974
こんな風にというのがどんな風なのかわからないが、コマンドラインでphpを実行するのならそのユーザ、
cronもそのユーザ、apacheで実行されるphpでコマンドを起動するなら、apache。
09779762013/05/24(金) 18:02:40.48ID:???
あ、aliecesって、/etc/aliasesのことか。
だったら、postfixなんかを起動したユーザ(普通はroot)かな。
09789762013/05/24(金) 18:09:44.10ID:???
ごめん、全然違ってた。
デフォルトだとnobodyみたい。
http://d.hatena.ne.jp/takel/20100827
0979nobodyさん2013/05/25(土) 19:59:05.35ID:aLejvzSw
strstrとmb_strstrってありますが、strstrでは日本語は判定できないってことでしょうか?
UTF-8の文字コードであれば、mb_strstrを使うべきなのでしょうか?
0980nobodyさん2013/05/25(土) 20:23:17.62ID:???
そうです
0981nobodyさん2013/05/25(土) 20:24:38.26ID:aLejvzSw
ありがとうございました
0982nobodyさん2013/05/25(土) 20:29:04.77ID:???
日本語と英語
全角文字と半角文字
アルファベットとひらがな
シングルバイトとマルチバイト
UTF-8とASCII

それぞれ意味が違うから気をつけてな
0983nobodyさん2013/05/25(土) 20:30:05.85ID:aLejvzSw
でもstrstrでも同じ結果で判定できたんですよね
何ででしょうか?
0984nobodyさん2013/05/25(土) 21:03:47.41ID:???
同じだったから
0985nobodyさん2013/05/25(土) 22:34:50.52ID:???
規制されているのでレス代行で申し訳ありません
質問と言うより相談なんですが
mysqlのパスワードなどが書かれているphp(config.php)のの保存場所ですが
皆さんどのように保存してますか?

httpでアクセスできない場所に格納するだけしかやってないのですが
もっと良い方法とかあったりするんでしょうか?
0986nobodyさん2013/05/25(土) 22:41:01.12ID:???
>>985
>>1
0987nobodyさん2013/05/26(日) 09:35:49.57ID:???
俺のサーバーはプライベートな領域にファイルを置けないんで
公開ディレクトリに設置してるけど、
ホームページにドクロマークをつけて
「クリックするな」というリンクを張ってるよ。
0988nobodyさん2013/05/26(日) 18:55:22.13ID:???
PHPは糞って言われるけど、じゃぁ何を使ったらいいの?
0989nobodyさん2013/05/26(日) 18:56:05.70ID:???
ruby
0990nobodyさん2013/05/26(日) 18:59:25.23ID:???
>>989
言語の美しさ?とかじゃなくて実行効率・開発効率を重視してます。
ほぼ毎週くらい、新規に要求定義が変わってくるんです。
もう3年ほど運用してますが。
0991nobodyさん2013/05/26(日) 19:00:41.03ID:???
python
googleも大好きpython
python選んでおけば間違いない
0992nobodyさん2013/05/26(日) 19:43:09.74ID:???
python(笑)
0993nobodyさん2013/05/26(日) 19:44:31.09ID:???
perl「(なんで候補にあがらないんだろう・・・)」
0994nobodyさん2013/05/26(日) 19:46:28.42ID:???
perlのいいところって何よ?
0995nobodyさん2013/05/26(日) 21:34:54.53ID:???
pearl よりも一文字タイプ数が少ないところ
0996nobodyさん2013/05/26(日) 21:37:25.99ID:???
ぱーる(笑)
0997nobodyさん2013/05/26(日) 21:56:58.54ID:???
エラーが起きてもどの箇所でエラーが起きているのかがはっきり分からないところ
0998nobodyさん2013/05/26(日) 22:07:17.00ID:???
なるほど、それは便利だな!
0999nobodyさん2013/05/26(日) 22:36:59.39ID:lTpjZRZk
【OS名】CentOS
【PHPのバージョン】6.4
【連携ソフトウェア】MySQL PDO
【質問内容】
PDOの接続からload data infileを使おうとするとmysqlからAccess denied for userのエラーが出てしまうのだけど
どうすればいいんでしょう?

ちなみに接続オプションにPDO::MYSQL_ATTR_LOCAL_INFILEをセットしてもダメでした。
1000nobodyさん2013/05/26(日) 22:57:44.75ID:???
ageすません。
そして解決しましたmysqlの接続ユーザにfile権限がついてませんでした。
mysqlいちいち面倒くさい。。。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。