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

【PHP】下らねぇ質問はここに書き込みやがれ 67

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/04/11(金) 06:38:35ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/

◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。

◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0120nobodyさん2008/04/14(月) 19:11:38ID:???
リネームじゃない
Apacheに拡張子htmlをPHPとして動かすように指示するだけ
Add-Type application/x-httpd-php .html
とかにすれば拡張子htmlのものがApacheでPHPとして扱われる
まぁこれ以上は板違いなんで
.htaccessについて深く知りたければWeb制作板へどうぞ
0121nobodyさん2008/04/14(月) 19:42:46ID:???
その昔、
拡張子phpを使いたいという理由だけでPHPを始めた俺が来ましたよ
(突っ込みは無用)

アドレスが*.phpなのがオサレなんだと思ってた時期もありました
0122nobodyさん2008/04/15(火) 00:26:29ID:???
>>112
それってPHPじゃなくてもなるんじゃなかったっけ。
CPUに詳しい人に聞いた方が良いと思う。
0123すのっぶ2008/04/15(火) 02:01:01ID:LJ3oHWbN
php限定という訳じゃなくてすいません。
md5だと32桁の16進数値になりますが、大文字小文字を区別した表示でもっと短いhashはどのようなものがありますか?
ある携帯サイトで送られてくるメールのURLにそれらしきものがあり、「RJgYbxmTqnN5」という表記でした。
0124nobodyさん2008/04/15(火) 02:04:11ID:???
0125nobodyさん2008/04/15(火) 02:12:30ID:???
それはbase64では
0126nobodyさん2008/04/15(火) 02:38:46ID:???
crypt
0127nobodyさん2008/04/15(火) 07:42:07ID:LJ3oHWbN
http://jp.php.net/crypt
crypt だった。サンクス > 126

ちょっと古いサーバで試したんだけど、salt を指定しない場合、「$1$Qgv55ZYN$likCiswhSgaLSaWdJeObY.
」とかで、しかも毎回内容が変わってた。これはこれで役にたつものなの?どうやってパスワードチェックするんだろう。

ちなみにそのサーバの定数値は以下
CRYPT_SALT_LENGTH 12
CRYPT_STD_DES 1
CRYPT_EXT_DES 0
CRYPT_MD5 1
CRYPT_BLOWFISH 0

OS REDHAT 9
0128nobodyさん2008/04/15(火) 09:26:21ID:???
指定されないソルトは乱数で生成されるから、それは正しい。

パスワードのチェックの時は、ソルトを読み取ってから
入力されたパスワードのハッシュを計算する

つ man 3 crypt
0129nobodyさん2008/04/15(火) 14:10:49ID:???
ログ解析ソフトってあるじゃないですか。
あれの滞在時間とか、直帰率とか、再訪とか、
ああいうのの開発手法について、概要でも良いので
説明しているサイトをご存じないですか?
ググっても、ASPとかWeb屋とかが出てくるばかりで・・・・
0130nobodyさん2008/04/15(火) 14:31:23ID:???
>>129
だいたいどういうことすればできるかイメージつくだろ。
クッキー、セッション、リファラーetc
それすらイメージできないうちは作れるレベルにないということ。
0131nobodyさん2008/04/15(火) 14:43:24ID:tEWEzoyO
http://jp.php.net/manual/ja/book.imap.php
imapでpop3サーバーにつないで、読んだメッセージをDBにしまい
ごにょごにょしようかと思ってるのですが、
メッセージを既読にするにはどうしたらよいのでしょうか?

imap_setflag_full()
はimapでつないだ時だけ見たいだし、
imap_body()
に「既読フラグをたてないオプション」みたいのがあるので、読めば自動的に立つのかと思ったけど
だめっぽいです。

立てられないと、毎回すごい数のメールを見に行かなきゃならないのでちょっと現実的じゃないかなと。

