【PHP】下らねぇ質問はID出して書き込みやがれ 108
質問者はまず
>>1 を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは
>>2-10 辺り
次スレは
>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 107
http://hibari.2ch.net/test/read.cgi/php/1307228162/ ◆質問用テンプレ
【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に保存?
→ 好きにしてください
NGワード:えっ
ええええええっ
ぇぇっ
らめえっ
PHP君をPerl君とRuby君が攻める801を思いついてしまった
Javascript「ほらっ、お前もこっち来いよ」 PHP「ぼ、僕サーバーから出ちゃったら・・・、らめえっ!」 Javascript「ここは俺にechoで全て預けてごらん」
えっ
AJAX君も仲間に入れてあげて
javascript家次男って感じ?
17 :
nobodyさん :2011/07/02(土) 21:31:00.78 ID:f2qK3c1q
すみません、PHPのCMS等を見てると良くBootstrapと出てきますが、Bootstrapとは何なのか教えていただけませんか? 検索しても概念が分かりにくかったです
19 :
nobodyさん :2011/07/02(土) 21:59:43.75 ID:xrWuJ1R/
echo fmod(99999999999.99, 1); 予想:0.99 結果:0.990005493164 えっ?
>>21 えーと、つまりGoogleの結果がそうなっているわけなので、
数学的にも正しいということでよいのでしょうか
googleの結果だから正しいのではなくてコンピュータで計算できないだけ
Googleがそうだから正しいとかw
>>23 コンピュータで計算できないってのは言いすぎ。
>>19 の例のように小数点以下の桁数がはっきりしているのであれば
整数化して計算するなどアルゴリズムによってなんとでもなる。
>>24 Googleの結果が間違っているとしたら大きな問題じゃないですか。
これってバグとして報告すれば結構な問題になりますよね!
Googleの信用問題に関わるのですから、Googleがそんなバグを放置しとくわけないじゃないですか。
てことはGoogleの結果は正しいということですよね?わかります?
>>28 電卓が間違ってたら欠陥品じゃないですかw
>>30 >丸め誤差 [編集]
>
>数値を、どこかの桁で端数処理(切り上げ・切り捨て・四捨五入・五捨六入・丸めなど)
>をしたときに生じる誤差
↑丸め誤差関係ないですよね?
>>26 誰もが一回は通る道やなw
落ち着けw
グーグルも所詮コンピューターだ
これはコンピューター全体で発生するバグのようなもの
グーグルだろーが電卓だろーが根本的には0と1の羅列を0123456789に直すからな
さすがバカが質問してバカが答えるスレw
>>32 でもそんなバグが既知ならGoogleの画面に注意書きが表示されているはずですよね。
それが無いってことは、Googleがそのバグに気が付いていないってことですか?
そうでなければやはりGoogleの結果が正しいってことになりますよね。
>>31 その誤差なんだってば
2進数を10進数にするんだから四捨五入して9,499999999999が10になるとか
そういう10進数単位の誤差じゃないからピンとこないと思うけど
>>33 いぇーい!
質問に答えることすら出来ない
最上級の馬鹿さんチィーッスw
>>35 だから、誤差とかこの際関係ないじゃないですか。
コンピュータって人間の求める答えを正しく出るように作ってあるはずですよね。
そんな誤差を残したままにしておいたら、私がこうやって書いた文が違う文に
変化するってことになるじゃないですか。そんなことになりませんよね?
あと、2進数と10進数は1対1で対応してるわけだから、10進数で正しく計算できる物が
2進数で誤差が出るわけないですよね。数学理解してます?
浮動点少数なら違うでしょ
>浮動点少数 また馬鹿発見w
>>37 数学の前にコンピューター基礎理論理解して出直してきてくださーいw
>>37 コンピュータは人間が作った通りにしか動かない
あんたがコンピュータを作ったのか?あんたはコンピュータの全てを理解してるのか?
あんたの勝手な想像をこちらに押しつけないでくれ
Googleが放置→気付いてないor気付いてる Googleが気付いてない→ありえない Googleが気付いてる→数学的に正しい コンピューターをどんな桁でも完璧に計算するもの考えてる時点で色々と足りないんだろ 人間と機械の違いがわかってない
>>40 コンピューター理論の前に数学、というのが世の中の常識だと思いますが。
またどうでもいい事で盛り上がってるのか グーグルが正しいと思うならこのスレじゃなくてグーグルに聞けばいいのにw
>>41 それはこちらの台詞です。
> コンピュータは人間が作った通りにしか動かない
あんたの言うとおりだとすると、わざと誤差が発生するように作ったことにんりますよね。
それって何の意味がありますか?
正しい答えが出るように作ればいいのに、わざと誤差を含むように作るなんてナンセンスですよね。
>>42 いやいや、小数点以下1億万桁でも正しく計算できるかどうかなんて極論ではないんですよ。
たかだか数桁の計算で誤差が生じるなんて小学生の算数レベルの計算間違いですよね。
そんなことありえますか?
世の中には10を知って100を理解する奴も居れば 10を知って10を理解する奴もいる だけど10を知って1も理解できない奴が居る。本気で病院行った方がいいと思う マジでアスペ臭い
>>44 最初にGoolgeを持ち出したのは
>>21 ですからね。
それがまるで
>>19 の答えかのように。
結局答えになってないわけですが。
こういう入れ食い状態だからアホが夜釣りに来るわけで
>>48 何のためにミリ、マイクロ、ナノって単位があるか考えてみよう
ミリ使えなんていう比較や指定無いのに、0.000001ミリなんてなんて言う奴はアホ以外何物でもない
釣りなのか、本当に馬鹿なのかどっちなんだ
>>52 だったらコンピュータの中で整数化して計算すれば誤差は生じませんよね?
言ってる事と矛盾してませんか?
なんでPHPなんていう超高度で難解な言語のスレに来たんだろ まず絵本でよくわかるコンピューターから始めた方がいい 同じこと何度聞いてるんだ
たぶんPCを便利な箱と勘違いしてる
>>54 見る限り
なんでドラクエ2でシドーがベホマ使うのか?って事も理解できてないっぽい
>>56 そういうのいいですから。邪魔しないでください。
>>57 ドラクエ2とか知らないですし、ゲームに例える砲がよほど馬鹿っぽいですよね。
PCを便利な箱と思ったらなにか不都合がありますか?
不便な箱ならわざわざ買いませんが。
>>57 ネオグランゾンがド根性4回使うのと同じだな
>>59 250って数字に気付かない所で論外だわ
もーちょっとパソコンについて勉強してからやってきてください
君にプログラミングはまだ早いです
>>55 >同じこと何度聞いてるんだ
いやいや、私の質問にまともに答えられる人が全くいないですよね。
皆揃ったように「誤差」だと「2進数」だのってどこかで聞いたようなことを書いてますが、
あなたがたも本当はちゃんと理解してないんでしょ?
そういうものだと思ってるだけで本質を理解してないのが見えみえです。
>>59 ゲームやったことない奴が計算機について議論とか論外
ゲームやってきてPC勉強してきてください
ちょっとドラクエ2買ってくる
>>61 250なんて数字、どのレスに出てきましたか?
いずれにしても意味不明ですが。
>>65 足し算わからない人に掛け算を教えることが出来ないように
そしてココに居る人がわざわざ足し算から教えるなんてメンドクサイ事やるわけもなく
シドー ベホマ
で検索してきてください
たぶんキミにPC上での端数処理とかに教えても「処理」って単語の意味すらよく理解できてないと思うからまずはソコから
意味不明なのはWebProg始めるに必要な知識が君の頭に無さ過ぎるから
日本語わかんねー奴に漢字教えてるようなモンだな それで理解できません、とか言われても場違いって言われるだけ なんでここ来ちゃったの?
たぶん自分は解ってると勘違いしてる馬鹿なんだろ 馬鹿って馬鹿だから自分が馬鹿って気付けないし
256、65535の限界値ぐらいはゲームじゃなくても普通に生活してりゃ出会う数だろ
結局こんなくだスレの住人には私を説得できるほどに浮動小数点演算を理解してる人は 全くいないってことですね。 半端な知識や下らないたとえ話を持ち出す程度しかできないのがよくわかりました。 まぁ最初からわかっていたことですが。 というわけで暇つぶし終了。
論破されちゃって逃げるわけですね、わかりますw
んまーこういう奴って隙の無い正論言われると反論できなくなって逃げるしかないからね
隙が無いかどうかは解らんが
>>67 で反論できなくっちゃったってのはよくわかる
こういう奴って論破されたらされたでストレス蓄積されるから他の場所でも続けちゃうんだろな
IEEE754で終わる話を ここまでこじらせられるお前ら天才すぎだろ
おまいらって言葉久々に見たw
>>71 > 私を説得できるほどに浮動小数点演算を理解してる人は
馬鹿すぎわろたw浮動小数点を特殊な知識だと思ってやがるw
わろたって言葉久々に見たw
suge-
84 :
nobodyさん :2011/07/03(日) 10:23:26.37 ID:5kXfVNqs
ちょいと質問、よく投票とかである、同一のPCから2度投票させない。みたいなのってPHPでできる?
できるよ
ぼくはー!!!!
アルバイトーーー!!!
海軍のー!!!
89 :
nobodyさん :2011/07/03(日) 13:32:25.40 ID:I+ZCiFf/
はじめまして 今からPHPを勉強しようと思っている新米です どうしてPHPを勉強しようと思ったかですが コメントも投稿できる安易な掲示板機能付きで 誰でも投稿できる自作の画像アップローダーを作りたいんです これってPHPで出来ますか? 初心者が取り組むには結構大変な感じでしょうか? HTMLとCSSはある程度できます。
大将にー!!!
>>89 掲示板は簡単そうで割りと複雑
一言掲示板みたいなのだったらハナクソほじりながらでも作れるが
最初はメールフォームみたいなのがお勧め
92 :
磯野波平 :2011/07/03(日) 13:37:28.83 ID:???
web上にあるものはほとんど作れるから以後そのような質問は控えるように
>>89 フリーで公開されてる掲示板やうpろーだは探せば山ほどあるから
それらのソースを見て参考にしたらいいんじゃない?
もしくは自分で作らずにそういうのを利用するのが早いと思うけど
94 :
nobodyさん :2011/07/03(日) 13:51:34.44 ID:I+ZCiFf/
>>91 その複雑なシステムを一から勉強して構築しようとしたら
どのくらい時間かかりそうですかね?
毎日1時間くらいは勉強できると思います。
>>93 ソースはまだ分からないのでアレですが、ある程度分かってきたら参考にしてみます
こういうものを作りたいっていうイメージだけはあるので
借りるのはなしの方向な感じです!
まるでやる気のない者の質問だな
96 :
84 :2011/07/03(日) 14:11:52.57 ID:5kXfVNqs
もう一度質問スマン >ちょいと質問、よく投票とかである、同一のPCから2度投票させない。みたいなのってPHPでできる? これって IPアドレス と ホスト名だけでPC特定可能なのかな? 自分のPCだけじゃチェックできないから教えて
やってみてわからない事を聞きに来るならまだいいのだが やる前から聞く様じゃ終わってる
>>94 君がいままで何勉強してきたかによるんじゃね?
「そんな事やろうと思ってるくらいだから」「こういう所見てるくらいだから」と思いこんで「〜くらいかなぁ」と答えてみるとまったく素養がなくて「if文ってナンデスカ?」っていうような奴も見てきたもんだから、まずはこんな答えを返してみる。
他のプログラム言語を習った事はあるけど、web系の知識が無いってだけなら、web系のお約束を学ぶので最低1ヶ月くらいかかって、画像アップロードして並べるだけのを作るくらいならその過程で作れてるんじゃね?
>>96 同一というのを何によって決めるかで正確度や適用範囲は変わってくる
まずはクッキーで賄えるか検討してみたら
>>94 君には10年早い
PHPの前にググる事を覚えろ
102 :
nobodyさん :2011/07/03(日) 14:57:06.55 ID:I+ZCiFf/
103 :
nobodyさん :2011/07/03(日) 14:58:17.28 ID:6RK3hp9e
$hoge['a']['b'][0] = 10; function isArraySet($array, $a, $b, $c....$n) { if (isset($array[$a][$b][$c])) return true; } みたいなことをしたいのですが 引数(arrayの深度)は可変長です なんかうまい実装の仕方ないでしょうか?
104 :
84 :2011/07/03(日) 15:24:29.50 ID:5kXfVNqs
>>99 同一ってのは「同じパソコンから」、あるいは「同じ回線から〜」って意味。
クッキーで制限するのは、一定の効果はあるけど、
ブラウザ変えたり、クッキーの削除されたりすると回避できちゃうのネックみたい。
ここさえ、カバーできればクッキーでも良かったんだが・・。
だから、PC特定できればDBで管理して、はじこうかと思ったんだが特定も難しいみたいだね
同じ回線というのは会社とかネカフェとかで 別PCが同じアドレスになるのはどーすんの? とか、 同じPCで串とか使って別アドレスになるのは どーすんの?とかあるだろ。 クッキーとIPアドレスを併用すればかなりの部分は サポートできるだろ。 別PCで別回線で同じ人が、、、とかあったらログイン制にすればいいし
>>103 function isArraySet($array) {
for ($i = 1; $i < func_num_args(); $i++) {
$key = func_get_arg($i);
if (!is_array($array) || !array_key_exists($key, $array)) {
return false;
}
$array = $array[$key];
}
return true;
}
108 :
nobodyさん :2011/07/03(日) 16:16:40.67 ID:MPdc8nt5
error_reporting(E_ALL); $s[0] = 0; $s[1] = 1; $s[3] = 3; echo isset($s[2]) ? $a[2] : "NULL"; こういうのを関数化しようと、 function is($val, $def=NULL) {  return isset($val) ? $val : $def; } echo is($s[2]); としたけどエラーが出ます。 どこをなおしたらいいのでしょうか?
109 :
nobodyさん :2011/07/03(日) 16:17:50.16 ID:ombeg/tq
とあるサイトに例としてあったのですが list($a, $b, $c) = array('x' => 1, 'y' => 2, 'z' => 3); // エラー これがエラーになる理由を教えてください 連想配列だからですか?
111 :
108 :2011/07/03(日) 16:29:15.18 ID:MPdc8nt5
>>110 グローバル変数じゃないので渡さないといけないですよね?
piyo($a, 2);
といった感じでしょうか。
なんとかなりそうです。ありがとうございます。
112 :
nobodyさん :2011/07/03(日) 16:34:08.84 ID:ombeg/tq
>>110 使えなかったんですね
ありがとうこざいます
>>111 ちなみに「エラーになります」は質問の仕方としては最低だから次回から注意してね
115 :
nobodyさん :2011/07/03(日) 19:42:27.03 ID:WcK3Plab
ディレクトリ書き込み時にWARNING出さないようにディレクトリの状態をチェックすると思いますが、 if (file_exists($dir)&&is_readable($dir)&&is_writable($dir)) と念のため3つ条件をつけています。 is_readableまたはis_wraitableをしてれば、file_existsは実はいらなかったりしますか?
117 :
115 :2011/07/03(日) 19:47:39.96 ID:???
次はマニュアル厨か
120 :
nobodyさん :2011/07/03(日) 20:14:43.71 ID:GBrymO19
122 :
nobodyさん :2011/07/03(日) 20:37:30.55 ID:GBrymO19
>>121 すみませんでした;;;;穴掘って埋まってます
>>115 おまえバカじゃねえの
何でも書けばいいもんじゃねえよ
分からないから聞いてんだから答えてやれよ 煽るだけのお前のほうがバカだわ
>>124 煽れば答えてくれると思ってんの?プッ
誰と戦ってるんだ
127 :
nobodyさん :2011/07/03(日) 21:20:30.55 ID:gtJqhGeN
<?php class ClassLoader { protected $dirs; public function register() { spl_autoload_register(array($this, 'loadClass')); } public function registerDir($dir) { $this->dirs[] = $dir; } public function loadClass($class) { foreach ($this->dirs as $dir) { $file = $dir . '/' . $class . '.php'; if(is_readable($file)) { require $file; return; } } } } クラス名.phpを読み込むクラスなのですが loadClassメソッドの引数$classには何が入っているのでしょうか? 教えて頂きたいです。お願いします。
ふつうにクラス名じゃね? javaと同じくクラス名とファイル名が同じ、という規約みたいだな。 っつか、そんなに難しいソースじゃないと思うんだが、何かひっかかってる事でもあるんかい?
普通はオートロードでやるんだが
130 :
nobodyさん :2011/07/03(日) 21:53:54.14 ID:gtJqhGeN
>>128 loadClassメソッドの引数が具体的なクラス名、
たとえば loadClass(example) なら
example.phpを読み込むんだなとわかるんですが
これが loadClass($class) になったとたん
$classってどこから引っ張ってきてるの?となってしまいます。
はぁ?呼び出した側だろ?
132 :
nobodyさん :2011/07/03(日) 22:10:21.55 ID:gtJqhGeN
>>131 呼び出す側は以下の通りです。
<?php
require 'core/ClasLoader.php';
$loader = new ClassLoader;
$loader->registerDir(dirname(__FILE__).'/core');
$loader->registerDir(dirname(__FILE__).'/models');
$loader->register();
>>132 autoloadの項目を100万回読め
わかんねーから聞いてるんだろうがカス
135 :
nobodyさん :2011/07/03(日) 22:45:32.62 ID:gtJqhGeN
>>134 は自分ではないのであしからず。
autoloadについて一度しっかり勉強してみます。
すみません。
暴言を吐いて鬱憤を晴らしつつ回答はもらいたいという二重人格の計とはおぬしやるな
二重人格とみせかけて
>>136 で開放する三重人格の計とはなかなかやりますの
激裏で載ってた2ちゃんねるで回答を貰う方法を試してるクズか
139 :
nobodyさん :2011/07/03(日) 23:30:01.70 ID:a/8QrSpm
Web系の質問スレでスルーされまくったので多少スレチですがここで質問させてください。 UTF8でPHPを利用していますが、アスキーアートがうまく表示できません。 どうしたらいいでしょうか?どなたか親切な方お助けください。
なんでスルーされるかよく考えてみろ 文字化けしてるわけじゃなければエンコードもPHPも関係ないだろ
141 :
139 :2011/07/03(日) 23:50:03.05 ID:a/8QrSpm
>>140 それは十分承知しておりますがそこをなんとかお願いします。
まず第一の原因はfont-familyだと思いますがこれはどう指定したら良いでしょうか?
先輩方よろしくお願いします。
>>141 font-familyのどこがPHPと関係あるの?
関係あるかどうかわかりませんが、よろしくお願いいたします。
急いでいますので早めに回答をお願いいたします。
早くしないと間に合いません。至急回答をお願いします。
子宮がどうしたって?
UTFとか関係ねーし .aa { font-family: 'MS Pゴシック','MSPゴシック','MSPゴシック','MS Pゴシック'; font-size: 16px; line-height: 18px; }
>>147 やってみたのですがエラーになりました。
どうすればいいでしょうか。
<?php
.aa {
font-family: 'MS Pゴシック','MSPゴシック','MSPゴシック','MS Pゴシック';
font-size: 16px; line-height: 18px;
}
?>
150 :
nobodyさん :2011/07/04(月) 03:40:09.35 ID:MkZtY+qy
クラスって複数のファイルに分けて書きたい時どうすればいいですか?
include,require
152 :
nobodyさん :2011/07/04(月) 05:24:07.99 ID:MkZtY+qy
> 複数のファイルで分割してクラスを定義することは できません。 ってありますけど関数内でincludeしろってことですか?
C#で言うpartial classはないが 5.4から実装されるtraitでそれっぽい事はできるようになる
Thanks諦めます!
155 :
nobodyさん :2011/07/04(月) 08:43:49.41 ID:wcpX+6Nd
高負荷状況での質問なんだが Webサーバーが複数、DBサーバーが1つで動いているアプリがあって ロードバランサーの仕様は不明(鯖業者が設定を明かさない、多分やっすいやつ) 1ユーザーがアクセスしてきて Webサーバー01でページ1閲覧、この時点であるデータAをDBに書き込み ユーザーがボタン押して次ページ2に遷移、今度はWebサーバー02に繋がりDBから先程のデータAを読み出して処理の続き という動きをした場合、DBが重くてサーバー01が発行した書き込みに時間がかかり終わらず 先にサーバー02が古いデータを読んでしまい誤動作 となってるぽい現象がしばしば起きる これを完全に防ぐにはどういう実装をすればいいのだろう 言語はPHPでMySQL5.1、InnoDB使用です
160 :
139 :2011/07/04(月) 12:12:32.53 ID:cs6DUMEB
>>147 ありがとう。でも残念ながらUTFとか関係あります。
それでもAAは崩れました。
ちなみにID出してない人は別人です。
>>160 向こうのスレでもここのスレでも誘導されてんだからさっさと池やゆとり
最近のゆとりはBOMも知らんのか
163 :
139 :2011/07/04(月) 12:42:03.24 ID:cs6DUMEB
>>161 誘導されたスレで聞いても答えが返ってこなかったと最初に説明したはずです。
>>163 UTFとPHPは関係ないと最初に説明したはずです
CSSの質問をここでするな死ね
166 :
nobodyさん :2011/07/04(月) 13:22:29.41 ID:kqekfTVE
どういうエラーが出るのか
169 :
nobodyさん :2011/07/04(月) 13:31:39.97 ID:kqekfTVE
PHP Warning: file(/a/b/c.txt): failed to open stream: No such file or directory in C:\homupegi\phpnobenkyou\test.php on line 2 PHP Stack trace: PHP 1. {main}() C:\homupegi\phpnobenkyou\test.php:0 PHP 2. file(/a/b/c.txt) C:\homupegi\phpnobenkyou\test.php:2 Warning: file(/a/b/c.txt): failed to open stream: No such file or directory in C:\homupegi\phpnobenkyou\test.php on line 2
ファイルが無いんじゃないの? a/b/c.txtは C:\homupegi\phpnobenkyou\a\b\c.txt だし、/a/b/c.txtは C:\a\b\c.txt をさしてるんじゃないかね。
171 :
nobodyさん :2011/07/04(月) 13:38:49.34 ID:kqekfTVE
/ってドキュメントルートを表しているのではないのでしょうか?
172 :
139 :2011/07/04(月) 13:43:34.45 ID:cs6DUMEB
>>164 あなたの最初がどのレスなのかわからないし
最初にスレチなことは承知の上だと言ったはずです。
>>165 CSSの質問スレで聞いても無駄だったからここにきたと何度言えば(ry
きめえ
お前ID出さないスレで404の質問した偉そうな奴と同一人物だろ
>>171 ブラウザからみたら / はドキュメントのルートだろうが
サーバ上で実行してるプログラムからみたら
/ はファイルシステムのルートになるだろう。
もちろん環境によって変わってくるけれども
177 :
nobodyさん :2011/07/04(月) 13:54:25.79 ID:kqekfTVE
過疎スレに誘導する奴って何なの?死ぬの?
179 :
nobodyさん :2011/07/04(月) 14:12:23.96 ID:cs6DUMEB
>>174 知りません。でももうあきらめます。
みんなも知っておいたほうがいいことなのになぁ。もったいない。
>>177 jsを読むのはブラウザだからな。
ルートからが使えないわけでもないが、あまり使わないな。
ドキュメントルートが使いたければ環境変数に入ってるから
phpからでも使えると思うぞ、文字列の連結で。
181 :
nobodyさん :2011/07/04(月) 15:16:14.67 ID:bW37tmJX
flockについて質問です。 マニュアルの例には、 if (flock($fp, LOCK_EX)) { // 排他ロックを行います ftruncate($fp, 0); // ファイルを切り詰めます fwrite($fp, "Write something here\n"); flock($fp, LOCK_UN); // ロックを解放します } else { echo "ファイルを取得できません!"; } と書いてますが、 これは多人数のシステムで、他の人がロックしてたら、 elseブロックにいくってことですよね? 他の人のロック解放をまつには、 while (flock($fp, LOCK_EX)) sleep(1); などの処理を挟めばいいのでしょうか? ロックが解放されなかったら、延々と待ち続けることになるので、 sleepカウントをして10秒(試行回数10回)でタイムアウトといった感じにすればいいでしょうか?
flockでロック解除はするなっ!!!!!!!!!!!!!!!!!!
183 :
181 :2011/07/04(月) 15:22:53.18 ID:bW37tmJX
>>182 なぜですか?
他にどのような解除方法がありますか?
184 :
nobodyさん :2011/07/04(月) 15:23:18.01 ID:WyyByi98
【OS名】CentOS 【PHPのバージョン】5.6 【連携ソフトウェア】MySQL 【質問内容】 ユーザー情報としてメールアドレスとパスワードを保存しています。 パスワードはハッシュで格納していますが、アドレスはそのままとなっています。 アドレスもハッシュなどにしたほうが何かあったさいはいいのでしょうが、登録アドレスなどへのパスワードの再送などが出来なくなってしまいます。 暗号化を行った場合は一旦全てのメールアドレスを復号化する必要があるので処理スピードが落ちてしまいます。 メールアドレスなどは一般的にはどのようにDBに格納しているものなのでしょうか?
単にCloseすりゃいい
186 :
181 :2011/07/04(月) 15:25:46.12 ID:bW37tmJX
>>185 でもマニュアルには5.32以降は明示的に閉じなければならないと書いてるので、
将来のことを考えて明示的に解放したほうがいいのではないでしょうか?
できれば本題のほうの突っ込みをお願いします。
ロック待ちはあんな感じで大丈夫でしょうか?
デッドロックの発生状況がよくわかってないので心配です。
forでcountは使うな XAMPPは使うな Terapadは使うな FFFTPは使うな printは使うな eregは使うな dateは使うな flockでロックを解除するな
5.32
>>184 漏れた時の被害状況を想定して決めればいい
カードは最も悪用しやすく言わずもがなヤヴァイし(信頼失墜まちがいなしの重大事故)
住所は可能性としては低いが爆発物が届くかもしれない(名前と合わせて命狙われてる人なら重大)
電話番号はイタ電がかかってくるかもしれない(電話番号を最悪変えないといけないから中程度)
メールは迷惑メールが届くかもしれない(がフィルターで防げるし軽微である)
名前はそれだけなら心象被害しかないが住所と組み合わさると配達員に不信がられない(単体ならごく軽微)
まぁそんなことを考えながらやればいいんじゃねえの
メールアドレスは別にそのまんまでいいよ
企業の漏洩事故に最も含まれてるのはそのまんま格納してる証拠
誰か俺の質問に答えられる奴いないのかよ。レベル低いスレだな
だれ?
>>184 個人情報をどこまで厳格に扱うかで決まるが
一つのボーダーラインが漏洩した情報で不正アクセスができるかどうか
大体のオープンソースモノはパスワードだけ不可逆暗号化して
後の漏れちまったもんはしょうがねぇってスタンス
>>186 LOCK_NB付きでない限りロックが取得できるまで flock() で処理は止まる
なのでsleep()は不要
PHPからmysqlのデータベースを作成する方法わかりますか?
普通はそんなことやらんけど、、、デーモンは起動してる前提?
mysql_query('CREATE DATABASE hoge'); ただしルート接続
196 :
181 :2011/07/04(月) 17:28:33.74 ID:bW37tmJX
>>192 どうもありがとうございます。
LOCK待ちしてるとなると、else部分がどういう時に呼ばれるのかが気になりますが、
(もしブラウザのタイムアウトまで待ち続けると結局何も結果が表示されないので)
マニュアルに書いてる通り実装しようと思います。
ところでwhile条件間違ってましたね。
否定にしないとあれじゃ無限ループでした。
198 :
nobodyさん :2011/07/04(月) 19:30:15.63 ID:ktjvWDg2
file_get_contentsに渡したファイル名が存在しない場合 file_get_contentsがfalseを返したらエラー出して停止するように書いたんだけど file_get_contents内部で勝手にエラー出してそこで止まってしまうんだけど これはどうしようもないの? マニュアルには失敗時はfalse返すと書いてあるんだけど
その書いたものをここに書いてもらわないと困るんだけど
200 :
nobodyさん :2011/07/04(月) 20:16:59.62 ID:ktjvWDg2
if ( ($file = file_get_contents( $fileName ))){ // 読み込めた処理 } else{ echo "読み込めませんでした"; // 読み込めなかった処理; } これを実行すると、ファイルがなかった場合file_get_contentsがNo Such Fileとか出してそこで止まって else内が実行されない
吹いたw
>>200 再現しない
てかfile_get_contentsの前に存在するかチェックしろよ
いいから俺の質問に答えろよ、低能ども
いや俺の質問に先に答えろクズども
答えてやるから質問してみろ高能
ワロスwww
死んだ兄貴の遺言 「弟よ、XAMPPは使うな」
209 :
nobodyさん :2011/07/04(月) 23:26:58.82 ID:DllDdKEc
for文の動作で質問させてください。 $count = 0; いろいろ処理 $count++; } for($i = 1; $i < $count; $i++) { echo "i=".$i }
最後まで言ってくださいね〜
211 :
nobodyさん :2011/07/04(月) 23:29:38.58 ID:DllDdKEc
途中で送信してしまいました・・・ 基礎を勉強中なのですが、以下のプログラムを書いて動作を確認しました。 $count = 0; いろいろ処理{ $count++; } for($i = 0; $i < $count; $i++) { echo "i=".$i } そして、上記のプログラムで、for文の部分を以下のように変更すると、メモリオーバーフローを起こしてしまいます。 for($i = 0; $i < $count; $i++) { ↓ for($i = 1; $i <= $count; $i++{ なぜ、上のように変更すると、オーバーフローを起こしてしまうのでしょうか?
212 :
nobodyさん :2011/07/04(月) 23:31:24.88 ID:DllDdKEc
うぅ、書きミスだらけですみません・・・ $count = 0; いろいろ処理ループ処理{ $count++; } for($i = 0; $i < $count; $i++) { echo "i=".$i; } 変更点 for($i = 0; $i < $count; $i++) { ↓ for($i = 1; $i <= $count; $i++) {
213 :
nobodyさん :2011/07/04(月) 23:37:26.69 ID:uhW0inEa
PEAR::Authで困っています。Authはログインページをecho文で生成するよう にあちこちで紹介されていて、例えば、典型的な方法、 $auth_login = new Auth("DB", $params,"loginFunction");// インスタンス生成 だと、loginFunction()でecho文を使ってログインフォームを作るのですが、 こうではなく、自分でHTMLでオリジナルのログインページを作ってからAuthのphpファイルを 呼び出して操作したい場合、インスタンス生成のときにどうやってPOST されてきたユーザ名(普通だったら$POST_['username'とか])とパスワード($POST_['password'とか])を Authに突っ込めば良いのでしょうか? よろしくお願いします。
>>212 コピペして再現できるコードを張ってくれ
215 :
nobodyさん :2011/07/04(月) 23:41:58.96 ID:uhW0inEa
>>212 $countはどこまで増えていくの??有限なの?
>>212 「いろいろ処理ループ処理」の後で$countの値が何になっているのか確認して。
218 :
nobodyさん :2011/07/04(月) 23:52:24.13 ID:DllDdKEc
>>215 >>216 すみませんでした。
$countの値を細かくチェックしていく上で、if文の判定の記述で単純な記入ミスがありました・・・
変更した値で問題なく動くようになりました。
レス頂きましてありがとうございました。
$i = $countとか?
220 :
nobodyさん :2011/07/04(月) 23:57:28.33 ID:uhW0inEa
ああ!失礼しましたPEARのスレがあるんですね。 逝ってきます。
221 :
nobodyさん :2011/07/05(火) 05:01:59.31 ID:IycfkyQv
訳あってmail関数で日本語のHTMLメールを送りたいのですが charset= はUTF-8、iso-8859-1、iso-2022-jpのどれにすればいいでしょうか? 中身はUTF8で書いています。
SQLite3で綺麗に書いたのにサーバーが5.2.5だったorz
>>222 お前ごときが書いたソースは綺麗なわけないから大丈夫。
クズども、おはよう
お前らほんとめんどくせえ奴らだな
228 :
nobodyさん :2011/07/05(火) 10:53:51.27 ID:v3QqXJTs
ファイルの先頭に追記したいのですが 上書きされてしまいます ソースはこんな感じです $fp = fopen("test.txt","w"); fputs($fp,"$data\n"); rewind($fp); fclose($fp);
231 :
nobodyさん :2011/07/05(火) 11:38:05.56 ID:v3QqXJTs
>>229 ありがとうございます
処理が重くならないか心配です
>>230 上級者用のコード教えてください
>>231 上級者用コードのノウハウは我々の飯の種ですので簡単に教えることはできません。
まずは住み込みの内弟子から始めてください。
このスレは無能しかいないんですか?
234 :
nobodyさん :2011/07/05(火) 12:17:36.41 ID:n//fY0AL
echoの使い方を教えてください
まずは節電からかな? 買い物袋とかも結構echoになると思う
236 :
nobodyさん :2011/07/05(火) 12:34:57.13 ID:xUzR2LI7
ディズニーランドにプーさんがいないのは何故ですか?
>>236 プーさんはディズニー原作じゃないからだろ
原作元へのロイヤリティが発生する
こんなクソスレにまじめに質問に来る奴かわいそう
240 :
nobodyさん :2011/07/05(火) 15:43:34.75 ID:hbsvUCzr
file_get_contentsのoffsetって、付けると処理速度上がりますか?変わりませんか? maxlengthは速くなると思うのですが ベンチ取るのも、それ以外の要因の誤差が多そうなのでアレかなぁと思って質問しました
>>240 常識的に考えればシークした方が速い
あとは環境と標本次第
要するにさっさとベンチ取れ
Ajax厨が出始めてからだめになったなこのスレも
Ajaxを馬鹿にするような発言は容認できませんね。 あなた方が議論してるようなPHPでできることは全てAjaxで実現できます。
ではやってみせてください。 google.comのソースを取得し、サーバにgoogle.txtというファイルで書きこむ例を示してください。
ソースを提出できないようですね
251 :
nobodyさん :2011/07/06(水) 02:00:10.15 ID:2AvkLEqF
すいません 質問です。アドバイスお願いします。 <?php the_widget( 'GetConnected', 'title=Get Connected', $widget_args); ?> <?php the_widget( 'Recentposts_thumbnail', 'title=Recent posts', $widget_args); ?> 上は、RSSを呼び出し、下は、直近の記事を呼び出します。 英語表記されるのですが、日本語タイトルに変えるにはどうしたらいいでしょうか? 宜しくお願いします。
関数the_widgetを書き換えろ
253 :
nobodyさん :2011/07/06(水) 04:07:50.90 ID:tnbAW33V
simplexmlでpickMeを取るにはどうすればいいですか?
$xml_str = '<entry xmlns="
http://huga.jp/ " xmlns:hoge="
http://hoge.jp/ ">
<title>OK</title>
<hoge:a>
<hoge:b><![CDATA[pick me]]></hoge:b>
</hoge:a>
</entry> ';
$xml = simplexml_load_string($xml_str);
255 :
253 :2011/07/06(水) 04:58:52.65 ID:tnbAW33V
>>254 ありがとうございます。おやすみなさい。
>>250 AjaxアンチってAjaxが嫌いな人って意味?
それならアンチAjaxというべきだと思うけど
すいません質問です メール送信用のphpをサーバ外部から起動されないためには、 どういった手段が適当でしょうか? ユニークIDを作成してセッションで引き渡してチェック?
258 :
nobodyさん :2011/07/06(水) 09:01:32.62 ID:O5C8wSQY
ごめんなさいID出すの忘れてました 改めて質問です メール送信用のphpをサーバ外部から起動されないためには、 どういった手段が適当でしょうか? ユニークIDを作成してセッションで引き渡してチェック?
サーバーがアクセス許可してないところに置く。
260 :
nobodyさん :2011/07/06(水) 11:09:17.91 ID:hbO4DQdO
PHP5.3に対応してないエディタは使うな!!!!!!!!
263 :
nobodyさん :2011/07/06(水) 16:27:26.94 ID:4x9mYg4/
【OS名】CentOS 【PHPのバージョン】5.2 【質問内容】 1..htaccess内でoutput_handlerに自作関数を指定する事は可能でしょうか? スクリプト内でob_startならば問題なく動作しましたが、可能ならばhtaccessで設定したいです 2.mbstring.http_inputでautoを指定するとShift_JISとEUC-JPの両方を受取れますが、 これをSJIS-win、eucJP-winの両方受取れるようにする事は可能でしょうか?
>>256 郷に入っては郷に従えってやつだ。
2ちゃんでは○○アンチって書き方するやつ結構いる。
265 :
251 :2011/07/06(水) 17:33:20.50 ID:2AvkLEqF
>>252 ありがとうございます
レスいただいてからあれこれぐぐったりしたけど
どうしても解決策が見つけられません
もう少しのヒントだけでも教えていただけませんか?
>>264 Ajaxアンチと言った場合、Ajaxが好きな奴を指しているんじゃない?
間違いを認めたくない典型的なタイプ
用法は間違いだが多用されてるのは事実 くだらん和製英語だから誰も気にしてない
ウイルスアンチソフトをインストールしたらPHPがアップハングしました。 さらにスクリーンブルーが出てお手上げ状態です。 コードエラーになんか色々書いてますが頭が弱いので意味がわかりません。 だれかミーヘルプ!
OCNって誰の事?
必死すぎるだろw さらっと流せばいいのに
暇なもんで
つまりアンチアンチってことだな!
凄いマニアックそうな国産フレームワーク見つけて使ってみたんだが、 MVCじゃないし、すげえファイルは多いし、 マッピング機能なし、mysqlにしか対応してないし、 QuickFormに依存しまくってて凄い使いにくいんだけど、 どうしたらいい。 BEARってやつなんだけど
278 :
nobodyさん :2011/07/06(水) 20:44:16.91 ID:ydicKJDS
初学者ですがgotoって絶対ダメなんですか? <body> <?php if(****){ goto end; } //←A //以下elseの処理内容 end: ?> </body> for文などのbreak・continueみたいな感じで、 A部が単純な場合はこっちの方がelse分のインデントの手間が省けるので使いたくなります dieとかexitだと最後のbody閉じタグがでませんし 本気で議論すると荒れそうなので「ちょっと読みにくいんだよね」とか「いや実はちょっと遅い」とか軽めの回答希望です
後付け機能は安定するまでは使わないのが吉
280 :
nobodyさん :2011/07/06(水) 21:37:05.33 ID:GdDhNewS
初心者ですみません。 <embed src="フラッシュファイルパス" type="application/x-shockwave-flash" width="200" height="160"> として、このオブジェクトをクリックしたときに値(value=1など)をポストしたいです。 その時にどのように記載すれば宜しいでしょうか。
281 :
nobodyさん :2011/07/06(水) 21:43:34.96 ID:eQ7ZrZNe
セッション関係で一つ質問です。 ログインページを作ろうといろいろページを巡っていると セッション固定攻撃という記事を見つけて、 パッチを当てるべきと記述がありました。パッチのリンクはPHP5.2.1となっています。 使用環境のPHPは5.3なのですが、この場合既に固定攻撃の脆弱性に対する修正は 入っているものでしょうか?
283 :
nobodyさん :2011/07/06(水) 21:51:33.83 ID:GdDhNewS
>>282 ありがとうございます。
そちらで伺ってみますmm
284 :
nobodyさん :2011/07/06(水) 22:37:24.61 ID:HF+XTU8s
PHP5をWindowsのexeに変換する方法ありませんか?
php gtkでggrks
286 :
nobodyさん :2011/07/06(水) 22:52:22.03 ID:P+ce3RU8
やりたいこと ・PHPのincludeで、共通ファイル(メニューとか)を読み込む ・現在のページがたとえばabout.htmlだとしたら、その部分のソースを <a href="about.html">about</a>だったら <a href="hoge.html" class="ima">about</a>にしたい (class="ima"を、付加したい) ページ自体に変数入れて、メニューの方でif文入れて、 読み込んだ変数が合致したら classを付加する、ってやり方であってるでしょうか? サブカテゴリがあるので、(aboutの下に問い合わせとか) aboutと問い合わせの両方のページでclassを付与したいです
287 :
nobodyさん :2011/07/06(水) 22:55:27.46 ID:asDiMoVU
URLリストが1000個あり、5個並列でダウンロードして完了したものを保存するにはどうしたらいいですか?
>>286 わかりにくい文書
>>287 配列とダウンロードの仕方とforやforeachの使い方を覚える
必要ならソケット通信のやり方も検索して覚える
289 :
nobodyさん :2011/07/06(水) 23:33:31.82 ID:ydicKJDS
>>279 gotoって5.3からなんですね、よく読んでませんでした
290 :
nobodyさん :2011/07/06(水) 23:44:05.77 ID:EINhOZp3
PHPの例外処理は全部Exceptionブロックに行くんでしょうか? class TestException extends Exception {} class Hoge { static function a() { throw new Exception(); } static function b() { throw new TestException(); } } try { Hoge::b(); Hoge::a(); } catch (Exception $e) { echo "Exception"; } catch (TestException $t) { echo "TestException"; } catchブロックにTestExceptionを最初にもって来ればOKですが その状態でHoge::aを持ってくると後ろにあるExceptionをキャッチします この仕様だと失敗しやすい処理を前にもってきて キャッチは後ろのほうのブロックにしないといけません 非常に判断が難しいのですがこの仕様どうにかなりませんよね?
> この仕様どうにかなりませんよね? 意味がわからん。
292 :
251 :2011/07/06(水) 23:58:09.11 ID:2AvkLEqF
自己解決しました <?php the_widget( 'GetConnected', 'title=Get Connected', $widget_args); ?> <?php the_widget( 'Recentposts_thumbnail', 'title=Recent posts', $widget_args); ?> ↓ <?php the_widget( 'GetConnected', 'title=RSS', $widget_args); ?> <?php the_widget( 'Recentposts_thumbnail', 'title=最近のお知らせ', $widget_args); ?> これで出来ました 当初、日本語だと文字化けしてたのですが Dreaweaverの環境設定をut8に変更して化けなくなり 今回の解決にいたりました
>>292 > Dreaweaverの環境設定をut8に変更して化けなくなり
Dreaweaverが何の関係があるの?
というか、Dreaweaverの設定を変えたことで何故解決したのか理解してるの?
>>290 なんか色々と大丈夫ですか?思考回路とか。言語能力とか。
お母さんは心配です。
296 :
290 :2011/07/07(木) 00:57:54.60 ID:???
僕の思考回路についてこれないようですね? ・・・すみません自分でも読み返して何言ってるか不明でした 処理A(失敗時に投げられる例外はException) 処理B(失敗時に投げられる例外はTestException) こういう順番にして 例外キャッチの順番を Exception→TestExceptionの順番にすると 処理BでつまづいたときでもExceptionブロックに行ってしまうんですね なのでExceptionブロックは一番最後にかかないといけない仕様なのかなーと
>>296 マニュアル嫁よ・・・と言いたいところだけど、
当たり前な仕様すぎてPHPマニュアルには詳しく書いてない。
JavaとかC#とかの解説でも読んできて。
PHPのマニュアルであって OOPの入門書じゃないからなw
いやPHPのマニュアルにもちゃんと書いてあるから。
なら出せよ ほんと役立たずだな そんなレスはいらねえんだよ
このスレ不要なのか、有能なのか わしゃわからんべ(´・ω・`)
モニタの向こうにいるのは人間ですよ?
馬鹿がさらなる馬鹿を馬鹿にするだけのスレだからしょうがない
それで自分の馬鹿を晒して更なる馬鹿にもっと馬鹿にされるのですね
>>304 マニュアルに書いてないと断言するなら、書いていないことを示すのが先でしょう。
示すってのは根拠がなければならない つまりソースを出して始めて反論になる じゃないとその反論は無意味なオナニーで終わる
>>310 ですから、マニュアルに書いていないという根拠を示してください。
>>313 しかし「有る」と主張する場合は根拠を示す必要があるのに、「無い」と主張する場合はその必要がないのは
不公平ではないでしょうか。
>>314 出来ないことを要求するのは不公平じゃないの?
おはよう さて、どんな質問が残ってるのかな? 今日は暇だから、お姉さんが丁寧に質問に答えちゃうよ!
うんこいろ
完全な初心者です。 mainのPHPから処理の流れに応じてPHPを実行させるのに、PHPらしい方法はどんなんでしょうか。下記を考えました。 main.php{ exec('/usr/local/bin/php ./1.php'); exec('/usr/local/bin/php ./2.php'); exec('/usr/local/bin/php ./3.php'); ・ ・ exec('/usr/local/bin/php ./n.php'); } どんなもんでしょうか。
>>320 2つ前のレスすら読めないのかよ・・・・
JDという2chブザウザを使っているのだが、IDをだすとはどうするのだ? 書き込み欄があるので入力してみたら名前欄に表示されたが。
323 :
263 :2011/07/07(木) 09:13:18.64 ID:VhwIm5mM
はい 1は不可 2は可
325 :
nobodyさん :2011/07/07(木) 09:22:54.53 ID:VhwIm5mM
>>324 回答ありがとうございます
2の方法についてですがどのような方法でしょうか?
detect_orderやhttp_inputに"eucJP-win,SJIS-win"のように指定してみましたが思うような効果は得られませんでした
326 :
nobodyさん :2011/07/07(木) 09:27:33.38 ID:hOX3MgUD
IDの出し方 テスト
327 :
nobodyさん :2011/07/07(木) 09:28:19.33 ID:hOX3MgUD
完全な初心者です。 mainのPHPから処理の流れに応じてPHPを実行させるのに、PHPらしい方法はどんなんでしょうか。下記を考えました。 main.php{ exec('/usr/local/bin/php ./1.php'); exec('/usr/local/bin/php ./2.php'); exec('/usr/local/bin/php ./3.php'); ・ ・ exec('/usr/local/bin/php ./n.php'); } どんなもんでしょうか。
329 :
nobodyさん :2011/07/07(木) 09:41:08.44 ID:hOX3MgUD
ありがとう
>>325 php.iniの文字コードの設定ぐらいさらしてから聞けや
332 :
nobodyさん :2011/07/07(木) 10:52:59.10 ID:VhwIm5mM
PHPマニュアルを見直した所、どう見ても複数設定出来るようなので 再度実験してみたら希望通りの動作をしてくれました http_inputの記述順に問題があったようで、 ↓をベースに php_value mbstring.language Japanese php_value mbstring.internal_encoding UTF-8 php_value mbstring.detect_order SJIS-win,eucJP-win,UTF-8 php_flag mbstring.encoding_translation On php_value mbstring.http_input SJIS-win,eucJP-win,UTF-8 php_flag output_buffering On php_value output_handler mb_output_handler php_value default_charset EUC-JP php_value mbstring.http_output eucJP-win php_value mbstring.substitute_character None ↓の項目を書き換えた所、希望通りの動作となりました php_value mbstring.http_input eucJP-win,SJIS-win,UTF-8 php_value default_charset Shift_JIS php_value mbstring.http_output SJIS-win
333 :
nobodyさん :2011/07/07(木) 11:36:55.43 ID:Ch5hchcU
index.htmlに -------------------- テスト01 <?PHP $a=1 if($a==1){ echo"aは1です"; }Else{ exit("処理終了"); } ?> テスト文字02 ------------------ 見たいに書いて PHPの処理中断した時に その後のhhmlを表示させる場合どうすればいいのかな? exitだとその後のhtmlとかすべて表示されない
>>333 try-catchでくくってthrow
if(){ }else{ a(); exit; } function a(){htmlを書く}
336 :
nobodyさん :2011/07/07(木) 12:07:04.50 ID:Ch5hchcU
複雑な処理の最中に条件次第で途中で処理を中断して そのままhtmlに戻りたいので <?PHP ?>の処理を途中終了して その後のhtmlを表示させるような関数ってありますか?
ない exit書いたらそこで試合終了
return
もしくはgotoや関数内でreturnでも使え
htmlの処理中にPHP書くから悪い
341 :
nobodyさん :2011/07/07(木) 12:31:59.39 ID:Ch5hchcU
>>339 goto調べてみたらぴったしの機能でしたが
レンタルサーバーのPHPが5.2でつかえずorz
自作関数はまだ使いこなせない(´・ω・`)
テスト01 <?PHP try { $a=2; if($a==1){ echo"aは1です"; }Else{ throw new Exception("処理終了"); } } catch(Exception $ex) { } ?> <?PHP while(true) { $a=2; if($a==1){ echo"aは1です"; }Else{ echo("処理終了"); break; } break; } ?> テスト文字02
$end = 0; $a = 1; if ($a == 1) { echo "$aは1です"; $end = 1; } if (!$end) { 処理2 } 処理終了
if ($a == 1) { echo "$aは1です"; } else { $end = 1; } の間違い フラグでもいれれば簡単じゃろ
345 :
nobodyさん :2011/07/07(木) 13:24:17.41 ID:Ch5hchcU
ifで括って行くしかないのかな 条件によって何十箇所も飛ばしたいところが複雑にあるから gotoのような単純にジャンプできる機能がほしいところ レスしてくれた皆様ありがとうございますm(__)m
346 :
nobodyさん :2011/07/08(金) 03:56:00.80 ID:hPQ7klvO
$historys = array(); $fp = fopen("history.txt", 'c+b'); while (!feof($fp)) { $line = str_replace(array("\r\n","\n","\r"), '', fgets($fp, 1024)); if ($line !== '') { $historys[] = $line; } } array_unshift($historys, "何かの値"); if (count($historys) > 30) { array_pop($historys); reset($historys); } ftruncate($fp, 0); fputs($fp, implode("\n", $historys) . "\n"); fclose($fp); 配列を30行に抑えたいのですが、どこが間違っていますか? 同じ行が積み重なって16MBとかになってしまいます。。
>>346 historyの複数形はhistoriesだからです。
>>346 蛇足だけどarray_popの後にresetは要らないよ。
history.txtを全行読み込んでから30行に削るのは合理的じゃない。
history.txtが馬鹿デカかったら時間が掛かるしメモリーがあふれるかも知れない。
$historysに読み込むときに29行に制限しておく。
あと"何かの値"を必ず入れるのならarray_unshiftなんて使わずに最初に入れておけ。
-----
$historys = array();
$fp = fopen("history.txt", 'c+b');
$header = "何かの値";
$historys[] = $header;
$limit = 30;
$count = 0;
while (!feof($fp) && $count < $limit - 1) {
$line = str_replace(array("\r\n","\n","\r"), '', fgets($fp, 1024));
if ($line !== '') {
$historys[] = $line;
$count++;
}
}
ftruncate($fp, 0);
for($i = 0; $i < $limit; $i++){
fputs($fp, $historys[$i]."\n";
}
fclose($fp);
-----
fputsの最後に閉じカッコ付けるの忘れた
>>346 if (count($historys) > 30) {
array_pop($historys);
reset($historys);
}
↑これだと30以上のときに最後の1個を取り除いただけで、30行に抑えていない。
繰り返さないと。
351 :
nobodyさん :2011/07/08(金) 07:04:40.49 ID:hPQ7klvO
>>348 ありがとうこざいます
読み込み時にしとけばよかったんですね。勉強になりましたm(__)m
352 :
nobodyさん :2011/07/08(金) 07:18:45.62 ID:hPQ7klvO
>>350 0から初めて履歴は30分に1個ずつ増えてく仕様だったので
大丈夫だと思ってました ; ;
未だに原因が分かりませんが1日で3000行以上になっててΣ(´∀`;)です
30分に1回実行してんのか?
c+なんて使ってる人初めて見たw 普通a+だろ
355 :
nobodyさん :2011/07/08(金) 07:44:07.06 ID:hPQ7klvO
>>353 はい cronで実行してました
>>354 a+だと先頭にseekできないようなので。。
>>355 じゃ書いてたけど実行されてなかったんだな
c+やめて手動でファイル作ってr+にした方がいいよ もしくはfile()で取得してwで書き込んだほうがいい c+とシークは不具合がある
358 :
nobodyさん :2011/07/08(金) 10:53:33.22 ID:k6JkJfUY
くだらない質問です。 ファイル名が$nameに入っていて、そのファイルの中身を$bodyに代入するにはどうしたらいいでしょうか。 exec ('cat $name > $body'); ではうまくいきませんので。
>359 ありがとう。うまくいった。PHPは便利だ。 perlで書くしかないかと思い悩んでいたのだ。
perlで出来ることはPHPでも出来る。 PHPで出来ることはAjaxでも出来る。
362 :
nobodyさん :2011/07/08(金) 15:23:36.52 ID:TLiNIkWs
画面をうまく分けたいんですがどうもうまく設計できません。 データベースへ検索を行うプログラムを作るとして、 検索画面入力 検索(リクエスト)処理 結果表示 という工程を挟むとします。 検索画面入力→処理へGET→処理内容をセッション変数に格納→表示画面へ飛ばして表示 検索画面入力→処理へGET→処理は表示画面を兼ねてるのでそのまま表示 今こんな2通りの実装方法を試してますが、 前者のほうがオーバヘッドの関係上当然ながら遅いです。(微々たるものですが) しかし整理されてる感じがするのは前者のほうです。 後者は検索処理を書いた後、そのままhtmlを書くのでviewと分離できておらず汚いです。 改善策として、処理部分を他のファイルに関数として書いて、includeして関数に$_GETを渡すとかありますが、 ファイルを分けただけで本質的にあんま変わりません。 みなさんはどういう方法を採用していますか? 何か他にいい方法があったら教えてください。
どうせ弱小サイトなんだから気にするんじゃねえよ
コマンドラインのphp -l(lint)なのですが、 あるサーバでは PHP Parse error: syntax error, unexpected '?' in a.php on line 7 Errors parsing a.php というようにファイル名と行番号まで表示してくれるのですが、別のサーバでは Errors parsing a.php しか表示されません。設定を変えて前者のようにすることは可能でしょうか?
どうせ弱小サイトなんだから気にするんじゃねえよ
>>364 php.iniでerror_reportingの設定
>>366 できましたありがとうございます。
ただ、行番号等が表示されるサーバでphp -d error_reporting=4177 a.php
とすると表示されなくなるのに対し、
もともと表示されないサーバでphp -d error_reporting=6143 a.php
としてもダメでした。
>>362 その回答の一つがMVC
Symfony、CakePHP、Zend Framework 辺りが参考になる
369 :
362 :2011/07/08(金) 22:35:24.64 ID:TLiNIkWs
>>368 ありがとうございます。
一度ちゃんとフレームワークのソースを読んだり使ってみないとだめですが、
まだその域に達してないのでもう少し色々考えてみます。
370 :
nobodyさん :2011/07/09(土) 02:05:30.36 ID:NiQ7H+AZ
curlでサイトへのログインして、他ページのボタンを押したいのですが 参考になるサイトはありますでしょうか?
10秒ごとにforループを実行することってできますか? for($i=0; $i<10; i++) { echo $i; } 0を表示してから10秒後にループって感じで。
374 :
nobodyさん :2011/07/09(土) 11:47:03.20 ID:D+k+KmfY
失礼しました。 10秒ごとにforループを実行することってできますか? for($i=0; $i<10; i++) { echo $i; } 0を表示してから10秒後にループって感じで。
ちょっとググればわかることだろ
少しは自分で調べろ
だが
>>375 みたいなあほなレスするやつはksだ
気持ちはわからんでもないが
でも
>>377 みたいな誰の役にも立たないレスをする奴はクズだ
そんな奴の気持ちなどわかろうとも思わない
でも
>>378 みたいな誰の役にも立たないレスにレスをする奴はクズだ
そんな奴の気持ちなどわかろうとも思わない
sleep(10) って昔なら一言さらっと答えが出てたんだが ここのところ変なのが多いな もう2chでの活動やめちゃいますよ
>>380 あなたのような人がいるから2chが荒廃するんです。
早く辞めてもらったほうが世の中の為です。
2chなんて便所の落書きなんで 回答があればラッキー程度な気持ちで利用してくれや
厳しい時代ですからね 無能な人間は他人を蹴落とすしか手がないのですよ
いやいや、無能な人間は蹴落とされる側だから
実験ならともかく、サーバー側でスリープさせるようなアプリを作るのはどうかと。 とりあえず、仕組みを理解して、なぜそういうプログラムが気持ち悪いのかを理解してる奴なら、こんな質問相手しないと思うんだが。
>>385 >>374 の質問からなぜそこまで深読みしなくちゃならんの?
単にfor文を10秒ごとに実行できるかどうかの技術的な質問だろ?
お前の方がよっぽど気持ち悪いよ。
>>386 なんで、その程度で深読みなんだ?
マニュアル読めばすぐ分かるようなsleep程度でそんなにかみつくお前の方がよっぽど気持ち悪いよw
>>377 はぁ?自分で実装方法を考えるのが好きで、、可能か不可能だけ知りたい人かもしれないだろ?
そんな人に答え教えちゃうのは小説や映画のスレでネタバレを教えるようなもんだ。
要件以上のことをすることを、余計なおせっかいと言う。
世界人類が幸せでありますように。
>>389 契約、手続き、司法、政治、人との約束、etc・・・世の中みんなそうなってるんだよ。
少しは社会と関わろうな。
今回落ち度があったのは質問者側。
融通がきかないのはうまく世を渡っていけませんよ そんなんだから万年平なんですよ
それを質問者側が言うか。朝鮮人みたいな奴だな。
質問者って勝手に決めつけられてもな(笑)
違うならお前に関係ない話だ。でしゃばるな。
393 名前:nobodyさん[sage] 投稿日:2011/07/09(土) 19:13:06.67 ID:??? それを質問者側が言うか。朝鮮人みたいな奴だな。 393 名前:nobodyさん[sage] 投稿日:2011/07/09(土) 19:13:06.67 ID:??? それを質問者側が言うか。朝鮮人みたいな奴だな。 393 名前:nobodyさん[sage] 投稿日:2011/07/09(土) 19:13:06.67 ID:??? それを質問者側が言うか。朝鮮人みたいな奴だな。 そうか夏休みだったのか
世の中とか社会とか偉そうに語るからだろ(笑)
司法、政治とか言えば有利に話進められるとかカッコイイとか思ってるただの餓鬼だろ。 見てて痛々しい・・・ 2chに顔だしてる暇があったらお気に入りの法律の勉強でもしてろよ。
399 :
nobodyさん :2011/07/09(土) 19:58:02.94 ID:1XCXFVtD
curl_multiをつかったときに、個々の接続が完了した事を知るにはどうしたら良いんですか?
400 :
nobodyさん :2011/07/09(土) 19:59:59.91 ID:1XCXFVtD
一括で完了したときのサンプルは見つかるのですが、個別の完了を確認する方法が知りたいです。
>>397-398 世の中とか社会を語られると偉そうにされてると感じるとか、有利に話が進められるとか、
普段どんだけ底辺で生きてるの?
一般常識レベルの話だぞ。
なんというか、まぁ、頑張れ。
>>392 日本の一般的な企業や公務員なら年次で昇格・昇進していくし
外資系企業なら無能な奴は切られるのでそもそも万年平なんて概念は日本には存在しない。
社会人経験ないのがバレバレ。
>>401 お前みたいなニートは一度銀座のママにいじられてきたほうがいいと思う
一般常識(笑)
>>401 想像で物言ってるでしょ?
公務員はキャリアと非キャリアでそもそも扱いが全然違うし、
競争もなしに昇格できるとか本気で言ってるなら頭に蛆が湧いてると思う。
外資系で無能なやつを切るってのも意味不明。そんなの外資系じゃなくても当たり前。
スレタイ1000回読め
スレタイ1000回読みました。 どう考えても質問者に非があるとは思えません。
>>404 来年の採用から国家公務員のキャリアは廃止されます
408 :
nobodyさん :2011/07/09(土) 21:26:39.70 ID:2urjE4w0
>>380 横なんだけど、以前にログアウト処理を組んでいて、
「ログアウトしました」とechoで表示させたあとにsleep(3)とか処理を加えて、
(「ログアウトしました」の表示を3秒見せる)
トップページに飛ばそうとしたことがあるんだけど、
ログアウトしましたと表示されずに3秒停止してからトップページに飛んでしまって
うまくいかなかったんだけど。
>>374 の0を表示させてから10秒後にループさせるってのが、sleep(10)でできるの?
>>408 そりゃ当たり前だ
flushしてやらんとブラウザには表示されない
まぁだいたいそういうトリックはrefreshヘッダでやるもんだぜ
<meta http-equiv="refresh" content="3;url=
http://example.com/ ">
>
>>374 の0を表示させてから10秒後にループさせるってのが、sleep(10)でできるの?
できるがタイムアウトも考えないといけない
リトライ処理とかはsleepとループを組み合わせてやるのが普通
flush使った実装はコマンドラインのみにしておくべき ブラウザではあんまりやるようなことじゃない 10秒後にクライアントが再度リクエストすればいい Ajaxの出番
412 :
nobodyさん :2011/07/09(土) 23:13:50.85 ID:2urjE4w0
>>409 丁寧なレスありがとうございます。
大変勉強になりました。
>>411 flashの間違いだと思ってんなら自分の無知に顔を赤くしながら
マニュアルでflushって検索してこい
マニュアルってなんだよボケwww オートマ限定免許も持ってねぇクセしてww 笑わせんじゃねよwwww
顔真っ赤(笑) 間違えを認められずひどいごまかしよう(笑)
おはよう さて、どんな質問が残ってるのかな? 今日は暇だから、お姉さんが丁寧に質問に答えちゃうよ!
ではお言葉に甘えて whileループでファイルを一つづつ処理していて ループ内で処理の進行に合わせてprint文で進捗を表示させたいのだが なぜか表示がwhileループが終了した後にすべての処理ファイル分が一気に表示される。 これでは進捗状況の表示にならない。 どうしたらいいのですか。
>>416 なんだよwお前が俺の顔の色とかわかるわけないだろwww
適当なこと言ってごまかしてんじゃねぇよwwwww
curlのPOSTの時配列指定するとファイルアップロードになって使えねえな aaa=bbb&ccc=dddって自分で書かなきゃダメだ
423 :
nobodyさん :2011/07/10(日) 06:57:05.10 ID:MAnv3V4B
IDをさらし忘れてたので whileループでファイルを一つづつ処理していて ループ内で処理の進行に合わせてprint文で進捗を表示させたいのだが なぜか表示がwhileループが終了した後にすべての処理ファイル分が一気に表示される。 これでは進捗状況の表示にならない。 どうしたらいいのですか。
424 :
422 :2011/07/10(日) 06:58:47.02 ID:???
あーこんなことに1時間も気付かなかった なんか原立ってきた
425 :
nobodyさん :2011/07/10(日) 06:59:02.71 ID:MAnv3V4B
>バッファリングをされてるとしか あー、そうだね。
>>425 コマンドラインで実行したらちゃんと進捗状況の表示になるだろ?
ってことはPHPの問題じゃなくてHTTPサーバーやブラウザの問題ってこと。
つまりスレ違い。
クライアントの回線によってどのブラウザでもflush効かないことあるから、あんまり
キャッシュを消すことだろ?
433 :
nobodyさん :2011/07/10(日) 15:37:08.30 ID:L+HYUYZt
arrayから、指定した値の検索で(true,false)を得るのはarray_searchでできるというのは分かるのですが、 arrayの中の一致する値の"個数"を取得したい場合はどのようにすれば 良いでしょうか。foreachで一致するたびに、countをあげるしかないでしょうか。 $array=array("apple","orange","apple","watermelon","melon","apple"); で、appleという値を与えられたときに、3を得たいです。 ダウンローダー対策のため、503のエラーページにphpで、直近一秒間にアクセスを してきたIPを重複をチェックせずにテキストファイルに保持し 指定個数を超えたらdenyListに書いて、指定時間を超えたら解除…ということをしようとしていて、 その「指定個数を超えるかどうか」のチェックをしたいです。
それはサーバ機能でやればいいだろ
間違いを認められず荒らしてごまかしてんじゃねえよ(プッ
>>437 じゃぁ、「if ($list == 「aエレメントにかこまれたもの」)」はどうなの?
意味が通じればいいってことだろ
>>433 テキストファイルに書き込んだり消したり(上書きしたり)を1秒間に何回繰り返すつもり?
考え方を変えるべし。
440 :
nobodyさん :2011/07/10(日) 16:24:42.43 ID:BenfNMMl
staticは異なるアクセス同時でも共有されますか?別になりますか? 異なるアクセス間で、変数を共有する方法はありますか。
サーバ側で保存しとけばいいんじゃね
>>444 <!DOCTYPE html>
<?
phpinfo()
?>
447 :
nobodyさん :2011/07/10(日) 23:47:06.31 ID:MM5IUD/N
if (hoge==a || hoge==b) { test(); } if (hoge==a) { test2(); } if (hoge==b) { test3(); } 的なことをやろうと(aはtest()とtest2()を呼び出し、bはtest()とtest3()を呼び出す) switch (hoge) { case a: case b; test(); case a: test2(); break; case b: test3(); break; } とやっても期待通りになりません break文を挟んでないのに次にいかないのはなぜなんでしょうか? なんか書き方間違ってますか?
phpinfo実行してから質問しろよ
450 :
447 :2011/07/10(日) 23:51:38.63 ID:MM5IUD/N
452 :
447 :2011/07/10(日) 23:57:13.03 ID:MM5IUD/N
最近こんなやりとりばっかだな
PHPだからな(笑) もう上級者はこんな糞言語見切りつけてるし 残った回答者はまともに答えられないバカばっか(笑)
えっ
>>1 にマニュアルくらいは目を通しておくことって書いてあるんだけどな
マニュアル読んで全て解決するならスレの意味がないだろ
switch文に限定すれば
>>447 のようなことが可能と思ってもおかしくないだろ
breakするまで実行されるとしか書いてないんだから
wikiのswitch文項目をみたほうがまだヒントになる
C#のgoto case文がヒントになるだろう
>>458 >マニュアル読んで全て解決するならスレの意味がないだろ
マニュアルに書いてあることをスレで質問する意味はないと思う。
マニュアルに書いてないこととはなんだ?
>>454 上級者は何の言語に移ってるの? いや、煽りでなくまじめに
>>449 みたいなレス見ると本当にイライラする。
精神病んでないか。リアルでそれだとぼっちだろ。
2chのレスにイライラしてるほうが精神に問題あると思うよ
なんで回答者が質問者を慮ってやらんとならんのだ 質問者がしろ 立場をわきまえろ
ふてぶてしい人が増えたんじゃない? 技術的問い合わせなんて現実世界なら金取って行われてるものだよ
どちらもしょせんあそび
>>465 それじゃこのスレの存在意義が無いみたいじゃないか。
こっちだってわざわざ時間を割いて質問してるんですから
それなりの対応を期待してもいいでしょう。
うんこ質問にはうんこ回答しか付きません。 それなりの質問にはそれなりの回答とうんこ回答の両方が付きます。 にちゃんは大体こういう仕様です。
うんこ質問でもそれなりの回答を行うのが良識というものです
無視されないことに感謝しろ、な?
ほんと末期ですね PHPが廃れるわけだなぁ Perlの最後のほうと似た感じだわww
phpには責任も問題もない ここに常駐する輩に大いに問題あり もうさ常駐してる連中どっか逝け
>>469 うんこ質問を行う人物が別の質問にうんこ回答を行うケースが多いのが現実です。
うんこそのものなので良識を問うのは難しいと思われます。
475 :
nobodyさん :2011/07/11(月) 17:51:34.14 ID:qunXcXZV
php_mecab-0.3.0はmeke時にエラーが出ますがこれはこれでいいのですか。
だめです
476 名前:nobodyさん[sage] 投稿日:2011/07/11(月) 17:59:24.77 ID:??? だめです 476 名前:nobodyさん[sage] 投稿日:2011/07/11(月) 17:59:24.77 ID:??? だめです 476 名前:nobodyさん[sage] 投稿日:2011/07/11(月) 17:59:24.77 ID:??? だめです いい大人が恥ずかしげも泣く よく公衆の面前でこんな池沼なレスできますね どんな人生歩んできたんだか・・・ 駄目なら駄目で こうすればいいよ とか答えるべきでしょ 常識アル社会人なら てかニートなんだろうか
テンプレを何一つとして守ってない質問に対しては十分過ぎるレスだと思うけどな
いいのかどうか聞いてるんだから これ以上的確な回答は無いだろう
> これでいいのですか。 質問ですらない むしろ納得している
>>477 どうぞ答えてください
誰も止めてませんので
>>477 ほんと、答えりゃいいのになw
一番スレ違いは誰だっつのw
483 :
nobodyさん :2011/07/11(月) 20:39:24.07 ID:8lyG0yAk
array配列から重複の値を取り除く(array_unique)を使っているのですが、列数が10万程度の配列を使うとフリーズしてしまいます。 サイズは30MB程度なのですが、php.iniの設定?などでフリ〜ズしないようにできる方法はないでしょうか。
>>483 まずメモリがいっぱいになっているのか実行時間が長くて止まってるのか特定すべし
だめです
いやいやそれはいいですよ
487 :
nobodyさん :2011/07/11(月) 22:42:52.37 ID:LpGCd7Ke
ヒント:Ajax
array_uniqueの実装しらんけどPHPだし計算量多い適当な方法使ってんだろ
491 :
483 :2011/07/12(火) 08:03:45.22 ID:KoFF93FJ
array_uniqueで、メモリがいっぱいになっている、実行時間が長くかかっている、フリーズしているをXdebagで調べる予定です。 「実行時間が長くてタイムアウトで中断されている」こともあるのでしょうか。 処理時間の上限設定値はあるのですか。
調べてから聞け あとXdebugなんぞ使わなくてもエラーメッセージに出るだろ
あとどうせXAMPPかレンサバというオチだろ
設定はあるのでしょうかと聞く前に設定くらい把握してから開発しろよ まじありえん 「私設定なんか何も知らないで開発してま〜す」と言ってるようなもん
合わせ鏡は悪魔を召還するのでやめてください
昼間であれば大丈夫です
昼間でも出てきたぞ
501 :
475 :2011/07/12(火) 14:22:57.54 ID:???
単にエラーとしか書かないやつはろくにエラーの文章も読んでないの?
503 :
483 :2011/07/12(火) 14:32:05.27 ID:???
array配列から重複の値を取り除く(array_unique)を使っているのですが、列数が10万程度の配列を使うとフリーズしてしまいます。 これは、php.iniの max_execution_time = 30 の数値を変えることで解決しました。
504 :
nobodyさん :2011/07/12(火) 14:55:07.00 ID:BQ5972Wh
phpで大容量の奴を扱うなよ それでもC言語だったら1秒以内で済む。
だめです
506 :
nobodyさん :2011/07/12(火) 15:03:42.04 ID:fUrYG2H5
>>504 C言語なら配列から重複の値を取り除く処理はどう書けますか?
だめです
ソートすればいい
Cの型って厄介だったけどphpでCの型やりたいなぁ あれは癖になるよね
んなもんC++でstd::sortとstd::uniqueでおしまい
C++をC言語に含めてんじゃねぇぞ!ハゲが
≠ってなんて打てば変換できますか?
イコールで候補に出てこない?
= ≠ ≒ ほんとだ出てきた
ノットイコール
ナッイクォール
Google日本語だとノットイコールだな イコールだと無理!
‰?※?????????≠???????◎????????????????????
Google日本語とか使ってる奴は馬鹿なの?
使わないやつはバカなの?
Google日本語とか使ってる奴は阿呆なの?
爆乳は正義!
523 :
nobodyさん :2011/07/12(火) 23:22:27.00 ID:z7HwOtN7
$a[100] = 1; echo count($a); が101にならないのはなんでですか?
一個しか配列に代入してないから
525 :
523 :2011/07/12(火) 23:35:58.49 ID:z7HwOtN7
>>524 まぁそうなんですが
一般的な言語だと101になるとおもうんですけどPHPだと挙動が違うんですかね
PHPの場合、配列とハッシュの扱いが同じなんじゃなかったっけ? echo $a["100"]; で1って出るからそうだと思う。
528 :
523 :2011/07/13(水) 00:05:10.72 ID:gdt6puV8
>>527 なるほど。結構ややこしい仕様ですね。
配列のインデックスに文字列を指定したらハッシュテーブルで、
数値を指定したら配列でありハッシュテーブルでもあるというわけですね。
勉強になりました。どうもありがとうございました。
>>528 あの、その前に101になる言語を教えてもらいたいんだけど・・・
>>529 恥ずかしいから黙っとけよ低レベル回答者
質問はIDだせ
ほれ、すぐ動かせやすい言語で書いてやったぞ <script> var i = []; i[100] = 1; alert(i.length); </script> #!/usr/local/bin/perl print "Content-Type: text/html\n\n"; $a[100] = 1; print $#a + 1;
101になるわけねーだろwwwヴァーカ あるなら示してみろよ?一般的?ハァ? って感じでよく逆質問してるヴァカだろこいつ
そんなえばるようなことか?
普段そうやって荒らしてるから付けが回ってくるんだよ。 黙ってればいいんだよ。
535 名前:nobodyさん[sage] 投稿日:2011/07/13(水) 00:34:43.44 ID:??? 101になるわけねーだろwwwヴァーカ あるなら示してみろよ?一般的?ハァ? って感じでよく逆質問してるヴァカだろこいつ ↑こいつのレス、vipとN速に貼り付けてきた フルボッコにされてるwww
腹いせが他人頼みかよ 一生ROMってろよもう
おはよぉ〜 昨夜も扱ったねぇ〜 思わず裸で寝ちゃいましたぁ〜 さて、どんな質問が残ってるのかな? PHPぷろグラマ〜の おねぇさんが何でも質問に答えちゃうよぉ〜
544 :
nobodyさん :2011/07/13(水) 11:19:40.22 ID:hjFGTOsv
windows7の64bit、Apache2.2を使っています phpは C:\_MyProgram\php に Apacheは C:\_MyProgram\Apache にあります ApacheServiceMonitorからstartを押すと the requested operation has failedとアラートが出て起動に失敗してしまいます。 設定は以下のとおりです。 C:\_MyProgram\Apache\conf\httpd.conf の先頭部分に LoadModule php5_module "C:/_MyProgram/php/php5apache2_2.dll" AddHandler application/x-httpd-php .php PHPIniDir "C:/_MyProgram/php" と、追加しています。 PHPIniDir "C:/_MyProgram/php"の行を削除すると起動出来ましたが、 phpinfo()のConfiguration File (php.ini) Pathは C:\Windows とwindowsディレクトリを読み込んでしまっています。 勿論、"C:\_MyProgram\php\php.ini"は存在します。 PHPIniDir "C:/_MyProgram/php"の指定方法が間違っているのかと思い PHPIniDir "C:/_MyProgram/php/" PHPIniDir "C:/_MyProgram/php/php.ini" や PHPIniDir "C:\_MyProgram\php" PHPIniDir "C:\_MyProgram\php\" PHPIniDir "C:\_MyProgram\php\php.ini" も試してみましたが起動出来ませんでした。 ググっても「LoadModule php5_moduleのdllファイルの場所が違うんだよー」という情報しか得られませんでした。 もちろん "C:/_MyProgram/php/php5apache2_2.dll"は存在します。 どうすればphpを起動出来るのでしょうか。よろしくお願いします。
545 :
nobodyさん :2011/07/13(水) 11:53:04.54 ID:hjFGTOsv
失礼しました。自己解決しました。 原因はパスを通していなかったことでした ;C:\_MyProgram\php をpathに追加したら動きました。 Apacheはパス通さなくてもいいのにphpはパス通さないといけないだなんて予想外。
>>544 おそらくPHPにパスが通っていないものと思われ。
547 :
nobodyさん :2011/07/13(水) 17:03:57.35 ID:uSUWCHbn
このスレで聞いていいのかわからないのですが・・・ SSL通信を利用する場合、送信元か送信先かどちらが対応していればいいのでしょうか? それとも両方SSLに対応する必要があるのでしょうか?
このスレは一切関係ないのでお帰り下さい
549 :
nobodyさん :2011/07/13(水) 17:35:20.36 ID:uSUWCHbn
解決しました
このスレは一切関係ないのでお帰り下さい
解決しませんでした
するわけないって 常駐組みはろくすっぽphpのこと知らないし(´・ω・`)
ワロス
気になるようなので教えてあげよう。
常駐して荒らしてるのは(
>>552 を含む)3人。
その他大多数は(糞スレ過ぎるので)ほとんど読み飛ばしつつ、たまに目に付いたまともな質問に回答する程度。
3人てことはないだろう。見る限り5人以上はいるぞ。
おはよぉ〜 おねぇさん、今日は徹夜明けだヨォ〜 さて、どんな質問が残ってるのかな? 徹夜明けだから、どんな質問も華麗にスル〜しちゃうよぉ〜
PHPで正規表現を使って検索する場合、 文字コードはSJIS以外を使った方が安全? ソースと対象の文字列がSJISなんだが、Perlだと EUCやUTFに変換して正規表現を行ってた。 PHPでもそうした方がいいんだろうか?
これからはechoは使うな!!!! 変わりにprintを使え!!!!!
>>563 質問者はID出してからにしろってんだ バカヤロー
567 :
566 :2011/07/14(木) 20:49:09.38 ID:GVBjbH45
ID出し忘れたので付け足します。
570 :
566 :2011/07/14(木) 21:23:11.73 ID:GVBjbH45
>>568 PHP6から削除されるのでしょうか?差し支えなければソースを教えていただけると助かります。
>>569 printは常に同じ返り値(1)を返します。常に同じでは参考にならないと思うのですが…。
>>570 今の君のレベルではどちらでも変わらないから気にすんな
スルーしとけ なんとか使え!!とか言ってるやつは その辺のサイトに書いてること鵜呑みにして 脊椎反射敵に書きに来る荒らしのひとりだから
ちょっと突っ込まれると「レベルが低い」で逃げをうつからなー 参考にならん
質問者のレベルが低いのは当たり前 そこで回答諦めるぐらいなら初めから回答すべきじゃない
ここは勉強するところではない 勉強は自分でやれ もしくは講義してほしいなら金払え
576 :
566 :2011/07/14(木) 21:50:32.39 ID:GVBjbH45
>>571 ではあなたのレベルでアドバイスしていただけないでしょうか。
ここは質問するところに決まってるだろ
逃げの手口で英語出すやつってなんなんだろうなwwww 読めないのに読めるふりしないでいいから
>>577 そんなの貼らなくていいから言及してる箇所を貼れ
>>577 読んだけどechoは言及されてないように読める
>>582 ここそういうスレじゃないから他所いってくれる?
printとかechoとか興味ないんで
情報発信はblogでどうぞ
あれ?いつからここ
>>585 のスレになったんだっけ?
>>582 勉強の仕方を教えてどうするのさ
ここがどんな場所だかわかってないな
スレタイも読めない池沼らしい
まったくもってワケワカランなw 自分でネタもってきて話振られると 教えてやっただけでも感謝しろ的な態度 ほんと意味分からんわwwww
コミュ障なんだろ・・・察してやれよ
本家の情報も撮っていけない奴はechoは使うな!!!!!!!!!!
( ´)`Д) )) < ハァハァ こんな所でダメェ / つ つ < 大丈夫だって,こんな糞スレ誰も来ねえよ (( (_(_ ノ ノ し∪ ∪ Σ( ゚д゚ )゚д゚) / つ つ (_(_ ノ ノ し∪ ∪ ( ゚д゚ )゚д゚) / つ つ (( (_(_ ノ ノ し∪ ∪
>>577 んでこれ何の関係あるの?特に書いてないが・・・
595 :
566 :2011/07/14(木) 22:19:20.20 ID:GVBjbH45
私の質問で荒れてしまったようですみません。
現在の質問内容を整理すると
1. PHPのどのバージョンからechoが削除されるのか?(ソース希望)
2. printで返り値を返す動作をどのように活用できるのか?
>>577 読み方が悪いのかもしれませんが、見つかりませんでした。
>>582 教えていただいた内容は参考にさせていただきますが、PHPの勉強法を知りたいわけではありません。
わかりにくい質問ですみません。
>>595 バージョン:PHP5.4
ソース:メーリングリスト
>>570 echoは文、printは式という構文の違いがあるだけ
式には戻り値が必要ゆえそのための処理で極僅かに遅い
非推奨うんぬんのアホは無視していい
それで書いたつもりかw いくらでもねつ造できるぞ
煽り厨のロードマップ 英語を読めと煽られる ↓ 英語読めない ↓ 煽って回答をもらおうとする ↓ 数ヵ月〜○年後、PHP5.4が実装される ↓ echoが消されていることを確認 ↓ 何事もなかったかのように振る舞い
>>596 そんなヒントみたいに出さなくていいから引用してください
結局出す気はないらしい()
>>599 情報を小出しにするからそういうことになるんだと思うがな
初めから正確な情報を全て出し切れば問題ない
無駄なエイリアスを統一するってのはわからんでもないが、 echoとprintの場合、長い告知事項のあとにどちらかを削除ということはありえても、 即廃止できるようなものでもない。 廃止が検討されてるなら、すでにこの段階でマニュアルにも言及はあるはず。 それが何もないんだからただの茶番ですよ。
>>599 煽ってるのは逆じゃない?
・レベルが低い発言
・質問してない内容を長文アドバイス
・明らかに間違っているソース
・曖昧なソース(ソース:メーリングリスト)
いや合ってるよ
いや合ってないよ
もともとこのスレがID強要になったのは
>>582 みたいなキチのせいだしな
回答者以外にレスするだけ無駄ってのテンプレに入れようか
短縮構文がいずれ使えなくなるとは聞いたことがあるが、echoは初耳だな
<?=はPHP5.4からデフォルトで有効になるようになりますが?
自分で本家の情報収集もせず必死ですねみなさん
ホント煽るのは上手いな、この人は
煽り態勢がないクズが多いスレだなwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
>>611 何しにきたの?煽りにきたの?嘘の流布しにきたの?
有用な情報をソースと一緒に出せないならオナヌーでもしてなさいよ?
情報収集したならそれを広めてやればいいのに 自分だけ優越感に浸るとか人間として終わってる
2chでしかいきがれない人っているじゃない そっとしておいてあげなさいよ
あれだろ ワシが広めた系のかまってちゃんだろ? 世の中どのスクリプトもechoばっかだから 自分の発言をきっかけにprint派を増加させてドヤ顔したいんだろ? ったくしょうがねえなぁ
連投ごくろう
1人だけに叩かれてると思われたいらしい
まあ自称自治厨が張り付いてるのは確かだな
PHPはなんでもかんでも取り込もうとしすぎだな 負の遺産ばかり実装されるわ 何考えてるかしらんけど何も考えてないのか・・・ わたしはきょうLuaに旅立ちます さようならみなさん
phpと競合する箇所がなさそうだけど大丈夫なのか
一応cgi luaなるものがあるね
Ajaxの存在も忘れてもらっては困る
625 :
nobodyさん :2011/07/15(金) 11:59:35.74 ID:X3xuPZBQ
【OS名】Ubuntu11.04 【PHPのバージョン】5.3.6 【連携ソフトウェア】PostgreSQL+Mecab 【質問内容】 このエラーメッセージは「dl()という関数がない」といっているのか? Fatal error: Call to undefined function dl() in /usr/local/apache2/htdocs/php_src/upload/common.inc.php on line 10 common.inc.php on line 10は dl('mecab.' . $_module_suffix) || die('skip');
うん
dlは使うなッ!!!!!!!!!!!!!!!!!!!!!!!
マニュアルにはdl()ってあるのだぞ。 dl (PHP 4, PHP 5) dl ― 実行時に PHP 拡張モジュールをロードする
死んだおばあちゃんの遺言 「dlは使うな」
630 :
nobodyさん :2011/07/15(金) 14:19:10.82 ID:tB1fmVDi
質問 連続した半角英数字を調べるにはどうしたら良いでしょうか? 例えば連続した半角英数字10文字以上でdieさせたい。 $str = "AAAAAAAAAA"; ←これはAが10回連続してるのでアウト $str = "BBBBBあああBBBBB"; ←これは間にBが入ってるのでセーフ よろしくお願いします。
if(preg_match('/[a-zA-Z0-9]{10}/', $str)) { die(); }
632 :
nobodyさん :2011/07/15(金) 14:40:55.10 ID:gjzxI4GX
いつも正規表現で "\d" とか "\w" とか使うんだけど、サンプルとか見ると "0-9" とか "a-z" を使ってるのが多い気がする。こっちのほうがいいの?
可読性的には後者のが良いんじゃない
634 :
nobodyさん :2011/07/15(金) 14:46:59.68 ID:gjzxI4GX
それだけが理由? 慣れちゃってると前者のほうが分かりやすいし、短いし、"a-y" になってたりする可能性も除けるしいいと思うんだけど
サンプル用なんだから普通は初心者向けに書く方が多いだろ
好きな方使え 間違えてa-yにするやつは絶対いないと思うが
637 :
nobodyさん :2011/07/15(金) 14:56:01.19 ID:gjzxI4GX
速度がどうとか仕様的に非推奨とかなわけではないのかな。ありがとう。
お前プログラマー剥いてないよ SEなんてもっての外
639 :
nobodyさん :2011/07/15(金) 15:20:57.79 ID:Mq1PDjIm
638 名前:nobodyさん[sage] 投稿日:2011/07/15(金) 15:19:49.54 ID:??? お前プログラマー剥いてないよ SEなんてもっての外
お前プログラマー剥いてないアルよ SEなんてもっての外ないアルよ
>>631 へー!{10}って便利ですね!ありがとう!
どういたしました
643 :
nobodyさん :2011/07/15(金) 18:05:40.15 ID:mQp+f2OR
pdo sqliteでselect文にプリペアードステートメントを使おうとしたら結果が帰って来なかったので やむなくqueryで行うことにしたのですが、 $fuga; $sql = "select * from hoge where fuga={$fuga}"; for ($i = 0; $i < count($moge); $i++) { $fuga = $db->quote($moge[$i]); $db->query($sql); 〜 という処理にしたのですが、 $sqlは最初の$fugaのnullのままクエリをおくっているようでした。 どうしたら思ったとおりに動いてくれるでしょうか?
644 :
643 :2011/07/15(金) 18:10:14.17 ID:mQp+f2OR
1つ付け加えますがループの中で毎回$sqlを定義するのはナシでお願いします。 参照渡しとかなんか他の方法でできることを期待しています。
$fuga; $sql = "select * from hoge where fuga=:fuga"; $stmt = $db->query($sql); $stmt->bindValue (':fuga', $fuga); for ($i = 0; $i < count($moge); $i++) { $fuga = $db->quote($moge[$i]);
sql直書ききめえんだよ
SQLをスクリプト内に書かないでどうやってDBからデータ取得するんだ?
ヒント:Ajax
SQLファイルに書いて読み込んで使うに決まってんだろ
そんなことしません
たしかに管理はしやすいが、 SQLをコロコロ変えるような設計がだめ。 最初に書いたらもう直すことがないようにするべき。
あ、もしかしてフレームワークとは使ったことないのかな?
なんでフレームワークの話が出てくるんだ フレームワークはSQL書かなくていいような設計になってるだけだろ そのためにルールが厳しいが
SQLなんてチョクチョク変えないだろ 今のままで後10年は使えるよ
>>645 これは勉強になったわ
動くか試してないけどprepare以外準備出来ないものだとばかり思ってた
prepareのが良いと思うよ queryってprepare+executeってもんだと認識してたけど違うのかね execute分は無駄になるけどまぁ動くっしょ。多分 ちなみにバインドするならクオートも多分いらんよな
queryは1つの文を実行するときに使う prepareは複数の文をループで値変えて実行するときに使う 複数insert 複数update等 prepareすることにより2回目以降の文でも高速に使える prepare+execute=queryは違う それがプリペアードステートメントかどうかは置いといても 後者はエスケープされてないしせめてquoteも足しといてください
658 :
656 :2011/07/15(金) 22:04:19.87 ID:???
あれ、クオートいるのか バインドしとけばSQLインジェクションとか気にしなくてオッケーよと言われたので鵜呑みにしてたわ ちなみに上の用途的にはbindValueじゃなくてbindParamだよね多分
>>657 prepareはプリペアードステートメント使うときだ
queryを複数回実行してもいいしprepareを1回だけ実行してもいい
んなこたぁわかってるのよ 目安として1回はquery複数回はprepareといっただけ
DBアクセスなんかmysql関数でいいよもう
prepare execute, execute... ってのが普通なのはわかるけど query execute, execute...は無理なの?
戻り値みればわかるでしょうに
>>660 目安ってw
だから、判断基準が回数じゃねぇってのw
回数でしょ? SQLがコンパイルされて2回目以降早くなるんだから
queryの場合どうやってbindすんだよ
だからもうmysql関数でいいっしょ
bindしないでquote汁
phpしないでajax汁
質問はID出せ
672 :
nobodyさん :2011/07/16(土) 00:13:10.45 ID:SgomU4v6
日付変わってから出したってことは昨日の質問者の誰かですね? ハッハッハそんな恥ずかしがらんでも同じIDで何回でも聞きたまえ
674 :
nobodyさん :2011/07/16(土) 00:19:11.55 ID:He/TFKKN
回答しろよw
>>670 性質を利用してそうしてるって話
ソースは俺
まぁマニュアルにも書いてるでしょ
676 :
nobodyさん :2011/07/16(土) 00:51:55.69 ID:1W4ZpDeC
質問よろしくお願い致します。 指定したディレクトリ直下のディレクトリ数を数えるにはどうすればよいでしょうか? ググってみたのですがそういった関数が見当たらなかったので質問させて頂きました。
opendir scandir is_dir 再帰
>>677 回答者はもっと偉そうな態度で答えてください。
>>1 を100回読み直すことをお勧めします。
そんなことをわざわざ書いて楽しいか?
パフォーマンス重視なら間違ってない
質問はID出せ
684 :
nobodyさん :2011/07/16(土) 09:16:40.84 ID:YGCNzNgS
ID出したからソースお願いします
お前逆質問野郎だろ
688 :
nobodyさん :2011/07/16(土) 14:17:14.38 ID:Td/t7P4a
PHPプログラミングを始めて1年弱、簡単なウェブアプリは作って動かしているんだけど、 オブジェクト指向がさっぱり身につかない オブジェクト指向の基本をウェブで解説してるところを眺めたりはしてるんだけど、 やっぱり、しっかりと身につけないとだめだよね? 上級者の方はやっぱりオブジェクト指向で記述しているもの?
689 :
nobodyさん :2011/07/16(土) 14:35:57.21 ID:UKfcwK8w
>>688 出来なくても良い。
身につかずにそのままプログラムしても最後にクラス(カプセル)化して独立性をあげることが可能。
691 :
nobodyさん :2011/07/16(土) 19:13:34.07 ID:DaVz4haZ
そうそう。phpにそこまでやる必要はない。 Javaでwebアプリを作るのなら、まあOOPで作ってほしい ところではあるが。 なんでもかんでもOOPにする必要はないんじゃないかな?
その前にさ お前らいくらphp稼動させられても webの世界には立ち入るな お前らごとき輩にデザインなんて出来るはずがないわw
>Javaでwebアプリを作るのなら、まあOOPで作ってほしい これは笑うところだろうか
純粋なオブジェクト指向パラダイムなのにOOPで作ってほしいってところ OOPでないJavaを書けるなら書いてくれ
斜め上でAspectJでアスペクト指向で書いてやんよ
697 :
nobodyさん :2011/07/17(日) 00:15:50.64 ID:Vl6SLvCj
クラス作ってnewすれば何でもOOPか おめでてーな
OOPならAjaxでマスターできるよ
>>693 ゲラゲラ笑うべきところ
( ^∀^)ゲラゲラ
____ /_ノ ヽ、_\ ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ /⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒) | / / / |r┬-| | (⌒)/ / / // | :::::::::::(⌒) | | | / ゝ :::::::::::/ あーひゃっひゃっひゃひゃwwwwwwwww | ノ | | | \ / ) / あーひゃっひゃっひゃひゃwwwwwwwww ヽ / `ー'´ ヽ / / アッーーーーwwwwwwwww | | l||l 从人 l||l l||l 从人 l||l バンバン ヽ -一''''''"~~``'ー--、 -一'''''''ー-、 ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
おはよぉ〜 おねぇさん、3連休の初日なのに徹夜明けだよぉ〜 さて、どんな質問が残ってるのかな? 徹夜明けの帰宅途中だから、家に帰ってから質問に答えるね。
1回ですか・・・
706 :
nobodyさん :2011/07/17(日) 18:58:11.83 ID:0h0D0Wjo
文字コードで悩んでおります php.iniの設定でmbstring.http.outputをSJISにすると、 いくらhoge.phpのヘッダにutf-8を記述しても、ブラウザではShift-JISになってしまいます nkfで文字コードを見ても、UTF-8って表示されるんだけど、 php.iniのmbstring.http.outputで設定されてる値が優先されるんでしょうか? だとしたら、phpファイル上で、文字コードを宣言するのは全く無意味な気もするんですが・・・ ちなみに、PCサイトとモバイルサイトで分けていて、モバイルサイトはShift-JISで表示したいし、 PCサイトはUTF-8で表示させたい。 ヘッダで宣言して作り分けようと思ってたのですが、上記のような問題にぶつかってしまっています
どうせ英数字しか書いてないんだろ
混乱してるようにしか思えないな 日本語で書くよりソースと設定貼ってくれ
709 :
nobodyさん :2011/07/17(日) 19:57:47.82 ID:yNBJt+VA
最後にアクセスしてきたURLに処理が終わったら飛ばすということをしているのですが、 想定外(URLの直接入力)もあるので、そのまま出力するとXSSになると思います。 そこでURLにhtmlspecialcharsやurldecodeをかけてみましたが、 URLが壊れて正しい場所に戻せませんでした。 たぶん&が&や%26になるのが原因だと思いますが、 こういうことをするのに何か他に最適な関数はありませんでしょうか? もし手動で戻さなければならない場合、 どの関数を使ってどの文字を戻すか教えていただけると嬉しいです。
>>706 出力文字コードをShift_JISにして、ヘッダでUTF-8指定するって、文字化けさせたいんか
711 :
nobodyさん :2011/07/17(日) 20:21:45.95 ID:0h0D0Wjo
>>708 ソースは
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns="
http://www.w3.org/1999/xhtml ">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>hogehoge</title>
</head>
<body>
<?php echo "hogehoge"; ?>
</body></html>
phpinfoの設定は、
default_charset UTF-8
mbstring.detect_order UTF-8,SJIS,EUC-JP,JIS,ASCII
mbstring.encoding_translation On
mbstring.http_output SJIS
mbstring.internal_encoding UTF-8
mbstring.language Japanese
metaタグに文字エンコードをUTF-8に、ファイルもnkfでUTF-8になっていてもブラウザ上ではShift_JISになってしまいます。
mbstring.http_outputをUTF-8に変更すると、metaタグの内容にかかわらずUTF-8になります。
712 :
nobodyさん :2011/07/17(日) 20:25:29.56 ID:0h0D0Wjo
>>710 そうですよね・・・。UTF-8で表示させたいなら、mbstring.http.outputをUTF-8に
すれば解決なんですが、そうすると携帯用ページで文字化けが起きてしまいます。
そこだけ、.htaccessとかでShift_JISの出力にすればよいのでしょうか
ディレクトリ単位で設定かえられましたっけ?それともファイル毎に入れ込むのでしょうか?
悩みどころがわからない 携帯とPCの文字コード分けるのは普通だし 同じ場所から同じ変数をとってきて表示させる場合でも その変数をmb_convert_encodingすればいいだけの話
>>711 mbstring.http_outputはpassのまま使え!
プログラム内で変換すれば充分だから余計なことで悩まなくて済む
>>711 mbstring.encoding_translationも"0"にしとけよ!
717 :
nobodyさん :2011/07/17(日) 22:22:00.29 ID:0h0D0Wjo
みなさん、レスありがとうございます
>>713 文字コードを分けるというのは、phpファイルごとに
mb_http_output('SJIS');
と入れるってことでしょうか?
とりあえず、mb_http_output('SJIS');とmb_http_output('UTF-8);で
思うように振り分けて表示させることはできました
>>715 passに設定すると、ファイルそのものの文字コードで表示されるのでしょうか?
それともmb_http_output('SJIS');のように各ファイル毎に記述する必要gああるということでしょうか?
既に結構のphpファイルを作ってしまっていて、変数毎に変換というのは正直つらいものがあります・・・
passで変換されずに出力されるから、ファイルの文字コードを全部UTF-8にしときゃいい default_charset=UTF-8ならHTTPヘッダでUTF-8が指定される。meta要素いらん 今時の携帯にShift_JISとか使わなくていいよ
>>715 情弱乙
それは開発環境のみの話な
本番でそんな事したら危険だよ
720 :
nobodyさん :2011/07/18(月) 02:09:58.56 ID:B6IhzFZp
例外って↓こういうのの代わりに使って大丈夫ですか? function test($n) { if (!$n) { echo "引数が違う"; return false; } if ($n > 5) { echo "なんか違う"; return false; } }
関数で例外とかやめろ try 書くのを強制するのか?
えっ
725 :
。 ◆oDupeixhZv52 :2011/07/18(月) 08:48:29.54 ID:OhzoRm/E
>>719 どういう危険があるのか教えてください。
>>726 それってヘッダに書けって話じゃないの?
>>726 参加してません。参加してないと知りえない内容でもないでしょうに。
で、どう危険で何すると安全なのですか? mbstring.http_outputで。
あれ、おかしいなurl先見たらそんな質問するはずないんだけどな
730 :
nobodyさん :2011/07/18(月) 09:40:04.97 ID:OuXEBLnC
>>729 見た上で質問します
是非解説してください
じゃあ分かるまで読むしかないね
俺は全部の処理に htmlspecialchars(mb_convert_encoding($str, $charset, 'auto'), ENT_QUOTES); してるから問題ない
またコミュ障か 妄想とか曲解が大好物なんだろうな
悔しい奴ってすぐ人格否定に入るから分かりやすいw
悔しい奴?
738 :
nobodyさん :2011/07/18(月) 13:36:31.41 ID:xsH9/6rp
警告をエラーとして扱う方法ありますか。 警告で実行を中断したいのですが。
>>726 inputにUTF-8、outputにpass指定しろ と書かれているように見えるのだが?
>>726 のP37で脊髄反射レスしてるんじゃない?
UTF-8として保存したものを改めて mb_convert する意味なんてないのに
>>926 は様々なデータが来る可能性のある入力値の話
>>711 はソース中にある文字を echo してるだけなんだから文字コードは自明
携帯電話用に UTF-8 → Shift_JIS の変換が必要なだけだ
携帯でももうShift_JISはやめとけ
744 :
nobodyさん :2011/07/18(月) 16:43:08.41 ID:gEfwcIht
皆さんレス感謝です
手持ちの参考書には、第3引数で文字コードを指定するとまではなかったので
>>726 もすごく勉強になりました。
>>718 >>741 基本UTF-8で取り扱って、携帯用のページのみShift_JISに変換して出力というかたちが
良いようですね。
>>743 サービス上、auユーザも対象にせざるを得なくて、UTF-8だけにしぼれないんですよね・・・
Shift_JISへの変換は、出力する変数毎に処理したほうがいいのでしょうか?
それともmb_http_output('SJIS');としておくのがよいのでしょうか?
それじゃなくてhtml〜の方だろ
mb_convert_encodingの第三引数にauto指定しちゃいけないの? 明示的にしたほうが早いから指定してるだけ?
何でくるかわからないpostとかgetとかになら良いんじゃない 普通は内部エンコーディング指定して省略するとおもうけど
>748 autoにすると、予期しない順でエンコードしようとする時がある。 ブラウザでも、時々日本語エンコード指定してるのに、勝手に西ヨーロッパにしやがって化け化けじゃい!って事無いかな?
751 :
nobodyさん :2011/07/18(月) 18:05:25.01 ID:mQmm7Nt1
まずパソコンからのアクセスか携帯かどうかで切りかえる。 で、携帯の場合のみ、shift-jisにする
UTF-8だと、auはform使った時に化けるんか
753 :
nobodyさん :2011/07/18(月) 23:32:35.29 ID:dgUsdPB0
テキストデータの文字列の最後行の2列目を取り出したいのですがどうやるのでしょうか? 行数は固定でなく増えていく感じです
>>753 file_get_contentsとか使って適当にやればいいんじゃないっすかね
<?php $file = array("a","b","c"); echo end($file)."\n"; echo prev($file)."\n"; ?> <? for($i=count($file)-1;$i>=count($file)-2;$i--)echo $file[$i]."\n"; ?>
結局全部読み込むんだw
まぁ普通そうだよな
気になるならtailでも何でも使えよ
読み込むんだったらarray_sliceで十分ではw
tail lol
$file = escapeshellarg($file); echo `tail -n 2 $file`; すばらしい
tailは便利だけどOS依存になるな
printでよくね
http_outputはpassにするなよ情弱
そんなに悔しかったんか? 間違いは誰にでもあるし気にしなくていいと思うよ
おはよぉ〜 おねぇさん、3連休は寝てばかりでした。 ちょっとムラムラしたけどPHPでプログラムしたら賢者モードです。 さて、どんな質問が残ってるのかな? 今日は、これから仕事だから夜にお返事しますね。
>>765 また反応する自称自治厨さんのあなたにも飽きた
そんなに悔しかったんか? 間違いは誰にでもあるし気にしなくていいと思うよ
Ajaxアンチ氏ね
AjaxアンチとはアンチAjaxのことでしょうか。
郷に入っては郷に従えってやつだ。 2ちゃんでは○○アンチって書き方するやつ結構いる。
アンチAjaxの逆じゃね?
ウンチAjax
俺家に帰ったらウイルスソフトアンチを入れるんだ…
777 :
nobodyさん :2011/07/19(火) 22:05:36.11 ID:H2wEVeOH
ログインページで質問させてください
ログインIDとパスワードを入力させる画面はhttpsで表示させるっていコラムは
良く目にするんだけど、ログイン後のページも当然httpsで受けますよね。
ログイン後は、サーバーの負荷を落としたいので非SSL通信でやりとりさせたい場合、
どうやるべきでしょう? 遷移先のアドレスに
http://とするのもなんかスマートじゃないし 、
ログイン直後のページからhttpで別のページに移動させるのも利用者に手間になるかなと。
なにか良い方法はないでしょうか?
現状はログイン先のページに、Locationでhttpのアドレスを仕込んだphpからメインページに飛ばしてます
セッションハイジャックされたいならお好きにどうぞ
779 :
nobodyさん :2011/07/20(水) 03:13:52.76 ID:VmDOJwn+
if ($xml->res->status !== 'success') { echo "failed : ". $xml->res->status; } ↑これで success の時 "failed : success" とでるんですがなぜでしょうか? dumpの結果は ["status"]=> string(7) "success" です ↓これだと正常になります if ($xml->res->status != 'success') {
>>779 > dumpの結果は ["status"]=> string(7) "success" です
var_dumpの対象と結果を省略せずに書いてごらん。
781 :
nobodyさん :2011/07/20(水) 04:39:54.48 ID:VmDOJwn+
>>780 すみません
object(SimpleXMLElement)#2 (1) {
["res"]=>
object(SimpleXMLElement)#3 (2) {
["aaa"]=>
object(SimpleXMLElement)#4 (1) {
["bbb"]=>
object(SimpleXMLElement)#5 (0) {
}
}
["status"]=>
string(7) "success"
}
}
です。(string) $xml->res->status !== で正常になりました。
さっきは出なかったんですが (string)外して !== とすると
PHP Notice: Trying to get property of non-object と出てます。
>>781 何が聞きたいのか分からないけど一応それはnullだから
784 :
nobodyさん :2011/07/20(水) 07:35:50.26 ID:zYakDDbO
>>778 では、ログイン処理をするサイトはログイン後すべてhttps通信すべきってことなんでしょうか?
大手の動画サイトとかログインすると、http通信に戻っているようなのですが
一般的にはどうなのでしょうか?
785 :
nobodyさん :2011/07/20(水) 07:36:36.78 ID:VmDOJwn+
>>782 なるほど
>>783 ありがとうこざいます。
var_dumpでstringでも違うんですね
これからはしっかり読むようにします。
やべぇ。今までpreg_を/uなしで使ってたぜよ。
>>785 いや、var_dumpの結果が object(SimpleXMLElement)#5 (0) になってるでしょ。
つまり文字列stringじゃなくてobjectで返ってきてるの。
==で比較するとstringへ自動変換されて"success"となるけど
===の比較だとstringとobjectで型が違うから駄目なの。
またhttp_outputさんか
791 :
nobodyさん :2011/07/20(水) 18:46:18.57 ID:hYBwtF7i
自分もまさに
>>784 の話が最近の疑問だよ
mixiもログイン後、日記やつぶやきはともかくプロフィール変更まで
httpで処理してるのが気になる
httpsで遷移させてるのはログインIDとログインパスワードの変更だけみたいで…
それがそのサイトのポリシーなんだから自分も好きにしろって理屈はわかるんだけどね
最近のTwitter連携サービスなどのOauth認証->アカウント作成&ログインってフローを見ると
SSLって昔よりも使う箇所どんどん減ってきてるのかな?
>>787 分かった。質問形式になってないやつは二度と答えないわ
>>789 $xmlはオブジェクトだけど
$xml->res->statusは文字列じゃないの?
>>791 セッションハイジャックされてもいいけど漏洩は避けたいんだろうな
中途半端だと思う
セッションIDとIPの照合じゃだめ?
>>794 >セッションハイジャックされてもいいけど漏洩は避けたい
やっぱりそういうことですよね? なんでこんな形の処理にしてるんだろう
セッションが盗まれてもデタラメの日記の投稿とかが出来ないような
対策がとられてるのかな? どんなことしてるんだろう
でもヤフーのログイン処理もその後はほとんど全部httpだし…
どこでhttp/httpsの線引きしたらいいのか、わからないなぁ
セッションハイジャック対策はするくせにゼロバイト攻撃に関する対策をしないサイトや個人製作ソースに多いな
セッションハイジャックなんてする奴いるかよw おまいら考えすぎ 第一そんな犯罪行為は警察が取り締まってくれるだろうが
えっ
変数の渡して、nullじゃなかったら値を nullだったら引数の値を返す関数ない? function e($v, $d) { return isset($v) ? $v : $d; } こんな感じのことをしてくれる関数
ID出したって関数作れ的なことしか言わないだろうが!
おk、質問放棄と認識
図星だろうが!
>>798 それは考え方が甘すぎ
前例がないから安心と思ってるのか
>>802 それはそれ
ID出さなかったら更に答えなくなるだろ?
ID出したくなかったら専用スレッドがあるからそちらに
>>796 ハイジャックされる危険性を考慮してないか、IDを盗まれる危険性を高く見積もってるんだろう
Twitterは常にHTTPSを使用するオプションがあるし、GMail にもある
昔よりセキュリティが重視されているとは思うんだが、無知な人にはどうでもいいことなんだろうな
盗まれた時の影響度合いを見極めて線引きを作るべきだ
個人のゲームサイトなら盗まれても笑ってすませられるが、通販サイトなら常にHTTPSが必要だってことぐらいはわかるよな?
せめてis_nullにしとこうよ。
809 :
nobodyさん :2011/07/21(木) 11:24:36.61 ID:zBF3lMow
【OS名】Ubuntu11.04 【PHPのバージョン】5.3.6 【連携ソフトウェア】PostgreSQL9.0.4 【質問内容】 PDFからtextへの変換をpdftotextをsystem()やexec()で使ってますが、PHPの関数でできますか。 また、ワードファイルDOCからtextへの変換をwvTetxtをsystem()やexec()で使ってますが、PHPの関数でできますか。
またお前か
811 :
nobodyさん :2011/07/21(木) 11:50:14.74 ID:aF07yz7Z
日本語でおk?
需要がないので落ちました よって質問するときはここでIDだしてくださいね
815 :
nobodyさん :2011/07/21(木) 18:27:55.18 ID:05+V0OL1
>>807 そうかー。やっぱりhttps通信は重要なんだ・・・
どっかのサイトで、httpsはhttpの10倍負荷がかかると見た気がするもんで
ログイン制限かけて、企業内で写真を内輪だけで見るサイトなんだけど
やっぱり全通信httpsでやったほうがよいのかなぁ
制限サイト内で、ログイン時にハッシュ化したパスワードをセッションに格納、
ページ毎にセッションIDは再発行して、ページ開く度にハッシュ化されたパスワードが書かれたphpファイルを読み込んで
セッションに格納された値と照合して、認証かけてるんだけど
クライアントとサーバ間では、最初のログイン時にだけパスワード文字列が流れるだけだよね?
それでも認証後のhttpでは危ないのかな
>>797 "ゼロバイト攻撃"でググってみるとあら不思議w
\0のゼロだけど正式名称でググってね
もしかして:Nullバイト攻撃
819 :
nobodyさん :2011/07/21(木) 19:56:10.24 ID:4LlZT9t5
ファイル名を変更するプログラムを作ろうと思ったのですが、 <?php rename('test.txt', 'test2.txt'); ?> このような一番シンプルなソースでも Warning: rename(test.txt,test2.txt) [function.rename]: Permission denied というエラーが出てしまいます。 属性を777にしてもダメでした。 他に何か原因があるのでしょうか?お願いします。
>>819 そのファイルが置かれてるディレクトリの属性は?
821 :
nobodyさん :2011/07/21(木) 20:15:07.37 ID:4LlZT9t5
>>820 ご指摘の通りで解決しました!!ありがとうございます!!
ファイル名じゃなくてディレクトリの属性も変えなきゃ
いけないのですね!勉強になりました!
>>821 いや、ファイル名の変更だけならファイルの属性は関係ないから
823 :
nobodyさん :2011/07/21(木) 22:29:57.47 ID:+iHbF4fL
Windows版PHP5.3.6_TS(64bit)でXdebug出来ます? 今何度もトライしてるんですが、phpinfoで読み込んでくれません zend_extension_tsのtsを付けても外しても何しても駄目です
乙??
??
??乙
知ってるがお前の態度が気に入らない
>>800 全然関係ないけど、引数のことをいつもいんすうって読んでしまう
大学の頃からで、くせみたいになってる
>>831 俺も俺も。ひきすうにはもう直せなそう・・
えっひきすうだったの?
独学育ちだとひきすうって読んじゃうんだよな 俺はもうそのクセなおったけど
835 :
nobodyさん :2011/07/22(金) 15:23:46.59 ID:gxebwmEe
urlのドメイン名が、配列の要素に該当していたら、該当配列のキーを返すようにしたいんですが、
そんな時に使えそうな関数ありませんか?
$array = array('video'=>'youtube.com','img'=>'pixiv.jp');
$url = '
http://www.youtube.com/XXXXXXX ';
videoが欲しい
おれも初めいんすうって読んじゃってた
>>834 正しいのがひきすう'だよ?
837 :
nobodyさん :2011/07/22(金) 15:31:20.47 ID:km7q2hUe
あるページが一日10万回ぐらい読込されるとします。 そのページに処理時間=0.01秒 メモリ使用3M(limit128M)のPHPを埋め込みます。 レンタルサーバーですがこれぐらいの負荷は大丈夫?
引き数って書いてる
返値はへんちって読むのでいいの?
>>835 function sonnnatokinitsukaesounakannsuu($array, $url) {
$url_components = parse_url($url);
$host = $url_components['host'];
$a = explode('.', $host);
$n = count($a);
if ($n < 2) {
$domain = $host;
}
else {
$domain = $a[$n - 2] . '.' . $a[$n - 1];
}
return array_search($domain, $array, true);
}
そっか改めてみると引数も返値も湯桶読みなんだな。 「動詞+名詞」のことばがそうなりやすい気する
引き数の送り仮名書くようになってそっちはだいぶなおってきたけど かえりね もどりね って読むのは矯正できん
かえりちって返り血みたいなんで戻り値派 もどりちなのかもどりあたいなのか今でも分からんけど
バイナリ4byteの数字ってPHPではどうやって処理するんでしょうか・・・。 たとえば、 717 だったら、バイナリデータ上は cd 02 と格納されています。 このバイナリデータを数字に変換するプログラムってどうやったら良いのでしょうか? リトルインディアン?VBだったらInteger型に放り込めば良いだけのようなのですが、 PHPは型が無い?ようだし。
返り値は声に出すとおっかない
トゥルー、ファルセ
>>850 PHPには型が無いのではなく宣言不要で暗黙で変換されるだけ。
数値717と文字列"717"は別物だが、使う場所によって勝手に相互に変換(キャスト)されるから
便利な反面、どこでどう変換されているのか理解していないと思わぬ間違いの元になる。
JavaScriptと同じだな あれも型が緩いと勘違いされる
857 :
nobodyさん :2011/07/22(金) 23:37:40.97 ID:iQ3zbuJa
>>846 $a = explode('.', $host);
array_shift($a);
$domain = implode('.', $a);
ではどう?
860 :
nobodyさん :2011/07/23(土) 15:42:04.05 ID:v/dGa010
いいってことよ
862 :
nobodyさん :2011/07/24(日) 02:13:21.28 ID:LVZuIBs5
初心者です。 . "\n"などでググりましたがわかりません。質問させてください。 <?php echo rand() . "\n"; echo rand() . "\n"; echo rand(5, 15); ?> 上記の . "\n"の部分がどんな役割なのかが わかりません。 ご教授お願いいたします。
863 :
nobodyさん :2011/07/24(日) 02:14:17.59 ID:LVZuIBs5
862の出力例です。 7771 22264 11
エスケープシーケンスでググりたまえ
ありがとうございます。 記号の意味がわかりました!
866 :
nobodyさん :2011/07/24(日) 04:46:43.61 ID:aeQ7ItoM
データベース(MySQL)にa,b,cとx,y,zというカラムがあり、 a,b,cを指定して、対応するx,y,zを取得したいのですが、 完全に一致するものがない場合は、 線形補間を使って近似値を取得したいのです。 これをPHPで記述するとどのような感じになるのでしょうか? よろしくお願いします。
868 :
866 :2011/07/24(日) 05:43:12.73 ID:aeQ7ItoM
>>867 課題ではなく趣味なのですが・・・
中学数学程度の知識しかなく、
ウィキペディアなどを見てもいまいちわかりませんでした。
>>869 だったら尚更自分で考えないとだめだろう
人に教えてもらっていいの?
870 :
866 :2011/07/24(日) 06:24:47.49 ID:aeQ7ItoM
自分で理解できればそれが一番いいのですが、 いまはとりあえず全体を完成させたいので・・・
872 :
866 :2011/07/24(日) 08:54:15.73 ID:aeQ7ItoM
そのページも見たのですが、 今回は3次元(?)なので、そのままでは使用できませんでした。 それと、データベースと連携させる処理も、どうしたら良いのかさっぱり・・・
>>872 線形補完を実装しようとする前にもうちょっとPHPの基礎的な部分から学習することをお勧めする
874 :
866 :2011/07/24(日) 09:13:15.99 ID:aeQ7ItoM
PHPの基礎的な部分は分かっています。 a,b,cが完全に一致するものがない場合に、 どのようにして、補間のためのレコードを取得したら良いのかと思いまして・・・
>>874 じゃPHP関係ないアルゴリズムの話じゃない?
>>858 何やら難しそうですが調べてみます。
ありがとうございました。
877 :
nobodyさん :2011/07/24(日) 16:21:23.68 ID:VQjolOLr
AとBいう会員制サイトでセッションを使用しています。 Aでログインしたユーザーが、Bのサイトに遷移して書きこもうとすると、セッションに保存されたAのユーザー名がそのまま使用できてしまいます。 これを防ぐにはどうすればいいでしょうか。
セッションIDを変える
879 :
nobodyさん :2011/07/24(日) 16:24:23.62 ID:VQjolOLr
あ、そんなに簡単にできるんですね。 ありがとうございました。
>>872 近似値を総当たりでDB検索するしかないと思うけど…
位置情報から住所を導出するシステムなんかでは普通に利用されてるけどな
位置情報からは住所は一意に決まるのでは?
完全なデータ持ってるわけじゃないカーナビとかの話で、住所データは大体の真ん中の地点しか持ってなかったりしたから。 最新のは知らんけどよ。
面で持ってれば一意に決まるけど点で持ってたらそうだね
885 :
nobodyさん :2011/07/24(日) 23:49:02.93 ID:jP7+091k
simple_html_domって $html->innertext = str_replace('<p>', '<br>', $html->innertext); $html->innertext = str_replace('</p>', '', $html->innertext); ↑これやった後に↓これしても<p>が除去されてないのですが $entry = $html->find('div.entry-content', 0); echo $entry; <p>除去後を反映させるにはどうしたらいいのでしょうか?
オブジェクト書き換えられないんじゃないの?
innertextを書き換えただけで反映されるのなら、先の<p>を書き換えた時点でエラーが出るんでない? 出ないとしたら、書き換えても反映していない、という事だから、何か反映させる為の操作が必要。
$text = str_replace('<p>', '<br>', $html->innertext); $html = str_get_html($text); これでできました!
これだから・・・
ああ
いや
やめて
素直になれよ
きて
もっと
899 :
nobodyさん :2011/07/26(火) 03:47:36.36 ID:82tebuFo
function hoge($a = $b) { } これは$bが定義されていようがいまいがParse errorが出ますが、 function hoge($a = B) { } と定数を指定した場合は、定数が存在しなくてもエラーになりません。 呼び出した場合はさすがにUse of undefined constant B - assumed とNoticeレベルのエラーが出るようです。 このhoge関数が書いてる場所とは別のファイルにBを定義していて、 両方のファイルをincludeしないとhoge()という形では呼び出せません。 includeしないと存在しないBを関数の引数や関数の中身で使うのはよくないことでしょうか? hoge関数を書いてるファイルにBをデフォルトとして定義して、 他のファイルで上書きしたりしようと試みましたが、定数はunsetのようなことも書き換えることもできません。
>>899 if(defined('B')){
function hoge($a = B) {
}
}
でok
901 :
899 :2011/07/26(火) 03:52:00.04 ID:82tebuFo
>>900 即レスありがとうございます。
なるほど、ifの中にfunctionを書くという発想はありませんでした。
早速そのように書き直したいと思います。
どうもありがとうございます。
両方includeすることを前提にしてるなら別にそのままでいいんじゃないか?
>>900 は定石だと思うけどBを定義してない状態でhogeを呼ぶと
関数自体が存在しないからどのみちエラー出るよ
そりゃ定数関係なく当たり前じゃん?
if(!defined('B')){ echo "あ?"; exit(); } これいれとけばいいじゃん
全部に制御構造挟むのはパフォーマンスも低下するし何より大変
ファイルの存在や外部から受け取った変数はちゃんとチェックするにしても
自分で使う内部のものにはやらんな
あえて
>>900 のようにする意味はちょっと自分にはわからんな
大変だからやらないってどんだけ低レベルだ
レベルの問題じゃないだろzk
PDO使う前提で開発してて if (class_exists('PDO')) なんて処理しないだろ普通
1回成功すれば、その後環境かわらなければ 永久に成功するものを毎回チェックするのか
この際PDOは関係ないだろバカ
912 :
nobodyさん :2011/07/26(火) 17:09:00.00 ID:zVu+sgBb
はしご高をeuc-jpからutf-8に変換する事は出来たのですが、 その逆のutf-8からeuc-jpに戻す場合はmb_convert_variablesではできないんでしょうか?
やってみれば?
914 :
nobodyさん :2011/07/26(火) 17:23:40.52 ID:zVu+sgBb
すいません、当然色々と試してはいます utf8 > euc-jp utf8 > eucjp-win utf8 > sjis-win > euc-jp utf8 > sjis-win > eucjp-win と全て駄目でした
mb_convert_encodingではどうなの?
あと具体的にどうダメだったの? 出力したコードを16進にして表示させるとどうなるの?
やってみれば?
>>915 変化ありませんでした
>>916 $var = '';
$var = mb_convert_encoding($var, 'sjis-win', 'UTF-8');
$var = mb_convert_encoding($var, 'eucjp-win', 'sjis-win');
echo($var);
echo(bin2hex($var));
上記のように変換、出力してチェックしてますが、
eucjp-winで最後に変換するとロというか□というかそんな感じの文字が出力され、
bin2hexの値は8ff4fbでした
euc-jpで最後に変換すると?が出力され、
bin2hexの値は3fでした
919 :
918 :2011/07/26(火) 17:38:50.56 ID:zVu+sgBb
すいません、sageチェックはずし忘れました
8ff4fbはIBM拡張文字のはしご高 変換自体はできてるけど、こっちのコードだと表示できないんだね
921 :
nobodyさん :2011/07/26(火) 18:14:27.81 ID:zVu+sgBb
>>920 自分が表示させたいコードが何かを調べた結果、
CP51932で変換すればよさげだと言う所にたどり着けました
euc-jp > utf-8に変更する際も回りくどい変換をせずに一発でいけるようになりました
ありがとうございます、非常に助かりました
>>911 お前がバカだわ
問題の本質がわかってないw
分かってるからご丁寧に釣られんな
924 :
nobodyさん :2011/07/26(火) 23:15:23.90 ID:aqwngZ8v
926 :
nobodyさん :2011/07/26(火) 23:38:22.33 ID:aqwngZ8v
ダメですね。 .htaccessに書く場合をそのままコピペして UTF-8BOMなしにもしましたが、やはりエラーが出てしまいます。
そのままコピペしたら左に行番号付くぞ
php_valueが使えない鯖なんじゃねーの
PHPスレなんだから鯖のせいにしないでPHPで解決してやれよ
930 :
nobodyさん :2011/07/27(水) 04:03:28.75 ID:TDLpYBaY
print_rでは false は空欄ですか?
やってみれば?
コード間違うと怖いので教えてください
print_rでfalseを出力するのにどうコード間違えるんだよw むしろ間違えるならそれ以前の問題だわw
.htaccess 改行コード とか?
>>934 htaccessの改行コードが違うとどうなるんだよw
想像で適当なこと言ってんじゃねぇよ
俺はわかってるぜ
ってやつに限って、解ってる。
まーまずは、.htaccessで他のディレクティブが使えるかチェックしてみ php関連以外ね。AllowOverrideはどうなってる?
941 :
nobodyさん :2011/07/27(水) 15:12:23.02 ID:q19iSiUx
「mb_send_mail関数はsendmeilを経由してメール送信します。 mb_send_mail関数ではSMTP認証の操作ができない。」 って2010年に発売したPHPの本に紹介が載ってた。 しかし、SMTP認証がないサーバーなんてネット黎明期しかないだろ バカじゃにのこの本の作者? mb_send_mail関数を使った方法でメール送信不可能ってことは どうやってphpでメール送るのですか? SMPT認証するプログラム教えてください。
echo('サドマゾパーティしてもいいよ');
>>941 localhostから送るのに認証必須な鯖は最近でもなかなかないぞ?
>>941 あと基本的に認証が必要なのは、外からアクセスして外へ送る場合だけ
ほんとにPHPからSMTP AUTHが必要なのか、から考えたほうがいい
自分でメールサーバたてなくて、かつ上位(プロバイダとか)の
メールサーバ経由が必須で、そのphpのサーバからそこに送るのに
認証が必要、な状況ならば必要にはなるね。それ用のモジュール持ってくればいいだけだけど
945 :
nobodyさん :2011/07/27(水) 15:31:03.24 ID:q19iSiUx
本の載ってたプログラムで localhostからヤフーのメールでgooメールに送信しようとすると 530で通信に失敗してるみたいです。 localhostからヤフーのメールでgooメールに送信って難しいのですか?
自分は何一つ理解出来てないのに著者を馬鹿にするとかなかなか面白い奴だな
localhostからって事は、自前でメール鯖たててんの? それでヤフーのサーバ使う理由がわからんけど もしそうしたいなら、localhostのサーバの設定で SMTPAUTHでヤフーのサーバにrelayする設定いれとけば phpからはlocalhostに送るだけだよ。 もし直接ヤフーのサーバ使うつもりなら、PEARからメール関係 持ってくればいい。
948 :
nobodyさん :2011/07/27(水) 15:39:38.09 ID:q19iSiUx
>>946 一般的なフリーメールのYahoo!とgooとGoogleのメール
でlocalhostから送信できないって全然初心者向け
プログラムじゃないじゃねーかって言いたかった。
localhostの意味理解してレスしてるかどうかも怪しい お前が馬鹿だって事は皆理解してるから下手に取り繕ってレスすんな
950 :
nobodyさん :2011/07/27(水) 15:48:26.73 ID:q19iSiUx
>>947 phpの本に載ってたxamppのApache使ってlocalhostで
phpを動かしてます。
localhostってファミレスだろ?
意味わからずに乱用されるとどのレベルを想定して答えりゃいいか わからなくなるなw
>>948 php等のwebプログラムから、そのフリーメールのSMTP鯖を
使って送信する方が特殊なケースだよ。
>>952 ほんとそうなんだよな
馬鹿にされたくない新人とかプライドだけの能無しに多いわこういう奴
955 :
nobodyさん :2011/07/27(水) 15:57:35.14 ID:q19iSiUx
>>952 phpのプログラムの勉強を始めて5日です
ZendなりPEARなり使えばいいんじゃないの
もう夏休みか。
1年中夏休みだろ
961 :
nobodyさん :2011/07/27(水) 18:32:55.60 ID:q19iSiUx
phpからmsqlのデータベースにアクセスして、一覧の取得をテーブルに出力するコードを書いたんですが、 mysqlの結果がひし形に?マークみたいに文字化けしてしまいます… 一応文字コード調べたらshift-jisになってました phpファイルはUTF-8、mysqlはutf8_general_ciでUTF8に統一してるのになぜshift_jisになってしまうんでしょうか
test
965 :
nobodyさん :2011/07/27(水) 19:55:13.97 ID:rFjGz8Xs
htmlspecialcharsは外部から受け取った値のみでよいのでしょうか? $list=array('a','b','c','d','e'); foreach($list as $value){ echo htmlspecialchars($value); } 今は全部こんな風にechoするところにはhtmlspecialcharsを入れています。 ループでまわすような内部の変数を全部通してたら相当パフォーマンスも下がるので、 こういう場合はどうしたらいいのでしょうか?
>htmlspecialcharsは外部から受け取った値のみでよいのでしょうか? 意味が分からない。 >ループでまわすような内部の変数を全部通してたら相当パフォーマンスも下がるので、 まともにプログラムを組めるようになってから心配した方がいい っつか、ほんとうにそれだけならまとめてhtmlspecialcharsしても変わらんのじゃね? echo htmlspecialchars(implode('', $list));
968 :
965 :2011/07/27(水) 20:44:16.86 ID:rFjGz8Xs
レスありがとうございます。 質問内容は単純に、 $name="山田太郎"; echo "こんにちは{$name}さん"; この時$nameに対してhtmlspecialcharsをするべきかという話です。 元々外部から受け取ってDBにいれておいたデータでも、 $_GETや$_POSTで受け取ったものではありません。 $a = array(1,2,3,4,5,6,7,8,9); $b = 3; //DBからとってきたような値です <?php foreach($a as $v):?> <option value="<?=$v>" <?php if($v==$b):?>selected<?php endif;?>><?=$v></option> <?php endforeach;?> この時に$vに対して使うかどうか迷っています。
すべき 何でもかんでも最適化するのが良い訳じゃないよ
>>968 何のために使う関数か考えればおのずと分かる
使うべきか使わないべきか聞いている時点で、そもそもWebアプリのセキュリティの知識が欠けてる
971 :
968 :2011/07/27(水) 21:15:20.39 ID:rFjGz8Xs
>>969 ありがとうございます。
そうですね、他のセキュリティに無縁な場所の、
ループや条件文などの構造み直しで最適化を図りたいと思います。
>>970 xss対策のための関数ですよね。
ただ上記のような例では挿入する隙がないので起き得ないと思います。
>使うべきか使わないべきか聞いている時点で、そもそもWebアプリのセキュリティの知識が欠けてる
欠けてるから聞いたんですよ。
セキュリティ云々よりもヒューマンエラーの問題だけどな 今は大丈夫でも今後の修正でミスが絶対に発生しないとは限らない
>>968 のような処理自体が重いよね
セレクトボックスの仕様どうにかならんもんかのう
974 :
924 :2011/07/27(水) 22:10:33.15 ID:RXEWzwMM
どうにもコードは間違っていないようなのでサーバーに問い合わせて以下の回答を得ました。
.htaccessでphp_value や PHP_Flag は使えない。php.iniを使え。
ただし、php.iniの記述については一切答えない。
また、memory_limitの値は変えられるがこっちで上限が決めてある。上限は教えられない。
と、いった所です。
ですので
http://mypacecreator.net/blog/archives/508を参考にphp.iniのコードを張りつけました 。
とりあえず、エラーは出なくなったのですが、アップロードすると上限が変わっていない所か
3MB程度のファイルもアップロードできなくなりました。(数kbyteなら出来る)
php.iniを削除すると3MBのファイルがアップロードできるようになるため、php.iniで3MBのファイルを弾く様な記述をしたと思ったのですが、
やはり、参考にしたサイトのままであり、memory_limitに引っ掻かているとも思えず訳が分かりません。
なにかおかしそうな所、サーバーに問い合わせるべき場所などは無いでしょうか。
<?php phpinfo() ?>とかで設定がちゃんと反映されてるか確認。 エラーログ全開にしてエラーが出てないかも確認。 いちおうPHPでプログラムを書く人のための板なんでそのへんよろしく。
976 :
924 :2011/07/27(水) 22:55:35.67 ID:RXEWzwMM
駄目ですね サーバー側のコントロールパネルの機能でphp.iniの記述と作成をして、 同階層に<?php phpinfo() ?>だけ書いたファイルを確認しましたが、設定自体が変わっていないようです。 改行コードが悪さしてるかと思い、memory_limit 200Mの一行だけ書いてみましたが、これも駄目 どうやらサーバーに問い合わせた方がよさそうですね。 ありがとうございました。
出来ないのは何故か位考えようとしろよ つーかエラーログを出せ
978 :
924 :2011/07/27(水) 23:27:39.68 ID:RXEWzwMM
そうですね。考えたが甘かったようです。
調べたところなんとか原因が分かりました。
まず、こちらのサイトのコードですが
http://mypacecreator.net/blog/archives/508 これをそのままコピペすると改行が無視されて
;メモリ使用量の制限 memory_limit 20M
こんな感じになってしまいます。
そのため、このコードをコピペしただけではうまく行きませんでした。
次に改行コードを修正し、直接php.iniファイルを上書きしのですが、それでも設定に反映されていませんでした。
これはコントロールパネルからphp.iniの編集を行わないとapacheが再起動されないからのようです。
というわけで、改行コードに気を付けてコントロールパネルから記述すると上手く行きました。
ちなみにサーバーはさくらです。
本当にありがとうございました。
そもそも「サーバーに問い合わせる」という言葉の使い方がおかしい
イチャモン回答者が今日はいついてるようだな ここのところ雰囲気が改善されてたんだが残念
ええっ
「サーバーに問い合わせる」んじゃなくて「サーバー会社に問い合わせる」だな。 さもないとクライアントアプリからサーバーに何か問い合わせしてるのかと勘違いする。
まぁ意味を汲み取れないやつはいないだろう 流れ的にSQLの話してるなんて到底思えないし
前日に散々言われてるのに無駄に専門用語使って、 しかも間違ってるから突っ込まれてるだけだろ
専門用語・・・?
>>983 「サーバーに問い合わせる」のが「SQL」っておかしくないか?
HTTPでもPOPでもクライアントからサーバーへ情報を確認する手順のことを
一般的に「問い合わせ」っていうんだよ
is_empty関数なんてねぇよw
989 :
nobodyさん :2011/07/28(木) 03:43:05.66 ID:g5Xs46CY
preg_grepの逆ってできませんか? 配列の値で文字列を検索したいのですが
>>989 「逆」の意味がわからん
preg_grepはヒットした要素の配列を返す関数だが、
それの逆ってことは、配列にパターンが複数入っていて、
ヒットしたパターンの配列を取得したいってことか?
>>991 その要求を含めた一連の手順を問い合わせっていうの。
994 :
nobodyさん :2011/07/28(木) 04:45:10.69 ID:g5Xs46CY
レスありがとうこざいます
>>990 やはりそうなりますね
>>992 すみません単純に
配列の値が含まれているか知りたいだけでした。
forで回してみます
そういう1手間加えれば解決するような質問するなよ
>>993 一般的(キリッ
結局はどれもオレオレ用語にしかならんのを理解しろ
>「サーバーに問い合わせる」のが「SQL」っておかしくないか? データベースサーバに問い合わせる言語がSQLですよ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。