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

【PHP】質問スレッド Part15

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/03/07 02:03ID:???
PHP全般の質問スレです。
上級者用や雑談スレを立てたくなった場合は後から適宜立ててください。

■本家
 http://www.php.net/

■日本 PHP ユーザ会
 http://www.php.gr.jp/

■PHP マニュアル
 http://www.php.net/manual/ja/

■PEAR マニュアル
 http://pear.php.net/manual/ja/

過去スレ, 関連スレ及び注意事項等は、 あふぉが居なけりゃ>>2-5
0232nobodyさん04/03/11 00:51ID:???
>>231
まあまあ、おしえてくでよ
0233nobodyさん04/03/11 00:52ID:???
レスどうもです。コマンドラインミスるとbeep鳴るのは分かりますが、
動作確認したのがphpmyadminなので、SQL文ミスの恐れはないと思います。
先ほどisapiに変えてみたところビープが消えました。
が、isapiだと、これはこれでライブラリロード中のまま止まったりするし…。

サーバー側でメモリのエラーが出る→システムビープが鳴る
こんな予想立てて、ちょっくらanwebのサクーシャに問うてみます。
0234nobodyさん04/03/11 02:25ID:???
for($i=0; $i<8; $i++) $pass.=$char[array_rand($char)];

$charには、a-Z、0-9の文字が入ってます。$char[0]>a,$char[1]>b・・・・
これってちゃんと8個のランダムな文字列になってますよね?
srand();はしてないですけど。


ローカル(Windows)で動作試したんですが、10回ほどで同じものが出てきた時もありました。
62通りの8乗分の1なのに、たった10回で・・・
偶然、でいいんでしょうか?
何か気になります
0235nobodyさん04/03/11 05:59ID:???
>>231
おまいはいつもそれだけだな ばかかとおもわれるぞw

>>230
__FILE__ から抜き出すとかは?
0236nobodyさん04/03/11 08:15ID:???
>>133
AN HTTPDって、メッセージ関係はAnWeb表記なんだね。知らなかった。
0237nobodyさん04/03/11 10:16ID:???
>>213
BBSの部分を関数化し、
引数にDATファイル渡すようにしれ。
同じDATや違うDAT使うのも、切り替えしやすくなるぞ。
機能だけ関数化し、設定は外出し汁。
0238nobodyさん04/03/11 11:00ID:???
>>237
それだとinclude pathのチェック機構を入れないと、ASKACCSみたいな大恥をかく羽目に。
0239nobodyさん04/03/11 11:06ID:???
なんで>>235のような教えたがり厨が増えるんだ・・・
質問の仕方ってものがあるだろ、態度悪い奴に甘えさせるなよ。
まぁ、覚えたての知識を披露したいような厨に何言っても無駄だけど
0240nobodyさん04/03/11 11:27ID:???
>>239
とりあえず厨厨うるさいやっちゃな。
厨って言いたいだけちゃうんかと。
0241nobodyさん04/03/11 11:42ID:???
厨厨train
0242nobodyさん04/03/11 12:44ID:???
ここは質問しか書いてはいけないスレですか?
0243nobodyさん04/03/11 12:56ID:???
>>240
>厨って言いたいだけちゃうんかと
藻前↑コレ言いたいだけだろ
0244nobodyさん04/03/11 13:11ID:???
俺は>>241が言いたかった
0245nobodyさん04/03/11 13:28ID:???
ファンーふぁんーひーいざーつぇーつえー
同じかぜーのなかーうぃのーうぃのーおhh
きーきーきーらきあすきーすきー
と決めーきをはこぶーよとゅとゅとれーん
0246nobodyさん04/03/11 13:53ID:???
厨厨マウスはOK?
0247nobodyさん04/03/11 14:08ID:???
>>246
チュウチュウ
0248nobodyさん04/03/11 15:24ID:???
たくさんの処理をするスクリプトを書いているのですが、いまいちソースが見にくいです。