わかりましたらお願いします。
0132nobodyさん2008/04/15(火) 14:47:25ID:???
>>130
ログは取ってるんですよ。
IPアドレスとかUAとか、アクセス時刻とか。
それらをどういうふうにデータとして加工・保存していけばいいかのヒントになるようなものがあればということです

書き方が悪かったですね。スマソ
0133nobodyさん2008/04/15(火) 15:31:02ID:???
藻前の望みをリストアップして1時間眺めれば判る。
0134nobodyさん2008/04/15(火) 15:43:29ID:6h+mXfU6
うんかー02(urlつきだと書き込めないので省略)っていう2ちゃんねるビューワー機能のサイトがあるんだけど、
人大杉の板を.dat直読みさせることで、表示を可能にしてるらしい
.datがどこにあるか教えてください

例えば、ここのスレ http://pc11.2ch.net/test/read.cgi/php/1207863515/ の.datってどこでしょうか
0135nobodyさん2008/04/15(火) 15:49:37ID:???
アクセス毎に10MBぐらいのファイルの読み書きするのって負荷かかりますか?

あまり詳しくないのですがDB使う場合とファイルをそのまま読み書きするのでは
やっぱ違いますか
0136nobodyさん2008/04/15(火) 16:02:39ID:???
>アクセス毎に10MBぐらいのファイルの読み書きするのって負荷かかりますか?
なんでこんな糞システムになるのか理解できないが改善できるなら改善してくれ
じゃないと色んなところに迷惑がかかる
アクセス数が1日数件なら問題ないけど

>DB使う場合とファイルをそのまま読み書きするのではやっぱ違いますか
違う
扱うデータ件数が多ければ多いほどDBのほうが有利
0137nobodyさん2008/04/15(火) 16:19:15ID:???
10MBぐらいのファイルじゃわからんな。
10MBのログに吐き出すだけならデータベースよりも軽石。
01381352008/04/15(火) 16:28:06ID:???
レスどうもです
ちょっと説明不足でした
プログラムファイルが10MBというわけではなく読み書きするデータファイルが10MBあるということです
最初は0でだんだんたまっていくという仕組みです

cgiで動かしていたのですが10MBぐらいで鯖の限界がきました
なのでPHPで作り直そうと思い、どのやり方が負荷が少ないかということで聞いてみました

やはりDBの方がいいのでしょうか



0139nobodyさん2008/04/15(火) 16:51:25ID:???
鯖の限界っていうのがどういうことかわからないけど
おそらく使用可能なメモリが足りてないんでしょ?
だとするとcgiがだめでphpなら平気そうとかそういうレベルじゃないような気がする
特にPHPやPerlでWebプログラム組んでる人は特段意識しないだろうけど
扱うファイルが膨大となるとメモリ管理を効率よくおこなうプログラムを意識しないとだめだと思う
全てを配列に読み込むとかしただけでも相当メモリ使用量が増えるから

というわけでどういうものなのか想像できないのでなんともいえないけど
プログラム側の設計とファイルの扱い方についてを根本的に変えないといけないと思う
0140nobodyさん2008/04/15(火) 17:09:48ID:???
このindex.cgiがエラーがでるんですが修正できますか?(属性755)
http://www.filebank.co.jp/wblink/b326ee425cd825e972e0e8c931e33383
0141nobodyさん2008/04/15(火) 17:24:26ID:???
>>138
別にログにレコード追記するだけなら別に10Mが100Mでも遅くならんだろう。

ただまぁ、段々増えると言っている割りに、読み書きと言っているし、
なんとなく、file()とかで読み込んで...とか考えてそうだから素直にDBを使った方がいいね。
違ったらごめんよ
0142nobodyさん2008/04/15(火) 17:41:39ID:???
アクセスログか何か?
配列に読み込んで追加して・・・とかやってるんなら追記モードでオープンすれば問題ないでしょ。
とりあえずもっと詳細な情報がないと何とも言えない。
>>136
データ件数が少なくてもリレーションや制約,データ構造のためにDB使う意味はあるよ。
0143nobodyさん2008/04/15(火) 19:53:03ID:???
$binstr = "0x71,0x8E,0x01,0x00,0x00,0x00,0x00,・・・";
こんなデータの並びをバイナリにして、ブラウザからダウンロードさせたいと考えて
いるのですが上手くいきません。どなたアドバイスして頂けないでしょうか?

