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

このエントリーをはてなブックマークに追加
679nobodyさん
ちなみに俺も>>662やってみた
俺は並列処理の事なんか分かっていないので、このやり方で合っているか分からないけれど
<?phpの後に、$time = time();
最終行に、echo 'time:' . (time() - $time) . 'sec' . PHP_EOL;を付けてみた

2chの改行規制で出力形式変えるけど結果は
child: 0 child: 1 child: 2
child: 3 child: 4 child: 5
child: 6 child: 7 child: 8
child: 9
time:10sec
parent: 0 parent: 1 parent: 2
parent: 3 parent: 4 parent: 5
parent: 6 parent: 7 parent: 8
parent: 9
wait begin.
wait end.
time:10sec
となった

>>676
http://www.php.net/manual/ja/pcntl.installation.php
にはCLI版も可能って書いてるんじゃないの?

>>675
ちなみに自分はcentOSです
680nobodyさん:2012/01/12(木) 14:01:29.80 ID:QAUYYhrI
phpとmysqlでカウンターが作りたいのですが
書き込むときの排他制御はどのようにやるのでしょうか?
681nobodyさん:2012/01/12(木) 14:01:52.50 ID:???
>>676
CLIでも使えるよね?
682nobodyさん:2012/01/12(木) 14:02:25.17 ID:???
もういい加減ニートのおっさんは飽きた
683679:2012/01/12(木) 14:02:52.80 ID:???
書き忘れたけど、この出力結果みると並列処理ってされてない・・・んだよね?
684nobodyさん:2012/01/12(木) 14:10:41.80 ID:???
基本的にはマルチスレッドはサポートされてないだろ。
レンタルサーバーとかでは。
自宅で一人で使う目的だったらマルチスレッドをONにしてコンパイルすればいい。
しかしソースコードに汎用性が無くなる。
Curlをつかっとけ。5.3か5.2から標準で並列に使える。
685nobodyさん:2012/01/12(木) 14:15:13.44 ID:???
forkだからマルチスレッドの話ではないでしょ。
686nobodyさん:2012/01/12(木) 14:16:07.48 ID:???
PHPがサポートするプロセス制御機能は、デフォルトでは有効となってい ません。
プロセス制御機能を有効にするには、 configure のオプションに --enable-pcntl を付け、
CGI 版あるいは CLI 版の PHP をコンパイルする必要があります。
注意: 現在、このモジュールは非 Unix 環境(Windows)では動作しません。
http://www.php.net/manual/ja/pcntl.installation.php
687nobodyさん:2012/01/12(木) 14:18:28.39 ID:???
>>686
何が言いたいの。
688679:2012/01/12(木) 14:27:53.78 ID:???
>>682には悪いけど、俺にはせっかくの機会だから色々試してみた
>>662
if ($pid == 0) {
system('php forkc1.php');
system('php forkc2.php');
}
に変えて、それぞれに
<?php
$time = time();
$i;
for ($i=0; $i < 10; $i++) {
printf("child1: %d\n", $i);
sleep(1);
}
echo 'c1-time:' . (time() - $time) . 'sec' . PHP_EOL;
のように書いた
689nobodyさん:2012/01/12(木) 14:28:15.56 ID:???
実行結果は
c1: 0 c1: 1 c1: 2 c1: 3 c1: 4 c1: 5 c1: 6 c1: 7 c1: 8 c1: 9
c1-time:10sec
c2: 0 c2: 1 c2: 2 c2: 3 c2: 4 c2: 5 c2: 6 c2: 7 c2: 8 c2: 9
c2-time:10sec
p-time:20sec
parent: 0 parent: 1 parent: 2 parent: 3 parent: 4 parent: 5 parent: 6 parent: 7 parent: 8 parent: 9
wait begin. wait end.
p-time:20sec
となった
で、実際の時計を見ていたら、20秒後に表示された

system('php forkc3.php');
も加えたら実際の時計では30秒後に表示された
これってどういうこと?
並列処理されていないってことだよね?
690nobodyさん:2012/01/12(木) 14:30:51.41 ID:???
なんでそんなトンチンカンなことが平気で言えるのか
system('php forkc1.php');
system('php forkc2.php');

この時点で気付けよ
691nobodyさん:2012/01/12(木) 14:36:08.80 ID:???
ん?
30秒かかるのは当たり前か・・・笑
>>679は10秒で済んでるから親プロセスと子プロセスはちゃんと並列処理されてるってことだね
自分の>>688の書き方が悪いだけか

この流れの話は、親プロセスから子プロセスを複数作成し、それを同時に実行
つまり3つの子プロセスがあれば4つとも10秒後に終わらせるということだよね?
となると実装法が思いつかないけど、pcntl_fork()っていうのを3回呼び出せばいいってことじゃないかな?

