【PHP】下らねぇ質問はID出して書き込みやがれ 101
質問者はまず
>>1 を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは
>>2-10 辺り
次スレは
>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 100
http://hibari.2ch.net/test/read.cgi/php/1288168893/ ◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
【簡易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)、起動&再起動あたり
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に保存?
→ 好きにしてください
自分で立てると言い張っておいて他人が立てないのが不満とか、 よっぽど「ID出して」に拘っているらしいのw
流行らないからって荒らしてないで巣に帰れよ わざわざ立ててやったのにこっちにくるな
別に立ててくれとお願いした記録は無い
別に立てないでくれとお願いされた記録は無い
あんまいじるとまた精神病がどうのってわめきだすぞきっと
11 :
nobodyさん :2010/11/15(月) 17:37:00 ID:3z5XhT6c
セッションは1vs1だからロックは必要ない
vsってなんか変だな 1:Nじゃなくて1:1の関係だからってことね
session_startでopenが呼ばれその後にreadかな で、$_SESSIONに色々いれてってsession_write_closeのタイミングでwriteされる 普通なら全部の処理が終わった後かな それまでDBに値は保存されない まぁ非効率な書き方だけどそこに書いてあるのは使えると思う
15 :
11 :2010/11/15(月) 18:02:14 ID:???
>>12-14 なるほど。
ありがとうございます。
ここを参考にいろいろいじってみます。
16 :
nobodyさん :2010/11/16(火) 11:26:05 ID:+AQcrCT7
18 :
nobodyさん :2010/11/16(火) 11:40:27 ID:+AQcrCT7
>>17 ありがとうございます!! 簡単にできました!!
19 :
nobodyさん :2010/11/16(火) 11:52:34 ID:+AQcrCT7
そのへんの記事を鵜呑みにするのはやめなよ ケースバイケースであるのは言うまでもなく 本質がちゃんとわかってればそんな記事は書かない 緩やかな比較が問題にならないのであれば使えばいいじゃない
>>19 そもそもその例は引数がString型にかも関わらずint型をいれてるのがおかしい
JavaではIllegalArgumentExceptionが投げられるケース
ようするに最初に引数のチェックをすればいい
if (!is_string($value)) {
return '';
}
PHPは変数型の違いでしばしば違う挙動をするので、switchだけに限った話ではないし 心配するな。
23 :
19 :2010/11/16(火) 13:47:36 ID:ppACHWY2
みなさん、ありがとうございます。 とても参考になりました。
switchが原因なんじゃなくて 「緩やかな比較」が原因でしょ? 原因理解していないとifでもswitchでも関係ないとおもふ
明示的に型を指定して変数宣言できるようにならんものかね >PHP
明示的に宣言したって ゆるゆる比較されたら同じだろ。
いいえ 宣言外の型が入ってたらエラーなり例外出すに決まってるだろjk
自分で作ってしまうとか
型同士の比較以前に違う型をいれただけで問題になるってこと
昔のPHPなんてpostで送られるとそのまま$name変数に入ってたんだぜw それから見ればかわいいもんさ
よくわかってないやつがいるな 静的型付けを経験してないと理解には苦しいのかもな
スレストしたやつがいるな
昔のPHPなんて拡張子.php3 とかだったんだぜw それから見ればかわいいもんさ
<? if ($hello); echo("こんにちは"+"こんにちは"); endif; >
懐かしいね。if文の後ろがコロンに変わったのはPHP3からだっけ?
37 :
nobodyさん :2010/11/17(水) 08:23:36 ID:glr8FxGN
変数とインスタンス変数の使い分けで相談させてください。
$email (変数)
$this->email (インスタンス変数)
下のような例みたいに、引数で値を渡しても、インスタンス変数で
渡してもどちらでもできる場合が多いのです。
シンプルに引数で渡せる場合は常に引数で処理したほうがよいでしょうか?
引数が多くなって配列で渡さないといけなかったり、処理をまたがる
時のみインスタンス変数を使うのでしょうか?
function send_email () {
$this->email = '
[email protected] ';
$this->emailText ();
}
function emailText() {
$text = 'あなたのメアドは' . $this->email . 'です';
echo $text;
}
何の話か良く見えないが オブジェクト指向プログラミングって知ってるかね
んー ご質問の内容がわかりません。 引数で渡した場合の例とインスタンス変数で渡した場合の例を書いたら 分かる人がいるかも知れません。
決まりがないから好みの問題としか言いようがない より柔軟に対応したいならソースは膨らむけどどれにも対応できるように書けばいい
41 :
37 :2010/11/17(水) 13:07:43 ID:IiWTl4Z8
みなさん、ありがとうございます。 引数で処理したほうがシンプルな場合は、出来る限り引数で 処理していこうと思います。 処理をまたがる時などは今まで通りインスタンス変数で。
エスパーか
インスタンス変数の意味がわかってるのだろうか・・・
>>37 みたいになってるのに、
$this->emailText ($this->email);
ってやりかねない。
Head Firstオブジェクト指向分析設計とか読むと良い
46 :
nobodyさん :2010/11/17(水) 16:48:19 ID:WSlo4hEX
今現在の最新のPHPのバージョンっていくつですか? 5.3?6?
49 :
nobodyさん :2010/11/17(水) 17:29:38 ID:WSlo4hEX
ありがとうごじゃいます
目の前にある醤油を人にとってもらうな
52 :
nobodyさん :2010/11/17(水) 23:30:00 ID:1zVuoSwh
PHPのプログラムから、 C++で作成したプログラムを起動し、結果を得る方法はありますか?
あるお
54 :
52 :2010/11/17(水) 23:37:35 ID:1zVuoSwh
>>53 どのようにして行うのでしょうか?
動作のイメージは、
(1) Webブラウザ上で、「実行」ボタンを押す。
このとき、ユーザが入力した情報をPHPに送る
(2) PHPは、ユーザの入力情報をC++の引数にしてC++プログラムを実行する
(3) PHPは、C++の実行結果を受け取り、加工し、ユーザに表示する
という流れです。
それでおk
質問が悪い
>C++で作成したプログラムを起動し、結果を得る方法はありますか? これで意味通じるしそう思ってるのは1人だけ
わざわざ見当違いの答え書くのはいじわるだね
見当違いじゃない答えを書けよ
61 :
59 :2010/11/18(木) 00:57:08 ID:???
>>60 だれ?ちなみに自分の言ったのは「あるお」って答えのことね。
>>59 は
>>56 に対してのレスでしょ?
性格悪いに対して意地悪といったんだろ?
なんにしても中途半端で抽象的すぎる
黙ってたほうがいいわ
ありますか?→あるよ どのようにして行うのですか?こういうイメージです→それでおk アフォすぎるwwwwwww
64 :
59 :2010/11/18(木) 01:06:30 ID:???
>>62 ちがうちがう。53、55、57に対して。
解決法を求めてるのに「ありますか?」に「ある」は見当違いで意地悪だ、と。
まあ黙るよ
まさかの自虐かよ
クソフイタwwwwwww
ありますか? あるよ これツマラン
どうでもいいけど
>>54 に誰か答えてあげんのか?
俺はよく知らんから答えられんけど。
systemとかexec使うんでしょ ググればでてくると思う
70 :
nobodyさん :2010/11/18(木) 03:16:36 ID:AjT8/33v
paypalのAPIって携帯電話に対応出来ないのでしょうか?
PayPalのAPIが携帯に対応できるかどうかはPHPの問題なのかな。
>>71 どこで聞いたらいいのか分からなかったので、
PHPの質問なら誰かやったことがある人がいるかなと思いまして。
75 :
nobodyさん :2010/11/18(木) 12:27:09 ID:Kr+Dzwb6
例1のように、 0, 3, 4 となってしまったarrayを 例2のように 0, 1, 2 と整列されるにはどうすればよいでしょうか? 例1 array { [0]=>array { ["area"]=>"東京"} [3]=> array { ["area"]=>"埼玉" } [4]=> array { ["area"]=> "千葉" } } 例2 array { [0]=>array { ["area"]=>"東京"} [1]=> array { ["area"]=>"埼玉" } [2]=> array { ["area"]=> "千葉" } }
$array = array_merge( $array );
77 :
75 :2010/11/18(木) 12:53:52 ID:Kr+Dzwb6
>>76 うおーーーー!! うまくいきました!!! 神すぎる。。
この問題でさっきからずっといろいろ考えていまして、
arrayのマニュアル見てもなかなかそういう動きをするのが見つからなかったのです。
本当にありがとうございます!!
>>77 前スレでも同じ質問があったね。
array_values でもいける。
simplexmlでxmlにデータを追記したいんですが ファイルロックはできないんでしょうか?
$count = 13; $random1 = rand(1,$count); $random2 = rand(1,$count); $random3 = rand(1,$count); while($randam2 == $random1){ $random2 = rand(1,$count); } while($randam3 == $random1 or $randam3 == $random2){ $random3 = rand(1,$count); } これで3つ全部が違う数字になると思ったんですが、同じ数字が出たりします どこをどう直せばよいでしょうか?
82 :
nobodyさん :2010/11/19(金) 07:14:23 ID:dkGBucVh
すみません、sageチェック外したつもりでいました $count = 13; $random1 = rand(1,$count); $random2 = rand(1,$count); $random3 = rand(1,$count); while($randam2 == $random1){ $random2 = rand(1,$count); } while($randam3 == $random1 or $randam3 == $random2){ $random3 = rand(1,$count); } これで3つ全部が違う数字になると思ったんですが、同じ数字が出たりします どこをどう直せばよいでしょうか?
srand
ごめんそんな話じゃなかった >randam
85 :
nobodyさん :2010/11/19(金) 07:52:29 ID:dkGBucVh
1〜$countまでのランダムで、重複しない3つの数値をだすだけなのでやり方自体変えたらできました さっきのがなぜできないのかはわからないままですけど・・・ $count = 13; while($count > 0){ $random[] = $count; $count--; } shuffle($random); print_r($random); echo $random[0].' '.$random[1].' '.$random[2];
$randam2 == $random1 ってのが $random2 == $random1 だったらいけたのかもね。 1〜$countまでのランダムで、重複しない3つの数値 だったら $rand = range(1,$count) shuffle($rand); $r1 = $rand[0]; $r1 = $rand[1]; $r2 = $rand[2];
ミスった・・・ま、間違いさがしなんだからね ///
88 :
nobodyさん :2010/11/19(金) 10:10:05 ID:dkGBucVh
>>86 スペルミスには気づかなかったですありがとうございました
rangeで入れれるんですね
前にそういう入れ方しようとして思った挙動しなかったからずっと封印してました
rangeは指定した範囲の連続した数値の配列を作る関数
>>82 のは計算量も悪いし
>>85 はうまく出来てる
90 :
89 :2010/11/19(金) 10:14:46 ID:???
91 :
nobodyさん :2010/11/19(金) 10:51:20 ID:dkGBucVh
natsortで01とかせずに数字順に並べたんですが、これを逆順にする方法を教えてください natsort($foo); krsort($foo); だとnatsortの自然順が無効になってしまいまいした
array_reverse ってこと?
php://memoryはスクリプト内なら何処でもアクセスできるわけではなくてファイルポインタがないとだめなのか、 期待はずれ。
最近スレ間違える人が多いな
おちんちんびろーん
2ちゃんでID:???にしなければならない理由がさっぱりわからない IDは全表示仕様で何の問題もないはずだけど 困る奴がいるとしたら自分で振って自分で答えている奴だけだろ
お前この板の住人じゃないだろ とってもこの板の住人とは思えない発言だな
>>90 >>86 は$countが小さい時限定かな。
$count=13くらいなら可読性重視でOKだけど。
よいツッコミだ
102 :
79 :2010/11/19(金) 18:27:10 ID:Xg+w3hRV
sageはずしてませんでしたすいません 【OS名】centos 【PHPのバージョン】5.3.3 【質問内容】 <?xml version="1.0" encoding="UTF-8"?> <data> <name>test</name> </data> のxmlに追記して <?xml version="1.0" encoding="UTF-8"?> <data> <name>test</name> <document> <date>2010/11/19 18:14:40</date> <text>テキスト情報</text> </document> </data> の様にdocumentを増やしていきたいです. 以下で追記できたんですがファイルをロックして同時書き込みおきないようにできますか? $xml = simplexml_load_file($xmlpath); $data = $xml->addChild("document"); $data->addChild("text","テキスト情報"); $xml->asXML($xmlpath);
マルチというか前から何度もやってたろ
105 :
nobodyさん :2010/11/19(金) 19:48:21 ID:YGq1Nnb/
phpでcadaverのコマンドを実行してwebdavにフォルダやファイルを作成するという処理を書いているのですが、うまくいかずに困っています 具体的にはproc_openを使ってcadaverを実行、fwriteでユーザ名、パスワード入力を行ったあと さらにfwriteでmkcolコマンドを入力してフォルダを作成しようとしたのですが、 認証が終わった後のmkcolコマンドが実行されず、コネクションが切られてしまいます 以下が書いたコードです(長いので出力部などは削りました) $despec = array( 0 => array("pipe","r"), //標準入力 1 => array("pipe","w"), //標準出力 2 => array("pipe","w") //エラー ); /*$URLはwebdavのアドレス*/ $cmd = "cadaver ".$URL; $cadaver = proc_open($cmd,$despec,$pipes); fwrite($pipes[0],"ユーザ名"."\n"); fwrite($pipes[0],"パスワード"."\n"); fwrite($pipes[0],"mkcol test"."\n"); fclose($pipes[0]); fclose($pipes[1]); fclose($pipes[2]); proc_close($cadaver); また、悪あがきで各fwriteの前後にsleepを入れて処理を少し止めてみてもうまくいきませんでした… 原因のわかる方どうかご教授お願いします
>>105 認証までは確実に完了していますか。
stream_get_contentsで出力を取得して確認してから次のコマンドを送信していますか。
直接関係ないですが$URLはescapeshellargしたほうが安全ですね。
107 :
105 :2010/11/19(金) 23:28:02 ID:YGq1Nnb/
>>106 レスありがとうございます。
認証までは標準出力の結果から成功していることが確認できたので、
stream_get_contentsをパスワード入力のコマンドの後に挟んであげたところ、
mkcolコマンドが実行され、webdavにフォルダを作成することができました。
一度出力をとってあげる必要があったのですね…。
全部入力が終わった後に出力を取ろうとしていたのが悪かったようです。
本当に助かりました。ありがとうございます!
>>107 それで解決したとなると標準出力のバッファの問題か、
タイミングの問題かのいずれだったようですね。
109 :
nobodyさん :2010/11/20(土) 03:50:59 ID:QJj9HgSp
phpMyAdminでレコード数の数字の前に付く半角の~は、どういう時に付くの?
110 :
nobodyさん :2010/11/20(土) 06:56:15 ID:ZtcK2EKT
>>92 ありがとうございます逆順にできました
>>100 多い場合の重複のないランダムの数字いくつか、ってどうするのがよいですか?
後学のためにご教授いただければ幸いです。お願いします。
はあ・・・ごめん
117 :
110 :2010/11/20(土) 10:04:44 ID:ZtcK2EKT
なんか荒れる原因作ってしまったみたいで申し訳ない
>>113 が答えだと思って受け止めておきます
ありがとうございます
荒れてないよ
>>110 可読性とか言ってるから代入文が3行あることを言ってるのかもね
$data = array(11,22,33,44,55,66,77,88,99);
$n = 3; // 取りたい数
// スライスで先頭3件する場合
shuffle($data);
$ret = array_slice($data, 0, $n);
// array_randを使う場合
$ret = array();
$keys = array_rand($data, $n);
foreach ($keys as $key) {
$ret[] = $data[ $key ];
}
shuffleでいいと思うけど、不必要な分までシャッフルしてるのが気になるなら後者で
ちなみにarray_randは第2引数が1だった時、違う動きするのでそれだけ注意
それは可読性じゃなくて保守性・拡張性じゃないか?
121 :
119 :2010/11/20(土) 10:34:24 ID:???
あぁ、分かった。 >119の後ろから2行目の事言ってたのかw
>>119 $ret = array(); って要るの?
>>119 > 不必要な分までシャッフルしてるのが気になるなら
array_randも内部的には同じようなことをしているような気がする。
124 :
nobodyさん :2010/11/20(土) 14:13:21 ID:92vo/MT6
質問です
>>124 エスパーしてみる。
彼女が作れないから、phpで解決できませんか?だろ。
答えてこそのエスパー
127 :
nobodyさん :2010/11/20(土) 22:47:15 ID:U0bykvKx
初心者がxampp使うな
メールサーバはちゃんと起動してるの?
130 :
127 :2010/11/20(土) 23:54:48 ID:U0bykvKx
>>129 ご返答ありがとうございます。
申し訳ありません。起動してるかどうかだけでなく、質問の意味さえよくわかりません。
Outlook Expressから直接メールすることは出来ますが・・・そういうことではないですよね!?
ね、xampp使ってるとこうなる
その程度も分からんのか
なんでもかんでもxamppのせいにしたがるやついるな あれはサーバパッケージであってLAMPを個別にインストールする必要がないってだけのシロモノ 個々にとってきたところで用語もしらないのに高望みすればどっちみち同じとこでハマル
まぁ他人に迷惑かかるから最初からメール処理は手出さないほうがいい ローカルで完結する処理を勉強しなよ
>>127 xamppにはsendmailみたいなものはないのかな?
Windowsのことはよくわからないけど、sendmaneとかいう代替ツールがあった記憶が…。
xamppならC:\xampp\sendmailの中にあるさ
marcuryってサービス起動すればいい
138 :
127 :2010/11/21(日) 00:55:30 ID:ywZ4z07q
>>135 返答ありがとうございます。
>>136 の言うとおり、あります。
>>127 の下から6行目(空白を除く)が中身です。
http://ccfa.info/cgi-bin/up/src/ccfa39655.jpg (再掲)
>他の厳しいご意見をくださっている方々へ。
力不足過ぎることは自覚しております。
ローカルで完結する処理を勉強というのも最もだとは思います。
ただ、例えば画像アップロードの練習なりユーザー認証の練習なり、
様々な箇所で、つまずくことが増えるかと思うのです。
以前、軽く学ぼうとしたときもそこらへんでつまずきました。
本来は先に学ぶべきこともあるのかもしれませんが、
私の勝手な事情ですが、多少、急ぎ足で学ぶ必要もあったりで。
一応、質問スレなので、どなたかでもお答えくださっているうちは
図々しくも、居座らせていただきます。ご理解ください。
xampp使うなっていうやつは、この単語が出るたびに書き込まないと気がすまない 変わったやつだからほっとけばいいよ。 で、それだけ書いて説明しないのな、奴。 あんな初心者向けで説明側が楽なもんも無いのに。
初心者向けじゃないよ 経験者向けだよ
142 :
127 :2010/11/21(日) 01:07:12 ID:ywZ4z07q
sendmailのスレで聞けよ
具体的にどうすればいいって おめーさんはxamppコントロールパネルをいじったことはないのか
いじわるしないで教えてやれよ わからんなら答えるなよ邪魔だから
お前が言うな知障
これだけ分かりやすい自演も珍しいw
知障って言ったな。じゃぁもういいよ知障で。
>>1 に書き足しておくか。
xamppはNGワードって。
荒らしてるやつは隔離スレいけ こっちこなくていいから
157 :
127 :2010/11/21(日) 01:29:10 ID:ywZ4z07q
>>137 >>144 すいません。
過去に少し学んだときは、上二つ(ApacheとMySpl)のみ触っていたので
Mercuryの存在に気づきませんでした。
Mercuryを起動させ、フォーム画面(html)を開いて、テスト送信しようとしたら
確認画面にすら行かず、確認画面を作ったphpファイルを開くか保存するかの画面が出てきたのですが・・。
また、Mercuryというのを使う場合、127の下5行に書いたポート番号の違いは関係ないのでしょうか?
sendmail.iniの修正方法も引き続き、よろしくお願いします。
いい加減にスレ違いやめてくれない? sendmailの設定のどこがPHPと関係してるの?
>>157 xamppの構成要素の一つとしてPHPがあるだけで
メールサーバの動かし方とか設定の仕方をPHPスレで聞くのは全くもってスレ違い
まずPHPを経由せずにメールを送れるようになってから質問することをお勧めする
いじわるしないで教えてやれよ
わからんなら答えるなよ邪魔だから
>>158 は>スレタイを100万回読め
>>142 の知恵袋に回答かいてあるし
お前のISPってhome.ne.jpじゃないの?
>>127 さん
話は変わりますが、
Shift-JISは何かと問題があるので
UTF-8を使ったほうがいいですよ。
仮想マシンにUbuntu入れて環境構築したほうが楽だし実用的だと思うけどなあ xamp(というよりwindows自体)は設定とか訳が分からなくてやる気が失せた windowsはサーバー用途に向いてないね。
IIS
PHP5.3.4RC1出てる
166 :
nobodyさん :2010/11/21(日) 05:41:53 ID:9VXuUNTg
郵便番号から住所を返してくれるようなサービスで どこが信用できそうですかね。 何箇所かあるのですが、利用規約で当社の都合で止めることがあるって 所が多いもんで。 それと、JavaScriptでローカルからリクエストするのと Ajaxでサーバからリクエストするのとどっちがいいんでしょう。
>>166 大抵のサービスは日本郵政でDLできるKEN_ALL.CSV使ってるだけだから自分で作ったら?
フォーマットちょっとクセがあるからしょぼいサービスだと060-0000とか604-0971とかで検索すると結果が変になる。
月1回、差し替えする作業をしたくないという意味だったら
日本郵政からzipをDLして設置するスクリプトを動かすとか。
後半は「外部API叩く時、Javascriptから直接か、ProxyにPHPを挟むか」ってことだね?
IPアドレス単位でリクエスト数制限掛かってる場合はできるだけ直接で実装、
APIの返却結果が信用ならないとか、クロスドメイン関係で何か問題出る時は
仕方ないのでProxy挟むか…という感じ。
ここまで書いたからもう投稿するけど、どこにPHPの要素がw
>しょぼいサービス つまりしょぼくないって事さ!
PHPなんて時代遅れですよ♪
PHP 1995年 Ruby 1995年 Perl 1987年
pythonも1990年なんだな むしろ最近新しいスクリプト言語出てないんだな
色々出てるじゃん Groovyとか2003年だよ まぁJAVAって言っちゃえばあれだけどさ
curl・・・
そんなマイナーなの知らないw PHPは3が出た98年くらいにはかなり一般層まで流行ってたじゃん
177 :
nobodyさん :2010/11/21(日) 12:57:10 ID:x8KxVX64
質問よろしいでしょうか? データベース絡みですが、SQL 構文自体ではなく php 側の設定の問題だと思うのでここでお願いします。 PDO を通して SQLite3 を使っています。 初期設定をし、以下の方法で SQLite3 のデータベースを表示できました。 $dbh = new PDO('sqlite:test.sqlite3'); $sql = 'SELECT * FROM test;'; $res = $dbh->query($sql); $row = $res->fetch(PDO::FETCH_ASSOC); ... ところが、以下の方法だとエラーが出てしまいます。 $dbh = new PDO('sqlite:test.sqlite3'); $sql = 'SELECT * FROM test;'; $sth = $dbh->prepare($sql); $res = $sth->execute(); $row = $res->fetch(PDO::FETCH_ASSOC); ... Fatal error: Call to a member function fetch() on a non-object in 〜.php on line 58 (つづく)
178 :
177 :2010/11/21(日) 12:57:35 ID:x8KxVX64
続きです。 このエラー自体は検索すると多くでてきたのですが、大概は SQL 構文が間違ってると言われます。 ただ、query が上手く通ってるので、SQL 構文に間違いはないと思います。 execute の結果を var_dump してみたところ、bool(true) と出ます。 確かにオブジェクトではないのでエラーが出るのは分かるのですが、 マニュアルによると execute は、SQLite3Result オブジェクトもしくは FALSE を返すとあるので、 true が返ってきている原因が分かりません…。 環境は以下の通りです。 Windows XP Apache 2.2 (httpd-2.2.17-win32-x86-no_ssl.msi) PHP 5.2.14 (php-5.2.14-win32-installer.msi) PupSqlite (pupsqlite_ver_1991.zip) 長くなってしまいましたがよろしくお願いします。
181 :
177 :2010/11/21(日) 13:26:08 ID:???
Sqlite使う奴多いな
このスレだとなぜか多いな
掲示板とかログ管理とかぐらいの規模だとちょうどいいからな
MySQLだとなんでだめなん?
ダメというわけではないが SQLiteの方が移植性高くて楽 PHP5以降だとPHPあれば動くしな どこかに移すのもSQLiteのファイルをもってくだけ これほど楽なものはない
別にdumpして持って行って突っ込めばよくね?
移行先にもmysql鯖を構築する必要が出てくるだろ 権限周りの設定云々も必要になってくる 文字コードの設定もね 本や配布スクリプトの場合 そういった環境依存になる部分がSQLiteの方が少なくなる だからSQLiteの方が多くなるのは必然と言える
トレンドで判断するとか馬鹿すぎるな
じゃ何で判断するんだよw
trends使いたかっただけとエスパー
で、SQLiteの方が多いという根拠はどこに?
195 :
nobodyさん :2010/11/21(日) 16:35:29 ID:xEOrsG3N
YahooがGoogleの検索エンジン使ってるって事は、今更YahooにPing送っても無駄って事ですか?
>>190 答えられないんじゃねぇかw
ともかく別にMySQL好きなわけでもないけどそれでもSQLiteが多いはねーわ。
シェアも機能も、やっぱりオマケ程度のDBだよ。
どーでもいい議論は別スレで
おれの勘なんだが このスレでは今後も不毛なレスが続く
多くなると書いてるんだが・・・ そして前提として本や配布スクリプトとも書いてる そこにMySQLとSQLiteの比較をするのは馬鹿としか言いようがない シェアとしては利用できる規模等も考慮すれば MySQLの方が多いのは当たり前 因みにchromeやfirefoxでもsqliteが使われてるわけだが これらをシェアとして考えれば多いとも言えるな 利用ケースを考えろよ
188に189のレスする時点で文盲。スルーで。
wつけてるやつは隔離いけ こっちこなくていいから
>>200 >多くなると書いてるんだが・・・
だからその根拠は(ry
>そして前提として本や配布スクリプトとも書いてる
MySQLのインストールCDが付属している本もあるし
MySQLが必要なフリー配布スクリプトだってあるけど?
だから、それらの前提でSQLiteが多いって主張したいならそれでもいいけど、その根拠を示さないとまったくもって無価値な主張じゃないか。
>因みにchromeやfirefoxでもsqliteが使われてるわけだが
>これらをシェアとして考えれば多いとも言えるな
ほうほう、で、数字は?
不毛
そう、不毛だから早く根拠出して
具体的提案。
ヲチスレとか作ってそこでやるのはどうだろうか。
この板に作るなら「PHPerに突っ込みを入れるスレ」とか多少範囲を広く取らざるを得ないだろうけど。
ネットwatchなら「PHP関連スレのヲチスレ」とか。
スレに関する苦情はこちらみたいな感じに
>>6 あたりに入れといてくれたら誘導もしやすい。
>>202 の言う隔離ってのがこれの事ならURL出した上で誘導して欲しい。
207 :
nobodyさん :2010/11/21(日) 17:55:47 ID:xL1nv8No
クライアントに結果を返した後に、処理を続行することってできますか? 本来は全ての処理が完了するまではクライアントに待ってもらう必要があると思います。 クライアントに関係の無い処理がある場合に、途中で結果を返したいのです。 アドバイスよろしくお願いいたします。
IDもなければアンカーもないし 醜いわ!
>>206 取り敢えずヲチ板がどんな所か見て来たら?
>>207 ignore_user_abort()してそのまま続ける方法もあるけど、
別プロセスをバックグラウンド実行させるのが楽だと思う
`/usr/local/bin/php backgroundprocess.php > /dev/null 2>&1 &`;
CGI版ならclose(STDOUT)でできるかもしれない。未確認。
212 :
207 :2010/11/21(日) 18:54:02 ID:xL1nv8No
>>208 ありがとうございます。説明不足でした。
「途中」ではなくて、その段階でクライアントとの接続を終了したいのです。
--------------------
echo "welcome";
// この段階で、クライアントとの接続を終了したい
// => クライアント側では、この段階で表示が完了する
...あとはサーバ側の処理のみ...
--------------------
>>211 ありがとうございます。
connection_abortみたいな関数があれば助かるんですけどね。。
この手の処理は簡単には実現できないのでしょうか。
他に簡単な方法があれば教えていただきたいです。
>>166 ,167
どうもありがとう。
自分で作るのはメンテが面倒。
APIはサ−ビス終了すると困る。
というあたりが悩みどころでした。
サーバー側はPHPで書いているんで、このスレでもいいんじゃないかと。
それこそすれ違いだけど、日本郵政がサービスしてくれるのが
いちばんいいんですけどね。
こういうのこそSaaSで実現すべきですよ。
何故そこでSaaSが出て来る
> サーバー側はPHPで書いているんで、このスレでもいいんじゃないかと。 なんだそれ。
ただのアンカミスだろ
ミスなら非を認めて謝罪するべきでしょう。 開き直るとは許しがたい。
このスレがなぜ荒れるか分かったよ 暇なPHPerが他に書き込むスレも無くこのスレにたむろして 何か書けることは無いかとレスを捻り出した結果だな
それがこのスレの存在意義だろうがボケ
PHP ぴー ひゃら ぺーぺー
(@)3
馬鹿なチョンはここにも出没www
馬鹿な小日本人に言われたくない
あらチョンだったの?ww 適当に言っただけなのにww
あらチャンじゃないです チャイナです
あぁだからあんな荒らし方してたのか
PHPって簡単だよね
PHP忍者キモい。ウザい。氏ねハゲ 3回回ってワンと言え
| ゴロゴロ |r'⌒X⌒X⌒ヽ ∩゙⌒゙、⊃ |ヽ__乂__乂__ノ (。Д。)⊃ ワン
ここまで自演 質問お待ちしておりまーす
quoteSmartを使おうとすると Call to a member function quoteSmart() on a non-object と出て使えません。
分からない人は答えなくていいです
235 :
232 :2010/11/23(火) 00:32:52 ID:???
すいません。
>>3 のphpマニュアルみたら解決しました。
237 :
nobodyさん :2010/11/23(火) 19:23:33 ID:NoNXE+F/
指定バイト分だけファイルから読み込みを行うにはどうしたらいいんでしょう?
239 :
nobodyさん :2010/11/23(火) 20:47:22 ID:ZNYYZV27
WindowsXP で PHP5.2.14 を使用しています。 print_r(glob('*表示*')); とすると、0x5Cに引っかかるのか、ファイルが存在しても何も表示されません。 mb_internal_encoding などを変えてみたり、mb_convert_encoding もしてみましたが、解決できていません。 何とかならないでしょうか。よろしくお願いします。
globの引数がおかしいんじゃないの?
ファイル名に2バイト文字を含めること自体異常
ああ*表示*ってそのままそれを入れてたんか サンプルかと思った
GLOB_NOESCAPE
>>243 それも駄目でした。
php4.4.9でも同じになるようです。
もちろん、'*示*' だと正常に結果を返してくれます。
>>239 mb_internal_encodingやmb_convert_encodingをどう変えてみたのか具体的に。
環境変数$LANGに合わせてエンコードを変えていますか。
246 :
239 :2010/11/24(水) 07:53:39 ID:???
書き忘れていましたが、cli版を使用しています。
>>245 ありがとうございます。
環境変数$LANGとは何のことでしょうか?
試したコードは以下のようになります。
以下を一行にしたものをコマンドプロンプトから実行します。
php -r "mb_language('Japanese');
mb_internal_encoding('SJIS-win');
mb_regex_encoding('SJIS-win');
print_r(glob(mb_convert_encoding('*表示*','SJIS-win')));"
無理無理 0x5CはWindowsではディレクトリの区切りを表す文字コード つまり'*表示*'とした場合、「表」の先頭コード0x95で終わるディレクトリ以下にある「示」で始まるものを探索してるということ
なるほどな、 歯フォルダの示ってファイルで出るな。
SJIS以外にすることはできないのか。 globがUTFを返せばいいんだろ? 環境が無いので試せないが、php.iniの設定で変更できんのか?
日本語扱うのにSJISはないよ。 プログラムはUTFで書いて、データはSJISが普通。 読み上げと書き込みの時に変換する。
読み上げ?
できるかできないかで言えば、できない。 理由はwin32/glob.c、win32/readdir.cあたりを見れば分かる。 globみたいのは元々ネイティブAPI丸投げだし、Windows環境のエミュも結構てきとう。 回避策1: glob('*')とかreaddirで全部読んで、PHPスクリプト内でフィルタリングする。 回避策2: win32/readdir.cを改造してUTF-8とかに変換する。 win32/glob.cをstreamWrapper系に改造すればもっと汎用的になるのかな? よく知らないけど。
win32/readdir.cを見たがSJISで戻ってくるのかどうかよくわからなかった。 Windowsってファイル名は内部ではUnicodeで管理してるんじゃなかったっけ。
Windowsのほとんど全てのAPIはUTF-16で動いてる。 NTFS上にもUTF-16で保存されてる。 Win32APIのAとWとUNICODEマクロの話は省略。 win32/readdir.cではFindFirstFileA/FindNextFileAでSJISに変換済みのchar*を読んでる。
257 :
nobodyさん :2010/11/26(金) 07:38:25 ID:8z1vMVxd
クーポンサイトの情報を取得して、 独自に 「飲食」、「美容」、「旅行」 などと 自動的にプログラミングで判別してカテゴリに分けたいです。 検索する文字列はクーポンのタイトルとクーポンの紹介文のみを使います。 ※「飲食」のカテゴリに分けたい時 mb_strpos を使い、「カレー」、「焼肉」、「ピザ」 などの文字が紹介文に入ってて、 「エステ」、「マッサージ」、「脱毛」 などの文字列が入ってない。 上記のようなプログラムで判別しようと思っているのですが、 このやり方の問題点、もしくは最適な関数、もっとよいやり方などがあれば 教えてもらえないでしょうか?m(_ _)m
ピザ野郎をエステでスリムにしますみたいな紹介文がなければ判別できそう
260 :
nobodyさん :2010/11/26(金) 08:42:25 ID:6Tea9Sr/
>>258 mb_strposで問題なさそうなのですね。ありがとうございます。
>>259 朝から吹き出してしまったw
飲食カテゴリ
・下記のどれか1つでも含む
「焼肉」 「カレー」 「食べ放題」 「レストラン」 (ここのワードは慎重に選ぶ)
・以下のワードをいずれも含まない
「エステ」、「マッサージ」、「脱毛」、、、、、、、(ここのワードは多くしてもよし)
こんな感じで考えております。
262 :
nobodyさん :2010/11/26(金) 13:57:25 ID:hU0kBnUa
vistaとApache/2.2.17 (Win32) PHP/5.3.3です。 コマンドプロンプトから「tasklist /v」をした時の結果を取得したくて exec('tasklist /v',$ret);と書きました。 イメージ名とかPIDは正常に取得できるのですが ウインドウタイトルの大半がN/Aになってしまい、取得出来ません。 コマンドプロンプトから「tasklist /v」をした時の結果と同じ値を取得するにはどうしたらよいのでしょうか
>>262 マニュアル嫁
とりあえず、execにはこう書いてあるな。
返り値
コマンド結果の最後の行を返します。コマンドを実行し、 一切干渉を受けずに直接コマンドから全てのデータを受けとる必要が あるならば、PassThru() 関数を使ってください。
実行されたコマンドの出力を取得するには、必ず output パラメータを設定・使用してください。
ウインドウタイトルが N/Aであってるって話じゃないのか? うちでは問題なし。そうでないのも取れる。 N/Aってなってるの、なんちゃらSERVICEじゃねーの?
具体的に言うと、取得したいタイトルはaviutlのウインドウタイトルで このphpと同じPCの同じユーザーで同時に動いています。 exec、passthru、shell_exec、systemで $cmd='tasklist /v /fi "imagename eq aviutl.exe"'; を実行させたのですが、全てウインドウタイトルが「N/A」となってしまいます。 コマンドプロンプトから tasklist /v /fi "imagename eq aviutl.exe" と実行するとウインドウタイトルも「出力中 50%」と取得出来るのですが。
aviutl ダウンロードして その通りやったが、 タイトル取れるぞ。
分かち書き
> ID変わって失礼します。 > ID変わって失礼します。 > ID変わって失礼します。
272 :
nobodyさん :2010/11/26(金) 22:25:08 ID:I8yzn2Dg
age
>>273 ありがとうございます。
ですが、このトピックの方はApacheでは実行できてIISでは実行できない
という現象みたいで、自分はApacheで実行できない状態なんです。
>>どうやら、Apacheではcmd.exeの指定は要らないが
とありますので、これじゃない と思います。
275 :
239 :2010/11/27(土) 00:05:56 ID:???
コンパイルは自分には難しそうなので、とりあえず以下のようにdirコマンドを使うことで解決しました。 if (strpos($filename, '\\') === false) $files = glob($dir.$filename.'.*'); else if (preg_match('/^Windows/i', $_SERVER['OS'])) exec('dir /B "'.$dir.$filename.'.*"', $files); ただ、dirコマンドを何度も呼ぶとヒープメモリ?を食いつぶすのか、新しいプロセスを立ち上げることができなくなります。 この状態になると、Windowsを再起動しないと何もできなくなります。 タスクマネージャを見た限りでは特にメモリは消費していないのですが… phpを再起動させても効果はないようです。 最終的にはreaddirで何とかしようと思いますが、 ヒープメモリ?を解放する方法などがあればご教示ください。よろしくお願いします。
277 :
nobodyさん :2010/11/27(土) 08:32:01 ID:HnSqylEA
クーポンの概要を説明した日本語の文字列の中から、 「鍋」 「焼肉」 などの文字列を検索するロジックを書いています。 mb_strpos を使っていますが、 特定の文字列が発見された時にtrueを返す ereg関数のほうがよいでしょうか?
男は黙ってstrpos
>>275 前後のコードを見ないと何とも言えないが、
「dirコマンドを何度も呼ぶ」というのはどういう状態?
同じプログラムの中で exec('dir 〜 を何度も実行してるってこと?
$filesは毎回初期化してるの?
282 :
nobodyさん :2010/11/27(土) 16:20:26 ID:JYCUoFVz
YouTubeの動画IDのように、短くユニークなIDを生成したいのですが、どうしたらいいでしょうか? uniqid()では同じマイクロ秒で生成されると駄目なようで、uniqid(mt_rand())では長すぎるので困っています。
IDが被らないようにループさせる
284 :
nobodyさん :2010/11/27(土) 16:42:10 ID:JYCUoFVz
言葉足らずですみません。 DBやファイルを使い生成した文字列がユニークかどうかを走査するのではなく、もっとスマートな処理方法はないでしょうか?
それを使ってるかどうかなんて何で判断するんだ
いずれにしても番号はDBかファイルに記録しなきゃ使えないじゃん
288 :
282 :2010/11/27(土) 17:04:34 ID:JYCUoFVz
もちろん生成したデータはDBにUNIQUEとして保存します。
ただ、保存する度に問い合わせて衝突するなら新しく生成してまた問い合わせる・・・を繰り返えすのが普通なのでしょうか?
uniqid(mt_rand(), true)を使えば膨大な量のデータがあっても衝突無しに一発で保存できます。けど文字数が多すぎます。
なので、TouTube(あるいはTinyURL)のように英字の大文字小文字を使用してより短い文字列に出来ないかと考えています。
>>286 連番では駄目です。
289 :
282 :2010/11/27(土) 17:09:10 ID:JYCUoFVz
>なので、TouTube すみませんタイプミスです。正しくはYouTubeです。 書いていて気づいたのですが、要はuniqid(mt_rand(), true)で生成される文字列が大文字小文字を交えた半角英字と数字と一部の記号なら短くなりそうなので、 そういった類のスクリプト等があれば教えてください。
a-zA-Z0-9の重複順列5個取り出しで9億ぐらい作れるからあとは考えろ
ユニークかどうか走査したくないのなら あらかじめDBにユニークIDを鬼のように入れておいて、割り当てられてないレコードを引っ張り出して処理するしかないと思うが
292 :
282 :2010/11/27(土) 17:15:04 ID:JYCUoFVz
>>291 それをやるなら空でInsertしたDBのauto_incrementなPRIMARYを使って再度そのレコードをUpdateした方がよくはないでしょうか?
ファイルは溜まるが tempnam でいけるんちゃう?
294 :
282 :2010/11/27(土) 17:26:12 ID:JYCUoFVz
>>293 試してみましたが、ファイル名が連番で保存されていました。
今、一つ閃いた事があるので試しきます。
上手くいけば報告します。
みなさんありがとうございました。
俺だったらmicrotime・2次元配列・strtoupper・strtolowerとファイル1本で処理するかなー
32進数とかにして、適当に大きいとこからはじめれば、連番に見えないだろ。 連番駄目なのは、どうせ見た目だけだろ、上司がそういったとか。
299 :
282 :2010/11/27(土) 20:15:21 ID:JYCUoFVz
仰るとおりで。
閃いた事=
>>297 でして、無事解決しました。
本当にありがとうございます。
昔sha1ハッシュをURLにしてたなあ…
昔sha1を62進数にしたらだいぶ短くなると思って試行錯誤したが sha1の結果を10進数にすることが不可能だった 桁あふれ?桁おち?用語よくわかんないけど全部は出きらない感じ あれって解決方法あったのかなぁ
いいんじゃね。個人的には文字リストのテーブルを用意するのは好みじゃないが。
304 :
275 :2010/11/28(日) 04:10:26 ID:???
>>281 ありがとうございます。
関数で頻繁に呼び出しています。
メモリリークですが、どうもAviraAntiVir5が原因だったようです。
お騒がせしました。
32bit->22bitかー 7bitぐらいにするミラクルな方法はないものか
306 :
304 :2010/11/28(日) 04:13:27 ID:???
AUTO_INCREMENTのスタートを100000000とかにしてそれを62進数変換でよくね
AUTO_INCREMENTだと結局連番になっちゃうんじゃない? まぁアルファベットを含めた連番?だけど。
数字連番にダミー文字でも追加してやれば重複しないだろうけど数字を取りに行っている時点で ユニーク生成しているのと大差ないからな
YouTubeが連番と聞いてURLをアルファベット一個ずつズラしていったが 3-4つくらい同じ動画になって、以降は動画が存在しないな
youtubeは-_を加えた64進数だな
それでも次の動画が見れないな 連番じゃ無いのではないか?
youtubeは最後の1bitが謎いね
最後の1bitといったらそりゃあもう
エラー検出符号か
でも1個ずつずらしても3-4個同じ動画が見れるのなら エラーチェックの意味無いな。
つ誤り訂正
欠番は単に削除された動画では?
最後の桁の64進数(6bit)で表現できるうち、 意味を持つ有効なデータが上位4bit分しかなくて下位2bitが余っただけでしょ よくあること
下位2bitは何で埋めるの?
321 :
nobodyさん :2010/11/28(日) 18:12:56 ID:oUHpYIlN
ログイン画面の 「次回から自動的にログイン」 のチェックボックスを作りました。 初期値で選択ずみにしようと思っているのですが、 セキュリティ的にはまずいのでしょうか? もしNGなら、なぜダメかを教えていただければ。
323 :
nobodyさん :2010/11/28(日) 18:17:54 ID:oUHpYIlN
>>322 ありがとうございます。
では、特に問題はないのですね。
結構、初期値がチェックしてないサイトをよく見てたので、
ダメなのかなと思ってました。
そりゃユーザの意思で選択させるべきものに最初からチェックつけてるのはUI上おかしいからだな
325 :
nobodyさん :2010/11/28(日) 18:20:25 ID:oUHpYIlN
>>324 なるほど。では、やはりチェック外しておこうかと思います。
ありがとうございました。
>>325 便利な機能をわざわざOFFにして誰が得するんだ?
共用PCでうっかり
使ってもらうためにつけたんだろ! Onにしないでどうする 共用PC使う人がチェク外せばいいだろ
せやな
全員が自宅のmyPCからアクセスしているとは限らない
何当たり前のこと言ってんだ
そこは、このスレじゃなくてサイトのポリシーで決めればいい
今時ブラウザ終了時にクッキーやら履歴やら消す設定にしてない人なんているのか
毎回ログイン画面が表示されるの嫌だからしてない
似たような例でいうと、Adobe Readerのダウンロードサイトに行くと、 McAfeeのダウンロードがデフォルトでチェックされているので うっかりしていると勝手にインストールされそうになることがあるので止めて欲しい。 「次回から自動的にログイン」も同様で、チェックしたい人が意識して チェックさせるようにすべき。 無意識ではなく、確実に本人の意思でチェックしていることが重要だと思う。
>McAfeeのダウンロードがデフォルトでチェックされているので >うっかりしていると勝手にインストールされそうになることがあるので止めて欲しい。 わざわざAdobeが一緒に入れようとしてくる理由を考えろ
>>335 サービスの何たるかをまるで理解していない奴にそういう発言をしても無駄w
>>336 その理由を今ここで考察したって手遅れだと理解できないの?
そういう「余計なお世話」の例えだろ
341 :
nobodyさん :2010/11/29(月) 19:47:56 ID:8Uo/Jl2+
特定の遷移中だけクラス定義のファイルをIncludeすると何もエラー吐かずに落ちるんですが、 ob_startで設定したコールバックで$php_errormsgを見ても何もありません。 こういう場合どうやってエラーの内容確認すればいいんでしょう?
>>341 $php_errormsgはtrack_errorsが有効じゃないと何も吐かない。
なぜob_start()使うのかわからんが、使うんだったら
ob_start();
require_once 'そのクラスファイル.php'; // includeじゃなくrequire
$errmsg = ob_get_contents();
ob_end_clean();
343 :
342 :2010/11/29(月) 23:40:05 ID:???
ごめん、いろいろ足りてない。 error_reporting(0x7FFFFFFF); // エラー全部吐くようにする ini_set('display_errors', 1); が最初に必要。
error_reporting(0x7FFFFFFF); 何のための定数だよ、意味が分からなくなるだろ error_reporting(E_ALL | E_STRICT); こう書きなよ。 こういう「結果は同じなんだから結果だけ書いとけ」みたいな感じで書かれると 定数の意味がないし、メンテナンスが面倒だから自分が書くものだけにしてほしい
>>344 それもそうだな。とにかくエラー全部と思って
バージョン関係なくエラー全部用のコピペだったんだけど、
今回はE_ALLだけで十分だな
346 :
nobodyさん :2010/11/30(火) 07:20:07 ID:H2kkF3xU
simplexml_load_file()でブログのデータを取得してるんですけど、 サーバーメンテの際はなにも取得できません 代入したデータが空であれば、取得できませんでした、と表示させてるんですけど、 メンテで取得できない場合、simplexml_load_file()自体が failed to open stream: HTTP request failed! ってなってしまいます どうすればいいでしょうか?
347 :
nobodyさん :2010/11/30(火) 07:28:24 ID:2WrqxWb3
数値について質問です。 ユーザーから受け取った数値の、百の位以下を0にしたい。 56102 ↓ 56000 こんな場合どうしたらいいですか?
下三桁を0に置き換えればいい
351 :
350 :2010/11/30(火) 07:44:00 ID:???
>>348 まんまの関数があるのね。勉強になりました。
353 :
nobodyさん :2010/11/30(火) 08:25:56 ID:2WrqxWb3
354 :
nobodyさん :2010/11/30(火) 08:42:31 ID:rNn1SdBy
mb_get_info('illegal_chars') で変換に失敗したかどうか判りますが、変換に失敗した部分を抜き出す良い方法はないでしょうか?
mb_substitute_character("long") とか?
ありがとうございます。 それでも「?」に変換される文字があったりしてちょっと区別しにくいですが、 もうちょっと試行錯誤してみます。
一つの複雑なクエリーでMySQLからデータとってくるのと、シンプルなクエリーでそれぞれデータとってきてPHP側で処理させるのと、どっちが早い? 詳細の状況によると思うが、一般的にはどうかな?
>>357 一般的な話で言えばクエリーで出来る事はクエリーでやる方が圧倒的に早い
キャッシュもあるしな
360 :
nobodyさん :2010/11/30(火) 15:57:26 ID:vry2lrbm
<?php $kuji = array("凶","小吉","小吉","中吉","中吉","中吉","吉","吉","大吉"); $result = array(); for ($i = 0; $i < 10; $i++) { $result[] = array_rand($kuji); } ?> <table> <?php foreach ($result as $key => $value) { $key++; echo "<tr><td>{$key}回目</td><td>{$kuji[$value]}</td></tr>"; } ?> </table>
>>358 一発で欲しい形でデータを取るための複雑なクエリーで最適化できてないのもあるけど、結果取得に20秒位かかってるんだけど、クエリーはシンプルにして結果取得を短い時間でできるものにして、クエリーを複数回実行して結果を処理でなんとかしたらどうかなと思ったんだよね。
それは適切なindexが設定できていないもしくは クエリーがきちっと最適化できてないだけじゃないの? まぁこれ以上はシステム構成やデータ件数等も関連してくるし スレチにもなるから若干過疎ってるがmysqlのスレ行くほうが良いよ
PHPの場合だと 56102 ↓/100 56.102 ↓*100 56102 こうならないっけ?
じゃあ割ったあとに整数にすればいいじゃん
数値が5桁とは限らない ていうか最初に答え出てるのに引っ張るなよw if (strlen($num) <= 3) return $num; } else { return round($num, -3); }
369 :
nobodyさん :2010/12/01(水) 10:44:50 ID:KEK0dLq1
PdoのトランザクションってPrepareで実行した奴には適応されないんですかね?
んなこたぁない
371 :
nobodyさん :2010/12/01(水) 11:16:50 ID:B1SR7o7P
preg_replaceだと、マルチバイトに対応していないということで (uオプションを使えばUTF-8なら使える…らしい) mb_ereg_replaceを使えって色々なところに書いてあるんですが 色々試してみたんですが、preg_replaceでも普通にマルチバイトで 置換ができてしまいます。 UTF-8/EUC-JP/SJIS全て試し、漢字・半角カタカナなどもやりましたが 正常に処理されました。 PHPの環境によるんでしょうか?Windows+XAMPPのPHPです。
正常に処理されない文字があるので、その文字でテストすれば失敗します。
↓その文字とは!
まぁ、気にするな!
mb_language mb_internal_encoding mb_regex_encoding あたりがきちんと設定されていれば、pregでいいんじゃないの? 不具合起きたことないんだけど。 というか、ereg系はすでに非推奨になってるので、こっち使うほうが問題あると思う。
その設定ってpreg系に反映されるの?
ereg系が5.3.0で非推奨になったのはマニュアルで確認できましたが mb_ereg系はとくに記載がありませんでした。うーん。
mb_languageの設定ってmb_send_mailでしか使われないよね? mb_internal_encodingの設定ってmb系の関数で元の文字コードを指定しなかったときのデフォルトなだけだよね?
されないし。 mb系じゃなきゃ、文字のエンコードなんかしったことじゃないから SJISなら、漢字のつもりでもxx5Cって文字の後ろを\としてしまうとか、 ある漢字の中に 5Bがあって [ と勘違いするとか、 EUCの( [a1ca] が 押分[b2a1caac]って文字列内に見つかるとか。
美乳入口髷油
eregが非推奨なのはバイナリセーフじゃないからだよね mb_eregはバイナリセーフだから使ってよし mb_languageって何にでも効くおまじないじゃないよ、そんなソースみたら笑っちゃうかも
文字コード周りは分かってないヤツがウソ解説サイト作りまくってるから、 間違って覚えてる人とか勘違いしてる人は少しくらいいるかもね。
テストしたところ、preg_replaceできちんと 文字化けすることを確認しました。 ありがとうございます。
ホームページの一部分に会員からの投稿がリアルタイムで更新されるようなものを作りたいと思っています。 Twitterのような感じのものです。他にはニコニコ生放送のタグや商品広告みたいな感じです。 ページをリロードしていないのに、内容が更新されていきます。 あれはどうやっているのでしょうか。 更新内容はDBに保存するとして、リロードしてないのにページの一部を更新する方法がわかりません。
あれはクライアントサイドでやるしかないな
>>384 JavaScipt
しかもリアルタイムなわけではない
WebSocket
>>388 あなたみたいな失礼な人に教える筋合いはありません。
なにが教えるだよ おまえが書いて間違ってるかどうかチェックしてもらう側だろうがよ
>>384 一般人のインフラで多用するようなもんじゃないよ
リアルタイムにこだわるとリクエスト数が激しいから
すぐ管理者に目をつけられる
とまあ、ここまで俺の自演
393 :
383 :2010/12/01(水) 18:17:26 ID:???
>>388 EUCで「押分」の文字列で「( 」置換などです。
>>390 そのような筋は聞いたことがありません。
このスレのルールを承知しているのですか?
>>1 をよく読みなおして私に質問があるならIDを出してからにしてください。
はいはいそこまでね
397 :
nobodyさん :2010/12/01(水) 23:40:58 ID:u6fu+xrh
PHPのFatal ErrorやParse Errorのレスポンスコードが 200番を返すようになっています。これって正しくは500番のレスポンスコードを 返すのが正しい動作だと思い変更したいと思っています。 ただphp.iniの設定項目等で変えられないかと見てみたのですがそのような項目がちょっと 見つけられませんでした。 PHPのバージョンは5.1くらいだったと思います。 もし、何かご存知の方がいましたら教えてもらえると助かります。
エラーの種類とエラー箇所を指し示すhtmlドキュメントを作成しておくるので 動作的には200であってるんだが
5xx Server Error サーバエラー サーバがリクエストの処理に失敗した。
シンプルにこんな感じでいいんじゃね <?php echo $a; if (error_get_last()) { header("Status: 500 Internal Server Error"); die(); } あとはエラードキュメント用意する
402 :
401 :2010/12/02(木) 00:26:59 ID:???
ごめんなんかいろいろおかしかった スルーして
たしかにFatal Errorとかは500が妥当だとは思う。 例えばPHPからJavascriptを吐き出す時、エラーのページが200で返って来ると ブラウザがエラーメッセージをjsファイルだと思い込んで実行して Unexpected token '<'とかなんとか。 #500やら40xなら普通は実行されない。 ただそれは開発中の話であってHTTPステータス細工する暇あったらFatalError無くすし、 運用後に発生するかも知れない未知のエラーをログに残したいならphpのエラーログがあるし そこまで必要性は感じなかったね
404 :
nobodyさん :2010/12/02(木) 00:53:52 ID:i7zddhjb
思ったより皆さんが反応していただけて嬉しいです。 一日中調べていてこの事に触れている記事などが余りなくて 私が気にし過ぎなだけで、PHP的には正しい動作なのかなとも考えていました。 本来、エラー系は開発時に潰しておかないといけないのはその通りなのですが 開発時に私がいなかったもので一通りログから調べ直してみたいと思った次第です。 エラーログも切り分ければ良いのですが、エラーログの出力先がApaheと共通に なっているので単純にResponseコードで判断できないかなと考えていました。 その設定を変えろよ、言われればおっしゃる通りですが、、、 なんとなく200番返しちゃうとエラーページも検索エンジンがインデックスしちゃうよなー とかも考えたりするので何か解決策が無いかなとか考えています。 書いていただけた事を読み直して対応を考えたいと思います。ありがとうございます。
未知のエラーに遭遇って鯖管が鯖をいじっくった以外になんかあるのだろうか 日付つけてなんかするシステムだとバグで時限式爆弾みたいなことはあるかもしれないが なんかどこまでシステムを信頼していいのか不安になってきた
406 :
nobodyさん :2010/12/02(木) 01:11:44 ID:i7zddhjb
>405 PHPのバージョンアップに伴って確認し切れない所でエラーが発生したり とかは十分あり得るかなー、と。。。思います。 これは分かりやすい部分の例ですが。 それも本来、ちゃんと確認しろよって部分ですが諸般のIT事情により見れない時がありますので、、、
>>404 >一通りログから調べ直してみたい
そういう用途なら尚更PHPのエラーログを出す設定にした方がいいね
noticeもwarningも取れるし
>>405 単に負荷が高くなって開発時には想定してなかった場所でタイムアウトの類のエラーが出てきたとか
DBのコネクション数オーバーとか
データ保存領域のパーティションが一杯になったとか
DB作り直した時InnoDBのつもりがMyISAMでトランザクション効いてなかったりとか
md5がコンフリクトしたとかw
まあ「未知のバグ」と読み替えてもいいし
408 :
346 :2010/12/02(木) 06:07:59 ID:2FQwk5Ve
>>348 > is_file, is_readable, file_exists等
いろいろ試したところ、同じサーバーにあるファイルだとそれでTRUEが確認できましたが、
外部サイトだとあってもなくてもFALSEを返してきます
外部のRSSのアクセス可能不可能の確認に使うにはなにかやり方があるのでしょうか?
教えていただけるとさいわいです
よろしくお願いします
いろいろあるけど get_headersとかでいいんじゃね
410 :
nobodyさん :2010/12/02(木) 06:17:51 ID:2FQwk5Ve
>>409 ありがとうございます
if (!preg_match('/Not Found/',$rssurl)){
で読みたいRSSの有無判定できるようになりました
感謝です
あ、貼るとこ間違ってました そのrssurlのとこにget_headersのデータはいってます
404じゃなかったらではなく 200だったらのほうがいいと思う それだと503とかも通っちゃうしね
413 :
nobodyさん :2010/12/02(木) 06:29:44 ID:2FQwk5Ve
>>412 $head = get_headers($rss,1);
if (preg_match('/200|302/',$head[0])){
ありがとうございます
読みに行ったブログのrssは302を返してきたので、302も通るようにしました
レスポンスコードむずかしいです
414 :
nobodyさん :2010/12/02(木) 11:11:26 ID:xyBKojGi
PODでINSERTした直後にAUTO_INCREMENTされた値を取得する方法教えてください。 使ったこと無いけどmysql_insert_id()みたいなものを。
lastInsertId ?
ポッド
417 :
nobodyさん :2010/12/02(木) 12:51:52 ID:xyBKojGi
>>415 できました。ありがとうございます。
DとO紛らわしいと思う。
>>418 携帯のハードが耐えられるメモリ量ならimg-widthでも構わない。
強いてあげるなら携帯への転送量が減る分だけ表示が速くなるとかそんな感じかな。
>>418 読み込み時間・パケットの節約、縮小クオリティのコントロール
421 :
418 :2010/12/02(木) 17:17:51 ID:???
419様・420様 レスありがとうございます。 フォトショップなどで画像を最初から小さいサイズにしておけば、Imageresize4keitai のメリットはなくなりますか?
UAでサイズ振り分けるんじゃねーの
指定したらその幅になる 指定しなかったら携帯の横幅に合わせられる 昔ほぼ同じ物作ったわ これキャッシュディレクトリあるけど、毎回生成し直すんじゃね?
>フォトショップなどで画像を最初から小さいサイズにしておけば、 そうだが思考がデザイナーだな
>>421 小さいサイズ作るのが面倒だからそのプログラムを作ったんだと思うよ
426 :
nobodyさん :2010/12/02(木) 20:41:55 ID:gvFjnnhT
【OS名】RH6 【PHPのバージョン】5.3 【連携ソフトウェア】MySQL Samba 【質問内容】 sample.php exec($command, $out, $return); で別ファイル(mail.php)のsendmailを実行してます。 mail($to,$subject,$body); という簡単なものです。 戻り値によってexec実行後の挙動を変えているのですが、sendmailからgmailのsmtpを使うことになり pearのmailのモジュールを直接起動するように変更しました。 モジュールを直接起動するだけなので$outに何も残らずexec後の挙動が自動化できなくなりました。 $outに戻り値を返すにはどのようにしたらよいでしょうか?
pearのmailのモジュールから結果を返すようにすればいいんじゃね?
428 :
426 :2010/12/03(金) 09:25:48 ID:d50vwSIO
>>427 いまは
require_once("Mail.php");
$param = array(SMTPの設定);
$header = array(toとかsubject設定);
$smtp = Mail::factory( 'smtp', $param );
$smtp->send( $mailto, $header, $body );
という風にして送信してます。
これらにさらにオプションみたいなものがあるんでしょうか。
429 :
nobodyさん :2010/12/03(金) 10:29:21 ID:Q3Oa/UUX
PDOでSQLを使用しています。 SQLiteの型がINTEGERであっても、fetchで返ってくる値の型はstringでした。 MySQLのBOOLEAN型などであっても、fetchは常にString型で返してくるのでしょうか? よろしくお願いします。
情報処理推進機構セキュリティセンター(IPA/ISEC)とJPCERT コーディネーションセンター(JPCERT/CC)は12月1日、 サーバサイドスクリプト言語「PHP」にサービス拒否(DoS)攻撃を受ける脆弱性が確認されたと「Japan Vulnerability Notes(JVN)」で発表した。 5.3.3 revision 305571以前のバージョンのgetSymbol関数には、整数オーバーフローの脆弱性が存在する。悪用されると、 遠隔の第三者からのDoS攻撃を受ける可能性がある。JVNでは、ベンダーが提供する情報をもとに最新版へアップデートするよう呼びかけている。
getSymbol関数とか使った事も聞いた事もないけど、 Windowsカーネルに権限昇格バグがあるのだけは知っている
432 :
nobodyさん :2010/12/03(金) 18:47:43 ID:apCQGjmG
クラスについて質問します。 外部ファイルをrequireやincludeするとき、コンストラクタの中で呼び出すのと クラス宣言の外(冒頭)で呼び出すのはどう違うんでしょうか?
433 :
nobodyさん :2010/12/03(金) 18:57:01 ID:jI96G3Kc
ウェブプログラムから外部プログラムを呼びたいのですが その呼びたいプログラムはファイルに結果を出力する形になっています /tmp/out.data を一時出力ファイルにしようとしましたが 同時に副数人がアクセスすると/tmp/out.dataが前の人の結果を上書きしてしまいます ファイル名をuuidなどで生成させて絶対重ならないようにするのが普通のやりかたなのでしょうか? 何かLinuxのパイプ関係でプロセスごとに一時ファイルを自動で分けるようなやり方はないのでしょうか
ここでいいのかわかりませんが… htmlのフォームの属性で携帯のキャリアによっては name属性かid属性か使い分けなくてはならなかったような気がしたのですが どうでしたっけ…
436 :
nobodyさん :2010/12/04(土) 01:19:24 ID:IEmBp40c
IDを出すのを忘れました
ネット上の書き込みなどで、 本人の身元を完全に特定できるようになりたいのですが、 そういう場合、どのようなところに就職すれば良いのでしょうか? プロバイダーですか? それとも、警察庁のサイバー犯罪対策なんちゃらとかいうところですか? それとも、また別の機関?なのでしょうか? やはり、警察系の組織が一番良いのですかね? それとも、プロバイダーなんですかね? 個人的には、この2つのどちらかだと思っているのですが、 実際はどうなんでしょうか? 誰か教えてください。お願いします。
中国共産党もしくはアメリカ諜報部
真面目に教えろ。
真面目に質問しろ。
>>438 就職先は関係ありません。どこに就職しても無理です。他人のサイトでは無理です。
自分のサイトであれば、住所送ってもらって書面でログインパスワードなどを送るようにすれば
出来ますが、貴方が知りたいのは たとえば私が誰であるかというようなことでしょう?
どこかでは全部分かっているのだと思うのでしたら、ネットをやめるのおすすめです。
また、質問が板違いかと思われます。
ゆとりチンピラか
マルチの相手をすんな!
そのうち不正アクセスで逮捕されるんだからそっと見守ってやれ
不正アクセスすら出来んだろ
>>442 お前、質問の意味分かってないな・・・。
話にならんわ。さっさと死ねカス。
>>446 死ねよゴミクズ。
448 :
438 :2010/12/04(土) 15:04:18 ID:???
>>447 他人のふりをして書きこまないでください!
449 :
438 :2010/12/04(土) 15:13:28 ID:???
すいません私の書き込みで荒れてしまったみたいです 私のためにケンカするのはやめて おちんちんびろーん
450 :
438 :2010/12/04(土) 15:17:23 ID:???
私は低能スイーツでーす♪ もうすぐ死にますから許してくださーい♪
451 :
438 :2010/12/04(土) 15:23:40 ID:???
しにまっへぇーん
452 :
438 :2010/12/04(土) 15:24:29 ID:???
しにまーっす
休みの間は2chを閉鎖するべき
455 :
nobodyさん :2010/12/05(日) 01:22:21 ID:Nvi5Q3Wb
【OS名】Redhat 【PHPのバージョン】5.3 【連携ソフトウェア】Oracle 【質問内容】 ファイルダウンロード(大きいサイズ)でタイムアウトしてしまう対策ついて質問させて下さい。 set_time_limit(0); でサーバー側のタイムアウトを長くする事は出来たのですが。 ブラウザ側のタイムアウトでプログラムの処理が切断されてしまいます。 echo str_pad('',256); flush(); を使用しブラウザ側に定期的にパケットを送信する方法も試したのですが。 そうするとダウンロード処理のヘッダー header('Content-Length: ' . filesize($filename)); header('Content-Disposition: attachment; filename='.basename($filename)); の前に空白文字が出力されてしまう為かダウンロードファイルの内容がブラウザに表示されてしまい。 ブラウザのダウンロードダイアログが出ません ヘッダー前の空白文字を消す方法か その他にブラウザ側に定期的にパケットを送信する方法ありましたら教えて頂けないでしょうか? よろしくお願いいたします。
ブラウザ側のタイムアウトって何?
457 :
nobodyさん :2010/12/05(日) 01:25:33 ID:D3Xz+Jzo
>>438 真面目に答えると、エシュロンに就職するのが間違いないでしょう。
このスレの住人のようなレベルの低い人達に質問しても無理です。
>>455 ファイルダウンロードでタイムアウトはしないだろ
大きなイメージをブラウザに表示させるとかそういう用途? 単純なzipとかのファイルのダウンロードならダウンロードダイアログが出て あとはブラウザが勝手にダウンロード終了までコネクトし続けるでしょ? いまいちどういう状況なのかよくわからない
あぁ、デカい静的ファイルのダウンロードじゃなくて、 動的に大きいサイズのファイルを作るわけね。 で、ダウンロードが始まる前にタイムアウトするわけか。よくあるね。 ファイルの準備が完了するまでプログレスバーを出すか、 準備が完了してからダウンロードボタンを表示させるなど。
ちなみにダウンロードボタンを押してからはブラウザはそのリクエストの 受信待ちになるから、パケットを送りつけたらダウンロードファイルの 一部(先頭)になってしまうよ。
俺ならダウンロード画面で準備中ってだして ajaxで10秒置きにリクエストおくってサーバ側は準備できたらURLと準備OKのフラグを送出して それができたら準備中って表示してるところをDOMでダウンロードリンクに書き換えするな
時間がかかるリクエストはそういう方法がいいね
465 :
455 :2010/12/05(日) 01:43:18 ID:Nvi5Q3Wb
皆さん説明が不十分で申し訳ないです。
>>461 さんが言っている通りです
>>462 ダウンロードボタン常に出た状態で、押してからタイムアウトしない様にしたいのですが。
難しそうでしょうか・・・
466 :
455 :2010/12/05(日) 01:46:18 ID:Nvi5Q3Wb
>>465 もし準備に1時間かかったら1時間タイムアウトしないの?
確かIEはタイムアウト短めなんだよな。
Javascriptのプログレスバーで少し時間稼ぎできた記憶もあるけど。
header()を定期的に(同じ内容を)何度も送ってみるのはどう?
試したことないけど。
468 :
被リンクサービスの決定版 :2010/12/05(日) 02:58:32 ID:07kW5KS8
470 :
nobodyさん :2010/12/05(日) 10:19:28 ID:8LoFcf3S
日記のアプリがあって、ユーザーが学生と教師にわかれてます とりあえず学生向けのクラスを作ってその中で日記の機能を実現して、 教師向けクラスは学生向けクラスを継承することにしました この時、DBテーブルの学生向け・教師向けの指定はどう切り替えたら良いんでしょうか? ログイン時にユーザータイプをセッション化してifで切り替えるのでないやりかたありますか? 教師向けクラスのなかでどうにかして指定テーブルを上書きしたいんですがどうしたら良いですか?
任意の繋いでる先を特定しようものならまずはネットワークのルートを押さえて 枝分かれする分岐点での認証を全て突破していかないといけない そういうレベルの話 最小のグループの中に属する接続先のみを特定する場合 最深部(接続先)の1歩手前(ようはプロバイダ)を掌握できれば可能 重要なのはプロバイダからの情報で接続先や契約者は特定できても 実際に接続している個人までの特定は不可能ということだ ちなみに警察が逮捕できるのはプロバイダから情報を提供してもらってるから 提供された情報からわかるのは接続先と契約者でしかないので 個人まで特定するには最終的には自白か何か証拠がないといけない プロバイダは契約者との間に守秘義務があるので警察の令状がない限り情報は提供できない プロバイダに入社すればそこと契約してる人の情報を入手できる可能性がある (ただし情報へのアクセスは権限がある人のみで権限があっても理由なきアクセスは不可能) 警察に入っても捜査の範囲内でしか知りうることができないしそもそも配属されるとは限らない プロバイダのデータベースに不正アクセスできれば何か情報があるかもしれない程度 普通重要情報はネットワークから切り離すし 不正アクセスは犯罪行為であってリスクが高い ようは諦めろ 中国共産党は国内のネットワークを全て支柱におさめてるので(共産党がプロバイダなようなもん) 国民の監視ができるだけで国から切り離せば個人を知ることはできない CIAとかFBIとか海外の組織ならできそうなイメージはあるんだろうけど ああいう機関もどこかしら情報提供がないと何もできない
>>470 それはDBの設計の話では?
教師が書いた日記か学生が書いた日記かがわかるテーブルを用意すればいい
記事ID ユーザ
100000 学生A
100001 教師A
>教師向けクラスは学生向けクラスを継承することにしました なんかこの時点ですごい設計になってる気がする
絶対におかしいよ
475 :
デリカット :2010/12/05(日) 11:39:10 ID:???
ケント違いよ
Yes! I am KENT! yeah okkkkk soo goood
>>470 教師クラスが学生クラスを継承するのはまあいいと思うけど、
テーブルが別になってるのが怪しいのでDB設計は見直した方が良いと思う
それはまあ置いておいて、if以外で実現するとなると、
学生クラスと教師クラスでgetDiaryTable()の戻り値を変えるとか
>>477 >教師クラスが学生クラスを継承するのはまあいいと思うけど、
なんでいいの?
> 教師「向け」クラスは学生「向け」クラスを継承することにしました と書いてあるだけで「教師 is-a 学生」という設計になってるとは書いてないから。 そして単にアクセス権の領域を継承しているのだろうと簡単に想像できるから。 さらに本題と無関係だから。
人クラス?を学生クラスでつくっちゃったんだろw
先生が先生の授業をうけるというのは変だしなー まぁ本題に関係ないのは関係ないが・・・
>>470 はあくまで「向け」って書いてあるだけで、
class Teacher extends Studentとは言い切ってないだろ。
class SuperUser extends Userかもしれんだろ。
じゃ基底クラスに学生向けの処理を書くのがおかしい
485 :
nobodyさん :2010/12/05(日) 20:52:05 ID:Z6YIuGAA
くだらない質問ですがよろしくお願いします。 前提として現在動作しているWebアプリケーションに機能を追加して欲しい ということがあります。 ですが、現在動作しているWebアプリはJavaで組まれているのですが、設計書もマニュアルもなく、 当方Javaを深く勉強したことがないために、ソースを読み解けません。 要望としては機能さえ同じであれば、どんな言語でも問題ないということで、 PHPで構築し直そうと考えています。 そこで、Javaで組まれたWebアプリに機能を追加したいがために、 PHPで新しく構築し直すことの”もっともらしい理由”って何かありますか? マジレスよろしくお願いします。
>>485 簡単だから、でいいんじゃない?
もしくは別に正直に自分がPHPしかできないからって言ってもいいし。(物は言い様だから上手く言い換えてね)
安く出来ますとか言えばいいんちゃうの?
488 :
485 :2010/12/05(日) 21:05:19 ID:Z6YIuGAA
パッと思いつくのは Javaと比較して PHPは ・開発が一般的に早いと言われている ・HTMLにタグを直接埋め込めるためにソースを理解しやすい。結果、保守が容易である(本当?) ・一般的にデータベースとの接続性が良いと言われている(開発しやすいと同義?) ・PHPはWebサーバから実行するときは、新しいプロセスを生成せずにスレッドとして実行されます。 そのため、Javaのシステムよりもメモリに負荷がかからず、軽い。(本当?) でもこれだけでは、構築し直すメリットがあまりないでよね。 もっともらしい理由が欲しいです
じゃ実際にメリットないんだよ
スレチですいません素数ってなんですか?
491 :
被リンクサービスの決定版 :2010/12/05(日) 21:56:44 ID:07kW5KS8
1とその数以外で割れない数 2,3,5,7,11,13,17…って感じ
>>490 ググれば?
つーか素数を知らないってマジで小学生か?
>>488 はっきりJava知らないから、って言えばいいじゃねぇか。
そうやって屁理屈こねてボロ出すより正直に言ったほうが話が早いと思う。
でも求められてる追加機能が大したことなかったら再構築とか認められないよね。
Javaは最新の技術を追える これは結構大事な事 とはいえJavaOnlyには今はしないけどね 部分部分でJavaはよく使う
Sunが買収されてからJavaはボロボロじゃないか コミュニティーもJOJOに衰退していってる 逆にC#は活発になってる
497 :
nobodyさん :2010/12/06(月) 02:05:20 ID:yucJCxgO
phpってC言語に似てるねって工学部の友人に言われたのですが そんなに似てるんですか? 自分C言語とかやらずにHTML→phpなので良く解らないのですが もしかしてC言語やっておいたほうがいいのでしょうか
その友人はアホ
まぁCOBOLとかFORTRANに比べれば似てると思うよ。 C言語にBASICのテイストを加えた感じじゃない?
Cやperlとかから良い部分等パクってC,C++で作ってるから似てて当たり前 だからといってCをやる必要性は少ない その程度の知識しかないならもっとPHPをやった方が良い(PHPをしたいなら)
501 :
nobodyさん :2010/12/06(月) 02:35:55 ID:yucJCxgO
なるほど! ありがとうございます!
502 :
nobodyさん :2010/12/06(月) 04:30:41 ID:+HasdjW9
【OS名】MacOS X 10.6 【PHPのバージョン】5.2.5 【連携ソフトウェア】MAMP (MySQL 5.0.41) 【質問内容】 データベースからメモリ使用量を抑えて結果を出力したい。 $result = mysql_unbuffered_query($query); while ( $row = mysql_fetch_assoc($result) ) { //$rowの内容を出力 } mysql_queryの代わりに、 mysql_unbuffered_queryを使ってみたのだけど、 1回目の結果しか出力してくれません。
>>502 mysql_unbuffered_query -- MySQL に SQL クエリを送信するが、結果に対してのフェッチやバッファリングは行わない
PHPはC言語の達人達が作ってるからそりゃ似てる罠
C言語の達人になんかワロタ
モジュールとかライブラリ類がCで実装されてるからCで全部置き換えれる
>>485 ・ドキュメント類の無いシステムの改修は請けられない
・PHPは作業員単価が安い
真っ当な理屈で行くならこの2つくらい。
前者はそのシステムが他社製だった場合に限る。
後者はJava使える人を雇ったor外注した場合のコストを仮に出して
「今作り直しておくと将来の機能追加の際の費用が下がるよ」という感じに。
>>485 あれ、それうちが依頼した案件とそっくりなんだけど
言語を選ぶドン!
510 :
nobodyさん :2010/12/06(月) 19:16:09 ID:1oqepL+/
preg_replaceのパターンについて教えて下さい
>>00 にはマッチするけど
>>00-00 には一切マッチしないパターンを作りたいんですが、うまくいきません。
[0-9]{1,3}[^-] と考えましたが、これだと
>>00 はいいんですが、
>>00-00 もハイフンの直前までマッチして置き換えられてしまいます。
>>00 って数字の連続って意味? よくわからんので適当
[\d]{1,3}(?!\d)
512 :
nobodyさん :2010/12/06(月) 19:56:13 ID:1oqepL+/
>>で始まって数字の連続で終わるでいいんじゃね
514 :
512 :2010/12/06(月) 20:27:31 ID:1oqepL+/
というかスレチ
(?<!-)(?<![0-9])[0-9]+(?!-)(?![0-9])
518 :
nobodyさん :2010/12/07(火) 01:05:58 ID:jpXYBjAQ
新Macスレに書き込みましたがスルーされてしまったので
こちらで質問させてください。
スレ違いなら申し訳ですが、AppleのiTunes Connectに
表示される自分のアカウントの sales and trendの値を
HTTP経由でRSSやXMLで取得する方法ってどなたかご存じないですか?
下記のサイトが、それらしいことやってそうですが、
ドメインやAPIキーが何を意味してるか良く分かりません。
http://snippie.net/snip/f835bd0d アカウントとAppleIDを条件にREST等で取得するような
APIってないでしょうか。
ソース見てみろよ 無いからパースかけてるんだろ…
もうPHPも落ち目なのかな? 最近全然まともな質問もないし と思ったらWebProgで一番勢いはある ということは2chから人がいなくなったのかな
2chに書き込んでも根性ひん曲がった悪意の塊しかいないからな
元々PHP板はこんなもん
いつからここがPHP板になったんだよ
urlみてみ? 板名はWebProg板だがPHP板と呼ぶ人はそれなりに居る
こういうどうでもいいくだらないやりとりがダメにしてるんだろうなw
雑スレあっても雑スレと統合するようなスレだから 仕方ないんじゃないかと・・・
>>529 何年前の話か分からないという質問ですか?
それならIDを出して書きこんでくださいね
531 :
nobodyさん :2010/12/07(火) 10:19:00 ID:9UYYDQMR
PHP+MySQLでアプリを組んでおります。 MySQLでビューを使っているのですが、ビューが遅いと聞き、 毎回PHPにてクエリを作成したものと、ビューを用いたもので速度実験してみました。 $sql_1 = "SELECT * FROM test1 LEFT JOIN text2 ON test1.id = test2.id"; $sql_2 = "SELECT * FROM test_view"; $loop = 10000; // ビュー無し $start1 = get_time(); for ($i = 0 ; $i < $loop ; $i++) { $result = $db->query($sql_1); } echo get_time() - $start1 ."<br />\n"; // ビューあり $start2 = get_time(); for ($i = 0 ; $i < $loop ; $i++) { $result = $db->query($sql_2); } echo get_time() - $start2 ."<br />\n"; 結果、 ビュー無:sec 6.97133803368 ビュー有:sec 6.43778681755 となったんですが、これは一度作成したビューをキャッシュで保持しているのでこうなったのでしょうか。 ちなみにmysqlは5.1.33です。
// ビュー無し // ビューあり 実行順序を変えた結果も教えてください。
>>532 ビュー無 ⇒ ビュー有 実施済み
この実行順序を変えて、ビュー有⇒ビュー無で実行することに意味があるの?
534 :
nobodyさん :2010/12/07(火) 13:31:31 ID:KlJmKKf8
It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() date.timezone = Asia/Tokyoと設定してApacheを再起動しても上記の文章がでるんですが、 他に何か設定する必要があるんでしょうか? Xamppでやってます。Php5.2です。
インストーラー版?zip版?
536 :
nobodyさん :2010/12/07(火) 14:09:38 ID:KlJmKKf8
Zipです。
セットアップ用のbatは実行したの?
どこのiniファイルを設定したのか気になりますね
xampp使ってるが timezoneを自分で設定した記憶がない 初期設定で勝手にやってくれるはずだが ちゃんと使う前に説明嫁
ID厨
こいつ性根がひん曲がってるってレベルじゃねーぞw
質問者に対する回答に必要な情報が足りてないから聞いてるのを質問とか 引きこもってて脳みそ溶けてるんだろ
溶けてるなんてレベルじゃないな
545 :
512 :2010/12/07(火) 18:54:38 ID:vVw0jPrd
>>516 上手くいきました!有難うございました
もっと勉強します
546 :
nobodyさん :2010/12/08(水) 01:30:59 ID:BxjIm/1J
携帯でwebサービスの管理画面を操作する時、 たとえば要素が50個くらいあるフォームだとしたら、 入力>確認>投稿 というプロセスのあいだの情報の引き回しはどうすべきでしょうか? 現在、PC版の管理画面ではセッションの中に$_POSTを全部放り込んで 最後の投稿画面にまで持ち回してますが、携帯だとそれは厳しいのかな?と悩んでいます。 そうだとしたら、どういうやり方をするのがセオリーですか?
COOKIE使わないセッションでどうぞ 若しくはhidden
おかえりー 学校行ってたの?
携帯でもcookie使えるけど
汎用的に作りたいんじゃ?
>>551 質問はIDを出して書き込んでください。
>>552 質問と疑問形を見分けられるようにスクリプトを改修することを勧告します。
なお、この勧告を3回発した後、なお当該自称が継続する場合は、強制力を
持った「改修指示」に自動的に更新されます。
>>553 ・解決しなくても回答をもらった場合はお礼を言うこと。
アフォはスルーしようぜ
こんな風に育ってしまって親がかわいそうだけど 育てたのは親だから自業自得か
557 :
nobodyさん :2010/12/09(木) 17:31:31 ID:Q1lTwUUp
mb_strimwidthでどうも解決しない問題があります。 どなたか解決方法を教えてもらえないでしょうか? $title = mb_strimwidth($item, 0, 55, '…', 'UTF-8'); 上記のように書いた場合でも、以下のように横幅が揃わないのです。。 1 スタ-バックスカード500円券が80%OFFの100円で(配送費用込み)掲… 2 「ココロに残る、自然派フランス料理を。」 仙川にある『Bistro… こちらが元の文字列 1 スタ-バックスカード500円券が80%OFFの100円で(配送費用込み)掲載日時を11/25/-11/30の期間でツイッターでお知らせします!枚数限定早いもの勝ち【ヒント:21半頃か】 2 「ココロに残る、自然派フランス料理を。」 仙川にある『Bistro de Herb』の新鮮野菜や旬のシーフードをゆったり味わえる『フレンチ・フルコース』が、2,500円!
そりゃ、文字によってフォントの幅が違うからね
559 :
nobodyさん :2010/12/09(木) 17:54:34 ID:Q1lTwUUp
>>558 レスありがとうございます。
なるほど、そういうことだったのですか。
現実的によい解決方法があったら教えてもらえないでしょうか?
等幅フォント
test
562 :
nobodyさん :2010/12/09(木) 19:35:48 ID:B+6MlJyV
>>560 等幅フォントで検索してみました!
しかし、元となる文字列はAPIから取得しているので、
すべてサーバサイドで変換して、横幅をそろえて、
最終的にそろったフォントをテキストメールで送信なんて芸当はできないっぽいですね。。
>>562 ※等幅フォントでご覧下さい
っていう但し書きが付いているメールがかなり来ますよ。
564 :
nobodyさん :2010/12/09(木) 21:24:01 ID:B+6MlJyV
>>563 なるほどー。
ちょっと諦めるしかなさげなのですね。
565 :
nobodyさん :2010/12/10(金) 01:34:55 ID:AaQt1j6z
http://www.lapindor.co.jp/homme/faq.php このサイトのFAQのように、
質問をクリックするとすぐ下に答えが表示されるPHPのページを作りたいのですが、
こういったページを作るためのフリー素材を配布しているサイトはありますか?
かなり調べましたが、このような形のFAQをPHPで作る方法が分かりません。
素人でも簡単にカスタマイズできるものを探しています。
くだらない質問ですがなにとぞよろしくお願いします。
cssとjavascriptで簡単に出来ますがな…
567 :
nobodyさん :2010/12/10(金) 02:24:10 ID:AaQt1j6z
>>566 レスありがとうございます。
知識が全然ないもので。。
javascriptに関するサイトでここを見れば
馬鹿でも作れるといったサイトはありますか?
できれば教えていただきたいのです。
そのページのURLがPHPってだけであって 実装はJavaScriptで行われている というか普通そういうのはJavaScript まずは元となるテキストを用意する <p id="q1">ウィッグの素材は?<div style="display:none">高級ファイバーを使用し、お洒落で自然なスタイルと立体的で綺麗な髪色を再現しています。</div></p> あとはこの場所(p)がクリックされたときに中のdivのstyleをdisplayに変更するだけ 逆にdisplayだったときはnoneに戻すことで見えなくなる JavaScriptのDOM操作を覚えれば簡単
<div id="faq"><p>faq</p><span>contents</span></div> <script>$("#faq p").click = function(){$("#faq span").toggle();}</script> jquery使えばこんだけ 後はググれ
<div onclick="this.lastChild.style.display=this.lastChild.style.display=='block'?'none':'block'" style="color:blue;text-decoration:underline;cursor:pointer">click me<span style="display:none;margin-left:20px">hoge</span></div>
>>571 あーそっちそっち
今、ちょうどC#とHaskelの板挟みで何がどうかわすれとったわw
そっちに行くには知識が乏しそうだからあえて除外した JSを書いてみたりしてる訳でもないしね
575 :
565=567 :2010/12/10(金) 04:54:02 ID:AaQt1j6z
みなさん、ありがとうございます。 この板のみなさんが優しくて大変助かりました! アドバイスのおかげでなんとかなりそうです!
576 :
nobodyさん :2010/12/10(金) 10:15:31 ID:5NVSc+YH
ちょこっと質問なんですが fopen(ファイルのパス) file(ファイルのパス) ってあるんですけど、このパスって絶対パスと相対パスどっちなんでしょうか? そんでもって絶対パスと相対パスってどっちの方が良いかとかメリットデメリットあります?
>>576 どっちでも問題なく使える
絶対パスで問題があるとしたらスクリプトの配置を変えた時だね
578 :
nobodyさん :2010/12/10(金) 10:33:54 ID:5NVSc+YH
なるほど! ありがとうございます!
相対パスのほうが、デバッグの時は有利
相対だと違う階層のファイルをincludeしたときとかに、カレントが実行してるファイルのとこになるので注意。 結局 dirname(__FILE__)使ったりする。
581 :
nobodyさん :2010/12/10(金) 12:03:19 ID:FHNkWvc0
strlen()関数について質問です strlen()関数はそのまま使ったら文字数のバイト数を表示するんですよね? 'あいうえお'と入れても10ではなく15バイトと表示されてしまうのですが
582 :
nobodyさん :2010/12/10(金) 12:05:37 ID:oH6UvGx+
質問です。 ・したい事 ページ遷移先で$_FILESを有効にしたい。 ・問題点 <form action="./" method="POST" id="m-form" enctype="multipart/form-data"> の「enctype="multipart/form-data"」を付け足したのですが、 画面遷移すると文字化け(s-jisで作っていて、UTF-8で表示しているため)します。 その後、ウェブのメニュー画面より、表示->エンコード->s-jisと したら、「ページの有効期限が切れています。」となります。 どのように解決すればよいかわかりません。 お教えください。よろしくお願いします。
583 :
581 :2010/12/10(金) 12:09:03 ID:FHNkWvc0
さらに言うと全角の容量を1つ3バイトではなく2ちゃんねるのように1つ2バイトにするには どうすればよいのでしょうか?
>>581 マルチバイト対応のmb系の関数を使ってください
mb_strlen
585 :
nobodyさん :2010/12/10(金) 12:18:16 ID:FHNkWvc0
>>584 やはり一文字当たり3バイトになっていまいます・・・。
$contents = htmlspecialchars($_POST['name']);
if(mb_strlen($name) >= 50){
$name = 名前長すぎ;
}
とやってるんですが、全角じゃ16文字が限界で
586 :
nobodyさん :2010/12/10(金) 12:19:52 ID:FHNkWvc0
$name = htmlspecialchars($_POST['name']); if(mb_strlen($name) >= 50){ $name = 名前長すぎ; } です・・・。連続投稿すみません・・・。
UTF-8に統一しろというのはそういうことさね
>>587 おお、ありがとうございます
本当に5回もレスしてすみません・・・。
っていうか2chが全角=2byteなのってUTF-8使ってないからじゃ無いっけ? UTF-8なら全角=3byteで正解な気が
ラテン文字に居たっては1→2バイトだからな UTF-8になかなか統一されない一番の理由はそこにある
いや、携帯のせいだろ
593 :
582 :2010/12/10(金) 13:18:42 ID:oH6UvGx+
たすけてけろーー!
metaタグかContent-Typeヘッダを正確に書けば文字化けしないっしょ
595 :
582 :2010/12/10(金) 14:32:10 ID:oH6UvGx+
ありがとうございます。 やってみます。
>>594 そもそもmb_strlenの第二引数に文字コード入れれるだろ
597 :
596 :2010/12/10(金) 14:54:40 ID:???
ごめん間違えたわ
598 :
nobodyさん :2010/12/10(金) 22:18:42 ID:sfMMgbI8
名前空間って何に使うんですか?
クラス名の衝突回避
変数名の衝突回避もできれば便利なのに。
変数名が衝突するとか言うのは作りが悪いだけ。
わしもそうおもふな
じゃぁクラス名が衝突するのは作りに問題ないの?
クラス名は衝突するようになってるの 再利用可能な部品だからいろんな人がお好きに使ってねーって公開してるの いろんな部品かき集めて作ったら同じクラス名があってうまくインスタンス化できないの 誰が作った部品か書いてあればよかったのになぁと思うわけなの まぁ普通は他人と衝突しないように作るがどうしても名前が長くなってしまいがち 別に悪くはないけど長くしたところで100%衝突回避できる保証はないからあったほうがいいという話
605 :
nobodyさん :2010/12/11(土) 17:09:07 ID:kZNhymsR
【OS名】windowsXP 【PHPのバージョン】5 【連携ソフトウェア】 【質問内容】 会員登録ページを作りたいのですが、会員数は800人程度なのと 内輪のサークルみたいな感じで不特定の人を相手にする訳ではないのと 頻繁にアクセスされる事もないのでデータベースとかを使うのは 大げさ(自分が扱う自信がない)な感じがしています。 データベースを使わない会員登録&アクセス制限の無料サンプルってないでしょうか? 「会員登録 php」でググってるのですが、中々ヒットしなくて
800人も居たらDB使ってもいいんじゃ
DB使った方が簡単だと思うが… テキストファイルベースでそういうの作る方が難しい
608 :
605 :2010/12/11(土) 18:02:38 ID:kZNhymsR
レス、ありがとうございます。 DB使った方が良いですか。 先程からググってるんですが、なんかこれだってのが 見つからないんで、お勧めあったら教えて下さい。 今から、本屋行ってphpの本漁ってきます。
ファイルで管理する一番単純な方法はディレクトリ名をアカウント名にする
1000人以下ならCSVファイルでokだろ。 あとの管理も楽。
口で言うのは簡単だがあなたにはたぶん作れない というわけでDBを使う気があるのならxoopsみたいなものをインストールしたほうが早いんでは?
会員登録だけのスクリプトとかあんまり落ちてないだろう ショッピングカートとか探して参考にしてみれば?
>>610 1000人以下でもSQLite使ったほうが管理はしやすいと思うが・・・
614 :
nobodyさん :2010/12/11(土) 18:31:33 ID:6a9fgwGZ
ふつうにDB使っとけよ
>>605 DBを使うことが大げさとは思わないけど、DBを避けて作ることも可
サンプル探す時は「会員登録」に拘るんじゃなくて
構成の似ているものを探せばすぐ流用できるのは出てくる。
はぁ? 単にDB使う前に二の足踏んでるだけの人に なんでそんなこと薦めるんだよ あとあとのこと考えれば明らかにDB使わないほうが ややこしいっつーの
・800人 ・仲間内 ・管理者は一人 じゃあEXCELで十分。
質問と関係ないとこでケンカすんな餓鬼ドモが
便所の落書きで熱くなるなよ
EXCELすごいよEXCEL
アクセス制限も含めてやりたいんじゃないの?
データベースかテキストかって単なる保存場所の問題で アクセス制限とはまた別の話
>>622 >データベースを使わない会員登録&アクセス制限の無料サンプルってないでしょうか?
別な話じゃねーよ
はい?「データベースを使わない」って形容詞が付いてるんだから 使っても作れるし、使わなくても作れる、つまり別の物だろ。
> データベースを使わない ↑これ形容詞なのかwww
小卒かな
SQLiteかPosql使えばいいよ
628 :
nobodyさん :2010/12/12(日) 03:10:46 ID:upsovo/5
$text = <<EOL この中でphpのif文などを使いたい EOL; のですが可能ですか?
>>609 ファイルの方が手っ取り早くね
アカウント作成
touch($user)
アカウント削除
unlink($user)
アカウント確認
file_get_contents($user)
パスワードはファイル内にでも書いとけってことで
>>628 あなたがやりたいのは
$text = "この中でphpのif文などを使いたい";
と同じこと。途中でif文を使いたいなら分割しましょう。
ちなみにヒアドキュメントは"<<<"です。
$text = <<<EOL
・・・
EOL;
if(〜){
$text .= <<<EOL
・・・
EOL;
}else{
$text .= <<<EOL
・・・
EOL;
}
631 :
nobodyさん :2010/12/12(日) 04:25:43 ID:upsovo/5
632 :
nobodyさん :2010/12/12(日) 14:41:37 ID:p55fUIgB
return値がvoidの場合でもちゃんとreturnは記述したほうがいいですか?
633 :
nobodyさん :2010/12/12(日) 14:51:35 ID:N/dcrvR4
別に書かなくて良いよ
書く必要はないが気持ち悪いのでいつも書いてる
むしろ書いちゃダメでしょ
なんとか粒子が濃いからね
637 :
nobodyさん :2010/12/12(日) 16:38:08 ID:oK+8zv6U
かきすぎるとさるとよばれますよ。
if () { while(1) { if () { return; } } } 後ろに処理がなかったらbreakの代わりにreturn使ったりするな ちなみに俺はループは無限ループにして 中で抜ける条件を書く異端者なので参考にしないほうがいい
異端というか組み込みやってた感じがしなくもないな まぁ参考にはしないほうがいいなw
スクリプト言語に過度の期待はするなw 商売なら別だけどね
トリッキーなことを得意がってやっていると 改造の時に困るぞ。
642 :
nobodyさん :2010/12/12(日) 22:53:47 ID:G6vvlQR5
自作関数について質問です。 a.txt 1列目,2列目 ID,001 name,名前 (行列可変) のような複数のデータファイルがあります。 これを複数同時に読み込みたいので下記の関数作ってみたけどうまくいきませんでした。 $dataに連想配列が返ってくるようにはどうしたらよいでしょうか? $read_file = array("a.txt","b.txt"); function Read($read_file){ foreach($read_file as $key){ $str = @file_get_contents($key); $array = explode("\r\n", $str); foreach($array as $koumoku => $value){ if($value){ $item = explode(',', $value) ; $data[$key][$item[0]] = $item[1]; echo $data[$key][$item[0]]."<BR>"; }}} return $data; } var_dump($data); ------
関数呼び出ししてないってオチじゃないよね・・・? あとfgetcsvを知っておくとともっと楽にできるかもしれない
644 :
nobodyさん :2010/12/12(日) 23:32:39 ID:G6vvlQR5
参考書探して呼んでたら自己解決しました。
global $data
っての追加したらできました。
>>643 呼び出し部分はここのコピぺし忘れただけです;
fgetcsv調べてみます
ありがとうございます。
returnして受け取れよw
~~旦_(‥ )こりゃどうも
便利だぞ! global 彼女の部屋
リア充乙
global 俺の嫁
彼女の部屋.引き出し.open() おや・・・知らない男の写真がたくさん出てきたぞ
>>650 fgetcsv で取り込んで整理しましょう。
>>652 パーミッションエラー
削除する権限がありません
MySQLのビューって、LEFT JOINみたいにキーが一致するものを取得するんだと思ってたけど 実際には一度全てのパターンマッチを取得してからWHEREでキーの一致する部分を検索してたんだな そりゃ思いはずだ
656 :
nobodyさん :2010/12/13(月) 19:51:50 ID:3wG2VAx5
Windows7(32bit) PHP5.3.3 Apache2.2.17 この環境で拡張子htmlのファイルからテキストデータを拡張子phpのスクリプトに送信すると何故かダウンロードダイアログが出てしまいます php→phpだと特に問題ないのですが何か設定するべき箇所はありますか?
キャッシュ削除してみると幸せになれるかも あとはエスパーに任せたw
658 :
nobodyさん :2010/12/13(月) 20:31:58 ID:X4P4A1O7
>>656 > テキストデータを拡張子phpのスクリプトに送信する
この部分についての具体的な記載をお願いします。
>> テキストデータを送信する、拡張子phpのスクリプトに
どの様な方法で、どの様なテキストデータを送信しているかが判然としません。
追加して書けば… >> 拡張子phpのスクリプトで受信する 考えがあると思いますが、どのようなテクストデータを どの様に受信する考えでしょうか? 質問が漠然とし過ぎていて、回答が得難いと考えます。
660 :
nobodyさん :2010/12/13(月) 20:47:57 ID:3wG2VAx5
>>658-659 漠然としすぎましたね申し訳ないです
具体的なソースを書くと
A.html
<FORM method='post' action='B.php'>"
<input type='text' name='a'>"
<BR>"
<input type='submit' value='送信'>"
</FORM>"
このフォームで作ったテキストデータを
B.php
<?php
print $_POST["a"];
?>
このスクリプトにPOSTで送信して表示させたかったのですがAがhtmlだとダウンロードダイアログが開いてしまいます
A.htmlを
<?php
echo "<FORM method='post' action='uke.php'>";
echo "<input type='text' name='a'>";
echo "<BR>";
echo "<input type='submit' value='送信'>";
echo "</FORM>";
?>
の様にphpソースに書き換えるとB.phpに問題無く送信出来て表示も出来るのでapacheのhttpd.conf等に何か記述漏れがあるのかと思い質問させて頂きました
どう見ても下はBに送ってないが
A.htmlにダブルクオーテーションが混入してるように見えるが
663 :
nobodyさん :2010/12/13(月) 22:09:59 ID:3wG2VAx5
すみません自己解決しました
原因はhtmlファイルに
http://localhost/ 〜経由でアクセスしていたのではなくhtmlなのをいいことに直接ファイルをクリックしていたのが悪かったみたいです
はぁ?
IEを相手にContent-Dispositionのfilename=で日本語ファイルを設定するにあたり、 1 SJISでファイル名を返す 2 URL EncodeしたUTF8文字列を返す 双方試したのですが、ファイル名に半角スペースを含む場合 1はアンダーバーに変更される 2は+のままになる という症状になってしまいます。 スペースのままファイル名を付けるいい方法はないでしょうか?
ごめんなさい、PHP使ってるけどPHP関係ありませんでした、移動します。
最近「
>>1 」厨がウザいのですが、
何か良い解決法はありませんでしょうか?
672 :
nobodyさん :2010/12/14(火) 06:41:40 ID:l3lG4ooA
入力したデータを送信してPHPで処理するのを作ってるんですが(主に文書) その際のエラーチェックやセキュリティはPHPで行うのと、JavaScriptで行うのどっちがいいのでしょうか? 自分的にはクライアント側でやったほうがサーバーの負荷が少なくて済むと思うのですが サーバー側でやった方がセキュリティ方面で良かったりします?
クライアントなんてJavaScriptきってれば抜けられるわけだが JavaScriptで送信するようにしてもクライアントのみのチェックはやってはいけない 最終的に判断するのはサーバであるべき クライアント側はあくまでも補佐であることを忘れてはならない (送信→失敗→再送信→失敗→再送信・・・といったことを少なくするための)
674 :
nobodyさん :2010/12/14(火) 07:08:01 ID:P37GDDtJ
>>672 > エラーチェックやセキュリティ
何を基準にエラーやセキュリティと述べているかが判然としません。
675 :
nobodyさん :2010/12/14(火) 07:19:58 ID:l3lG4ooA
俺としてはJavaScriptで確認、PHPで再確認するのがいいかな
Javascriptだけのチェックじゃ
>>673 の言うとおり切ってりゃすぐ抜けられる
だけどJavaScriptでもチェックできるようにしたらサーバーへの負担も少なくなるしクライアントも楽
サーバーの補佐としてJavaScriptを入れておくことを薦める
俺としてはPHPでのチェックがネックになるようなサーバなら捨てちまえ
大規模なところだとそういうの気にした方がいいんじゃね? mixiとか
何をチェックするかによるだろ データベースに照合してかぶってないか確認するような場合はそもそもJavaScriptじゃ無理だし 文字数やら型やら調べるだけなら負荷とか考える必要もない
入力間違いとかユーザに起因するエラーチェックはクライアント側(JavaScript) セキュリティなど悪意のあるユーザ対策はサーバー側(PHP) かな
分けるんじゃなくて必ずサーバ側でやらないとだめ 入力間違いをJavaScriptを無効化されてすり抜けた場合間違ったまま登録できてしまう
本来、JavaScript を使用してクライアント側でチェックするのは、使用者をサポートすることを目的として使います。 サーバー側で処理をする上でのチェックは、使用者をサポートすることは考えません。 サーバー側での処理を考えてのチェックであり、チェックする目的が違っています。
Ajaxが主流の時代に何言ってんだよ。 サーバーでのチェックなんて時代遅れ。 全てJavascript+Ajaxでやるのが正解。
>>683 頭悪いの丸出しだぞ
Ajaxの定義をしっかり持ってこい
どちらにせよ、サーバーサイドで全て行い、クライアントにも使いやすいようにJavaScriptでもするのがいいんじゃないかな?
Javascript+Ajax(キリッ ひさびさに笑わせてもらった
>>683 は釣りだよな?
素で言ってるならとてもこの板の住人とは思えない
はぁ?サーバーサイドとか意味ないし。 Ajaxで十分。
ちょっと待て、何言ってるんだ
Ajaxはサーバと通信しないとでもいいたいようだなw
サーバーへの負荷が少なくファイルが存在するのかチェックする方法はあるのでしょうか?
file_get_contentsで内容までは読む必要はありません。
>>683 それは何処からどうみても間違い
get_headers しかし関数名とは裏腹にGETリクエストしてるって数スレ前で指摘されてたのが気になるところ curlでheadリクエストしたほうがいいかも
>>690 質問ならIDを出すように。
Ajaxの事よく知りもしないで適当なこと言ってんじゃねぇよ。
file_exists
>>691 ,693
ID出さない奴に答えてんじゃねぇよ。荒らしかよクズが
何か変なのが沸いてしまった
低能さを自ら晒して顔真っ赤になっちゃってかわいいのうwww
うわ、IDを出せと煽っていた人のスキルがここまで酷いものだとは思わなかった
>>695 誰も質問してねぇし。
おもいら揃いも揃ってクズだな。ここまでひどいとは思わなかったよ。
PHPなんかもう古いだろ。これからはAjaxらしいから勉強したほうがいいぞ。
>>691 >curlでheadリクエストしたほうがいいかも
こちらで作りました
ありがとう
>>699 お前ちょっと自分が思ってるAjaxを説明してみろ
>>700 最後までID出さずじまいか。最悪だな。
703 :
nobodyさん :2010/12/14(火) 11:17:41 ID:u6a6HqKY
今質問してもよろしいのでしょうか・・・?
>>701 質問ならIDを出すように。
Ajaxくらいググればいくらでも調べられるだろ。
人に頼ってんじゃねぇよ。
ヴァカが1人湧いてるだけなので気にせず質問してね
ヴァカって言った奴がヴァカとはよく言ったものだ
うわぁ・・・ 本当にいつもの脳がメルトダウンしてるやつだったか こんな低レベルが煽りに駐留してるなんてもうPHPスレもだめかもわからんね
いやそれ以前にAjaxもろくに知らないおまいらのレベルが終わってんだろ
709 :
nobodyさん :2010/12/14(火) 11:30:37 ID:u6a6HqKY
入力するときはUTF-8 入力された文字を保存するテキストファイルはANSIで保存 そんでそのテキストファイルを表示する時はまたUTF-8という感じにしたいのですが ANSIで表示できないUTF-8の特殊文字(例:?)だけを?と変換して保存し 更にソレをUTF-8とかでブラウザーでちゃんと元の特殊文字で表示されるようにするにはどうしたらよいのでしょう?
病院連れて行かないでこのスレに常駐させておく親も親だな
もう誰が誰だかよくわかんない ID???とかマジで油豚みたいなの擁護してるだけとしか思えん
この板Unicode対応してないから特殊文字使えんよ
>>709 > 入力するときはUTF-8
これはクライアント側で入力するときにUTF-8と言う意味ですか?
サーバー側で受け、PHPに渡されるときのコード体系がUTF-8と言う意味ですか?
> 入力された文字を保存するテキストファイルはANSIで保存
これはサーバー側でPHPにて、テキストファイルとして保存することを述べていますか?
> そんでそのテキストファイルを表示する時はまたUTF-8という感じにしたいのですが
「テキストファイルを表示する」とはPHPで表示するという意味ですか?
サーバー側でサーバーの端末に表示するんですか?
それとも入力に使用したクライアント側で表示することを意図していますか?
どこでPHPが関わってくるのか、クライアント側、サーバー側がどこで関わるのか、
それらを明確にすることで、あなたが意図する回答も得やすいと思います。
>>714 `;:゙;`;・(゚ε゚ )ブッ!! 微妙な流れに牛乳噴いちゃいました。
716 :
nobodyさん :2010/12/14(火) 11:44:49 ID:u6a6HqKY
>>713 すみません、説明不足でした
入力する時というのはクライアント側で、という意味です。そしてその文字列をPHPでサーバーに送ります
そしてサーバーにテキストファイルとして保存する時ANSIで、という事です
PHPでテキストファイルを読み込んで表示するという意味です
こーいう初心者スレって大抵初心者うぜぇ死ねって展開なのに 逆なんだよなぁココ
>>709 ANSIで保存というのはどういうことでしょうか。
実は別に変換して保存しなくてもいいのではないですか?
utf8そのまま表示すればいいんだし。
文字コード変換で、指定されたコードで変換できない文字を別の表現に変えて保存したりすることはありますが。
なんでそんな変換をしないといけないと思ったか書いてもらえるといいかも。
そろそろajaxネタ自重してくれ
深読みして容量節約のためなら単に圧縮すればいいよ それでPHPで読むとき解凍すればいい
721 :
nobodyさん :2010/12/14(火) 11:51:12 ID:u6a6HqKY
>>718 UTF-8だと全角文字の容量が3バイトだったりして100MBの全角文字が150Mになったりするので
だけどUnicodeの特殊文字も使いたい、という訳です
そんで記号とか普通の文字はANSIでそのまま、Unicode特有の特殊文字は#8492とか変換してANSIのテキストファイルで保存したいな
という事です
無理だろ新しい武器なんだぜ? 池沼にとっては足りない脳みそを補うために必要なものだ 回答者が質問者に追加情報聞き出すために質問→質問はID出せ 質問者への回答→Ajax使え 煽りへの対抗→Ajax知らねえだけだろ自分でググレ
723 :
718 :2010/12/14(火) 11:54:36 ID:???
>>721 まずANSIってのやめましょうよ。
>>720 のエスパーに敬意を表して、ファイルごと圧縮すれば?
たとえば3バイト文字だけ選んで記号化しても3バイトで収まらないっすよ?
>>721 サーバーでの容量を気にしている時点でPHPうんぬんから視点を変えることをお勧めします。
サーバーの容量をPHPプログラミングで救済するよりはサーバーの増強を検討した方が良いと思います。
容量が大きなファイルを取り扱うのならば見合ったサーバー構成にすることが望ましいです。
2chのunicodeがonになってる所ってどーなってんだっけ? 2chのログってJISで保存してたと思うけど unicodeがonになってる板はutf8とかでログ保存してんの?
ただの数値実体参照だろ
shiftjisに変換して漢字を2バイトに収めたうえで変換できない文字だけを 別表記(たとえば数値実体参照)でって方法もあるけど。 mb_substitute_characterでlong指定とか。
あ、もしかして参照したいのか? 2chみたいに ログ→数値 ブラウザ→表示 でも入力する時コードで入力しないとダメだけど
>数値実体参照 >数値実体参照 >数値実体参照
だっけどさーわざわざ?ってログ作るよりunicodeでそのまま保存したほうが容量軽いんじゃねー?って思ったりするんだが ログも全部UTF-8でいいよJISなんて携帯が足引っ張ってるだけなんだし
数値実体参照変換はphpじゃ無縁なんじゃない?
つまりまとめるとphpで文字実体参照したいですって事か。 どっちが数値でどっちが文字かわかんねぇが。
お前ら本当に得意不得意ハッキリしてんな
数字実体参照ってのはまあ間違いだな。
軽い話題じゃないとついていけないからなしょうがない
JISなんか使ってたっけ?
JISはまた容量増えるしな。 あ1で8バイトだ
うっそマジで、もうメリット無いじゃん
ajax厨はなんなんだ
お前ら文字コードの参照くらいAjaxでできるだろ 時代はAjaxだろ
ANSIって あいうえお→10バイト あ1→3バイトじゃないの? ちょっとまた容量増えるってどういうことだ、ANSIとJISの違いがわからない俺に説明してくれ
AJAXのXの部分はPHPが担当するんだけどな
>>741 ごめん1バイト間違えたのでついでに解説
こっから漢字な:1B 24 42
あ:24 22
漢字ここまでな:1B 28 4A
1:31
で9バイトっす
俺、 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> ↑ テキストは自動的にANISで保存される <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ↑ テキストは自動的にUTF-8で保存される っていう無知無知ギャルな認識してんだけどコレ合ってんの?
受け取った文字列のencodingをdumpしてみればいいじゃないか
>>744 文字コードを指定すると、自動でそのタグ書いてくれる
アプリなら見たことあるけど、それを書くと自動で
文字コードを変更してくれるアプリは見たこと無い。
あるの?
>>744 それはブラウザで表示するテキストの文字コードじゃないか?
保存されている文字コードに合わせて、そのタグを書いてやるとブラウザがそれを参考に出力してくれる。
>>744 上のなら、 このファイルはShift_JISだぞ、そのつもりで読めよってブラウザに知らせるだけだよ。
>>746 笑って良いがutf-8で行うとテキストが勝手にUTF-8で保存されてて
Shift_JISで行うとテキストが勝手にANSIで保存されてたっていう体験談でそう決めてた
まぁutf-8の場合unicode形式の文字送ったらテキストがUTF-8になって
Shift_JISでunicode形式の文字送ったらそのままANSIで数値実体参照変換されたんだろうって事だろうけど
勘違いしてるとこがあるけど、説明がめんどくさいw
あえて文書文字コードと違うものを指定して化けさせて嫌がらせするときにも使えるな
>>749 解ってるじゃんかよwまどろっこしい奴め
>>743 うっわ過疎ってんな
っていうか初心者質問スレしか専門板にぎわってないんだよな
PHPについて適度な雑談するときも質問スレになっちゃってるし
初心者に優しくしてるとソイツが段々力付けてここの住人になってくれてにぎわうとゆー
規制+専門板名物キチガイ+板多すぎ これで新規は質問スレにしか寄り付かないからな
んじゃあさ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> でも「unicodeが含まれててもANSIで保存するぜ俺のphpは!」なんて事できんの? 何か俺ID出して質問したほうがいい気がしてきた・・・。
突如沸いたAJAXよりかはマシな流れだと思うけど
>>757 保存って変だし、
ANSIってのも変だ。 ANSIって何さw
ANSI Cしか思い浮かばんw
日本語ウインドウズだとShift_JIS
えっと、テキストファイルってのはデフォルトの文字コードがANSIになってる そんでcharset=Shift_JIS"だとunicodeの文字を送るとサーバーは認識できないからANSIのテキストに変換されて保存される charset=utf-8だとunicodeの文字を送るとサーバーは認識してテキストファイルにunicodeの文字でUTF8のテキストにそのまま保存される ふぅ、まぁこんな所だ んでUTF-8でunicode送ってもテキストファイルAはNSIのまま保存? それは文字列の文字コード変換でも使えばいいんじゃねーの?
>>757 ほれ
<?php
mb_language("Japanese");
$a = "hoge.txt";
touch($a); //文字コードはOS依存(デスクトップで右クリ→ファイルを作成状態)
$s = mb_convert_encoding("あいうえお", "UTF-8", "auto");
file_put_contents($a, $s); //ここでUTF-8になる
ついでに mb_detect_encodingで誤検出大作したほうがいいかも
テキストファイルってのはデフォルトの文字コードがANSIになってるってのは、 ウインドウズのメモ帳とかの話? そしたら、そのまま保存すれば Shift_JISになります。 もちろん2バイト文字が入ってなければ ANSIコードで書かれたファイルと言ってもいいですけど。 ファイルの文字コードなんてないんだよ。なんの文字コードでかいてあるか、中身みないとわからないから もしくは、読んでもわからないから文字化けするんだよ。 だから、このファイルはこの文字コードで書いたからなって指定するんだよ。 メモ帳で charset=utf-8 っていれて保存したのブラウザで見れば化けまっせ。 PHP関係ないな。
メモ帳で保存すると abcde あいうえお ANIS 5 10 UTF-8 5 15 だけどサーバー上は関係ねーからな 例えばレスしてログ作ってもunicodeがそのまま保存されても変換されても同じ
>>767 えっと、サーバーにアップすると文字コードが変わると思ってる人?
>>767 それとも、Ajax最強って思ってる人?
charset=shift-JISとなってるphpでunicodeの特殊文字をサーバーで処理したらどうなるの?
default_charsetのこと?
漢字部分はShiftJISなりEUCなりUnicodeで変換されるんで ANSIって1バイトコードのことだったような気がするんだが
質問やない! 確認や!
大変よく出来ました。
はなまるっ!
センセイション!
>>773 変換されるって言ってるけど、何が変換してると思ってるんです?
メモ帳で漢字書きますよね? 1って打ったら31ってコードがはいるでしょ?
あって打ったら 82A0が入るわけでそれで終わり。 そのまま保存されるし、
そのファイル読み込んで表示しても何にも変わらない。PHPが処理しようがなにしようが。
ブラウザで表示させてもブラウザに渡されるのは 3182A0
これを 1あ って表示するかどうかはブラウザがこれはshift-jisだって教えてもらってた場合だけ。
>>779 その理屈でいうならwindowsは内部がunicodeであってメモ帳で保存するときに
指定した文字コードへ変換されるんだが
俺はメモ帳でもUTF-8で保存するけどな
うそつけ変換されるか
XPまでのnotepad.exeはSJISのみ対応だったよな
>>780 内部がunicodeなら開く時に文字化けしています。
>>780 メモ帳でUTF-8で保存するとBOMでろくなことにならんけどな。
ANSIやっとわかったよ。
メモ帳で CP932で保存するのをANSIって選択させやがるのなwwww
まあWindowsプログラマだとしたらShift_JISよりもANSIって言いたくなるかもしれない
ならんってw
>>783 内部ってファイル内部じゃなくてメモリの話ね
うさみみハリケーンで調べたけどメモリではUTF-16のLEで格納されてた
今調べてみたけど、 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> でフォームからあ*1000を送ってテキストに保存させたら2KB <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> でフォームからあ*1000を送ってテキストに保存させたら3KBだった
散々言ってた保存ってのはそのことか。 わからんよw
お前ら同じような事話してるようで全くまとまりがねぇ! 少なくとも4人は全く別の話してるぞ!
関係ないと思うのを読み飛ばせ。 できなきゃここでいろいろ知るのは無理だw まともに答えてるの俺ともう一人しかいないけどな。
おまえだれだよw
だから最初からAjax使えと言っただろ。
WindowsならCP932じゃないのか
っつーかAjaxってPHPよりJavaScriptって感じじゃねぇー?
鯖側の話だろ
>>788 UTF-8は全角文字1個ごとに制御文字つけるからバイト数がかさむ
UTF-16は全部2バイトコードにしてあたまに制御文字つけるだけ
そのかわり1バイト文字も2バイトになる
全角文字ばかりならUTF-16で保存すればShift-JISとあまり変わらない
ただPHPだとUTF-16ってイマイチ扱いづらそうな印象なんだがどうなんだろうな
>>797 BOMの読み飛ばしとか保存のときに先頭につけるの手動でね
JavaScriptのXMLHttpRequestを使ってサーバに非同期でリクエストを送ることができる サーバからはレスポンスとしてXMLを送ってもらい(プレーンテキストなら何でもいいが) そのXML(プレーンテキスト)を解釈して結果をJavaScript側で判断するってのが流れだ サーバに問い合わせる内容が例えばユーザ名の重複チェックだった場合 PHPへリクエストを送りPHPからRDBMSへユーザの照会を行い 重複してるかしてないかの結果と何か便利な付加的な情報があれば加えて それらRDBMSから取得した情報をXML(実際はry)として送出(レスポンス)する このように動的にXMLなどのデータを作成して送る必要があるため 必ずサーバサイドの言語と連携する必要がある 俺ってやさしいね
静的ファイル読み込んでJSで処理してもいいんだけどね
まあユーザ名の処理なんかはサーバーサイドでやらないとな
802 :
nobodyさん :2010/12/14(火) 19:37:11 ID:xhJxB9zD
Linuxで動くシステムを開発しています。 XAMPPを使ってローカルである程度の動きを実装したいと考えていますが フォルダの階層を表示するときに Linuxだと/、windowsだと\になります。当然ですが。 プログラム中でファイルをインクルードするときに パスを記述するときにこの違いはどの様にして対応してますか? DIRECTORY_SEPARATORをつかってパスを記載してますか? PHPの設定ファイルとかで簡単にパスの区切り文字を windowsでも/にする方法とかはありますか?
なんか今日俺がどれだけ文字コードちゃんの理解が足りなかったかよくわかった ごめんねUTF-8ちゃん
相対パスにするから意識しない
同じく相対だなー 絶対パスに指定するとしても1箇所のみでそこは DIRECTORY_SEPARATORを使って書く
仮想化ソフトとUbuntuで配布してる仮想マシン入れればwindowsでlinux併用できるのに なんでwindows版の開発環境使うんだろうか
Windowsでも開発することはあるけど… 仮想マシンにあるフォルダの共有機能使ってUbuntuで動かしてるわ
808 :
802 :2010/12/14(火) 20:39:41 ID:???
>>804 >>805 参考になりました。
私も相対パスを利用していきます。
ありがとうございました。
Windowsサーバーで運用してるシステムもたくさんあると思うが
>>802 =
>>808 DIRECTORY_SEPARATOR 使ってるよ
ただインクルードについては、include_pathに入れちゃうからパス指定はしてない。
あり過ぎて困っています。
>>809 >>802 さんは「Linuxで動くシステム」と言っているので
それならローカル環境も、極力本番に近いLinuxにしたらという事を
>>806-807 さんは言っているのだと思います。
丁寧で好感が持てる回答ですね これを参考にして他の回答者はまともな文章を書きましょう
はい
どうみてもAjax厨の自演にしか見えないんだけどな
mysqlスレに質問するべきかもしれないのですが、 以下の命令を実行すると $sql = " select log_id, name, mail_address from tokai_member "; $sql.= " where log_id= '" . $_SESSION["log_id"] . "'"; $res = mysql_query( $sql ); $count = 0; $info = mysql_fetch_array( $res ) ; $info["log_id"] $info["name"] $info["mail_address"] にはデータが入るのですが $sql = " select log_id, name, mail_address from tokai_member ";を $sql = " select * from tokai_member "; に変えると $info["mail_address"] にだけ、 値が入らないのですが、何が間違えなのさっぱり分かりません。 データベースの方の設定で「*」の時は取得できない設定とかってあるのでしょうか。 環境はWinXp、xamppのmysqlを使っています。 よろしくお願いします。
818 :
nobodyさん :2010/12/15(水) 01:15:10 ID:V9crItGv
失礼しました。 【OS名】WindowsXP 【PHPのバージョン】5 【連携ソフトウェア】MySQL 【質問内容】 mysqlスレに質問するべきかもしれないのですが、 以下の命令を実行すると $sql = " select log_id, name, mail_address from tokai_member "; $sql.= " where log_id= '" . $_SESSION["log_id"] . "'"; $res = mysql_query( $sql ); $count = 0; $info = mysql_fetch_array( $res ) ; $info["log_id"] $info["name"] $info["mail_address"] にはデータが入るのですが $sql = " select log_id, name, mail_address from tokai_member ";を $sql = " select * from tokai_member "; に変えると $info["mail_address"] にだけ、 値が入らないのですが、何が間違えなのさっぱり分かりません。 データベースの方の設定で「*」の時は取得できない設定とかってあるのでしょうか。
phpmyadminからの操作はどう?
mysql_fetch_assocで
822 :
nobodyさん :2010/12/15(水) 08:47:47 ID:24J/DfE6
質問です PHPで皆がMySQLとかに自分の情報を書き込むサイトを作ってるのですが この場合、PHPはアクセス制限かけた所に保存して、書き込みフォームで引き出すという方がいいでしょうか? それともそのまま書き込みフォームにphpを記入してもいいのでしょうか? 安全面から見るとどっちの方がいいんでしょう?
>>822 要するに、public下にスクリプトを置くか、
public下ではhtmlレベルでrequire_onceかなんかでphpを呼び出すかってことかな?
どっちも一緒
824 :
818 :2010/12/15(水) 09:22:44 ID:V9crItGv
>>819-821 さん、レスありがとうございます。
phpmyadminでの操作では、問題ありません。
phpmyadminのsql画面で同じsql文を実行すると、3項目出てきます。
mysql_fetch_assocというのは、知らなかったので
調べてやってみます。
825 :
nobodyさん :2010/12/15(水) 09:23:21 ID:24J/DfE6
>>823 すみません、publicって皆がアクセスできるところでしたっけ?
とりあえずCGIってcgi-binってフォルダがあってそこに入れる感じじゃないですか?そしてそのフォルダに属性でアクセス制限かけたり
だけどphpってHTMLにそのまま記入してますが大丈夫なんですか?っていう感じです、説明足りずスミマセン
自分はcgiみたいにアクセス制限かけた所に呼び出すphp保存して、phpでではrequire_onceやinclude_onceで呼び出した方が安全に思えるんですが
どっちも一緒なのですか
うん一緒 CGIが家で全裸露出するとしたら PHPは透明人間になって駅前で全裸露出する感じ
require_onceとかはプログラムが複雑になったとき同じphpファイルを何回も書き込んで実行しないで 連用して使う感じだからそんな安全重視とかって感じではない だからこそphpはセキュリティをしっかりやらなければならない
>>824 mail_addressが2つあるとかじゃないよな?
829 :
nobodyさん :2010/12/15(水) 09:35:26 ID:24J/DfE6
>>826 解りやすいたとえありがとうございます!
処理は拡張子に依存しているからファイルの中身がHTML寄りであろうがCGI寄りであろうが リスクは一緒。
おじちゃんたち、どおして働かないのぉ?.exe
ブラクラじゃねぇか
834 :
nobodyさん :2010/12/15(水) 10:18:05 ID:V9crItGv
>>828 レス、ありがとうございます。
mail_addressは1つしかありません。
phpmyadminでのsql実行や、「*」を使わずカラム指定した時は
正常に見えるので構造定義等は間違っていないと思いたいのですが。。。
他のカラムと違うのはmail_addressを主キーに指定しているくらいです。
それって単にSQLの最初の一行目のmail_addressが空なだけなんじゃねw
ORDER BY が無いと読み込む順序は不定。 フィールドを指定したときと*の場合で読む順序が変わってるだけかと。 確かめてみたらプライマリキーを指定したときはプライマリキーの順番、 *やプライマリキーを出力に指定してない場合はINSERTした順番のような感じだった。 なので、835に一票
キー定義されてないなら 警告でるし、そのときはNULLのはず。 DBでNULLならNULLだけど。
838 :
nobodyさん :2010/12/15(水) 11:13:25 ID:V9crItGv
>>835-836 レス、ありがとうございます。
>>それって単にSQLの最初の一行目のmail_addressが空なだけなんじゃねw
最初のレコードのmail_addressカラムにデータが入ってないと言うことでしょうか。
データ自体は入っています。(テスト中で3件しかないので)
836さんの言われてることは、mail_addressカラムに全部データが入っていれば
問題ないのですよね。
ただ、 >>プライマリキーを出力に指定してない場合 って言うのが、よく分かりません。
出力する、しないが指定できるのでしょうか?
ちょっと、ググって来ます。
>>837 ありがとうございます。
書いてる途中にレスが。。。。
警告みたいなものはでないです。
840 :
nobodyさん :2010/12/15(水) 11:53:05 ID:MdJi7P3P
【OS名】Ubuntu 10.10 【PHPのバージョン】5.3 【連携ソフトウェア】Apache, MySQL 【質問内容】 超ローカルcatv接続なのに規制されました(泣 phpを使って規制解除をしてもらう方法を教えてください
PHPとは関係ないので諦めて規制解除をお待ちください
PHPにこんな感じの匿名classはないんだっけ?
$class = new {var $m_name = "value"};
>>838 あとは凡ミスしか考えられない
色々と弄り回しているんだろうからデータも再確認した方がいいかも
>>818 > $info["mail_address"] にだけ値が入らない
どのようにして、「値が入らない」ことを確認していますか?
実は値が入っていても、「入っていない」と誤って認識してしまうプログラミングをしている可能性はありませんか?
if ( $info["mail_address"] = "" ) とかで代入しちゃってるとか
$infoをvar_dumpで出力して中身見ろ
>>842 一応あるといっていいのか謎な物はある
$class = new stdClass();
$class->m_name = "value";
こんな感じでプロパティを追加してく
メソッドも一応関数使って追加できたはず
847 :
nobodyさん :2010/12/15(水) 14:55:36 ID:V9crItGv
>>842 ,844-845
レス、ありがとうございます。
print($info["mail_address"]); とやって確認しています。
他のデータは表示されます。
ここまで来ると凡ミスだと思います。
問題の行の「*」を各カラム指定に変えると、正しく取得できるので
他の行でミスをしてるとは考えづらいのですが、多分、ほんの些細なこと
で引っかかってると思います。
もう一度、しっかりプログラムをチェックしてみます。
>>847 プログラムの見直しなどを行って、それでも本当に値が入っていないと判断できたならば、
$info["mail_address"] がどんな状態になっているかを調べませんか?
そして、調べた結果をこのスレに書いてもらえますか?
私個人の経験ではありえない状況であるので、是非にとも、一つの知識として得ておきたいと思いました。
厚かましいお願いで申し訳ありませんが、宜しくお願いします。
printじゃなくて var_dump で $info 丸ごと見たいところですよね。
>>847 可能ならDBのテーブル構造を示したほうが参考になるかも。
$info["mail_address"]だけが空というのは原因が想像できないので
フィールド名を変えてみたりして試したらどうですか。
"name"と"mail_address"のフィールド名を逆にしたらどうなりますか?
凡ミスに対しておまいら不思議なくらいいつまでも親切だな
>>851 あなたはこのスレに相応しくないようですのでお引取り願います
>>852 そうした言葉は荒れる原因になるので控えて頂けるよう願います
854 :
818 :2010/12/15(水) 23:02:39 ID:V9crItGv
皆さん、色々ありがとうございました。 思いっ切り、思い込みによる凡ミスでした。 結論は、大文字小文字の違いによるものでした。 私が、大文字小文字の区別を他言語と混同していたのが原因です。 テーブルの構造の方では「mail_Address」、phpファイルの方では $info["mail_address"]等「A」と「a」の違いでした。 var_dumpで確認したところ、カラム指定を「*」にすると、連想配列のインデックスは テーブルの構造で定義された通りの大文字小文字の区別で設定され、 カラム指定の場合は、カラム指定で書いた大文字小文字に修正されて設定されていました。 構造定義では「mail_Address」、select命令で「*」を指定した場合、 $info["mail_Address"] と なって、カラム指定で「mail_address」と書くと $Info["mail_address"]と設定されました。 なので、「*」でselect文を実行した場合に、print($info["mail_address"]とすると表示されないと 言う事みたいです。 皆さんから、そんなこと当たり前のことだと言われると思いますが、私の様な初心者には 嵌りやすいことかなと思い、長々と書かせてもらいました。 親身にレスを下さってありがとうございました。
自動的にmail_Address AS mail_addressって意味になるのか。 それは知らなかったな。 まあ覚えておくべきはこのMySQLの仕様じゃなくてvar_dumpを使うだのといったバグの探し方だよ。
とりあえず荒らしから低レベルPHPerに転換したやつは先にAjax勉強しとけ
Ajaxを勉強 にすごい違和感、概念を覚えるならまだわかるけど。
858 :
nobodyさん :2010/12/16(木) 03:18:28 ID:swQxSHZw
$tmp = mb_convert_encoding('', 'UTF-8', 'EUC-JP'); echo mb_get_info('illegal_chars'); // 1 $tmp = mb_convert_encoding('', 'UTF-8', 'EUC-JP'); echo mb_get_info('illegal_chars'); // 2 と、mb_get_info('illegal_chars') の値が加算され続けてしまいます。 これを0に戻す方法はないでしょうか? よろしくお願いします。
>>857 概念知ってるのに実装できないのは頭が足りないから
頭が足りないのは勉強するしかない
勉強しても補えないほどのIQの持ち主ならお気の毒だ
>>858 わからんがなさそう。
mb_convert_encodingを実行する直前と直後で値を比べて判断するしかないんじゃない
<?php include_once(dirname(__FILE__).'/A.php'); include_once(dirname(__FILE__).'/B.php'); include_once(dirname(__FILE__).'/C.php'); ?> それぞれABCを実行したいのですがAとBだけでCが実行されません どうしたら出来るようになりますか?
エスパーじゃないと回答無理じゃね
inclide_onceだから、他でC.phpをインクルードしてるんじゃね?
>>863 ちゃんと呼び出されているのか、include_onceの返り値を確認する。
warningが出てないか確認する。
include_onceじゃなくてincludeかrequireを使ってみる。
C.phpを書く。 ないものはインクルードされない
初心者はエラーをディスプレイ表示にした方が良いぞ
初心者じゃありません。Ajaxについてはあなた方より詳しいです。
自称非初心者は大抵素人
素人じゃありません。JAXAについてはあなた方より詳しいです。
21日は皆既月蝕だってさ
月食を月蝕と書かれると気持ち悪い
素人じゃありません。一人遊びについてはあなた方より詳しいです。
月食月蝕ウゼェ。 たまには、NetBeansのことも……
Oracleキモい視ね
include使ってみろって言ってる奴はあほなのか・・・? それならまだrequireかrequire_once使えって言えよ・・・ <?php error_reporting(E_ALL); require_once(dirname(__FILE__).'/A.php'); require_once(dirname(__FILE__).'/B.php'); require_once(dirname(__FILE__).'/C.php'); これで実行してみろ
あほじゃありません。カフェインの中毒性についてはあなた方より詳しいです。
includeならエラーがあっても続くだろ
<?php error_reporting(E_ALL); ini_set("display_startup_errors","on"); require_once(dirname(__FILE__).'/A.php'); require_once(dirname(__FILE__).'/B.php'); require_once(dirname(__FILE__).'/C.php'); こっちの方が良いな エラーがあっても続くのはincludeもinclude_onceも一緒
>AとBだけでCが実行されません なんだから、includeの問題じゃないだろ。 Cがないか、スペルが間違っているか、全角半角が間違ってるか 要するに、そういうレベルの話だろ。
Bでexitしてるとかそういうこともありえる。
簡単な質問だとイキイキするなおまいら
includeを使ってみろと書いたのは
>>865 の言うように他で既にincludeしている可能性を確認するため。
include_onceでも返り値を確認すれば済む話。
error_reportingとか書いてる奴はあほなのか・・・? それならまだAjax使えって言えよ・・・
Ajaxじゃありません。error_reportingについてはあなた方より詳しいです。
>>887 反応が鈍すぎます。
該当レスが書き込まれて30分以内にレスできない場合は無駄なリソース消費を
抑えるためにレスを控えるようスクリプトを改善して下さい。
>>888 訂正スクリプトの割に反応が遅いですね。
スレッドの巡回間隔をもう少し短くして下さい。
スクリプト言語なんだから途中経過を示す表示でも入れてテストすればわかる。 全ID表示なら透明あぼーんで解決するのにね。
言ってる意味が全くわかりません
IDなくてもあぼ〜ん出来るけどな
言ってる意味が全くわかりません
お前がその筆頭だけどな(藁
896 :
nobodyさん :2010/12/16(木) 19:31:31 ID:WN9KAPbv
【OS名】Windows Vista Homebasic
【PHPのバージョン】5.31
【連携ソフトウェア】特になし
【質問内容】
Xamppから一式インストールして、PHPに挑戦中なのですが、
PDFファイルのダウンロード(或いはブラウザ上で表示)するページが作れません。
以下のサイトを参考に作成したのですが、PDFファイルが
全てテキストファイルとして表示(文字化け)されてしまいます。
IEだとContent-typeが無視される問題があると知り、
FireFoxでも試してみましたが、同じ結果でした。
考えられる原因は何があるでしょうか。よろしくお願いいたします。
参考サイト
ttp://code.nanigac.com/source/view/462 ttp://shoyu-ramen23.jugem.jp/?eid=64
XAMPP
>>896 ファイルがあるんなら、すなおにリンクして 右ボタンおして保存してねって逃げればどうよというのはおいといて、
header前になんか書き出してないかチェック。
駄目なら
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="sample.pdf"');
だけでテスト
じゃあ何使えばいいのさ
>>854 なるほど
状況が理解できました。
連想配列の索引、表の定義、SQLを絡めて、大変にためになる事例でした。
結果報告にお礼します。
ありがとうございました。
902 :
896 :2010/12/16(木) 20:22:09 ID:WN9KAPbv
>>897 XAMPPですね。ありがとうございます。
>>898 とりあえず、それだけのPHPファイルを作成したらうまく動きました。
ありがとうございます。
ただ原因がいまいち分からないので、また暫く自分なりに
挑戦してみてダメだったらここで再び質問させて頂こうと思います。
>>897 AJAXですね。ありがとうございます。
AJAXじゃありません。初心者についてはあなた方より詳しいです。
そろそろスレ違いに気付いて移動しろ
スレ違いじゃありません。JAXAについてはあなた方より詳しいです。
想定外の月蝕の発生によるものです
909 :
nobodyさん :2010/12/17(金) 11:34:27 ID:2FWeMtu8
DBのソート処理とか、プログラムにソート処理させたほうがDBに負荷かからないよな 皆は、どの程度PHPがわに処理させる?
DBで出来ることはDBでやれ
1台のサーバーにDBもウェブサーバーも載ってる状態ならどっちで処理しても大差無い 負荷分散を考慮するなら検討する必要がある
憶測だがPHPのほうが負荷かかるんじゃね? 10万レコードぐらい用意してDBソートとPHPソートでベンチマーク測ってみなよ
サーバー構成等にもよるからどーとは言えない けど基本的にDBで出来る事はDBでって感じだな・・・
データ量の多いものは一般的にDBで処理する。 少ないものは大差ないので好きな方で処理すれば良い。 一時期、DBに何でも放り込むなという議論があったけど あれは結局どうなったのでしょうね?
ユーザーがアップロードした画像データやバイナリファイルも全て DBに登録するのが吉。
AjaxもすべてDBで処理すべき
DBは分かりませんがAjaxについてはあなた方より詳しいです。
ここ参考になるわぁ 皆さんの高い技術レヴェルのお話はいつも勉強になってます 僕もAJAXをマスターしてPHP余裕になります
おいはやく$var = function(){};書けるようにしろよ
>>919 おいはやく$var = function(){};書ける言語を使えよ
var = function(){};ならAjaxで間違いない!
サーバーサイドjavascriptか
すみません、とんでもなく初歩的なんですが <?php echo "<h1 class="title">見出し</h1>"; ?> これでエラーが出るのはどうしてでしょうか… かれこれ小一時間調べてるんですが…('A`)
echo "<h1 class=\"title\">見出し</h1>";
>>923 echo "<h1 class=title>見出し</h1>";
すみません、とんでもなく専門的なんですが <?php echo "<h10 class="title">見出し</h10>"; ?> これでエラーが出るのはどうしてでしょうか… かれこれ小十時間調べてるんですが…('A`)
928 :
923 :2010/12/17(金) 18:22:25 ID:???
>>924 ,926
ありがとうございます!
1日目で挫折するかと思った…これからもっと勉強していきます
>>927 あと30秒考えればわかるのに、なぜ諦める?
>>929 ありがとうございます!
10日目で挫折するかと思った…これからもっと勉強していきます
Ajaxを。
できたかできないかじゃなく 理解したかしていないか書けよ
その前に ID 出して書けよ その前に Ajax 厨は他スレに行けよ
理解したかどうかですが、少なくともAjaxaについてはあなた方より詳しいです。
>>1 > 次スレは
>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
現在、934 ですから残りは46ですね。
そろそろ、煽り厨が静かになる頃でしょうか?
935 :
nobodyさん :2010/12/17(金) 19:44:35 ID:j3isg1G8
PHP関数のmysql_xxx()とか古いから使うな的なこと言われてるけど、 PDOもMDB2同様、内部でmysql_xxxとかpg_xxxとか使ってるで合ってる?
$_REQUESTってどうなん? 今解析してるコードが全て$_REQUESTなんだけど
ID出さない質問者には全てAjaxで答えます
>>935 PDOについてはコードが公開されているから自分で見てみることをお勧めします。
>>936 ID が出ていないから質問じゃないですよね?
>>937 何事も「ほどほど」にね。
ほどほどにしてほしいのはスレタイも1すらも読まない質問者のほうだわ
940 :
935 :2010/12/17(金) 22:22:19 ID:j3isg1G8
自分で見たけどZEND API詳しく知らないから、はっきりわからなくて質問したんだ。 PHPソースをVSに突っ込むとPCごと落ちるしスペック的に厳しい。 MySQLで調べてみると、 php-5.3.3/ext/pdo_mysql/mysql_driver.c あたりでmysql_stmt_prepare(), mysql_close() とか使ってるけど、 それはPHP関数のmysql_*()じゃなく、 php-5.3.3/ext/mysqlnd/* で定義されてる関数を使ってて、 ext/mysql/* ext/mysqli/* も同様。つまりPDOもPHP関数のmysql_*も同じ関数を参照してる。で正しいかな。
>>938 ってAjax厨だろ?
何しれーっとして初心者回答者ぶってんの?
クソワロスwwwwwwwwww
一番低レベルのAPI使って普通実装するんじゃない CにPDOのようなものが拡張APIがあったとしても それで実装するようなことはしないんじゃないかな
一番低レベルのAjax使って普通実装するんじゃない COBOLにJAXAのようなものが拡張Jaxascriptがあったとしても それで実装するようなことはしないんじゃないかな
>>Ajax厨 不思議と静かになりましたね。 9時間も書き込みが無いなんて、このスレらしくないですね。
945 :
nobodyさん :2010/12/18(土) 11:21:20 ID:GFOQOe1n
ディレクトリだろうとAjaxだろうとすべてDBに入れれば解決
>>945 それより /answer_yes=1/ に興味を持って欲しいものだな。
/answer_1=yes/ にしろ
/answer_1=Ajax/ にしろ
?name=valueにすると検索エンジンに嫌われるとかでmod_rewriteで変換しているサイトがあります
954 :
nobodyさん :2010/12/18(土) 11:57:51 ID:rgAUSlhv
【OS名】Redhat系 【PHPのバージョン】5.2 【連携ソフトウェア】PostgreSQL8 【質問内容】 画面が10個とか有るシステムで、画面毎にセッション変数の名前がぶつからない様に $_SESSION["AAA_BBBB_CCCCCCCC_DDDDDDDDD"] とかいう名前で、1画面毎に50個位変数を作っていたのですが、 先日ふと「SESS_」をみて愕然としました。名前がいちいち書いてあったからです。 (名前を小さくしろと言うのは根本的な解決策で、それはそれでそうなのですが、) 思ったのは、上記名前を、 $_SESSION["AAA_BBBB"]["CCCCCCCC_DDDDDDDDD"] の様にしたら、「SESS_」の中身が減るのでは、で、実際やったらそれなりに 減りました。(前半の名前は画面を表します。) 質問ですが、 1.配列の配列にして、なにか(隠れたとんでもない)問題がおきないでしょうか? 2.速度は、やはり後の書き方の方が遅いでしょうか? なお、値は整数か、数字1文字か、漢字数十文字です。 よろしくお願いいたします。
>>954 セッション変数といっても特に特別なことはなくてvar_exportと同じような感じでファイルに書き込まれるだけだよ
ごめselializeの方が適切か
>>954 > 先日ふと「SESS_」をみて愕然としました。名前がいちいち書いてあったからです。
> 「SESS_」の中身が減るのでは、で、実際やったらそれなりに減りました。
減らせることで何を得たかが判然としません。
> 1.配列の配列にして、なにか(隠れたとんでもない)問題がおきないでしょうか?
ここで問題は発生しないと答えを得たとして、後に問題が発生したらどうするのでしょうか?
> 2.速度は、やはり後の書き方の方が遅いでしょうか?
何をもって、「遅い」もしくは「早い」と判断するのでしょうか?
書かれている質問の文章では、質問の意図が読み取り難いです。
お手数ですが、もう少し文章を練ってから質問をしてもらえますか?
960 :
945 :2010/12/18(土) 13:52:10 ID:GFOQOe1n
>>946 文字通り - ってディレクトリがあるってことですか?
素直にそう解釈して良いのかな?
>>960 ぶっちゃけ、作った人に聞かないとわからない
ディレクトリがあるのかmod_rewriteなのかこっちから調べる方法はない
その2つとも限らない
963 :
945 :2010/12/18(土) 14:58:06 ID:GFOQOe1n
>>961 まあそうですよね〜
でも時々/-/ってのをいろんなところでみるんで、
ああいうパスを使うもの凄く一般的なテクニックとか便利なプラグインがあるのかと思いました
んー、気になる
どこで見るの?
966 :
945 :2010/12/18(土) 15:16:50 ID:???
>>965 自分もZendFW使ってるんですけど、あれの例だとコントローラ名やモジュール名を隠す為に
というか、-って名前のコントローラ名にしてるんですかね
あ、でもそれだとコントローラやモジュールの命名規則に反するような… わからんなぁ
初心者向けのPHPでアプリ開発みたいな本何冊も読んだけど「-」て使うの見たことないんで
何か高等テクニックなのかと… 気になる
mod_rewriteでコントローラ・モジュール名隠してるって考えるのが普通かなぁ
amazonだろ多分
>>966 だからサンプル出せと
システムによるだろ
あとID忘れずに
このスレで議論されている事の8割はAjaxで3行で説明できる
>>970 3行でAjaxの処理も加えて議論されてることのどれでもいいから
自分で選んで説明してくれ
ただし1行80文字までな
975 :
^ :2010/12/18(土) 17:47:32 ID:???
IDってどうやって出すのですか?
>>976 >>1 を読んでください。
IDを出さない質問には安易に応えないように。Ajax厨が湧いて出てくるからね。
978 :
^ :2010/12/18(土) 18:00:13 ID:???
質問です。PHPでJAXAから衛星を発射できますか?
可能です。PHPならば何でも出来ます。
北朝鮮が攻撃してきてもPHPが守ってくれます。
普天間基地問題もPHPが対応してくれます。
>>980 >>1 > 次スレは
>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
空気読まない馬鹿どもは隔離スレいけ 次スレもこんなんだったら優良回答者様が一人居なくなると思え
今独学でPHPを勉強しています。本当に初歩的なことを聞きたいんですが… <?php function zeikomi($nedan) {← $nedan = $nedan * 1.05; return $nedan; }← ←印の{}は関数だから使うってことなんでしょうか? PHP初心者のサイトを見てて、いきなり{}が出てきたので よく理解できなかったので… 是非教えてください
>>954 > 先日ふと「SESS_」をみて愕然としました。名前がいちいち書いてあったからです。
の意味がわからないんだけど。
session id のことだとして、画面毎に session id を変えてるのか?
985 :
nobodyさん :2010/12/18(土) 22:16:25 ID:xdLeb3mA
988 :
nobodyさん :2010/12/18(土) 22:30:46 ID:xdLeb3mA
>>987 レスありがとうございます。
変数だけではなく、if文やfor文でも使うんですね。
まだ理解しきれてないですが、目を通して理解していこうと思います
ありがとうございました。
989 :
983 :2010/12/18(土) 22:40:43 ID:xdLeb3mA
度々の質問すいません
本を買おうと思ってたんですが
>>1 を読むと
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
市販の書籍は嘘って書いてますが、なぜ嘘なのでしょうか?
市販の書籍は買わない方がいいですか?
「鵜呑みにしない」 結構スキルが無い人が書いていてconfigを分かってなかったり、セキュリティが不十分だったり バージョンアップで挙動が変わったりするから あくまで参考程度に留めておいて自分でマニュアル読んで確認したほうが良いよということ。 そのほうが勉強にもなるしね。
991 :
983 :2010/12/18(土) 22:51:43 ID:xdLeb3mA
>>990 なるほど
そういう事なんですね
では、本を頼らず、自分で調べたり確認したりしようと思います
ありがとうございました。
992 :
nobodyさん :2010/12/18(土) 23:13:27 ID:3yLhGk6x
for文で、$abc[interval*]の値を$nextに代入したいのですが、 (*は1〜$numまで) for($loop=1;$loop<=$num;$loop++){ $next = ${'abc[interval'.$loop.']'}; var_dump($next); } としても、ループはしますが$nextはnullのままです print "${abc[interval.$loop]}"; とすると、ちゃんと表示されるのですが、 計算式でこれを書くと文法エラーになります。 どのように書くのが適切でしょうか。
$abc['interval'.$loop]
995 :
nobodyさん :2010/12/19(日) 15:50:41 ID:tGqZvcRh
apiから情報を取るとき、file_get_contentsに失敗する時があるので、
以下のように2回トライしています。
$url = '
http://www.groupon.jp/api-v2/?type=area ';
$items = @file_get_contents($url);
if(empty($item)) {
$item = @file_get_contents($url);
}
失敗するのはサーバ側の問題なのでしょうがないのでしょうか?
また、上のやり方がまずい方法であれば、指摘してもらえるとありがたいです。
タイムアウト時間を長くしてやれ
>>995 失敗ってどんな失敗?
リトライの設定はないっぽいけどタイムアウトを伸ばしたいなら設定で変えられるよ
whileで成功するまで繰り返せwwwwwwwww
999 :
nobodyさん :2010/12/19(日) 16:00:33 ID:tGqZvcRh
>>996 >>997 失敗は単純にURLから情報を取得できないといった形だと思います。
タイムアウトの設定という方法があるんですね。
その方向で調べてみます。
ありがとうございます。
>>999 エラーコードにもいろいろあって対策も変わるのでちゃんと見たほうがいいよ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。