以下失敗例です・・・
$binarr = split(",", $binstr);
$bin = "";
for ($i=0; $i<count($binarr); $i++) {
$bin.= pack("c", $binarr[$i]);
}
header("Content-Type:application/octet-stream");
echo $bin;
exit();
0144nobodyさん2008/04/15(火) 20:12:25ID:???
自己解決しました・・・
$bin.= pack("c", $binarr[$i]);

$bin.= pack("c", hexdec($binarr[$i]));

ん〜しかしpackの説明のとこで0xXXって感じで渡してるのに
なぜこれで上手くいったのかいまいち納得できず・・・
0145nobodyさん2008/04/15(火) 20:38:20ID:???
HTTP_RequestでsetBasicAuth使わない場合は、
getResponseBodyでちゃんと返ってくるんだけど、
setBasicAuth使う&setMethod(HTTP_REQUEST_METHOD_POST)
すると
getResponseBodyしても何も文字列が返らない。

バグか何か?
どなたかご存じないですか?
01461452008/04/15(火) 20:39:06ID:???
ちなみに
setMethod(HTTP_REQUEST_METHOD_GET)
なら問題ありませんでした。
0147nobodyさん2008/04/15(火) 21:11:59ID:???
変数に入ってる文字列を数式として評価できるのってevalだけですか?
$a="1+2";
とかがあったら3にしたいだけなんですが
0148nobodyさん2008/04/15(火) 22:05:32ID:???
ども。
GDのimagecreatefromjpegを使っているのですが、
画像がでかいと死にます。
普通に死んでくれると問題ないんですが、
エラーメッセージも、返り血もなく、いきなり実行が中断されるので、エラートラップもしけません。
問題を回避する方法知ってる人いませんか?
0149nobodyさん2008/04/15(火) 23:57:17ID:???
エログ見てみ。
0150nobodyさん2008/04/16(水) 00:16:21ID:???
いつも見てますよエロゲ
0151nobodyさん2008/04/16(水) 08:11:13ID:1M88tLAK
JpGraphで画像を出力したのですがどういうわけか携帯では見れません
もちろん画像形式はgifにしました
PCでは当然見れますし保存すると拡張子もgifです

考えられるのはキャッシュ化したファイルにはpngとなっているのですが
ダウンロードしてみると中身はちゃんとgifです。

どうすればいいでしょうか

0152nobodyさん2008/04/16(水) 09:39:16ID:???
>>148
メモリーが足りてないんだろう。
memory_limitの値とかチェック。
あと、imagecreatefromjpegの前にファイルサイズとかチェックしろ。
01531512008/04/16(水) 10:28:41ID:???
自己解決しますた
0154nobodyさん2008/04/16(水) 11:27:50ID:DHAOt7zZ
Dynamic EXtensionってなんですか?
これの設定がよくわかりません。
postgresqlやいろいろ入れていった場合
追加していけばいいのでしょうか?
0155nobodyさん2008/04/16(水) 12:19:19ID:xAJOe1B+
関数の中でcookieを使うにはどうしたらいいのでしょうか?
下記のようにしているのですが、クッキーが有効となりません。

function cookieTest(){
if($_COOKIE["test"]<>"on"){
クッキーがない場合の処理
}
setcookie("test","on",time()+30);
}
0156nobodyさん2008/04/16(水) 13:05:55ID:???
引数で渡す
0157nobodyさん2008/04/16(水) 13:12:39ID:KGnhrG4i
.htmlの拡張子をphpファイルとして実行したいのですが、