分からん
692nobodyさん:2012/01/12(木) 14:37:16.69 ID:???
>>690
ごめん、投稿した後すぐに気がついた(苦笑
693nobodyさん:2012/01/12(木) 14:54:03.86 ID:???
694nobodyさん:2012/01/12(木) 14:56:29.29 ID:???
>>691
system('php forkc1.php &');
と、バックグラウンドプロセスにすればよろしい。
プロセスの終了待ち処理を入れる必要があるけど。
695nobodyさん:2012/01/12(木) 15:05:23.27 ID:???
>>694
なるほど
実はまだ挑戦してて(笑
一度やり始めたら意地でもとなってしまってw

$pid[$i] = pcntl_fork();等と複数回呼び出して、
その後system()を呼び出すとかやってみたのですが30秒かかったりで

バックグラウンドプロセスという発想はなかったです
今から外に出ないといけないんですが、最後にちょっと試してみます
696nobodyさん:2012/01/12(木) 15:10:13.69 ID:???
>>694
アハハ、今>>688のコードにて
if ($pid == 0) {
system('php forkc1.php &');
system('php forkc2.php &');
system('php forkc3.php &');
}
としましたが
今度は31秒かかってしまいましたw
どこがおかしいのか分かりませんが、また帰ってからやってみます
697nobodyさん:2012/01/12(木) 15:17:35.81 ID:???
時間のムダ。
698nobodyさん:2012/01/12(木) 15:23:17.54 ID:???
pcntl_fork()の話してんのになんでsystem()になってんの。
699nobodyさん:2012/01/12(木) 15:29:16.52 ID:???
アホですから
700nobodyさん:2012/01/12(木) 15:30:19.76 ID:???
>>696
アハハ、なんで標準出力捨てないの
701nobodyさん:2012/01/12(木) 15:31:28.10 ID:???
>>698
たぶん>>686のWindowsでは動かないというのをみたからじゃないのかな。
ほんとに動かないか知らないけど
702nobodyさん:2012/01/12(木) 15:50:09.93 ID:at33kcZ9
ちょっとしたポータルサイトや、管理機能付きサイトを作るとき、
CMSを使うか、フレームワーク使うかどっちがよろしいですかね・・・。
703nobodyさん:2012/01/12(木) 16:55:38.26 ID:???
>>702
その文章だけを読んで「ちょっとしたポータルサイト」がどれほどの規模のものを指しているのか
わかる人は少ないだろう
704nobodyさん:2012/01/12(木) 17:15:27.45 ID:???
ヤフーくらい
705nobodyさん:2012/01/12(木) 17:19:26.21 ID:???
>>702
自分がやりやすい方でいいんじゃないすか。
706nobodyさん:2012/01/12(木) 17:30:43.50 ID:???
どっちも使えるようになるまで時間かかる
どっちも詳しくない私は
使わない方がやりやすい。
707nobodyさん:2012/01/12(木) 17:42:30.00 ID:???
PHPが出来るならWPはすぐに使えると思うが
708nobodyさん:2012/01/12(木) 20:44:35.20 ID:???
そもそもなんでこのスレで質問するのか
709nobodyさん:2012/01/12(木) 20:59:53.31 ID:???
確かに、なんでここで聞いたの?
710nobodyさん:2012/01/12(木) 21:35:47.31 ID:???
質問するスレだろ何が駄目なんだ
711nobodyさん:2012/01/12(木) 21:41:21.83 ID:???
712nobodyさん:2012/01/12(木) 21:42:14.04 ID:???
CMSを使うかフレームワークを使うかっていう質問はここじゃねぇと思うが
713nobodyさん:2012/01/12(木) 21:43:04.05 ID:???
質問するスレすらわからん馬鹿はポータルサイトなんか作れんよ
714nobodyさん:2012/01/12(木) 22:20:03.29 ID:???
PHPのフレームワークスレって確かあったよな
715679:2012/01/12(木) 22:21:38.91 ID:???
ギブ・・・
俺には自力では無理でした

>>699の言うようにアホですな
プログラム板にでも行ってきます
716nobodyさん:2012/01/12(木) 22:29:06.06 ID:???
>>697
なんで人の質問を俺がやってるのか分からんが、それが出来たら楽に処理できるような事も
出てくるかなと思ってやってみたんだけど

>>698
いや、だって引数とって一気に別ファイルのスクリプト実行するんでしょ?
system()じゃないの?

>>700
ごめんどういうこと?
$php fork-test.php > /dev/null
とかってこと?
同時に実行されていくということは
c1:0
c2:0
c1:1
c2:1
のように出てくるのかなとか思ってたんだけど違うん?
717nobodyさん:2012/01/12(木) 22:31:19.98 ID:???
>>716
バックグラウンドプロセスの標準出力を捨てろってこと。
718nobodyさん:2012/01/12(木) 22:36:09.30 ID:???
>>716
一気に別ファイルのスクリプトを実行するのにforkではダメだと思った理由を書いてみ
719nobodyさん:2012/01/12(木) 22:48:45.79 ID:???
>>718
ごめん、分かりませんw
forkって子プロセスを作成->親プロセスは待機->子プロセス終了->親プロセス実行
って動作だよね?
で、子プロセスは親プロセスのコピーであると
だから元々親プロセスの時点で実行されていたり、格納していた変数の値とかは子プロセスも保持していると

ま、自分の分からない所は子プロセスを複数作成するにはPHPだとpcntl_fork()をその回数実行すると
ただ、自分がやったのでは
$pid1=pcntl_fork();
$pid2=pcntl_fork();
それぞれにて上記のようなfor()を使うと一緒に実行されるんじゃなくて、直列(逐次)処理になってて「う〜ん」と

別ファイルのスクリプトを実行するのにPCNTL関数内にそんな感じの関数もないし、
データベースなどから設定値を取得してきて、そこから得てきたそれぞれの設定値を渡すとなると
system()かなと考えて・・・

例えばどんな風に書けばいいんですかね?
720nobodyさん:2012/01/12(木) 22:50:08.98 ID:???
>>719
大前提がおかしい
>>667
721nobodyさん:2012/01/12(木) 22:54:57.73 ID:???
>>719
ちなみに>>662におけるsleepをタイムスライス放棄のみのコードに変更した場合の出力結果例はこんな感じ。
child1: 0
parent: 0
parent: 1
child1: 1
parent: 2
parent: 3
child1: 2
parent: 4
parent: 5
child1: 3
parent: 6
child1: 4
parent: 7
child1: 5
parent: 8
child1: 6
parent: 9
wait begin.
child1: 7
child1: 8
child1: 9
wait end.

あとID出せよカス
722nobodyさん:2012/01/12(木) 23:11:37.74 ID:QxDXzJq0
タイムスライス放棄のみのコードって何だと思いググってました(苦笑
sleep(-1)ってのが出てきましたがこれの事ですかね?

俺は>>667のようにはならないんですが、OSは何ですか?
つまり、>>662のようなfor()文使った場合は、子プロセス->親プロセス->子プロセス->親プロセス->
という挙動をすると言うことですか?

しかし俺全然だめだなぁ・・・
723nobodyさん:2012/01/12(木) 23:45:38.66 ID:???
phpファイルで、以下のようにjava scriptのファイルを読み込んでいるのですが、
<script type="text/javascript" src="test.js">

test.jsを変更しても反映されないことがあります。
ブラウザがキャッシュか何かをしているのでしょうか?
回避策とかありましたらご教授お願いします。
724nobodyさん:2012/01/12(木) 23:49:13.05 ID:???
>>723
日付が変わってればキャッシュを破棄しそうなもんだけど。
プロキシ的なものが挟まってたりしない?
一応試せることとしては、たとえばIEならCtrl+F5ですべて再読み込みする
725nobodyさん:2012/01/12(木) 23:52:16.83 ID:???
>>723
ブラウザ特有の現象かもしれないから後でちゃんと自分で調べるとして
とりあえずそういう時は応急処置にファイル名に適当な文字列を追加するもんだ

echo '<script type="text/javascript" src="test.js?' . md5(microtime(true)) . '">';
726nobodyさん:2012/01/13(金) 00:05:03.08 ID:???
なんでmd5かけるの?
727nobodyさん:2012/01/13(金) 00:11:52.36 ID:???
バカだからに決まってるじゃん
728nobodyさん:2012/01/13(金) 00:29:29.21 ID:???
ドットが入るのが嫌だっただけ
かけたくないならかけなくていい
729nobodyさん:2012/01/13(金) 00:33:49.01 ID:???
ドット・・・?
730nobodyさん:2012/01/13(金) 00:36:37.67 ID:???
小数点
731nobodyさん:2012/01/13(金) 00:37:36.05 ID:???
くだらんとこに突っ込むなよバカども
732nobodyさん:2012/01/13(金) 01:00:13.01 ID:???
しかしまぁ俺プログラマーとか言って
>>725みたいなクソコード書いてるのもひどい話だな
733nobodyさん:2012/01/13(金) 01:16:41.96 ID:???
言ってることは間違ってないけどこれはないな
>echo '<script type="text/javascript" src="test.js?' . md5(microtime(true)) . '">';

time()とかuniqid()で事足りる
>md5(microtime(true))
ない
734 忍法帖【Lv=8,xxxP】 :2012/01/13(金) 01:22:37.06 ID:???
735nobodyさん:2012/01/13(金) 01:43:03.96 ID:???
>適当な文字列を追加する
これが実現できればなんでもいいだろ
何を拘ってるんだ?パフォーマンス?(笑)
そんなミジンコみたいなところでケチつけるなレスの無駄使い
736nobodyさん:2012/01/13(金) 01:48:42.10 ID:???
しょうがないだろミジンコしかいないんだから

http://stackoverflow.com/questions/637278/what-is-the-best-way-to-generate-a-random-key-within-php
737nobodyさん:2012/01/13(金) 02:15:09.35 ID:???
>>733
> time()とかuniqid()で事足りる
えっ

> >md5(microtime(true))
> ない
こっちの方がまだマシ
738nobodyさん:2012/01/13(金) 02:18:26.75 ID:???
必死だなw
739nobodyさん:2012/01/13(金) 02:22:50.77 ID:???
特定ユーザに対してユニークであればいいんだから、ミリセカンド精度で事足りると思うよ。

>>738みたいな意味のないレスをする人がどう考えてるのかさっぱりわからんけど。
740nobodyさん:2012/01/13(金) 02:28:45.64 ID:???
そんなに悔しかったか ごめんよw
741nobodyさん:2012/01/13(金) 02:30:22.51 ID:???
必死すぎw
742nobodyさん:2012/01/13(金) 02:31:28.69 ID:???
理解できる範囲の話になったとたん沸くやつってなんなの
743nobodyさん:2012/01/13(金) 02:34:35.61 ID:???
…ねないの?
744nobodyさん:2012/01/13(金) 02:43:41.18 ID:???
なんでPHPでするのか不思議。
745nobodyさん:2012/01/13(金) 02:45:27.34 ID:???
>>742
全くだな
自分につっこむ機会があると思うと頑張ってつっかかってきちゃうやつワロスwwww
上級者からすればそんなこまけーこたぁどうでもいいんだよって感じだがな
746nobodyさん:2012/01/13(金) 02:47:04.65 ID:???
ニートのおっさんだろどうせ糞コード晒してんのは
上級者()
早く吊れよ
747nobodyさん:2012/01/13(金) 02:51:11.50 ID:KkkOzRWt
NATポートマッピングを自動でやる方法を教えてください。
Bitcometみたいに。
748nobodyさん:2012/01/13(金) 03:12:53.61 ID:???
PHP使ってるって言ったら
ヴォエエエエエエ ブヒョー コーヒー吹かれた
749nobodyさん:2012/01/13(金) 03:14:54.14 ID:???
>>747
uPnPってわけでもなさそうにみえるが、NAPTを自動でやりたいってこと?
なら、ネットワーク越しに操作できるルータを手に入れる必要がありそう。
そんな話じゃないよ!ってことならBitcometの動作をもっとよく見ること。
750nobodyさん:2012/01/13(金) 03:15:41.52 ID:???
ニートのおっさんだろどうせ煽ってんのは
低級者乙
早く吊れよ
751nobodyさん:2012/01/13(金) 03:23:44.99 ID:???
おっさんだってPHPでできなさそうなことを考えるのに必死なんだよ
752nobodyさん:2012/01/13(金) 03:25:36.98 ID:???
forkの人はム板に行って静かになった。彼に説明する人が他にもっといればよかったのに
753nobodyさん:2012/01/13(金) 03:32:16.25 ID:???
PHPで並行処理wwwwwwwwwwwwwwwwwwwwwwwwwwww。
無理ぽ。
754nobodyさん:2012/01/13(金) 03:32:56.22 ID:???
最近あれだな>>747みたいなやつ多いな
同一人物だとは思うけど
俺が課題出してやるから解決してみろ的な
ほんと消えてくれないかな
755nobodyさん:2012/01/13(金) 03:37:04.13 ID:???
>>753
forkとストリームソケット使えばどうにかなるだろ
てか少し前にそれ系のレスあるから読んでみ
756755:2012/01/13(金) 03:40:02.10 ID:???
>>753
補足だけど、5.1系のセマフォがバグありだったから気をつけて。
いまさらあえて5.1使うこともないだろうけど、割と最近のRHELまでは5.1系だった気がするので遭遇することもあるかもしれない
757nobodyさん:2012/01/13(金) 03:52:09.82 ID:???
>>755
あなたの言うように、
forkとストリームソケット使えば「遊び程度」ではどうにかなるだろうね。

しかし、商売用には素直にマルチドレッド言語を使ったほうがいい。
デフォルトで並行できるので開発スピードとパフォーマンスが
「圧倒的に」優れる。forkくんの質問と回答のあまりの馬鹿馬鹿しさに
気持ち悪い。
758nobodyさん:2012/01/13(金) 04:15:10.88 ID:???
PHPで並行処理が無理だというから、それの返事だったんだが、並行処理はできるけど遊び程度だという風に話をずらされても困る

パフォーマンスについてはまったくもってそのとおり。ただ、それらを同じ土俵にあげること自体が間違えているよね。
開発スピードについては比較対象に依存する。マルチプロセス処理を記述する場合に圧倒的に開発スピードが優れる言語は何?
マルチスレッド言語とやらが何を指しているのかわからないが、たとえばCLRで提供されているワーカースレッドのようなものを指している?

ちょっと内容が漠然としているように思うよ。
759nobodyさん:2012/01/13(金) 09:09:47.21 ID:???
当たり前話を、ドヤ顔で言ってて恥ずかしくない上に、気持ち悪いとか言ってる人がいるよ。
760nobodyさん:2012/01/13(金) 09:19:15.93 ID:???
phpでできないこともあるんだね〜。
761nobodyさん:2012/01/13(金) 09:21:03.11 ID:1Ih2hdXs
新規にポータルサイトを開発しようと思ってます。
管理機能とかもついてます。
作成の仕方として以下の3つの方法が浮かびました。

フレームワークを使って作成する。(codeigniter)
CMSを使って作成する。(MT or WP)
フレームワークにCMSプラグインを入れて作成する。

どれがいいでしょうか?
762nobodyさん:2012/01/13(金) 09:21:55.46 ID:???
好きにしろ
763nobodyさん:2012/01/13(金) 11:33:36.37 ID:???
CMSは非プログラマ向けで、FWはプログラマ向けなだけなの。
悩むほどの話じゃないし、どれつかえばいいかえらべないならけんさくしていちばんうえつかえばいいだけ
764nobodyさん:2012/01/13(金) 13:32:56.37 ID:???
765587:2012/01/13(金) 16:04:33.77 ID:???
皆さんレス、本当にありがとうございます。
しばらく勉強して、なんとか14日以前の日付を10日前で表示するところまで辿り着いてきましたが、なぜか1969年になってしまいます。。

$ptimeはUNIXTIMEではなく1323413498等という数字が入っているのですが、
これを一度UNIXTIMEにするには、どのように記述すればいいでしょうか?
ここがうまくいけば、なんとかなりそうです。
よろしくお願いしますm(_ _)m


↓年だけおかしくなっている現状です。
$post_date = date("y/m/d", $ptime);
$limit = 60 * 60 * 24 * 14; // 過去14日よりも前のものだった場合、
if($_SERVER['REQUEST_TIME'] - $post_date > $limit) {
$post_date -= 60 * 60 * 24 * 10; // 表示は10日前の日付にする。
}
$date = date(y/'m/d', $post_date);

※$dateで表示させています。
766587:2012/01/13(金) 16:09:06.03 ID:???

すいません、よく確認したら、表示されている日付が20日ぐらい前になっていました(^^;
とりあえず$ptimeはUNIXTIMEにすれば解決できるのかと思います。
度々すいませんが、よろしくお願いします。。
767nobodyさん:2012/01/13(金) 16:20:08.93 ID:???
なんか面倒な事してるな
俺はこっち使ってる

strtotime("- 10 day",time())
768nobodyさん:2012/01/13(金) 16:32:32.90 ID:???
12日前のは12日前と表示されることになるだろうけど、それも含めて特殊な事情?
769765:2012/01/13(金) 17:03:53.19 ID:???
はい、特殊な事情で、13日以前は、そのままで大丈夫なんです。(^_^)
770765:2012/01/13(金) 17:05:44.03 ID:???
>>767
その記述だと、全体的にかわりますか??(^_^;)
771nobodyさん:2012/01/13(金) 17:16:23.09 ID:???
>>770
意味がよく解らん
772nobodyさん:2012/01/13(金) 17:16:32.15 ID:???

$_SERVER['REQUEST_TIME'] - $ptime じゃねーの?
んで、 $ptime -= 60 * 60 * 24 * 10;
$date = date(y/'m/d', $ptime);
773nobodyさん:2012/01/13(金) 18:13:51.83 ID:f/pZY+bx
すみません。質問お願いします。
smarty + pear::pager を使って、情報検索を作っています。
文字コードはUTF-8
携帯用なので、session.use_trans_sid = 1 にしてURLでセッション管理をしていますが、
PHPSESSIDが正しく付かない時があります。

{foreach item=row from=$List}
・・・
<a href="detail.php?ID={$row.ID}">詳細へ</a></p>
・・・
{/foreach}

で1ページ10行ぐらい表示するのですが、
10行に1行ぐらいの割合で
<a href="detail.php?ID=005&PHPSESSID=○○○">となるはずが、
<a href="detail.php?ID=005"?PHPSESSID=○○○>となってしまい、
正しくリンクされません。

検索内容によって10行目だったり、5行目だったりと
規則性が無くなぜこうなっているかわかりません。
すみませんが、よろしくお願いいたします。
774nobodyさん:2012/01/13(金) 20:50:42.78 ID:???
$Listをvar_dumpしてみれば?
775nobodyさん:2012/01/13(金) 21:03:38.69 ID:f/pZY+bx
>>774  レスありがとうございます。

var_dumpすると IDは通常の数字で int(5) 等です。
List.IDには特に問題ないようです。

あと、var_dumpしただけで問題の症状が10行目だったのが18行目に変わったりしてます。

なんでなんだろ・・・?
776nobodyさん:2012/01/13(金) 21:13:20.06 ID:???
また謎なこと言ってるな
foreachしてるその配列をdumpして問題ないか確認しろってことでしょ
IDは問題ないようです、とか意味がわからん

foreachから/foreachまでの記述に問題がないならそのループさせてる配列以外問題になる箇所ないじゃん
そして配列がおかしかったらその配列を作ってるロジックがおかしいって特定できるでしょ
777nobodyさん:2012/01/13(金) 21:16:34.52 ID:???
&を&と書いてみてくれ
778nobodyさん:2012/01/13(金) 21:17:17.58 ID:???
&を&&と書いてみてくれ
779nobodyさん:2012/01/13(金) 21:18:59.91 ID:???
&を&amp;(半角)と書いてみてくれ
780nobodyさん:2012/01/13(金) 21:19:28.62 ID:???
&amp;(半角)
781nobodyさん:2012/01/13(金) 21:19:36.98 ID:???
あ、まて
SESSION IDを自動的にリンクに付加するようになってるのか
それ、自動でやらせないでアプリケーション側で実装したほうがいいぞ
それが解決策になる
782nobodyさん:2012/01/13(金) 21:19:55.03 ID:???
あ、まて
SESSION IDを自動的にリンクに付加するようになってるのか
それ、自動でやらせないでアプリケーション側で実装したほうがいいぞ
それが解決策になる
783nobodyさん:2012/01/13(金) 21:33:35.56 ID:???
使用するデータの型は同じで特に問題はないのに
自動付加するにせよ特定の箇所だけおかしくなるってのは考えられないね
確率や回数で処理を変えるとか妙なことやってない限り

><a href="detail.php?ID=005"?PHPSESSID=○○○>
こうなるのも謎
最悪>の前に"が入るよね
{$row}"{ID}としてるわけじゃないし
784nobodyさん:2012/01/13(金) 21:40:01.56 ID:???
&amp;(半角)バカスw
785nobodyさん:2012/01/13(金) 21:52:49.63 ID:???
>>779
&を&amp;にしてくれっていいたいのか?
786nobodyさん:2012/01/13(金) 22:04:24.28 ID:???
みなまで言わんでいいです
787nobodyさん:2012/01/13(金) 22:51:52.05 ID:WYF6z6mt
PECLにmemcacheとmemcachedって2つあるようですが、
これらの違いはなんなんでしょうか?
Web上ではmemcacheの方が記述が多いので利用されているんだと思うのですが、
具体的な性能の違いとかあったら教えて頂きたいです
788nobodyさん:2012/01/13(金) 22:55:30.59 ID:???
http://ja.wikipedia.org/wiki/Memcached
これ見てわからないならわからなくていいと思う
789nobodyさん:2012/01/13(金) 23:10:15.21 ID:???
>>788
http://pecl.php.net/package/memcache
http://pecl.php.net/package/memcached
この違いがわからんって言ってることもわからないのに何でレスしたの?
790nobodyさん:2012/01/13(金) 23:15:11.59 ID:???
791nobodyさん:2012/01/13(金) 23:33:17.87 ID:???
>>790
For those confuse about the memcached extension and the memcache extension, the short story is that both of them are clients of memcached server, and the memcached extension offer more features than the memcache extension.
せめてここ貼ってやれよ。
792nobodyさん:2012/01/13(金) 23:34:47.49 ID:???
まぁユーザノートは主観だけどね
でも俺もその意見には同意する
793nobodyさん:2012/01/13(金) 23:39:13.44 ID:???
>>787
一般的に皆memcacheの方を使ってるはずだ
そうだろ?
794nobodyさん:2012/01/13(金) 23:44:36.38 ID:???
いや待て
memcachedよりAPCだろ
APCの方が高速だし
PHP使いはmemcachedよりAPCのはずだ
795nobodyさん:2012/01/13(金) 23:48:47.35 ID:???
なんでAPCと比較したんだろ
796nobodyさん:2012/01/13(金) 23:51:38.80 ID:???
KVSとしての側面ももってるから。
てかしらないならレスすんなよもう
797nobodyさん:2012/01/13(金) 23:52:14.87 ID:???
>>795
前俺も記事見たことあるよ
この2つを比較してるやつ

まぁ高速化の意味だと思うけど
798nobodyさん:2012/01/13(金) 23:53:58.78 ID:???
>>795
そりゃするっしょ
799nobodyさん:2012/01/14(土) 00:00:14.19 ID:???
>>752
答えたかったけど、俺知らないし
PHPerはその手の知識持ってる人は少ないんじゃない?
Webコンテンツは作れても、そういうこと作る機会ってないだろうから
800nobodyさん:2012/01/14(土) 00:04:38.50 ID:???
memcachedやAPCが必要なほどのシステムを組んでるのか?
一般人が使う分にはヒープでいいだろ
801nobodyさん:2012/01/14(土) 00:43:40.46 ID:???
APCのほうがお手軽だしAPCで十分だな
ロードバランサなんかでアプリケーションサーバを冗長化してる場合とか
どのマシンに振られるかわからない時はキャッシュサーバーとしてmemcachedだな
1回目のアクセスはAサーバ2回目のサクセスはBサーバとかなるとキャッシュ見失うからな
ほとんど場合は1台で動かしてるんだろうしAPCつことけばいいでしょ
802nobodyさん:2012/01/14(土) 03:22:42.53 ID:???
>>801
分散オブジェクトは使わないのですか?
「どのマシンに振られるかわからない」とか考える必要ないので
使ったほういいですよ。
803nobodyさん:2012/01/14(土) 03:36:04.89 ID:???
新キャラ 分散オブジェクト厨
804nobodyさん:2012/01/14(土) 03:42:32.66 ID:???
>>803
PHPにできないことはないよな?
805nobodyさん:2012/01/14(土) 03:44:32.87 ID:???
>>804
そうなの?
806nobodyさん:2012/01/14(土) 03:47:56.21 ID:???
>>801
性能の悪いアプリケーションサーバーですね。
キャッシュもできないのですか?
何を使ってらっしゃるのですか?
807nobodyさん:2012/01/14(土) 03:52:09.70 ID:???
おまえはいいから早く吊れよ
人生詰んでるのに往生際悪すぎだぞ
808nobodyさん:2012/01/14(土) 03:58:18.68 ID:???
朝までがんばれ
809nobodyさん:2012/01/14(土) 04:00:09.04 ID:???
>>805
そう。現在、PHPでC言語を実装するプロジェクトが
このスレで始まった。君も参加するかい?

>>807
負け犬みたいだね
810nobodyさん:2012/01/14(土) 04:01:20.83 ID:???
>>806
あおってるつもりの内容が的外れなのはわざとなの?それだけ教えてほしい
811nobodyさん:2012/01/14(土) 04:02:44.94 ID:???
>>809
JavaScriptで動くOSを参考にしてみたらどうだい
812nobodyさん:2012/01/14(土) 04:17:27.23 ID:???
>>810
あおるつもりもなく、本気だよ。

>>811
ありがとう。

最初の目標はPHPでC言語を実装すること。

2番目の目標はPHPで実装したC言語(最初の目標)でさらに
PHPを実装すること。

3番目の目標は、PHPで実装したC言語(最初)でさらに実装した
PHP(2番目)でさらにC言語を実装すること。

4番目の目標は3番目で実装あれたC言語でJava仮想マシンを作ること。
813nobodyさん:2012/01/14(土) 04:50:23.67 ID:???
かまってちゃんウザイ
ブログの宣伝1度だけ許してやるから消えてくれ
814nobodyさん:2012/01/14(土) 09:07:04.64 ID:???
>>812
コテハンつけてくれNGするから
815nobodyさん:2012/01/14(土) 10:46:42.03 ID:???
>>801
はぁ? ということは
phpって分散トランザクションもできないの?
終わっているね・・・
816nobodyさん:2012/01/14(土) 10:54:24.51 ID:???
さっさと吊れ
817nobodyさん:2012/01/14(土) 15:14:15.26 ID:???
まぁ端から静観してる俺にとっては最近の話題は面白いけどね
CMSかFWかどっちがいいかのようなものから、セッションがどうたらとかよりも
fork()だとかAPCとかやや上のレベルの話題だからね

CMSとかFWとかそこそこハックしてきたけど、まずfork()なんてお目にかからないからね
まぁ、当たり前ではあるけれど
memcachedは簡単な実装は見かけたけど、APCは見たことないと思う
818nobodyさん:2012/01/14(土) 16:43:56.71 ID:???
>>817
フレームワークを使ってバッチ処理を書くときに役立つかもよ
819587:2012/01/14(土) 17:30:34.28 ID:???
みなさんレスをありがとうございます。
根本的に私の説明不足すぎでした。
そのために度々スレを使ってしまい、すいませんでした。

▼大元の相談内容
掲示板等で、$dateを使って日付を表示させているのですが、
特殊な事情があって、過去14日よりも前のものだった場合、
表示は10日前で表示したいのです。

例:1月1日投稿されたもの→5日に閲覧した場合は、そのまま投稿日時は1月1日。20日に閲覧すると投稿日時は1月10日で表示される。

▼現状
$date = date("y/m/d", $ptime); // $ptime はUNIXTIME (1323413498等という形で保存されています)

echo <<<EOM で $date を記述して日付(2011/12/22等という形)を表示しています。

私が勉強不足のため、皆さんのレスを参考にしていじっていたら、ごちゃごちゃになってしまいました(^^;
単純に UNIXTIMEである$ptimeを相談内容の処理をして$dateとして日付を表示できるようにする記述を再度教えていただけると助かります。
すいませんが、よろしくお願いしますm(_ _)m
820nobodyさん:2012/01/14(土) 17:52:08.46 ID:???
日付が14日よりも前かどうかの判断をしたい
10日前の日付を取得したい

というだけだと思うんだけど。
821nobodyさん:2012/01/14(土) 18:27:08.83 ID:???
どうせSEO対策だろ。
822nobodyさん:2012/01/14(土) 18:43:08.04 ID:???
1万人くらい使う掲示板を作りたいと思います
823nobodyさん:2012/01/14(土) 18:45:55.07 ID:???
10万犬くらい使う掲示板を作りたいと思います
824nobodyさん:2012/01/14(土) 18:47:59.92 ID:???
>>821
またおまえか
825nobodyさん:2012/01/15(日) 00:09:47.66 ID:0R9yJU6W
分散オブジェクトを作りたいと思います。
826819:2012/01/15(日) 04:06:00.99 ID:???
>>820
レスありがとうございます。
そうなんですよね。。
UNIXTIMEが、ごっちゃになってしまって、恥ずかしながら私の初歩的な知識では??になってしまいまして。
小さなお店のホームページをやっているのですが、写真をメールで載せるphpがありまして、
度々の更新ができない時にも日付だけフォローできるようにしたいのです。
827nobodyさん:2012/01/15(日) 04:25:58.50 ID:???
ID出せ
828nobodyさん:2012/01/15(日) 04:45:42.13 ID:???
要するに客を騙したいってことだな
829nobodyさん:2012/01/15(日) 11:18:33.29 ID:5+piCYsS
質問です。googleにphpプログラムでサインインするにはどうすればいいでしょう?
https://accounts.google.com/ServiceLogin?service=mail

phpプログラムにあらかじめEmail(ID)とパスをべた書きしておき、
submitボタンを押すだけでサインインできるようになるのが理想です
830nobodyさん:2012/01/15(日) 11:25:08.31 ID:5+piCYsS
>>829の続きですが、
クッキー「accounts.google.com」の「GALX」の値がクセモノで、
このアクセスするたびに変わる値がサインイン時に必要なのですが、
この値の制御という利用の仕方がうまくいかず、どうしてもサインイン
できません
831nobodyさん:2012/01/15(日) 11:32:23.84 ID:5+piCYsS
×この値の制御という利用の仕方がうまくいかず
○この値の制御というか利用の仕方がうまくいかず
832nobodyさん:2012/01/15(日) 12:06:48.67 ID:???
>submitボタンを押すだけでサインインできるようになるのが理想です
いろいろやばいだろ
クライアント(自分のPCにApache入れる)ならともかくサーバじゃやらんほうがいいぞ
でクライアントだと普通にブラウザのオートコンプリートでよくね?となるわけだが
もしサーバでやるとしたらフィッシング詐欺幇助になるので教えてあげない
833nobodyさん:2012/01/15(日) 12:08:42.54 ID:???
>>829
OAuth使え。登録してキーもらって
834nobodyさん:2012/01/15(日) 12:29:20.57 ID:???
クッキーが必要なんだったら普通にブラウザと同じように対話式でやり取りすりゃいいんじゃないの
方法はググったほうが確実に早い
835nobodyさん:2012/01/15(日) 12:34:59.06 ID:5+piCYsS
>>832
外部からはアクセスできない自分のPC+Apacheの環境で使います。
さすがにレン鯖等、インターネットで不特定多数に公開しているところには置きません。

>オートコンプリート
>OAuth
GMailのアカウントが5つぐらいあるんですよ。
本アド、サイトを2つ運営していてその連絡用アド、他、実家連絡用。
いちいちWebブラウザにID入れるの面倒だし、メーラー使うと
誰かがPCをいじった時に簡単に読まれてしまう。
だから(普通の人はまさかPCにApche+phpが入っているとは思わないだろうから)
自分だけわかるphpで簡単に複数アドにアクセスしたいな、と。
836nobodyさん:2012/01/15(日) 12:45:04.85 ID:5+piCYsS
phpプログラムは好きで初心者ながらちょくちょく作ってるんです。
ただ、クッキーが必要なプログラムは今までその必要がなかったから作ったことが無い。
だからクッキーは苦手・わからないんです。

で、ちょっと作ってみたのがこれです。急ごしらえで下手ですが。。
(作った当時はクッキーが必要だと思わなかったのでPOSTのみで作ろうとしていました)↓
837nobodyさん:2012/01/15(日) 12:47:26.29 ID:5+piCYsS
<?php

$a=file_get_contents("http://accounts.google.com/ServiceLogin?service=mail");
preg_match("/name=\"GALX\"[^v]+value=\"[^\"]+\"/is",$a,$match);
$match[0] = ereg_replace("name=\"GALX\"[^v]+value=\"", "", $match[0]);
$match[0] = ereg_replace("\"$", "", $match[0]);

$test='
<!DOCTYPE html>
<html lang="ja"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title>Google サインイン</title>
</head>
<body>
<form id="gaia_loginform" action="https://accounts.google.com/ServiceLoginAuth" method="post" name="a" id="a">
<input type="hidden" name="continue" id="continue" value="http://www.google.co.jp/">
<input type="hidden" name="hl" id="hl" value="ja">
<input type="hidden" name="GALX" value="'.$match[0].'">
<input type="hidden" id="pstMsg" name="pstMsg" value="1">
<input type="hidden" spellcheck="false" name="Email" id="Email" value="ここにID">
<input type="hidden" name="Passwd" id="Passwd" value="ここにパス">
<input type="submit" class="g-button g-button-submit" name="signIn" id="signIn" value="アカaサインイン">
<input type="checkbox" name="PersistentCookie" id="PersistentCookie" value="yes" checked="checked">
838nobodyさん:2012/01/15(日) 12:48:13.43 ID:???
5つのアドを一箇所でうければいいだけじゃね
gmailは複数アドを統合できるじゃん
839nobodyさん:2012/01/15(日) 12:48:23.76 ID:5+piCYsS
</form>

<form id="gaia_loginform" action="https://accounts.google.com/ServiceLoginAuth" method="post" name="b" id="b">
<input type="hidden" name="continue" id="continue" value="http://www.google.co.jp/">
<input type="hidden" name="hl" id="hl" value="ja">
<input type="hidden" name="GALX" value="'.$match[0].'">
<input type="hidden" id="pstMsg" name="pstMsg" value="1">
<input type="hidden" spellcheck="false" name="Email" id="Email" value="ここにID">
<input type="hidden" name="Passwd" id="Passwd" value="ここにパス">
<input type="submit" class="g-button g-button-submit" name="signIn" id="signIn" value="アカbサインイン">
<input type="checkbox" name="PersistentCookie" id="PersistentCookie" value="yes" checked="checked">
<input type="hidden" name="rmShown" value="1">
</form>

</body></html>
';

exit($test);
840nobodyさん:2012/01/15(日) 12:50:58.88 ID:???
>>838
>gmailは複数アドを統合できるじゃん
そういえばそうか!
わざわざphpでアクセスしないでそうすればいいのか(汗
841nobodyさん:2012/01/15(日) 12:51:08.49 ID:???
そもそも外部のフォームからのPOSTでログイン受け付けてくれるのか疑問
それを弾くくらいのセキュリティ対策はしてありそうだけど
842nobodyさん:2012/01/15(日) 12:59:11.49 ID:???
googleさんつよすぎわろた
843nobodyさん:2012/01/15(日) 12:59:28.34 ID:5+piCYsS
>>841
>外部のフォームからのPOSTでログイン受け付けてくれるのか疑問
自分は楽天でショッピングするのですが、楽天(https)だとPOSTで大丈夫なんですよ。
それ用のサインインphpプログラムも作りましたし・・・。
だからGMailサインインphpプログラムも楽天サインインphpプログラムと
同じindex.phpページにまとめて、1つのindex.phpページからなんにでもサインインできる、
そんな index.phpページを作ろうと思っていたのです
844nobodyさん:2012/01/15(日) 13:21:27.83 ID:5+piCYsS
ちなみに>>837,>>839の「class="g-button g-button-submit" 」は不要です。

Googleの元ページ( http://accounts.google.com/ServiceLogin?service=mail )
のソースから必要そうなタグをコピペして>>837,>>839のphpプログラムを作りましたら、
不要な部分を取り除き忘れているのです。
845nobodyさん:2012/01/15(日) 13:22:26.55 ID:???
楽天()とGoogleのセキュリティを同列に扱うとかw
846nobodyさん:2012/01/15(日) 13:43:50.83 ID:???
>>843
サーバー側から見ればクライアントがPHPだろうがブラウザだろうが関係ないさ
HTTP通信をトレースしてどんなものを送受信しているか確認して真似るのが近道よ
847nobodyさん:2012/01/15(日) 13:44:53.07 ID:???
なんのためにGoogleはAPI提供してんだよ
素直にそれ使えよ
848nobodyさん:2012/01/15(日) 13:59:17.35 ID:???
>>843
楽天なんて、セキュリティのセの字も無いサイトだぞ。
849nobodyさん:2012/01/15(日) 14:03:41.11 ID:???
>>ID:5+piCYsS
あぁ、なるほどね
そのフォームのページ見てみたけど、
その手のはおそらく無理だよ
自分もGoogleではないけど昔同じような事をしてね
理由はそのうち試行錯誤していく内に分かると思うけど、
そのGoogleのフォームじゃかなり難しい
ま、素直に諦めるべきだね

他の人の意見に従って俺は知らないけどAPIとか統合とか使った方がいい
今から1週間粘っても、ここで質問しても無理だと思う
850nobodyさん:2012/01/15(日) 14:05:55.91 ID:5+piCYsS
ぶっちゃけ楽天はアドレスバーに https://〜 ?u=ID&p=PASS を追加すればいいだけだからなぁw

で本題。
なんでクッキーGALXの値が必要だと判ったかというと、

準備としてWebブラウザを閉じてクッキー削除。
WebブラウザでGMail( https://accounts.google.com/ServiceLogin?service=mail )にアクセス。
ソースを見てGALXの値を調べる。
下記のphpプログラムにGALXの値とIDとPASSをべた書き。
同じWebブラウザでphp実行。

以上でサインインできるからです。
(WebブラウザのクッキーGALXの値とPOSTのGALXの値を比較しているみたいです。)
851nobodyさん:2012/01/15(日) 14:07:18.18 ID:5+piCYsS
<?php

$test='
<!DOCTYPE html>
<html lang="ja"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title>Google アカウント</title>
</head>
<body>
<form id="gaia_loginform" action="https://accounts.google.com/ServiceLoginAuth" method="post" name="a" id="a">
<input type="hidden" name="continue" id="continue" value="http://www.google.co.jp/">
<input type="hidden" name="hl" id="hl" value="ja">
<input type="hidden" name="GALX" value="ここにソースのGALXの値をコピペ">
<input type="hidden" id="pstMsg" name="pstMsg" value="1">
<input type="hidden" spellcheck="false" name="Email" id="Email" value="ここにID">
<input type="hidden" name="Passwd" id="Passwd" value="ここにPASS">
<input type="submit" id="signIn" value="ログイン">
<input type="checkbox" name="PersistentCookie" id="PersistentCookie" value="yes" checked="checked">
<input type="hidden" name="rmShown" value="1">
</form>
</body></html>
';

exit($test);
852nobodyさん:2012/01/15(日) 14:15:46.68 ID:5+piCYsS
>>850
×(WebブラウザのクッキーGALXの値とPOSTのGALXの値を比較しているみたいです。)
○(WebブラウザのクッキーGALXの値とPOSTのGALXの値が同一であるか比較しているみたいです。)

同一であればサインインできます
853nobodyさん:2012/01/15(日) 14:17:54.94 ID:???
おまえもういいよ
的確な回答は複数出たんだからブログでやってくれ
854nobodyさん:2012/01/15(日) 14:18:32.76 ID:???
おそらく俺が書いた記事を書いている最中に>>850-851を書いていたんだと思うけど、
マジでGoogleは不可能に近い
よほどのハッカー/クラッカーでなきゃ無理
フォームの構造からまず問題だけど、おそらくサーバ側にも細工してる
他のサイトならともかくGoogleはやっぱ一筋縄ではいかない

まぁ、もし君がそれでもやり遂げたときは堂々と公表してよ
尊敬する
855nobodyさん:2012/01/15(日) 14:25:47.11 ID:5+piCYsS
1ヶ月ぐらい悩むと、それまで不可能と思われたプログラムが
できてしまうものです。経験的にですが。
「PHP Google ログイン」で検索すると成功者もいるみたい?ですので、
チャレンジチャレンジでがんばってみます
856nobodyさん:2012/01/15(日) 17:56:13.63 ID:oiGEKKkd
stripslashes
「クォートされた文字列のクォート部分を取り除く」
とマニュアルにありましたが、これの意味はバックスラッシュを
取り除くってことですか?
クォートするとかがよく分かりません、教えてください。
857nobodyさん:2012/01/15(日) 18:11:38.75 ID:???
これなんかの犯罪に使おうとしてないか?
858nobodyさん:2012/01/15(日) 18:30:13.99 ID:???
>>856
指摘の通りクォート部分ではなくエスケープ部分とするべきだな
ちなみに
文字列 -> クォート -> "文字列"
859nobodyさん:2012/01/15(日) 18:40:06.41 ID:oiGEKKkd
>>858
ありがとうございました。
860nobodyさん:2012/01/15(日) 18:49:08.21 ID:???
犯罪と聞いて飛んできました
861nobodyさん:2012/01/15(日) 19:29:25.62 ID:???
>>860
ポリの方ですか?
このスレに怪しい人物がいるようです
862nobodyさん:2012/01/15(日) 19:35:32.17 ID:???
そいうや、オレの変態の友達が、php勉強して、児童の裸写真集める掲示板
作ってるが、未だに逮捕されてないぜ。
863nobodyさん:2012/01/15(日) 20:18:02.70 ID:???
「俺の友達が〜」という話の85%は、その人本人の話。

おまわりさん、この人です。
864nobodyさん:2012/01/15(日) 20:24:21.16 ID:???
するどすぎわろた
865nobodyさん:2012/01/15(日) 20:52:38.41 ID:???
おいポリ、こいつじゃ
866nobodyさん:2012/01/15(日) 23:22:19.42 ID:???
このスレから逮捕者が出るとはなあ
867nobodyさん:2012/01/15(日) 23:37:21.44 ID:???
とりえあず>>862自身じゃなかったとしても>>862から逮捕につながるように通報しといた
868862 :2012/01/15(日) 23:39:27.33 ID:???
オレのじゃねーよ、友人の話。
オレの変態の友人は未成年だから捕まっても実名報道されない
って強気な態度です。友人の口癖は「来いよアグネス」
869nobodyさん:2012/01/16(月) 00:34:32.88 ID:???
任意同行→事情聴取→家宅捜査→PC押収

まずは交友関係をじっくり説明することになるんだろうな
児童ポルノ禁止法違反で検挙とか恥ずかしすぎるw
870nobodyさん:2012/01/16(月) 01:42:52.98 ID:???
>>862本人だろうが、友人だろうが関係なく重要参考人として警察んとこ行くべきだな
871nobodyさん:2012/01/16(月) 02:01:53.33 ID:???
>>862が未成年なのはガチなようだな
この慌てようwwwww
872nobodyさん:2012/01/16(月) 02:23:06.43 ID:???
>>868
実名報道されなかったとしても家族にはばれるけどね。
学生なら学校にも、バイトしてるならバイト先にも。
873nobodyさん:2012/01/16(月) 02:25:18.83 ID:OeE4uuA7
<img src="thumbnail.php?image=1234&w=300&h=200" />
上記のようなリクエストを出すと、
DBに保存した画像テーブルからIDが1234のフィールドを参照し画像パスを取得して、
そのパスの画像を横幅300px、縦幅200pxで表示するというスクリプトがあるのですが、
毎回アクセスするたびに生成しては重いということで
1度リクエストがあった画像は所定のディレクトリへリクエストされたサイズで保存し、
そこに保存されている画像であれば生成せずに、それにアクセスさせることにしました。

この分岐(生成画像があるか?)をさせるにはどういった方法がありますでしょうか?

僕が思いつける範囲は以下のような処理です。
例えば、上記の例でいうと生成画像のファイル名は
image1234_w300_h200.jpg
というようにして、
1.<img src="http://example.com/img/image1234_w300_h200.jpg" />
として.htaccess でファイルが存在しなければ生成プログラムにリライトする
もしくは、
2.最初と同じく<img src="thumbnail.php?image=1234&w=300&h=200" />としてアクセスさせ、
PHP内で http://example.com/img/image1234_w300_h200.jpg が存在するか判断して、
存在すればそのままそれを返す、存在しなければ生成して表示させる、

上記のような方法が考えられますが、
他になにか良い方法などがあればご教示お願いできますでしょうか?
874nobodyさん:2012/01/16(月) 02:28:09.34 ID:???
どっちでも問題ないよ。好きなほうでやりんさい。
875nobodyさん:2012/01/16(月) 02:32:05.83 ID:???
>>873
前者の方が今風な感じがする
876873:2012/01/16(月) 02:35:01.56 ID:OeE4uuA7
ありがとうございます。

フレームワークを使っていて1アクセスでも負担が大きいので
なるべく画像に直接アクセスして完結させたいのですが、
1.の方法だと、生成画像があればPHPにアクセスせずに済むので
こっちのほうが軽いですよね?

それと、図々しいかもしれませんが、
1.の方法の.htaccess はどういう書き方をしたらいいか教えていただけませんでしょうか・・・。
877nobodyさん:2012/01/16(月) 02:45:10.11 ID:???
>>873
毎回同じ処理をするならPHPのようなインタプリタ言語をやめる。
画像へアクセスするたびにインタプリタが走るのは完全にムダで
ユーザーがかわいそう。
878nobodyさん:2012/01/16(月) 02:46:20.78 ID:???
>>876
RewriteCond %{REQUEST_FILENAME} !-f

PHPの質問じゃないけどね!
879nobodyさん:2012/01/16(月) 17:40:20.70 ID:l7Fd5fgU
880nobodyさん:2012/01/16(月) 20:49:09.11 ID:w74ctwP8
if (!$edit){
}

この式って$editがどんな値の時にtrueですか?
881nobodyさん:2012/01/16(月) 21:22:20.46 ID:???
>>880
マニュアルは見てみたかい?
882nobodyさん:2012/01/16(月) 21:27:09.05 ID:???
0かnullかfalseか''の時true
わかったかハゲ
883nobodyさん:2012/01/16(月) 21:45:06.81 ID:???
ツンデレめ
884nobodyさん:2012/01/16(月) 21:49:17.22 ID:???
>>882
それだけじゃないよ
885nobodyさん:2012/01/16(月) 21:51:58.51 ID:???
なんだとハゲが
じゃあこれも追加な
array()
あとは他のハゲどもに聞いてくれ
886nobodyさん:2012/01/16(月) 22:27:47.15 ID:9eZbuHu2
自分は今までApacheはデフォルトのpreforkしか使っていなかったのですが、workerに替えようと思い調べてみたところ、

http://blog.flatlabs.net/20110222_232623/

http://labs.unoh.net/2008/03/apache_mpm.html
にてphp-mbstring、PHPを動かすサーバでは、preforkの選択が無難と書かれてあります

皆さんはPHPの場合どちらを使用しているのでしょうか?
自分は並列的な感じからworkerの方が早いのだろうと期待して替えようと思っていたのですが
887nobodyさん:2012/01/16(月) 23:03:24.97 ID:guznNntQ
$lang[0] =$lang0;
$lang[1] =$lang1;
$lang[2] =$lang2;
を、
for ($i = 0; $i < 4; $i++) {
$lang[$i] =$lang.$i;
}
とするとうまくエラーがでます。どうすればいいのですか?
888nobodyさん:2012/01/16(月) 23:11:11.54 ID:???
>>887
上手く出るならそれでいいんじゃないの
889nobodyさん:2012/01/16(月) 23:12:27.38 ID:guznNntQ
間違えました、
for ($i = 0; $i < 4; $i++) {
$lang[$i] =$lang.$i;
}
でうまくいかず、エラーが出ます。どうすればいいのですか?
890nobodyさん:2012/01/16(月) 23:28:27.47 ID:???
>>887
$hoge = "lang" . $i;
$lang[$i] = $$hoge;
891nobodyさん:2012/01/16(月) 23:34:43.93 ID:???
ループの終了条件
892nobodyさん:2012/01/16(月) 23:41:38.95 ID:???
条件あるじゃん$i < 4だろ
つまり$iが4まできたら終了じゃん
893nobodyさん:2012/01/16(月) 23:41:54.01 ID:guznNntQ
>>890
ありがとうございました。
894nobodyさん:2012/01/17(火) 00:12:00.49 ID:EiaeWEuH
PHPで分散トランザクションはどのように行えばよろしいでしょうか?
895nobodyさん:2012/01/17(火) 02:14:09.51 ID:???
また発作か
896nobodyさん:2012/01/17(火) 02:49:14.01 ID:???
は、はっさく?
897nobodyさん:2012/01/17(火) 04:03:01.94 ID:BgcdxtCD
PHPでアプリケーションスコープはどのようにしたら実装できますか?
898nobodyさん:2012/01/17(火) 10:52:09.01 ID:46QLTXdT
2012年1月は、C#がC++を抜いて3位につけたことが特に注目される。C++は長期に渡って
緩やかな下落傾向にある一方で、C#は上昇傾向が続いており、特にここ数年は上昇傾
向が強くなっている。

今後しばらくは、C#とC++で順位の入れ替えを繰り返すものと見られるが、最終的には
C#が3位、C++が4位に落ち着く可能性が高い。また、Objective-Cも急成長を続けており、
この傾向が続いた場合には、C#、Objective-C、C++という順位に変わっていく可能性もある。

上記のほか20位以内に入ったプログラミング言語としては、Rが19位に、Luaが20位に
入った点が注目される。

特に、統計処理や統計データのグラフィック化などに利用されるRプログラミング言語は、
ここのところ注目が高まっている。Rの機能拡張が、Googleの支援によって実現したこと
などもその一因となっているものとみられる。

 1 Java       17.479 (-0.082) 18ヵ月連続1位
 2 C         16.976 (-0.081)
 3 C#         8.781 (+0.576) 3位へ浮上。上昇傾向
 4 C++.        8.063 (-0.189) 4位へ下落
 5 Objective-C   6.919 (+0.114) 上昇傾向
 6 PHP        5.710 (-0.291) 下落傾向
 7 (Visual)Basic  4.531 (-0.226)
 8 Python.      3.218 (-0.274)
 9 Perl.        2.773 (+0.301)
10 JavaScript    2.322 (+0.123)
11 Delphi       1.576 (+0.331)
12 Ruby.        1.441 (-0.053)

http://news.mynavi.jp/news/2012/01/12/058/
899nobodyさん:2012/01/17(火) 11:06:15.39 ID:???
でっていう
900nobodyさん:2012/01/17(火) 11:56:51.84 ID:5qimSQwE
PHPによるWebアプリケーションスーパーサンプル第二版で、PHPを勉強中のものです。
P.54 でPOST送信されたデータを受け取るという話の中で、$_POSTで受け取るほかに

 「$HTTP_POST_VARSという変数も使用できますが、PHP5の設定ファイルのテンプレートである
 php.ini-recommendedでは $HTTP_*_VARS 変数は無効(register_long_arrays=OFF)と
 なっているので注意しましょう。」

と書いてあります。この意味がわからないのですが、register_long_arrays=OFFの場合
$HTTP_POST_VARS は使えないということですか?
901nobodyさん:2012/01/17(火) 11:58:32.11 ID:???
重要でもないしそんな変数使わないから気にしないでいい
$_POST使いな
902900:2012/01/17(火) 11:59:30.14 ID:5qimSQwE
ちなみに、別な本についてきたxamppで一緒にPHPをインストールしたのですが
C:/xampp/php/php.ini-recommended をエディターで開いてみると
register_long_arrays = Off になっていますが、サンプルコードを書いてみると
$HTTP_POST_VARS でも、POST送信されたデータを受け取れています。
どこか、勘違いしているのでしょぅか。
903nobodyさん:2012/01/17(火) 12:00:19.53 ID:5qimSQwE
>>901
あっ、素早いお返事ありがとうございました。
おすすめのとおり、気にしないで進むことにします。ありがとうございました。
904nobodyさん:2012/01/17(火) 12:07:42.39 ID:???
$HTTP_POST_VARSでマニュアル見ればすごくわかりやすく書いてあるのになぜマニュアルを読もうとしない
しかも$HTTP_POST_VARS [非推奨]っておもっくそ書いてある

マニュアルマニュアルマニュアルマニュアルマニュアルマニュアルマニュアル
マニュアルマニュアルマニュアルマニュアルマニュアルマニュアルマニュアル
マニュアルマニュアルマニュアルマニュアルマニュアルマニュアルマニュアル
マニュアルマニュアルマニュアルマニュアルマニュアルマニュアルマニュアル
905900:2012/01/17(火) 16:54:57.24 ID:???
>>904
本家マニュアル(日本語ページで)検索したけど、英語のページになっちゃったんです。
それで挫折しました。
906nobodyさん:2012/01/17(火) 17:12:01.93 ID:???
こういうのとか、みつかりませんでした、とか
自分は検索がヘタクソですって公言すると何かいいことがあるのか?
907nobodyさん:2012/01/17(火) 17:17:15.71 ID:???
>>906
能力不足で見つけられなかったけど、努力はしたんです。
それでもわからないので、ここに質問にきたんです。できたら検索のコツなどを
ご教示いただけると、自分も含め、今後の参考になるのでぜひお願いします。
908nobodyさん:2012/01/17(火) 17:32:57.59 ID:???
まぁこのスレ的には>>905
位の手順踏んでたら質問して問題ないでしょ
くだらない質問スレ(=初心者スレなんだし)
909nobodyさん:2012/01/17(火) 17:42:55.79 ID:???
$HTTP_POST_VARSでググったら1ページ目に公式日本語マニュアル出てるんだが
どんだけ検索音痴なんだよ
910nobodyさん:2012/01/17(火) 17:50:45.68 ID:???
ページ上部に言語設定のフォームがあるのに…
あとはURLのenをjaに変えてみるとか。英文を機械翻訳にかけるとか。手は色々あるね
911nobodyさん:2012/01/17(火) 17:57:19.20 ID:???
英語が出てきた瞬間に頭が読むことをやめるんだろ
だから簡単な言語設定にすら気付けない
でも言い訳だけは一人前
>能力不足で見つけられなかったけど、努力はしたんです。
明らかにしてねーよ
912900:2012/01/17(火) 17:59:56.39 ID:???
みなさん、ありがとうございます。
googleでいきなり検索するというのは思いつきませんでした!
翻訳も考えてもみませんでした。 orz 次回もう少し高度な質問ができるようよにがんばります。
913nobodyさん:2012/01/17(火) 18:00:36.46 ID:???
>>911
あああ、すみません。英語ももっと勉強します・・・
914nobodyさん:2012/01/17(火) 18:13:12.41 ID:???
努力ってなにかね?
915nobodyさん:2012/01/17(火) 18:30:28.37 ID:???
ところで、 >>900、902  のそもそもの質問は、

「register_long_arrays=OFFの場合 $HTTP_POST_VARS は使えないということですか?
(受け取れているようですが) 」だったんですが

>>914さん、ご存知でしたら教えてください。
916nobodyさん:2012/01/17(火) 18:31:32.48 ID:???
>>1読めやハゲが
教えてやってもいいけどおまえあとで体育館の裏な
917nobodyさん:2012/01/17(火) 18:36:11.99 ID:???
なんだ、わかんないのか
918nobodyさん:2012/01/17(火) 18:38:39.75 ID:???
そしてこの態度である
919nobodyさん:2012/01/17(火) 18:51:30.30 ID:???
えっ、釣り?
920900:2012/01/17(火) 19:17:39.12 ID:RFWc5FPN
>>916
偽者がまざっているようですが、

【OS名】windowsXP
【PHPのバージョン】PHP Version 5.2.4
【連携ソフトウェア】なし
【質問内容】  >>900 と >>902に書いたとおり 

あと、どんな情報が必要ですか?
921nobodyさん:2012/01/17(火) 19:57:25.86 ID:???
>>920
答えてやろう

>「$HTTP_POST_VARSという変数も使用できますが、PHP5の設定ファイルのテンプレートである
> php.ini-recommendedでは $HTTP_*_VARS 変数は無効(register_long_arrays=OFF)と
> なっているので注意しましょう。」
この通りだろ

おまえの環境のregister_long_arraysはどんな値になってるのさ
いずれにしても$HTTP_POST_VARSは非推奨な上、スーパーグローバルではないとマニュアルにある
$_POSTとは別の変数とも書いてある

ちなみに
>PHPによるWebアプリケーションスーパーサンプル第二版
こんなもん窓から投げ捨てちまえ
コーディングのやり方だけ覚えたら本なんか足枷にしかならんぞ
ネットから情報を得てプログラミングしていく方法を身につけたほうが早く伸びる
922900:2012/01/17(火) 20:07:58.18 ID:RFWc5FPN
>>921
ありがとうございます。
register_long_arraysの値は、>>902に書いてあるとおり
register_long_arrays = Off です。 だから$HTTP_*_VARS 変数は無効だと
思ったのに、POST送信されたデータを$HTTP_POST_VARSで
受け取れてしまい、とても混乱しました。そこで質問させていただきました。
923900:2012/01/17(火) 20:10:11.06 ID:RFWc5FPN
PHPは今日から勉強しはじめたもので、不明な点がいろいろあり、これからもっと
勉強していこうと思います。ありがとうございました。
924nobodyさん:2012/01/17(火) 20:26:43.03 ID:???
え?解決したの?
てか君の環境のApacheはphp.ini-recommendedを読み込んでるの?
925nobodyさん:2012/01/17(火) 20:37:22.68 ID:???
>register_long_arraysの値は、>>902に書いてあるとおり
>register_long_arrays = Off です。

本当かよ
ini_get()してみろよ
926900:2012/01/17(火) 21:08:57.26 ID:RFWc5FPN
>>924
読んでくれてるつもりだったんですが・・・

>>925
echo 'register_long_arrays = ' . ini_get('register_long_arrays')

で、register_long_arrays = 1 と表示されます。
1 ってことは true?つまり on ってことですか?
927nobodyさん:2012/01/17(火) 21:09:35.25 ID:???
>>926
つもりというと?どこでどう設定したの?
928nobodyさん:2012/01/17(火) 21:16:11.03 ID:RFWc5FPN
>>927
あああああああ、そういうことかーーー!
やっとわかりました!もう一度読み直してやってみます!
929nobodyさん:2012/01/17(火) 21:18:55.06 ID:???
いや、聞いてるんだけど
930nobodyさん:2012/01/17(火) 21:42:05.49 ID:???
>>902のすぐあとに>>924のようなレスがつかないこのスレは一体なんなんだ。
931900=928:2012/01/17(火) 22:05:54.75 ID:RFWc5FPN
わかったつもりで、c:/xampp/apache/bin/php.ini の
register_long_arraysを確認してきたら、onになっていました

で、それをoffに変更して保存したのですが、
echo 'register_long_arrays = ' . ini_get('register_long_arrays')
は、まだ、register_long_arrays = 1 と表示されます。  orz
932nobodyさん:2012/01/17(火) 22:06:46.79 ID:???
>>931
もしかして : 再起動してない
933nobodyさん:2012/01/17(火) 22:08:14.72 ID:???
Phalanger 3.0 (2012年1月) をリリースしました。
http://awabi.2ch.net/test/read.cgi/poverty/1326781620/
934900=928:2012/01/17(火) 22:10:15.34 ID:RFWc5FPN
明日、もうすこし頭を冷やして、やり直してみます。
みなさん、ありがとうございました。
935nobodyさん:2012/01/17(火) 22:14:34.38 ID:???
とりあえずそんなの放置でもかまわんよ
使わなきゃいいだけ
936nobodyさん:2012/01/17(火) 22:14:59.64 ID:???
いいってことよ
937nobodyさん:2012/01/17(火) 22:15:33.02 ID:???
>>934
>>932が言うように、apacheの再起動はした?
938nobodyさん:2012/01/18(水) 01:52:47.82 ID:???
>>934
server.xmlは設定したか?
939nobodyさん:2012/01/18(水) 06:55:41.17 ID:???
いつもの人の釣りでしょ
940昨日の900です
>>932-938
あれこれ、ちょっとずつ変えてつつテストしていたので、再起動したつもりでしたが
再起動していなかったのかもしれません。

今日テストしたら register_long_arrays = 1 にならなくなりました(null?)
そして、$HTTP_POST_VARS の値も取れなくなりました!(希望していた結果)
結局設定の間違いだったんですね。みなさん、ありがとうございました!