<?php

if($_REQUEST['mode']=='a'){
処理A
}
elseif($_REQUEST['mode']=='b'){
処理B
}

?>
と、延々と続いています。
一つの処理に付き、50行くらいなので、ソースがとても見れたもんじゃありません。
そこで、

処理Aを書いているもの・・a.inc
処理Bを書いているもの・・b.inc
として

if($_REQUEST['mode']=='a'){
require('a.inc');
}
elseif($_REQUEST['mode']=='b'){
require('a.inc');
}

とすれば、メインのソースは綺麗で、しかもそのままファイルの挿入を行うので、局所とか考えなくていいので楽ですが、素人丸出しです。。
みなさんはこういう場合どういう風にするのでしょうか?
0249nobodyさん04/03/11 15:31ID:???
いいんじゃないですか?
0250nobodyさん04/03/11 15:42ID:???
俺ならこうするな

switch($_REQUEST['mode']){
 case "a":
   require('a.inc');
   break;
 case "b":
   require('b.inc');
   break;
 default:
   break;
}
0251nobodyさん04/03/11 16:33ID:???
メール送信する際にmb_send_mailを使うと文字コードの問題が出ないとの事ですが
mb_send_mailを使っても受け取ったメールは文字化けします。

なぜでしょうか?
0252nobodyさん04/03/11 16:36ID:???
>>248
山田さんのやつみたいなのは?

ttp://www.dotaster.com/~s-yamada/php/

続きが読みたいんだけどもう更新されないのかな。。。
0253nobodyさん04/03/11 16:38ID:???
>>248
require じゃなくて include かなぁ?

あと、elseif が増えるようだったら、
switch〜case にしたり、
さらにツリー構造を作って、
includeの中でinclude。
025424804/03/11 16:48ID:???
ありがとうございます。
ファイルの挿入って、別に素人しかしないわけじゃないんですね。
ファイルに関数を詰め込んで、requireして関数を呼び出すのが上手な人のやり方だと思ったんですけどそうでもないみたいですね。

ところで、requireするファイルの先頭に<?phpつけないとphpの処理をしてくれないのって仕様ですか?
0255nobodyさん04/03/11 16:55ID:bi3wfCFY
>>253
見づらくないか

require/includeの為に分岐するコーディングは
普段しないが、敢えてするならこんな感じにする。