.htaccessの

AddType application/x-httpd-php .htm .html

以外のやり方で、デフォルトで.htmlをphpファイルとして実行する方法はないでしょうか?
よろしくお願いします。
0158nobodyさん2008/04/16(水) 13:16:48ID:???
httpd.conf(笑
0159nobodyさん2008/04/16(水) 13:17:54ID:???
.htaccessも弄れないようなところで拡張子を誤魔化したいってのに不正のにほいがぷんぷんする。
0160nobodyさん2008/04/16(水) 13:46:10ID:???
>>157
そんなにいやならフレームでも使ってろ
見た目はhtmlだろ
01611572008/04/16(水) 13:56:24ID:KGnhrG4i
>>160
いえ、ローカルのテストサーバ―として利用しているので、嫌とかではないんですが
毎回ディレクトリごとに.htaccessを設置するよりも、デフォルトで設定しておきたいのです。

AddType application/x-httpd-php .htm .html

これをhttpd.confに記述すればいいんでしょうか?
0162nobodyさん2008/04/16(水) 14:05:29ID:???
>>161
>ディレクトリごとに
ルートに1つ置いとけばいいだろ

>これをhttpd.confに記述すればいいんでしょうか?
YES

まぁスレ違いもいいところだぜ・・・
0163nobodyさん2008/04/16(水) 14:06:46ID:???
テストとして使ってるだけなら拡張子にこだわってるのはおかしいだろ。
01641312008/04/16(水) 14:11:58ID:QC7Y4msP
imap_setflag_full()
でフラグは立っていたみたいです。

imap_headerinfo()
で見ると、実際変わっていました。

しかし、imap_checkで変えるrecentの数や、
imap_searchでの検索でも、フラグが立っているとみなされません。

\\Flaggedをたてて、 UNFLAGGEDなんかでimap_searchしてみても
全権引っかかってしまいます。

From "hoge@hogehoge"
なんかで検索すると、うまく見つられてるようです。

常に1000件くらいメールがあるので、全部に対して処理をすると、読みこんで
メール解析したオブジェクト組み立てるだけで15秒〜30秒かかります。
DBに登録して・・・と考えると、ぜひ、新しいメールだけに処理をしたいのですが
なにか方法ありますでしょうか?

お願いいたします。
0165nobodyさん2008/04/16(水) 14:32:44ID:KGnhrG4i
>>162
ありがとうございました
0166nobodyさん2008/04/16(水) 14:36:42ID:pyqKRshm
>>155
$_COOKIEはグローバル変数だよ?
0167nobodyさん2008/04/16(水) 14:41:52ID:pyqKRshm
>>155
あーわかった。それはクッキーに値が入ってない。
CやperlとかでCGI経験がないと、httpプロトコルが分らないから
クッキーはヘッダーで渡されているというのが分らないんだよね。

つまり、本文(html)を出力した後にクッキーは送出できないんだけど、
ここを理解しないと、今後同じデバッグに苦しむことになるよ。

解決策は、本文の前にsetcookieを呼ぶこと。
実装上のコツはノウハウだから、ケースバイケースでアドバイスが変わるよ。
0168nobodyさん2008/04/16(水) 14:51:35ID:???
配列の最後の値をとりたいのですがそんな関数ありますでしょうか?
配列にいくつ値があるかはそのつど変わります。

以下のようにはできるのですが、もっと簡単な方法がありましたらよろしくお願いいたします。
$data = array('hoge','foo','fuga'...'bumobumo');
$str = $data[count($data)-1];
0169nobodyさん2008/04/16(水) 15:02:38ID:???
>>168
ぱっと思い出せないけど、あるよ。
0170nobodyさん2008/04/16(水) 15:06:13ID:???
>>168
$data[-1] を思い出してしまったたけど、end() があるよ。
0171nobodyさん2008/04/16(水) 17:08:09ID:???
どなたかコレの使い方を教えていただけませんか?

AutoIndex PHP Script
ttp://www.moongift.jp/2007/05/autoindex_php_script/

どこで聞けばよいのか迷ったのですが、phpですのでこちらに書き込ませていただきました。
疑問点はこれを使う場合のディリクトリ構成です。
(AutoIndexフォルダ内に一覧表示したいものを入れるのか、その逆か)
また、必要があれば設定ファイルの変更箇所や、パーミッションの設定、アクセス制限の方法等も教えてください。

宜しくお願いします。
01721712008/04/16(水) 17:24:04ID:???
自己解決しました
0173nobodyさん2008/04/16(水) 17:30:39ID:???
XML関係の関数について詳しく書かれた本/サイトを教えてください。
0174nobodyさん2008/04/16(水) 17:36:18ID:???
>>171
ここで訊けばよいです。
ttp://autoindex.sourceforge.net/forum/
0175nobodyさん2008/04/16(水) 17:45:21ID:???
>>173
http://www.php.net/xml
0176nobodyさん2008/04/16(水) 19:01:43ID:???
>>173
ttp://www.amazon.co.jp/gp/product/4861671000とかいいんじゃないの?
01771732008/04/16(水) 19:16:54ID:???
>>175
マニュアル見ても訳が分からない・・・
0178nobodyさん2008/04/16(水) 19:30:51ID:???
>>177
関数についてそこ以上に詳しく書かれたサイトは無いぞ.
メニューを上げれば他の関連モジュールもあるが。
http://jp.php.net/manual/ja/refs.xml.php
0179nobodyさん2008/04/16(水) 19:35:05ID:???
>>172で171を名乗っているのは別人です。
なので、完全には自己解決していませんが、>>174さんに教えていただいたフォーラムなどを参考に
ある程度進むことが出来ました。
一覧表示したいものがあるフォルダに、AutoIndexの内容物(index.phpなど)を入れたところ一覧表示されたのですが、
ユーザー名とパスワードによるアクセス規制がいまいちよく分りません。

初回動作で表示される設定画面で、「use_login_system」を「TRUE」にしたところまでは良いのですが、
どうやらそれに関係なく、誰でもファイルにアクセス出来る状態になってしまいます。
ユーザー名とパスワードを設定する.htpasswd.autoindexへの記述も、デフォルトで暗号化されているため
どうやってIDとパスを生成するのかもわかりません。
どなたかご教授願います。
0180154です。2008/04/16(水) 19:35:21ID:DHAOt7zZ
だれか154の質問に答えてください。
よろしくお願いします
01811712008/04/16(水) 19:51:41ID:???
>>179
なんで私を名乗るんですか?
自己解決済みです。お騒がせしました。
0182nobodyさん2008/04/16(水) 20:04:44ID:???
>>154
本当にDynamicに(実行時に)エクステンションをロードする必要があれば(って言うかその必要がある場面がわからんぞ)
dl関数使ってロードできる(けど使ったことない)。
実行時にロードする必要が無ければ
使いたいエクステンションを所定のフォルダに置いて
php.iniをいぢればOK(これは普通のやり方)
0183nobodyさん2008/04/16(水) 21:09:13ID:???
>>147
substrを駆使すれば可能です
0184nobodyさん2008/04/16(水) 22:33:34ID:???
>>168
array_pop

>>154
dllの事だろ
extension=php_pgsql.dll
こんな感じでiniに追記
詳しい事は環境がわからないと何とも言えない
0185nobodyさん2008/04/16(水) 22:38:20ID:JLMZOI/r
PHPがオブジェクト指向になってから全然わかんないです。

関数メインで作っていたのを、今後の為に抽象化レイヤーに
書き換えようと思ってググリました。

$pdo = new PDO('hoge','huga','honya');な場合において
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$pdo->setAttribute(ATTR_ERRMODE,ERRMODE_EXCEPTION);
という表記を見たのですが、これは同じと考えて良いんでしょうか。

::hogeは静的メソッドなので、PDOのオブジェクトのインスタンスである$pdoの中では
多分PDO::を省いても良いって事なんだろうなぁと思うんですが
書き方の習慣として、どちらの書き方が推奨されますでしょうか。
0186nobodyさん2008/04/16(水) 22:46:10ID:???
>>185
違う
PDO::ATTR_ERRMODE
これはクラス定数
ATTR_ERRMODE
これだと定数を参照する事になる
0187nobodyさん2008/04/16(水) 22:48:55ID:???
>>185
あ、因みにクラスメソッド内での参照の仕方は
self::ATTR_ERRMODE
って感じになる
詳しくはここらあたりかな・・・
http://jp.php.net/manual/ja/language.oop5.constants.php
0188nobodyさん2008/04/16(水) 23:05:09ID:???
>>185
おいおいおい・・・なぜ憶測でコードを書こうとする。他言語でOOPの経験があるわけでもないようだし。
ちゃんとマニュアルに書いてあることだから言語仕様で疑問に思うことがあったらこんなとこで聞く前に即参照しなされ。
0189nobodyさん2008/04/16(水) 23:19:55ID:???
>>186-187
理解できました。
ありがとうございます。

グローバル定数のPDO_ATTR_ERRMODEが5.1まで使用されていたけれど
今後はどんどんPHPを拡張していくから、グローバル定数増やすの嫌だから
PDO::ATTR_ERRMODEの様にクラスで定義されてる定数で呼び出してくれって事ですね。
0190nobodyさん2008/04/16(水) 23:25:36ID:???
>>188
php.netのクラスの部分は読んだんですけど
他言語でOOPの経験っていうか、特にJAVAの経験がないから
クラスの部分の説明が全然わかんないんですよ。
聞いても良いじゃないですか。

勉強してるだけで別に壊れて危険な物は作ったり公開してる訳じゃないんで
かっかしないでくださいよ。
0191nobodyさん2008/04/17(木) 00:26:56ID:???
かっかじゃないよ。呆れてるんだよ。
0192nobodyさん2008/04/17(木) 01:00:13ID:???
>>190
だったらJavaやってこいよ
PHPがOOPに対応してるのはJavaからの移行者のため
PHPしかやらないような人間が無理してOOPする必要はない
PDOは確かに便利だが使い方わからないならネイティブ関数使うとか他に方法はある
そんなにクラスを理解したいなら先にJavaのサイトまわってこいよ
OOPのプログラム手法でわからないとこの質問ならまだしも
OOP教えてくれっていうのはお門違いだろ
手取り足取り教えてやる義理はない
0193nobodyさん2008/04/17(木) 02:10:19ID:???
       .ni 7       .M
     l^l | | l ,/)     | i|                 _/\/\/\/\/\/\_
     ', U ! レ' /   / ̄ ̄ ヽ,              \                 /
     /    〈   /        ',        .n      < こっこしないでくださいよ >
          ヽっ{゚}  /¨`ヽ {゚},       l^l.| | /)   /                 \
       /´ ̄ ̄ .l   ヽ._.イl  ',      | U レ'//)  ̄|/\/\/\/\/\/\/\/ ̄
     /  ィ-r--ノ   ヘ_/ノ   ',    ノ    /
        ,/        |! |    ヽ rニ     |
       丿'        W     ヽ、  `ヽ   l
     . !/                  ヽ、 |   |
0194nobodyさん2008/04/17(木) 02:12:07ID:???
おまえはOOP言いたいだけちゃうんかと
0195nobodyさん2008/04/17(木) 02:57:25ID:???
>>194
http://pc11.2ch.net/test/read.cgi/php/1158647441/
ほれこっち池
0196nobodyさん2008/04/17(木) 08:49:20ID:YHuC7Xot
質問なんですが
例えばショップサイトで商品のデータをDBに入れます

それを呼び出すときは **.php?category=01&data=0000
とかで呼び出すわけですよね

それでこの商品の数が膨大になったりアクセスが増えると負荷がかかると思うのですが
どのような対処方があるのでしょうか?

鯖の性能を上げるといっても何がどうなってるのか概念みたいなものがわかりません
おおまかでいいのでご教授ください
0197nobodyさん2008/04/17(木) 09:57:43ID:???
加齢に擦るー
0198nobodyさん2008/04/17(木) 11:00:28ID:M2mwea+h
PHPで書いたWebページからサーバー上のプロセスを起動したいが、
終了するのを待ちたくない場合はどうすりゃいい?

一応execでC++で書いたプログラム(仮にaiueoという名前にする)を起動し、
aiueoの中でfork(), exec()してみた.親プロセス(aiueo)のほうはwaitを
しないで終了すればokかなと思ったら、aiueoがゾンビになって
結局起動した子プロセスが終了しないとwebページを操作できない・・