$mode_lists = array('a', 'b', 'c', ...);
if (in_array($_REQUEST['mode'], $mode_lists) {
  require $_REQUEST['mode'] . '.inc';
} else {
  error_reporting("WARNING: Choose unrecoganized mode");
  exit(1);
}
~
0256nobodyさん04/03/11 17:14ID:???
>>254
仕様
0257nobodyさん04/03/11 18:03ID:???
function.inc・・・関数の固まり
config.inc・・・変数の定義

main.phpでfunction.incのtest()を呼び出すとすると

main.php内にconfig.incを挿入して
test($st1r,$str2);
とするか

function.incにconfig.incを挿入して、
function test($a,$b){
  global $str1,$str2;
処理
}

として、main.php内でtest();


とするのはどっちがいいでしょうか?
後者のほうが、見た目がいいと思うんですが、
関数が一杯詰まってるファイルの中でグローバル宣言は控えたほうがいいでしょうか?
0258nobodyさん04/03/11 18:08ID:???
>>257
前者

ところで、後者でなぜグローバル変数を使う必要があるのか?
025925804/03/11 18:11ID:???
チョト訂正。
config.incで定義されている変数をfunction.inc内でしか使わないなら後者(グローバル宣言は除く)
0260nobodyさん04/03/11 18:12ID:???
全部引数で渡すのが普通じゃないのか?
026125804/03/11 18:14ID:???
いや待った。
定数の定義のみなら後者でもいいが、
変数の定義なら、普通はやっぱ前者。
026225704/03/11 18:19ID:???
function.inc内は

<?php

require('config.inc);

function func1(・・・){
・・・
}
function func2(・・・){
・・・
}
function func3(・・・){
・・・
}

?>
こういう状態だからです。

026325704/03/11 18:21ID:???
あ、>>258さんへのレスです。
0264nobodyさん04/03/11 18:25ID:???
俺は表立って使ってる変数は必ず引数で渡す。
裏で生成した一部の変数、例えばDBへのコネクションオブジェクトなど、
表に出てきて欲しくない変数は、globalで渡す。
026525804/03/11 18:41ID:???
main.phpでは定義済み変数を触らなくて、
関数がglobal宣言して参照しているだけならな
変数じゃなくて定数を使用すべきじゃないのか?。
026625704/03/11 19:06ID:???
定数がいいですね、スコープも関係ないし。
>>265さん、ありがとうございました。
0267nobodyさん04/03/11 19:59ID:???
マルチバイト文字をmb_strlenしても、その「文字数」になってしまいます。。
あああ・・・>3文字
この場合は6文字と返してほしいのですが、、何かありませんか?
0268nobodyさん04/03/11 20:03ID:???
>>267
mb_strwidth()
0269nobodyさん04/03/11 20:19ID:???
>>268
ありがとうございます。
0270nobodyさん04/03/11 23:05ID:???
>>235
アリガトヴ
0271nobodyさん04/03/12 12:37ID:???
変数 $mojiの先頭が全角スペースの場合、スペースを削りたい
0272nobodyさん04/03/12 12:44ID:???
$file ="data.cgi";

ここにアクセスすると自動的にリンク元が書き込まれるようにするにはどうすればいいでしゅか?
0273nobodyさん04/03/12 12:47ID:???
>>271
どうぞ

>>272
却下
0274nobodyさん04/03/12 12:59ID:???
>>273
わかんねぇならすっこんでろカス
0275nobodyさん04/03/12 13:16ID:???
>>274
やだね
0276nobodyさん04/03/12 13:22ID:???
>>271
mb_ereg_replace("^ ","",$moji);
0277nobodyさん04/03/12 13:29ID:???
>>276
正規表現厨ですか?
0278nobodyさん04/03/12 14:19ID:???
mb_ereg_replace("^ +","",$moji);
0279nobodyさん04/03/12 14:46ID:???
>>278
お前はいつも性器表現だな

俺のおすすめは
mb_ereg_replace("^ +","",$moji);
0280nobodyさん04/03/12 14:59ID:???
>>279
お前も正規表現だろ
0281今日始めたPHP君04/03/12 15:09ID:???
掲示板を作ってみたが書き込みできません。
なぜでしょう

<html>
<head>
<body>
<form method="post" action="<? echo $PHP_SELF; ?>">
<b>コメント</b><input name="name" type="text" size="20">
<input type="submit" value=" Send ">
<?
$data = file("data.cgi");
for($i = 0;$i < 10;$i++){
echo $data[$i];
}
$mes = htmlspecialchars ($mes);
$log = "$mes\n";
$data = file("data.cgi");
$fp = fopen("data.cgi","w");
fputs($fp,$log);
for($i = 0; $i < 20;$i++)
fputs($fp,$log[$i]);
fclose($fp);
?>
</form>
</body>
</head>
</html>
0282nobodyさん04/03/12 16:15ID:???
>>281
ポスト雌
0283今日始めたPHP君04/03/12 16:38ID:eRikD6BW
<form method="post" action="<? echo $PHP_SELF; ?>">
これですか?(何がミスってるか分からないでFA)
0284nobodyさん04/03/12 16:43ID:???
<b>コメント</b><input name="name" type="text" size="20">
雌
0285nobodyさん04/03/12 16:46ID:???
>>281
何か抜けてる行がいっぱい。

取り合えず、
1.既存のデータファイルから読み込み変数に保持。
(読み出しの行数に制限は掛けないでファイルの最後まで読む)
2.保持してるデータを画面に出力(読み出しながらでも良いけどね)
3.一旦データファイルを閉じて、再度書き込みでオープン
4.保持してる変数の中身と、ブラウザからの入力には関係ない
プログラム中で指定した特定の文字列をデータファイルに書き込む。

つう感じのプログラム書いてみ。
(練習用なので上の処理には無駄があるが)
0286nobodyさん04/03/12 16:50ID:???
雌って$mesのことだと思うよ。
0287nobodyさん04/03/12 17:03ID:???
動かす鯖によってはpostの変数が取得できないれす
ログがもし画面出力されても改行されないれす(ブラウザ状で表示するなら)
このままでは直前の書き込みしかファイルに出力されないれす
0288nobodyさん04/03/12 17:31ID:???
>>280
0289nobodyさん04/03/12 17:57ID:???
たぶん>>281は意味も分からずサンプルを丸写ししたっぽ
>>285の内容すら理解できてないよ
0290nobodyさん04/03/12 18:58ID:???
こんにちは。
*.chmの日本語版PHPヘルプはどこにありますか?
0291nobodyさん04/03/12 19:37ID:K27QBh9I
以下のclass.FastTemplate.phpを使ってきたのですが、問題が発生しました。
ttp://www.zend.com/zend/trick/tricks-nov-2001.php
どなたか解決方法があれば、教えてください。
問題は、フォームに「\0」が入力されると、置換処理が行われません。
winの場合は「\0」のみですが、linux環境の場合、「\2」とか「\4」とかでも問題が出ます。
ソースは以下の簡単なもので確認できます。

include_once ("class.FastTemplate.php");
$tpl = new FastTemplate(".");
$tpl->define(array(test => "test.html"));
$title = htmlspecialchars(stripslashes($_POST[title]));
$tpl->assign( "title", $title );
$tpl->parse( "CONTENTS", "test" );
$tpl->FastPrint();

強引ですが、円マークがPOSTされたら、強制的に全角にしてしまう、
という解決策を考えたのですが、スマートな解決策があれば教えてください。
0292nobodyさん04/03/12 20:16ID:???
>>291
stripslashesしているけど、
magic_quotes_gpc=On
な環境なのか?
029329104/03/12 20:35ID:K27QBh9I
>>そうです
magic_quotes_gpcはONです
magic_quotes_gpcに関係なく、「\0」などで置換しようとすると問題です。
以下の場合もダメということです
$tpl->assign( "title", '\0' );
0294nobodyさん04/03/12 20:53ID:???
>>293
そうなると、class.FastTemplate.phpのソースを見てみないとワカランが、
\0を文字列としてではなく数字として認識してしまっているとか?
または\0=NULLもしくは特別な文字として扱っているとか。
試しに、$tpl->assign( "title", '\\0' );としたらどうなるのだろう...
0295nobodyさん04/03/12 21:31ID:???
>>289
彼は始めたばっかだから色々判らなくて構わないと思う。
ただ最初から自分のやってることが判んなくて他人に
訊くつうことは、その取っ掛かりの難易度が高いか、
人に頼るのに慣れてしまってるのかのどちらか、またはその両方。
なんでコードありきじゃなくアルゴリズムから追っていった
方が楽だと思うんだよね。
0296nobodyさん04/03/12 22:05ID:USSqUR4c
session_name()にPHPSESSID以外のものを
出そうと考えています。
どうも以下の書き方ではうまくいきません。

$previous_name = session_name("WebsiteID");
echo "前回のセッション名は、$previous_name です。<p>";
0297nobodyさん04/03/12 22:09ID:???
>>296
それは残念だな。
0298nobodyさん04/03/12 23:01ID:???
>>297 = >>273

>>274
0299nobodyさん04/03/12 23:35ID:???
>>298 ← >>269
0300nobodyさん04/03/13 11:03ID:???
>>297
おまい不快なんだって。
0301nobodyさん04/03/13 17:37ID:???
newしてオブジェクトを生成せずにクラスの関数を呼び出したいのですが、PHPだと
どのように記述しますか?
$obj = new SomeClass();
$ret = $obj->func();
じゃなく
$ret = SomeClass->func();
見たいな感じで利用したいのですが

0302nobodyさん04/03/13 17:46ID:???
>301
::
030330104/03/13 17:52ID:???
>>302
出来ました。
ところでこれって全ての関数に利用する事が出来ると思うんですが、それを
制限する事って出来るのですか?
Javaでいうとこの private/publicみたいな、全ての関数にクラス利用者がアクセス
出来るのは・・・
0304nobodyさん04/03/13 17:53ID:???
>>303
PHPには暮らすのアクセス制限はありませんよ
0305nobodyさん04/03/13 18:08ID:???
クラスって何のためにあるんですか、いまいちわかりません。
詳しい友達から聞くと
関数はexe自体、クラスはlnkだ、つってたんですが・・・
例えば
a.php
<?php
require('function.php');
echo aiueo($a,$b);
?>

b.php
<?php
require('function.php');
echo aiueo($a,$b);
?>

function.php
<?php
function aiueo($a,$b){
return($a*$b);
}
?>

こういうファイルを友達にみせると、毎回requireしてるので無駄だって言うんですが
0306305続きです04/03/13 18:11ID:???
クラスにした場合だって

a.php
<?php
require('class.php');
echo aiueo::hoge($a,$b);
?>

b.php
<?php
require('class.php');
echo aiueo::hoge($a,$b);
?>

class.php
<?php
class aiueo{
 function hoge($a,$b){
  return $a*$b;
 }
}
?>

このように毎回requireするから変わらないんじゃないでしょうか?
0307nobodyさん04/03/13 18:33ID:???
厨な質問で済みませんが、以下のように"<"を表示させたいのですが
できないのです。どうやったら"<"を表示できるのでしょうか。
よろしくお願いいたします。


<?php
print "<";
?>
0308nobodyさん04/03/13 18:37ID:???
>>307
ブラウザでってことだよね。
そのまま表示するとhtmlタグとして認識されるから、エスケープしないとね。(ソースには<って出てるでしょ)
「<」これを単一で表示したいなら、print "&lt";(&は半角に直してね)
エスケープする関数使うなら
print htmlspecialchars("<");
0309nobodyさん04/03/13 18:43ID:???
>308様

 ありがとうございました。
 ググっても全然出てこないので困っていましたので、
ご教示大変感謝致します。
0310nobodyさん04/03/13 19:33ID:???
ちょっと前に話題になっていた、配列を返す関数を作った場合のこと
で質問です。

function bar() {
...
if ($true) return $true_array;

return FALSE;
}

見たいな関数を作ったとき
呼び出し元はどうしますか?

$ret_array = bar();
if (!$ret_array) {
// error !!!
}

か

$ret_array = bar();
if (!is_array($ret_array)) {
// error !!!
}
0311nobodyさん04/03/13 19:45ID:???
>>306
それだけじゃかわらんわな。
クラスをある機能を実現する関数郡ととりあえず例える。
関数郡ということなら、そのファイルを読むだけでクラス化しなくても
同じだのだが、
a.phpからはその関数郡をそのまま使う。
しかし、b.phpは
その関数郡のうち、一部だけ機能を変更したい。
一部の機能を追加したい。
等ということしようとすると、クラス化したほうが便利。

参考としてPEAR_Authのソースを見ると判るが、
usernameとpasswordの格納先(File,DB,LDAP等)に応じて
Auth_Containerクラスを継承している。

0312nobodyさん04/03/13 19:50ID:???
>>311
難しいです・・・

function.phpに

function hoge1(・・){
・・
}
function hoge2(・・){
・・
}
〜hoge10まで10個関数があるとして、
a.phpはhoge1〜hoge10まで全部使う、b.phpはhoge3だけ使うとすると、どういう風になるのでしょうか?
0313nobodyさん04/03/13 19:50ID:???
>>310
漏れは前者派。
if(!$ret_array=bar()){
//error
}
みたいなやり方するし。
0314nobodyさん04/03/13 20:05ID:???
>>312
いや、それだけだとクラス化する利点が出ない。
hoge1-10を使うが、
b.phpはhoge3を一部改造して、hoge11機能を追加したいとか、
c.phpは各関数の結果は直接要らんが、その結果から得られる新たな値が欲しい。
なんて形にならないとな。要は使うときに機能の変更や追加をしたい場合。
後、プロパティ(言い換えれば、クラス化内スコープな変数)を使った
関数郡の連携とか。global変数じゃないので、メインスクリプトとの変数名の衝突がない。
0315nobodyさん04/03/13 20:09ID:???
>>314
うーん。。。やはりよく分かりません。。
必要な時期になれば分かりますかねぇ、、。。
今のところは何も考えずにがんばっていきます
0316nobodyさん04/03/13 20:18ID:???
>>315
たとえばデータベース操作する関数群をクラス化すると便利だと思わない?
0317nobodyさん04/03/13 20:24ID:???
たとえばMySQL使ってると仮定し、毎回SQLを送るためにmysql_query()関数使って
PHP書いていたとしよう。あるとき仕様が変わってDBがPostgreSQLに変わったとしたら、
あちこちのmysql_query()をpg_query()に書き換える必要が出てくる。

もしデータベース関連をクラス化しておけば、書き換える部分は一箇所で済むだろう。
あるいは様々なDBに対応したクラスがあれば、色々なサイトを作るときに毎回使い回しが効く。
0318nobodyさん04/03/13 20:33ID:???
>>317
class db_query{
 var $qb=mysql;
・
・
・
・
・
}
こんな感じで作っておいて、クラスから呼び出すということですか?
031929304/03/13 22:20ID:MdRW/jwC
>>294
なんとか、自己解決しました。
$tpl->assign( "title", '\\0' );としたら,結果は「\0」に置換されました。
class.FastTemplate.phpのソースを見たら、
問題の部分が以下のようになっていました。
$template = ereg_replace("$key","$val","$template");
// $template = str_replace("$key","$val","$template");

以前に自分でソースを見たときに同じような処理をしていたので、下の方をコメントしたのを思い出しました。
ちなにに、コメントを外して両方の置換処理を有効にしたら、
$tpl->assign( "title", '\0' );
の処理が正常にできました。
しかし、\0のあとに文字を入れると、
$tpl->assign( "title", '\0a' );
「\0aa」と置換がダブりました。
結局、両方の置換を有効にして、順番を入れ換えるのが最善のようでした。
$template = str_replace("$key","$val","$template");
$template = ereg_replace("$key","$val","$template");
しかし、やっぱり、
$tpl->assign( "title", '\\0' );
のように「¥」が重なると、エスケープの格好になるので結果は「\0」ですね。
smartyのtemplateだとこういうことは無いのかな?
0320nobodyさん04/03/13 23:19ID:???
$this->db="mysql";
の時
mysql_connectを
$this->db_connectってやってもうまくいかないんですが、どうすればいいですか?
${this->db}_connectとかもやってみたんですが・・・
0321nobodyさん04/03/13 23:54ID:???
質問です。
実行時間がたまに極端に長くなってしまうスクリプトがあり、
指定した時間でタイムアウトさせる方法を探しているのですが、
タイムアウト時に特定の文字列を出力する方法がどうしても分かりません。

何か方法はありますでしょうか。。
0322nobodyさん04/03/14 03:07ID:z/827O17
現在Linux−Apach環境にてPHPを使用してWEBシステムを構築しています。
CPU:p4-2.0
MEM:256+256+128MB
DB :Oracle9i
OS :Redhat7.2(Kernel 2.4.9-13)
で、質問なのですが、CSVを抽出する処理でメモリを大量(50MB程度)に消費するのですが、
OSがメモリを解放するまでにメモリを食いつぶしてしまうのですが、
PHP処理終了時に使用したメモリを強制的に解放する設定or関数などないでしょうか?

ちなみに、DBが確保したメモリ解放命令は入れてあります。
そのレコードセットを配列に確保するのにメモリを消費しているようです。
わかる方がいらっしゃたら教えてください。
0323nobodyさん04/03/14 04:51ID:???
>>318
pearのDBを見ればイメージが湧くかな?
http://pear.php.net/manual/ja/package.database.php

>>320
$this->db_connect()は自分自身のインスタンスのdb_connect関数を呼び出すという意味。
db_connectからmysql_connectはどうやって見つけるのだ?

>>321
   〃∩ ∧_∧
   ⊂⌒( ´・ω・)くぜんぶマニュアルの機能・接続処理のページに書いてあったでつ
     `ヽ_っ⌒/⌒c
032432004/03/14 05:34ID:???
>>323
だから、${this->db}などとして、こいつをなんとか展開させようとしてるのですが・・・
どうやったらいいのでしょうか?

プロパティ$dbにはmysqlという文字列が入っていて
それをどうにかして
mysql_connectとしたいのです・・・
0325nobodyさん04/03/14 06:04ID:???
>>324
eval()を使えば可能だろうけど何となくイヤン。

class BaseDB{
 function db_connect(){}
}
class ExMySQL extends {
 function db_connect(){}
}
class ExPostgreSQL extends BaseDB{
 function db_connect(){}
}
ってな感じにしておいて、
$ex_db = new ExMySQL() や $ex_db = new ExPostgreSQL() から
$ex_db->db_connect()で呼び出すのも手かと。
*_connectだけで無く他の関数の違いも吸収しやすいし。
0326nobodyさん04/03/14 07:59ID:???
>>324
$func_connnect = $this->db . '_connect';
$con = $func_connect($host, $user, $passwd);

でダメ?
0327nobodyさん04/03/14 10:01ID:???
数値の+-(プラス・マイナス)を表記する関数などがあったら教えてください。
0328nobodyさん04/03/14 10:21ID:???
>>323
すんません、見つからなかったです。。
set_time_limitとregister_shutdown_functionの組み合わせで出来るかと
思ったんですがregister_shutdown_functionではブラウザへの出力処理は
無効みたいで…。

他にはset_time_limitとset_error_handlerとtrigger_errorの組み合わせも
使えそうなんですがどうも例題が分かり難く自分向けの応用が出来んのです

あとは終了する前にJavascriptを出力しておき不完全読み込みのまま
一定時間経過すると専用のページにジャンプする方法も考えたのですが、
どうも順次結果を出力する事が出来ずで…。
コネクションを維持したままブラウザに出力するのには特別な設定が必要
なんでしたっけ・・・?
ウチのサーバが標準でgzip出力なのが問題なのだろうか・・・。
0329nobodyさん04/03/14 12:41ID:???
ループ処理で、一回の処理を10秒毎に遅延させて実行させたいと思っておりますが、
どのようにしたらよいでしょうか。

for($i = 0; $i =< 10; $i++) {
echo $text[$i];
//(ここで10秒待ちたい)
}

ご教示お願いします。
0330nobodyさん04/03/14 13:17ID:???
>>329
寝ろ
0331nobodyさん04/03/14 13:26ID:???
>>329
初心者だけどアドバイス
sleep(10);
とかじゃダメかな?
ttp://php.s3.to/man/function.sleep.html
■ このスレッドは過去ログ倉庫に格納されています