こーいう場合どうしたらええのん?
0199nobodyさん2008/04/17(木) 11:11:15ID:???
>>196
俺の経験則。反論もあるだろうし、信じなくて良い。

まずJOINを一つも無くす。その状態で並び替え条件にインデックスを張る。
そして一つのテーブルをシーケンシャルに検索する。

これはパフォーマンスをあげるための方法、
普通の設計ではJOINを無くすなんてことはしない。
むしろ逆。正規化をする。

検索条件にインデックスをはっても良い。
検索条件にインデックスをはることで遅くなることもある。注意。
like検索する所ははっても無意味。

10万件ぐらいならば、それが一番速い。
0200nobodyさん2008/04/17(木) 11:53:39ID:???
場合によって「あえて正規化しない」ってのはアリだと思うけど
ドラゴンボール板向けのネタだよなとも思う。
0201nobodyさん2008/04/17(木) 13:43:22ID:M2mwea+h
>>198
解決.親プロセスと子プロセスの両方で、fclose(stdout)が必要だった.

おさわがせしました
0202nobodyさん2008/04/17(木) 15:08:09ID:yQIY/Upa
もし、そういった設計をされてる方がいらっしゃいましたら聞きたいのですが、
DBにバイナリ(画像等)を登録するメリットを教えてください。
0203nobodyさん2008/04/17(木) 15:29:12ID:K4JzsNpf
フレームワークで入門用のものでおすすめありませんか?
シンプルなものからはじめてコード読んで勉強したいと思ってます
0204nobodyさん2008/04/17(木) 15:34:59ID:???
すいません。くだらない質問ですが教えて下さい。

いま、無料の掲示板(PHP)を使おうと思っているのですが
googleを入れたく思っています。

表示エリアには
// 表示
echo " <tr><th colspan=¥"2¥" $_class><p class=¥"header_menu¥">$res$edit$del</p>$title</th></tr>¥n";
echo " <tr>¥n";
echo " <td class=¥"t_row1¥">$name<br /><br />$id</td>¥n";

とあり、$IDの後に入れたいと思っています。

入れるgoogleは

<script type="text/javascript"><!--google_ad_client = "pub-11111111111";/* 125x125, 作成済み 08/04/16 */google_ad_slot = "11111111111";google_ad_width = 125;google_ad_height = 125;//-->
</script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

となっております。

その場合どのよう入れれば表示しますでしょうか?
上の行で$で指定する文章を入れるのが良いのでしょうか?

恐れ入りますが、ご教授下さい。
0205nobodyさん2008/04/17(木) 16:00:22ID:???
>>204
//表示 の直後に下記の5行
$google = <<<OMAEHAKUDARAN
<script type="text/javascript"><!--google_ad_client = "pub-11111111111";/* 125x125, 作成済み 08/04/16 */google_ad_slot = "11111111111";google_ad_width = 125;google_ad_height = 125;//-->
</script><script type="text/javascript"src="(p)http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
OMAEHAKUDARAN;

であとはecho文の入れたいところに$googleを入れる。たとえば
echo " <td class=¥"t_row1¥">$name<br /><br />$id $google</td>¥n";
0206nobodyさん2008/04/17(木) 16:01:34ID:???
あ、わりぃ。 rep2でリンクに付く(p)までコピーしてもた。
そこは無視でよろ。
0207nobodyさん2008/04/17(木) 16:09:21ID:???
ちょっと酷いよ。
<<<OMAEHAKUDARAN
02082042008/04/17(木) 16:12:04ID:???
やっぱりうそですよね・・・。T_T
0209nobodyさん2008/04/17(木) 16:14:58ID:???
いや、あってることはあってるよw

ヒアドキュメントをより先にまず "は\でエスケープすること学ぼう
02102042008/04/17(木) 16:35:24ID:???
やっぱり出来ない。現状

$google = <<<GOOGLE
<script type=¥"text/javascript¥"><!--google_ad_client =¥"pub-1111111111¥";/* 125x125, 作成済み 08/04/16 */google_ad_slot =¥"pub-1111111111¥";google_ad_width = 125;google_ad_height = 125;//-->
</script><script type=¥"text/javascript¥"src=¥"http://pagead2.googlesyndication.com/pagead/show_ads.js¥;">
</script>
GOOGLE;


として入れてるんですが、HTMLはき出した後ソースを見ると円マークが残ったままになっています。本来HTMLにはき出した後のソースは消えていますよね・・・。

やはり初心者にはむりですかね・・・・。
0211nobodyさん2008/04/17(木) 16:44:41ID:???
>>210
>205で言われた通りにやろうよ。
ヒアドキュメントに¥でエスケープは要らない
02122042008/04/17(木) 16:51:44ID:???
すいません。
ありがとうございます。
ヒアドキュメントという言葉を知らず、見落としました。

現状何となくエリアが出たのですが、表示はしていませんが
何となく出そうな感じまで行きました。


ちょっこり、色々いじってみます。ありがとうございました。
0213nobodyさん2008/04/17(木) 17:03:04ID:???
ひゃあドキュメントってなんかエッチな感じがするな。なぜだろう?ひゃあ!
0214nobodyさん2008/04/17(木) 17:50:59ID:???
またオマエか
0215nobodyさん2008/04/17(木) 18:01:14ID:???
春は新しい出会いにときめく学生さんがここに遊びに来てるんだからオマエとかいわず温かい目でみてやれよ
0216nobodyさん2008/04/17(木) 19:02:05ID:???
>>212
初心者か否かは関係ない。
真剣やる気があるかどうか、人の話を聞けるかどうかが問題。
0217nobodyさん2008/04/17(木) 19:12:00ID:???
>>216
そんなくだらんレスするくらいなら、>>202>>203にでもレスしろよ。
0218nobodyさん2008/04/17(木) 19:14:45ID:???
>>217
そんなくだらんレスするくらいなら、>>202>>203にでもレスしろよ。
02192172008/04/17(木) 19:23:39ID:yQIY/Upa
>>202
やったこと無い。
>>203
ちいたんじゃダメか?w
0220nobodyさん2008/04/17(木) 19:45:53ID:???
すいません、教えてください。
Apache2.63にPHP5.25をインストールしました。
PHPファイルをモジュールで動かしてたのですが、勉強のため一部のファイルのみCGIとして動かしたいんです。

動かしたいファイルのソースはこれです。これを実行させるとechoで出力はできるのですが、#!C:/php5/php-cgi -qが文字列として表示されてしまいます
ということはCGIとして動いてないからなんでしょうか・・・?
#!C:/php5/php-cgi -q
<?php
echo 1111111;
?>
■ このスレッドは過去ログ倉庫に格納されています