【PHP】下らねぇ質問はここに書き込みやがれ 65
at PHP
1:nobodyさん
08/02/24 21:03:17
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 64
スレリンク(php板)
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
2:nobodyさん
08/02/24 21:03:50
【簡易FAQ】 (1/3)
1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ URLリンク(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)、起動&再起動あたり
3:nobodyさん
08/02/24 21:04:03
【簡易FAQ】 (2/3)
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
URLリンク(www.faqts.com)
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.を参照
4:nobodyさん
08/02/24 21:04:16
【簡易FAQ】 (3/3)
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
5:nobodyさん
08/02/24 21:04:30
関連リンク
■本家マニュアル URLリンク(www.php.net)
■日本PHPユーザ会 URLリンク(www.php.gr.jp)
■PEARマニュアル URLリンク(pear.php.net)
■メーリングリスト URLリンク(ns1.php.gr.jp)
■ZFマニュアル URLリンク(framework.zend.com)
(以下英語)
■Smarty URLリンク(smarty.php.net)
■Zend本家 URLリンク(www.zend.com)
■Zend Framework URLリンク(framework.zend.com)
■php | architect URLリンク(www.phparch.com)
■Smartyマニュアル URLリンク(smarty.php.net)
■PECL本家(英語) URLリンク(pecl.php.net)
6:nobodyさん
08/02/24 21:05:01
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 64
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 61
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 62
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 61
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 60
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 59
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 58
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 57
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 56
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 55
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 54
スレリンク(php板)
【PHP】下らねぇ質問はここに書き込みやがれ 53
スレリンク(php板)
7:nobodyさん
08/02/24 21:23:37
>>1 死ね。何回テンプレ間違えたら気が済むんだ?
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 64
スレリンク(php板)
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
8:nobodyさん
08/02/24 23:43:55 u17cTLyd
質問です
redhat 8
apache 2.0.40
PHP Version 4.2.2
下記のようにメインルーチンでfopenをして、そのファイルハンドラを
関数に引き継いだ場合、関数側でそのファイルハンドラに対して、書き込みができないのですが、
これは仕様でしょうか?
//メインルーチン
<?
if (!($fno = fopen("dbg.txt", 'w'))) {
die;}
//関数コール
Au($fno);
//関数
function Au($fno){
fputs($fno, hoge);
}
fclose($fno);
?>
9:nobodyさん
08/02/24 23:50:24
>>8
普通に動くが・・・
10:8
08/02/25 00:18:18 67ayJX2Z
>>9
逆にパラメータの引き継ぎをしなければ、ファイルアクセスできないのですか?
11:nobodyさん
08/02/25 00:23:45
パラメータ渡さないと何に書き込むか解らんだろ
直近のファイルポインタに対して書き込みたいとかってーなら
クラス化とかして俺俺クラス作れば良い
12:8
08/02/25 00:30:18 67ayJX2Z
>>11
了解しました
サンクス子
13:nobodyさん
08/02/25 00:44:33
ひとまず前スレ埋めような
スレリンク(php板)
14:nobodyさん
08/02/25 00:45:30
シュッ
シュッ
シュッ ハ,,ハ シュッ
ハ,,ハ彡( ゚ω゚ ),ハ
( ゚ω゚ )彡ミ( ゚ω゚ ) お断りします
_(__つ/ ̄ ̄ ̄/_
\/ /
15:nobodyさん
08/02/25 12:05:43
___
, 二¨-―-- 、`丶、
/_ ..-―-.. 、十ヽ\
//::.::,:.:.:./::/::.::.l::.::`ヽ、\ヽ
〃::/:::/:.:.:/::/::.:/::|::.:、:.::.::ヽ ハ `、
l::.:::l:: ,':l:::/::/::.:/::;小:::l::ト、::.:V l ヽ
{::.:::|:::l::|::l::/::.:/::/:/:_j⊥l::ヽ:!} \
. ハ::.::l:::|┼く:/::/ /'´ノ ヽ:∨::.:l | /
〈 l::.:|:::l::|∠、ノ , =≡V::.::/|/
ヽヘ::ヽ::V⌒゙ , "゙ / :::,' l〔 下らねぇ質問は
/rヘ::\ ゛゛ rーヘ 彡: / /:::Y⌒i ここに書き込みやがれ
l冫/ }`ヽミヽ、ヽ、ノ, イ:`7十/::.::.:l | ですぅ
// /:::_rヘ_`二√ __〉/ レヘ::} |
// ,'/夕r==、∨---/、/ f==ミフ 厂ト、
. // 〃r7,イ| >トマ ̄〉 7ヽ厶ィ {ヽ 」__/ / 〉
, -‐'7/ /:.rク/ {ニ=彳/ ハ ∨, / ̄:{八_‐-┴勹
/ / /: :/7/ /,イ/ / /、/_ /: : : :|:厶 `^´ 人
ヽ冫< / {: : :Y〈__ //〃 ,' / 7ヽ ,仆、: : :|| : :`¨¨´: :冫、
16:nobodyさん
08/02/25 14:32:22
>>13
半年ROMってろ
17:nobodyさん
08/02/25 19:54:35 VX5+CaAR
簡単なグラフを出力したいのですが、GDやMing(Flash)ライブラリがインストールされていません。
他にグラフを出力する良い方法はありませんか?
CSSとかHTMLのimg要素を使って、HTMLのソースを動的に出力する方法しか思い浮かびません。
他にもっと何か方法があれば教えてください。
18:nobodyさん
08/02/25 20:00:32
>>17
棒グラフなら<hr>で代用可能
19:nobodyさん
08/02/25 20:01:45 igqyKmSz
質問です。
header()関数の前でechoとかで文字列を出力しています。
仕様上header()関数の前でechoで出力しているもの(テンプレートのヘッダー)は出力しないようにするのは無理なんですが、
header()関数が呼び出されたらheader情報をクリアしてからheader()関数を実行するようにはできないでしょうか?
20:nobodyさん
08/02/25 20:06:03
>>19
> 仕様上header()関数の前でechoで出力している
仕様を見直した方が良いと思うよ。
21:nobodyさん
08/02/25 20:09:46 igqyKmSz
>>20
テンプレート側で、ヘッダーとフッターを標準で出力するようにしています。
ボディーが動的に変わるようにしており、問題が起こっているところがボディーで呼び出しているheader関数のところなんです。
仕様を見直したほうが、ということは、作り直しということですか?
22:nobodyさん
08/02/25 20:13:05
phpの何たらっつー設定で回避できたはず。
ところでそういう「ヘッダー+コンテンツ+フッター」じゃなくて
「総枠組み+コンテンツ」とかいう方式なんて言ったっけ?そっちのほうがいいんじゃね。
23:nobodyさん
08/02/25 20:16:13
PHP: 出力制御 - Manual
URLリンク(jp.php.net)
仕様上出力しないようにするのが無理なら無理だけどな
24:nobodyさん
08/02/25 20:23:18
>>21
header()で何を出力してるの?
25:nobodyさん
08/02/25 20:44:03 igqyKmSz
>>23
ありがとうございます。
ちょっとサーバの設定を見直してみます。
>>24
header()関数で出力しているものはサーバ上のファイルです。
header ("Content-Disposition: attachment; filename=".$file);
header ("Content-type: application/octet-stream")
readfile ("file/".$file);
exit;
上記を実行する前にテンプレート側のヘッダーを呼び出してしまっているので、
ダウンロードするデータの中にはテンプレート(ヘッダー)+ダウンロードファイルとなってしまっている状態です。
26:25
08/02/25 21:29:37
とりあえず出力系のものは全て1つの関数にまとめ、bodyを呼び出すときに作成した関数を呼び出し引数を与え、テンプレートを出力することで回避できました。
回答して下さった方々、ありがとうございました。
27:nobodyさん
08/02/25 21:33:03
mbstring.script_encodingはスクリプトの文字コードだと思うんですが、
mbstring.strict_encodingというのは何なんですか?
28:nobodyさん
08/02/25 21:34:01
>>7
29:nobodyさん
08/02/26 22:39:54 AjWFGOA4
file_get_contentsなどで取りに行ったファイルが404だったり503だったりした場合
そのレスポンスコードを判別する方法はありますか?
30:nobodyさん
08/02/27 03:39:18
>>29
できないですね。
レスポンスを取得したいならHTTPリクエスト投げたほうが良いかと
31:nobodyさん
08/02/27 06:04:23 1t015U4G
・2つのサービス(A,B)で同じDB(同じユーザ情報)を参照
・ドメインは異なる
この場合、Aにログインした状態でBにアクセスすると自動的にログインが
行われるようにしたいのですが、どのようにしたらいいのでしょうか?
よろしくお願いします。
32:nobodyさん
08/02/27 06:16:41
>>31
dbでsession管理するとか
dbにログイン情報持たせるとか
33:31
08/02/27 07:34:17
>>32
ありがとうございます。
重ねてすみませんが、DBにセッションを格納する場合、
ドメインが違うとsession_idが異なってしまうみたいなのですが
どうしたらいいのでしょう、、、
34:nobodyさん
08/02/27 08:01:59
DBにセッションを格納するんならsession idが変わっても問題無いだろ。
35:nobodyさん
08/02/27 08:16:25 sItN3geE
質問します
あるディレクトリに特定の文字列で名前が始まるJPGがあるか確認したいんですが
どうしたらいいでしょう?
20080227_100で始まるファイル名を例にして教えてください
よろしくお願いします
36:nobodyさん
08/02/27 08:26:02
>>31
ログイン中かどうか程度の情報ならクッキーに入れとけば?
37:nobodyさん
08/02/27 08:37:38
>>35
glob('dirname/20080227_100*.jpg')
とか。
38:nobodyさん
08/02/27 08:46:09
>>36
異ドメインだと言っている
39:35
08/02/27 08:56:42
>>37
おおおっ こういうやり方かぁー
きっと正規表現の基礎なんですね ありがとう、勉強します
40:nobodyさん
08/02/27 09:38:03
正規表現以前だよ。Linuxも勉強したほうがよい
41:29
08/02/27 11:31:12
>>30
了解です。ありがとうございます。
42:nobodyさん
08/02/27 12:06:56 YQJ5tlSl
php://stdinで取得できる入力って、
スクリプトが実行されている間はいつでも取得できるのですか?
43:nobodyさん
08/02/27 12:15:22
終盤は取得できない
44:nobodyさん
08/02/27 13:16:40
function foo(&$obj) { $obj->data = 123; }
という関数に対して、
foo($obj); と foo(&$obj); で
呼び出すのでは結果が違うんですね。
意味がわかりません。
45:nobodyさん
08/02/27 13:22:18
>>44
同じに見えるけど、どう結果が違うの?
PHP5.2 WinXP
class Boo {}
$obj1 = new Boo();
foo($obj1);
print_r($obj1);
$obj2 = new Boo();
foo(&$obj2);
print_r($obj2);
function foo(&$obj) {
$obj->data = 123;
}
46:nobodyさん
08/02/27 13:33:28
>>44
>>7
47:nobodyさん
08/02/27 13:41:47
pho4と5ではそこらへん挙動が変わってる
でも呼び出す側でfoo(&$obj);ってする事は
無いと思うんだけど
48:nobodyさん
08/02/27 14:34:18
おかしいなぁ。確かに、$thisと&$thisで挙動が変わっているんだよ。
PHP4ね。フレームワークでいろいろ実行される一部分の処理だから
具体的にどこが問題なのかわからないや。
49:nobodyさん
08/02/27 15:20:59
CakePHPの問題だったよ。
PHP4でoverloadを使ったとき(多くのクラスで使われている)の問題。
バグなのか仕様なのかわからんけど。
class A extends overloadable {
function foo(&$obj) {
$obj->value=2;
}
}
class B {}
$a = new A();
$b = new B();
$b->value=1;
$a->foo($b);
print_r($b);
これを実行すると1が表示される。
$a->foo($b); を $a->foo(&$b) ; に変更すると
2が表示される
50:nobodyさん
08/02/27 15:33:09
CakePHP部分を取り除いて通常のPHPにしました。
これと似たような問題?バグであり回避は不可能なのかな?
php4で overload() して __call() を定義するとリファレンスで返せなくなる?
URLリンク(blog.livedoor.jp)
class A {
function foo(&$obj) {
$obj->value=2;
}
function __call($method, $params, &$return) {
return true;
}
}
overload('A');
class B {}
$a = new A();
$b = new B();
$b->value=1;
$a->foo($b);
print_r($b);
51:nobodyさん
08/02/27 15:37:55 lCPSweHG
どうにも不可解な事が起こったのでお時間ある方試していただけないでしょうか?
(長文なので3つに分けます。コード部分は2つです。すいません)
コードをさらします。UTF-8で保存してください。
session_start();
if(!isset($_SESSION['test'])){
$_SESSION['test'] = array(
array("name"=>"ほげ","age"=>32,"date"=>"2008-02-27 13:03:24.999999"),
array("name"=>"ふが","age"=>23,"date"=>"2008-02-27 13:03:24.333333"),
array("name"=>"おおおええええ","age"=>23,"date"=>"2008-02-27 13:03:24.999999"),
array("name"=>"文字化け","age"=>25,"date"=>"2008-02-27 13:03:24.333333"),
array("name"=>"最新","age"=>26,"date"=>"2008-02-27 13:03:24.111111"),
array("name"=>"ぼえぼえ","age"=>32,"date"=>"2008-02-27 13:03:24.666666"),
array("name"=>"おろろろ","age"=>25,"date"=>"2008-02-27 13:03:24.111111"),
array("name"=>"おえ","age"=>26,"date"=>"2008-02-27 13:03:24.666666"),
);
}
$order = array("age"=>SORT_DESC,"date"=>SORT_ASC);
_2KeySort($_SESSION['test'], $order);
$temp = $_SESSION['test'];
foreach($temp as $key=>$value){
$value['name'] = mb_convert_encoding($value['name'], 'SJIS', 'UTF-8');
$temp[$key] = $value;
}
echo "<pre>";
print_r($temp);
echo "</pre>";
echo "<pre style='background-color:#EEEEEE;'>";
print_r($_SESSION);
echo "</pre>";
//続く>>
52:51
08/02/27 15:38:37 lCPSweHG
//51の続き
function _2KeySort(array &$array, array &$columns_order){
$array_sort = array();
$array_order = array();
$i=0;
foreach($columns_order as $column => &$order){
if(!array_key_exists($column,reset($array))){
require_once 'Sd/Exception.php';
throw new Sd_Exception("ソートに指定されたキー[{$column}]がありません。");
}
foreach ($array as $key => &$row)
$array_sort[$i][] = $row[$column];
$array_order[$i] = $order;
++$i;
}
array_multisort($array_sort[0], $array_order[0], $array_sort[1], $array_order[1], $array);
}
53:51
08/02/27 15:39:26
>>51の続き
@まず、セッションに配列を保存。
Aセッションの配列をソート
Bセッションを別の変数に代入し文字コードを変換。
C代入した変数とセッションを表示
という流れです。
なぜか、セッションのデータも文字コードが変わってしまいます。しかも、全部ではありません。うちの環境では「おえ
」だけがUTF-8のままです。なので、表示の度に、めちゃめちゃに文字化けしていきます。
ちなみに、ソートする関数をコメントアウトすると、セッションの文字コードは変わらなくなります。
$temp = $_SESSION['test']というのは参照ではなく値のコピーですよね?
ソートする関数で、参照渡しにしなくていいところもありそうですが、それ以前に、セッションの文字コードに影響が出るのはおかしくないでしょうか?
実際には、Zend_Frameworkと、出力部分にSmartyを使用した、そこそこ大きなアプリで起こったことなのですが、
いろいろ試して、やっとここまで問題を切り分けました。
ソートする関数の参照渡しをやめるか、セッションに保存する前にSJISに変換して、出力の度に変換するのをやめれば
この問題は解決できるのですが、根本的な解決というか、理解になっていないので、気になります。たすけてください。
PHP Version 5.1.6です。
長文すいません。
54:nobodyさん
08/02/27 15:47:14
なんで肝心なとこだけ書かないの?
わざわざ回答者が全部見ると思う?
55:51
08/02/27 16:05:29
今、またいろいろ試してたのですが
ソートする関数内で、
array_multisortの為に、ソート対象カラムの配列を作るところのforeachで
foreach ($array as $key => &$row)
を
foreach ($array as $key => $row)
と参照をやめると、文字化けしないようです。
ここはソート対象カラムの配列のために、代入してる場所なので参照にする必要はなかったです。
なんかarray_multisortまわりか、参照渡しのバグっぽくないですか?
>>54
すいません。
これでもかなり問題を切り分けて、まとめて、要点のみ書いたんです。
ソースをそのまま実行できるように書いたほうが、いいのかなあ、なんて・・
せめて、53を最初に書いたほうがよかったかな。
読むのうざいと思いますが、そこを何とかお願いします
56:nobodyさん
08/02/27 16:06:20
>>51
たぶんmb_convert_encoding出来て無いんだと思う。
mb_language('Japanese');
$value['name'] = mb_convert_encoding($value['name'], 'SJIS', 'auto');
こうするとどうなる?
57:nobodyさん
08/02/27 16:09:21
autoはダメだろjk
ってか、なんでまたID隠し始めたんだ?51は
>>55
> なんかarray_multisortまわりか、参照渡しのバグっぽくないですか?
自分のソースをまず疑え
とPHPのえらい人が言ってました
どこで文字化けが起きてるかprint_rなどで各場所で文字化けがおきていないかチェックしたら?
58:nobodyさん
08/02/27 16:19:18
>>57
ダメだけど、ひょっとしたら自動変換してたら、と思って。
59:nobodyさん
08/02/27 16:48:18
未だに jk とか使ってる奴いるんだな。
生きてて恥ずかしくないか?
60:nobodyさん
08/02/27 17:05:32
j 女子
k 高生
?
61:nobodyさん
08/02/27 17:06:25
「常識的に考えて」
62:nobodyさん
08/02/27 17:27:05
>>61
KYは知っていたけどね。
おぢさん、初めて知ったよ。
ありがとう。早速今度の会議で使ってみるよ。
63:nobodyさん
08/02/27 17:31:36
危険予知は現場労働の基本だからな。
64:nobodyさん
08/02/27 17:33:00
>>62
おじさんごめんね
これ2ch発なんだ
65:nobodyさん
08/02/27 18:00:03
>>64
これがKYの良い例
66:nobodyさん
08/02/27 18:03:18 n+zWmSsJ
WindowsXP
apache 2.2
PHP Version 5.25
URLリンク(www.standpower.com)
↑ここを見て導入しました。
ファイル名 info.php
<?php
$hello="Hello World";
print ($hello);
?>
を作って
URLリンク(localhost)
を見てみると、「このファイルをダウンロードしますか?」となってinfo.phpをダウンロード
するかどうかのウィンドウが出てきます。どこか間違っているのでしょうか。
67:nobodyさん
08/02/27 18:06:22
Apacheの設定がおかしいんだろうから、とりあえず Apacheのエラーログ見れ。
68:nobodyさん
08/02/27 18:14:24
なんと分かりやすい
69:66
08/02/27 18:21:44
>>67
httpd.confの書き換えが間違っていたようです。
ありがとうございました。
70:51
08/02/27 18:29:48 lCPSweHG
>>56
$value['name'] = 'hogehoge';
でも元のセッションが変わってしまします。(同じく一部を除いて)
>>57
文字コードを変換してるforeachのなかで、元のセッションかわちゃってます。
IDは隠したわけじゃなく、連続で上げたら怒られるかなとおもって、sageにしちゃいました。
ためしに5.2.5が入ってるサーバーで試したら元のセッションは一切変わらず、問題なく動きました。
サーバーの設定かもしれませんが、基本php.iniはデフォルトのままで、.htaccessで設定してるので
見比べた感じ原因と思われるような違いはありません・・・
71:nobodyさん
08/02/27 18:38:00
欧文ならマトモに動作するんだよね?
sessionファイルをtmpから引きずり出して覗いて見るのは、さすがにキツい?
72:nobodyさん
08/02/27 20:26:06
解説サイト見てもよくわからんのですが
ログファイルを使ったページ分割のロジックはどういうものなんでしょうか?
記事数を1ページ辺りの記事表示数で割って表示しますよね。
その後の前のページに戻るとかのロジックがまったくよくわかりません。
スーパーグローバル関数のGETとか使うんですよね?
73:nobodyさん
08/02/27 20:30:05
>>7
74:nobodyさん
08/02/27 20:40:28
>>72
どこの解説サイト見てんの?
75:nobodyさん
08/02/27 21:25:22
URLリンク(www.phppro.jp)
ここなんですがユーザー関数とかに構造が分離されてて
自分の作りたいモノに流用すると複雑怪奇になりすぎて・・・
76:nobodyさん
08/02/27 22:10:24
前のページに戻る機能は現在のページから1引いた数をアンカーに付ければいいだけだと思うが。
そういう話じゃない?
全74件あって10件ずつ表示するなら、ページ5でリクエストが来たら41〜50件目の内容を、ページ4では31〜40件目の内容を取得すればいい。
ページごとに独立して考えればそんなに難しくないと思うけども。
77:nobodyさん
08/02/27 22:17:53
そのページ5で指示が来た時に該当件数を表示する
書き方がよく・・・・・・・
すべての投稿数数えて一ページあたりの表示数で割って
それから具体的にどうするんでしたっけ?
単に基礎知識足りなさ過ぎるだけなのか
頭が猛烈に足りないのか・・・・・・
htmlなら直感的にイメージ出切るぐらいまでそこそこわかるんですが
こういう二重、三重のロジックだとどうしても思考停止状態に陥ってしまうんですよね・・
78:nobodyさん
08/02/27 22:27:56
例えば総ページ数を番号で出すには
全体の投稿数を1ページ辺りの投稿数で割り余り分のためにページをプラス1して
表示するんですよね?
今度は表示したリンクをクリックした後に該当の投稿行をピックアップするように
またプログラムを用意すると・・・・あああ、ややこしい。
79:nobodyさん
08/02/27 22:35:21
君は向いてないね
80:nobodyさん
08/02/27 22:36:30
だと思います・・・・・
直感的なデザイン畑の人間ですし・・・・・
81:nobodyさん
08/02/27 22:38:42
はなむけに現在のページ数の受け取り方だけ教えてもらえませんか。
82:nobodyさん
08/02/27 22:41:10
>>7
83:nobodyさん
08/02/27 22:41:49
<?php
$page = $_GET['page'] ? $_GET['page'] : 1;
$all = countArticles();
$one = 10;
$start = ($page - 1) * $one + 1;
$end = $page * $one;
$articles = getArticles($start, $end);
こんな感じ?検証してないけど
84:nobodyさん
08/02/27 22:51:20
$allPages = cell(($all / $one));
echo "<p>総記事数は $all 件です</p>";
echo "<p>全部で $allPages ページあります</p>";
echo "<p>現在 $start 件目〜 $end 件目を表示しています</p>";
for($i=1; $i<$all; $i+=10){
if ($i == $page) {
echo '<a href="?page='.$i.'">['.$i.'] </a>';
} else {
echo '['.$i.'] ';
}
}
ついでにこんな感じ
85:nobodyさん
08/02/27 22:56:10 rbJ5iPpD
DBに保存してある画像のバイナリデータ(形式はjpeg,gif,png)をリサイズしたい場合はどうすればよいのでしょうか。
php4.3のGD入ってます
一旦ファイルに保存してimagecreatefromjpegとかするしかないのでしょうか。
そんな馬鹿な。
86:nobodyさん
08/02/27 22:56:22
間違えた。最後のfor文は素直に
for($i=1; $i <= $allPages; $i++){
でokだ。
全ページ数を使わないで出力するなら$iのインクリメント用と記事数比較用の2変数使えばできる。まぁ蛇足だが。
87:nobodyさん
08/02/27 22:57:21
>>85
お怒りはごもっともですが
現在、この世界のいたるところで
あなたの言う『ばかなこと』が起きています
88:nobodyさん
08/02/27 22:59:30 rbJ5iPpD
めっけた。
imagecreatefromstring
これでいい気がしてきた。
89:nobodyさん
08/02/27 23:17:29
課題だとか勉強用だとかじゃなければ素直にそのへんのpager使えばいいのに
90:nobodyさん
08/02/28 00:03:25
WebARENA SuiteX
PHP5
で、次のアップロードスクリプトを設置しています。
URLリンク(hellogirls.myphotos.cc)
Suite2 PHP4の時は問題なく動作していたのですが、SuiteXにしたらアップロードファイルにつけるコメントに日本語が含まれていると文字化けするようになりました。
色々、調べてみましたがちんぷんかんぷんで解決策がわかりません。
この辺りのソースをいじれば良さそうな気がするのですが…
どなたかアドバイスやヒントでもいいのでいただけないでしょうか。
PHPやCGIの設置はできるけど、プログラムの具体的なことは何も理解できてません。
こんな私ですがどうかよろしくお願いします。
コメント
<input type="text" size="45" name="com" value="'.($c_comu ? $input_comment : '').'">
//ファイルリスト表示
if($c_com) echo '<td class="column_comment">'.$com.'</td>';
//項目読み取り
list($id,$ext,$com,$host,$now,$size,$mtype,,$orig,,$img_width,$img_height) = explode("\t",$logline);
91:nobodyさん
08/02/28 00:13:47
>>90
めんどくさいから見てないけど少なくとも出されてるソースは関係ない。
スクリプト改造依頼スレがあるからそっちいくよろし。
スレリンク(php板)
スレリンク(php板)
この辺かな
92:nobodyさん
08/02/28 00:22:13
PHP4からPHP5の仕様変更が文字化けの原因みたいで、それでこちらのスレに誘導されてきたのですが。
改造スレに行ったら、それは改造ではなくPHPの仕様の問題だからPHPスレで聞けと言われそうです。
93:nobodyさん
08/02/28 00:46:33
>>90
PHP4.4.x(PHP5では動作確認していません)
と書いてあるので諦めろ……
ソースみたけど、PHP4に依存してる場所はなさそうだったけどね。
form_upload_file.phpをいじってるのなら、文字コードがSJISになっていないか確認。
きちんとEUC-JPになっているか?
ログファイルをエディタで開いて見て、EUC-JPで文字化けしないかどうか。
そのあたり確認して報告しろ。 寝るのでまた明日。
94:nobodyさん
08/02/28 06:33:06
ありがとうございます。
form_upload_file.phpはEUC-JPになっていました。
ログファイルを確認したところ、日本語で文字化けしているコメント部分もログファイルではまだ文字化けしていませんでした。
ログファイルを読み出して表示するまでの過程で文字化けがおこっているようです。
95:nobodyさん
08/02/28 09:55:35 OSai0GdG
PEAR::DBを使ってデータをINSERTする作業をしているのですが、
debug_backtrace();の部分で、エラーが出ます。
数万〜数十万ほどINSERTを繰り返すループなのですが・・・
96:nobodyさん
08/02/28 11:14:01 hOKfamSR
質問です。
CentOS5のディストリビューションを使って環境構築したのですが、画像やファイル情報をphpを使用して、PostgreSQLにbyteaでコミットをする時にmemory_limitが不足する現象が起きています。
<確認している現象>
・2MBの画像のコミット時にはmemory_limitに53MB以上が必要
・4MBの場合は、128MB以上
・8MBの場合は、400MB以上
といった具合です。
<環境>
OS :CentOS5
WEB:Apache/2.2.3 (CentOS)
PHP:PHP Version 5.1.6
DB :PostgreSQL8.1.9
windowsやRedhatで同じphpなどで構成し、モジュールを実行した際には8MBのファイルでもデフォルトのmemory_limitの設定である16MBで問題なくコミットできました。
他の環境でも検証していきますが、この原因って何が考えられますでしょうか。
97:nobodyさん
08/02/28 11:50:28
質問です。
$word = $_GET[WORD];
$word = mb_convert_encoding($word,"SJIS","UTF-8");
PHP5(WebARENA SuiteX)なのですが、大部分はこれでデータの受け渡しは問題あり
ません。
しかし、"90's"を受け渡す際に"90\'s"になってしまいます。stripslashesを使え
ば解決できることはできるのですが、今度はこれを使うと"ソニー"を受け渡す際
に文字化けしてしまいます。
"90's"も"ソニー"も問題なく受け渡す方法を教えていただけないでしょうか。
98:nobodyさん
08/02/28 11:53:14
>>97
>>7
99:97
08/02/28 11:59:15 AxRhgNfU
>>98
申し訳ない。「自分のIDを表示させること。」というのを見逃してました。
100:nobodyさん
08/02/28 12:00:27
>>99
php.iniの設定でクオートが自動でされる設定になってるんじゃまいか?
auto_magic_quoteだっけ?
101:nobodyさん
08/02/28 12:02:50 z722MoHc
URLリンク(niwango.jp) にある
現在の評価は
Good![2] Bad![0]
的なPHPってどんな仕組みなんだろ・・・
102:nobodyさん
08/02/28 12:12:19 AxRhgNfU
SuiteXは共有サーバーなのでphp.iniをいじれないんですよ…。
何かプログラム的に逃げる手があればいいのですが…。
103:nobodyさん
08/02/28 12:13:59
PHP内で一時的にPHP.iniの設定を変更できるini_set()関数がある
104:nobodyさん
08/02/28 12:49:43
>>100
magic quotes gpc じゃないか?
>>103
>magic_quotes_gpcは 実行時にセットしても反映されないことに 留意してください。
って書いてあるけど、できるの?
URLリンク(www.php.net)
stripslashes してから UTF-8に変換しても化けるのかな?よくわからん。
105:nobodyさん
08/02/28 12:53:22
たぶん受け取る前に書けばできるはず
不安だったらhtaccessで設定すればいいし・・・
106:nobodyさん
08/02/28 12:57:37
>>105
受け取る前っていつ?
PHPのモジュールが呼び出された時点では $_GET / $_POST に値が設定されてるんじゃないの?
107:nobodyさん
08/02/28 13:15:22
試したけど、やっぱムリじゃね。(PHP5.2 WinXP)
ini_set('magic_quotes_gpc', 'Off');
print_r($_GET);
マニュアル見ると
magic_quotes_gpc
PHP_INI_PERDIR
PHP <= 4.2.3 では PHP_INI_ALL。PHP 6.0.0 で削除。
URLリンク(jp2.php.net)
ってなってるけど、PHP4はPHP_INI_ALLだから出来たという事なのかな。
値の参照時にでも処理してたんだろうか。これもよくわからん。
108:nobodyさん
08/02/28 13:16:55 AxRhgNfU
皆さんお昼休みなのにありがとう。SuiteXは個人で使っているので、家に帰ってから色々と試してみます。
>>103
その発想なかったです。試してみますね。
>>104
順番を変えるのもちょっとやってみますね。
>>105 >>106
受け渡し前はごく普通のHTMLです。
<form action="XXXX.php" method="get" name="form1">
<input type="text" name="WORD">
モジュールが呼び足された時点で値が設定されてしまいますね。
109:nobodyさん
08/02/28 13:22:10 AxRhgNfU
>>107
PHP4(WebARENA Suite2)の時にはこれだけで動いてました。
$word = $_GET[WORD];
$word = stripslashes($word);
文字化けもなく不要な"\"も出てきませんでした。PHP4では逆にmb_convert_encoding
でエンコード変換すると文字化けしてしまってました。
110:nobodyさん
08/02/28 15:48:07 SiLzRmwx
mb_send_mailをして受け取ったメールを見ると、行間が1行ぐらい空きます。
サーバはEUCなので、
mb_language("Japanese");
mb_internal_encoding("EUC-JP");
という指定を入れています。どうしてこうなるのでしょうか?
111:nobodyさん
08/02/28 15:49:46
改行コードが入ってるからじゃね?
112:110
08/02/28 16:01:23 SiLzRmwx
>>111
改行コードを取り除くのに、↓を入れたのですが、特に変わりません。。
$body = str_replace("\r", "\n", str_replace("\r\n", "\n", $body));
113:nobodyさん
08/02/28 16:07:18
>>112
取り除いてねーじゃん
置き換えてるだけじゃねーか
str_replace(array("\r\n", "\r", "\n"), "[改行]", $body);
みたいにして、BODYの中での改行なのか他で改行入ってるのか調べてみれ
114:nobodyさん
08/02/28 18:38:26
>>101
vote.php?id=17685&value=1
115:nobodyさん
08/02/28 18:41:37
このスレ来ると和むな〜
116:nobodyさん
08/02/28 19:31:54
すみません。助けてください。
HTMLとPHPとがまじったファイルがあるんですけど、シンタックスエラーがでます。
どうやら '}' をひとつ抜かしてしまったみたいなんですが、どこで抜かしてしまったかがエラーメッセージからは分かりません。
ファイルはHTMLとPHPとが混ざった500行を超えるファイルです。
正直、どうやって探せばいいのかわかりません。
こんなとき、みなさんどうしてますか。
117:nobodyさん
08/02/28 19:34:58
対応する括弧が強調表示されるエディタを使ってチェック
118:nobodyさん
08/02/28 19:36:01
エディタ(自分の場合はEmacs)使ってインデントつける。
119:108
08/02/28 19:53:20 s0/KCSkK
>>104
108ですが家に帰ってきました。
そして、順番を変えてmb_convert_encodingの前にstripslashes置いたら
ちゃんと動作するようになりました!
$word = $_GET[WORD];
$word = stripslashes($word);
$word = mb_convert_encoding($word,"SJIS","UTF-8");
104さん本当にありがとうございました。
あと他にコメントいただいた皆さんもありがとうございました。
120:nobodyさん
08/02/28 20:22:44
>>116
ファイルから PHP だけを抜き出して調べるというのはどう?
URLリンク(d.hatena.ne.jp)
HTMLとPHPが入り交じっているから見つけるのが難しいのであって、HTMLを消してPHPだけにできれば、けっこう簡単に見つかるかもよ。
121:nobodyさん
08/02/28 21:00:56 UIzvtCsy
PHPのクラスについて理解が深くないのですが、
PHP5.1.6で以下のコードを書いたときの疑問です。
class Stack {
public function getInstance() {
return new Stack();
}
}
$stack = Stack::getInstance();
の様に、static宣言されずに::を使ってメソッドにアクセスできるのはなぜですか?
122:nobodyさん
08/02/28 21:02:53
>>121
PHPがアバウトだから
123:nobodyさん
08/02/28 21:03:18
>>121
PHP4との互換性のため。
ただしstaticつけると Stack::getInstance() はOKでも $stack->getInstance() はエラー。
124:nobodyさん
08/02/28 21:06:14 UIzvtCsy
>>122
それは日ごろ確かに感じます。こだわりがないって。
>>123
staticをつけなくてもstaticに呼び出されているんですか?
125:nobodyさん
08/02/28 21:23:56
試してみりゃすぐ分かるがな
126:nobodyさん
08/02/28 21:42:59
掲示板のフォームから内容受け取って
150個のログ以上は消すと言うロジックはみなさんどうしてます?
file()で全ログ格納してからarray_unshiftで新しい内容を挿入、
その後forを使って何かするんでしょうけどそこが具体的によくわかりません。
>>84
ありがとうございます、
おかげさまでできました。
本当に感謝です。
127:nobodyさん
08/02/28 21:52:28
>>124
>staticをつけなくてもstaticに呼び出されているんですか?
yes
PHPでは static に呼び出すのも、static じゃない呼び出しも、どっちも同じ。
たんに、static な呼び出しだと $this にアクセスできないというだけ。
128:nobodyさん
08/02/28 22:11:56
staticで呼び出す方が遅い訳だが
129:nobodyさん
08/02/28 23:06:49 CZGTxiZs
あらやだ、ホントだ
PHP 5.2.3
class foo
{
var $buf = null;
function foo() { $this->buf = 100; }
function static_func() { return 100; }
function member_func() { return $this->buf; }
}
-- call foo::static_func 10000 * 1000
min: 0.0476429462433
max: 0.0605020523071
ave: 48.9423131943
-- call foo->member_func 10000 * 1000
min: 0.0209789276123
max: 0.0423769950867
ave: 21.8284888268
なんで?
130:nobodyさん
08/02/28 23:42:39 psOQg9xE
PDOでfetch()を使うとfetchAll()を使うように怒られるのがむかつく。
仕様なんですか?
131:nobodyさん
08/02/29 00:07:06
過去のいきさつはよくわからないのだけど
magic_quote_gpcとかregister_globalsとか
過去の遺産も簡易FAQに入れたがいいのかなぁとか思った。
個人的には今更そういう設定のサーバがあること自体が不思議なんだけど
99を見る限りまだ生きてるっぽいし
逆に、そういう動作があるっていうのを知らない人が増えてきた今だからこそ
問題だとか思うんだ。
というわけで解説よろしく
↓
132:nobodyさん
08/02/29 00:15:13
解説じゃないけど。
>個人的には今更そういう設定のサーバがあること自体が不思議なんだけど
PHP5 では magic_quote_gpc はデフォルトで On だからなぁ。
133:nobodyさん
08/02/29 00:20:59
PHPの設定で
magic_quote_gpcというものがあって、
これがONであるとPOSTとかGETの中身は渡された先で勝手にクオートされます。
面倒なのは、同じスクリプトでもサーバーのPHPの設定によって
挙動が異なってしまうことです。
これを防ぐためには、
自サバならばPHP.iniのmagic_quote_gpcをoffにしてください。
そうでないならば、
$_POST,$_GET配列をまず最初に処理する関数を作り、その中に
if(get_magic_quote_gpc()){
として、各要素をstrip処理すれば良いと思います。
ini_set()はなにやらオススメできないようです。
134:nobodyさん
08/02/29 00:26:04
最後の2行が随分曖昧だな
135:nobodyさん
08/02/29 00:30:05
>>134 めんどくなった。
ついでに俺130なんで誰か答えてくれ。
136:nobodyさん
08/02/29 00:39:04
怒られるって誰に?上司に?
137:nobodyさん
08/02/29 00:44:55
PDOに怒られます。
Uncaught exception 'PDOException' with message
'SQLSTATE[HY000]:
General error: 2014
Cannot execute queries while other unbuffered queries are active.
Consider using PDOStatement::fetchAll().
Alternatively, if your code is only ever going to run against mysql,
you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.'
と言われます。
138:nobodyさん
08/02/29 00:46:34
コードがおかしいんだべ。
139:nobodyさん
08/02/29 00:47:38
いくつも仕事を同時にさせるな、ボケって言われてるだけじゃないの?
140:nobodyさん
08/02/29 00:50:06 lB4w3WIe
誰もなったことないの?
誰もPDO使ったことないってことか?
そこをfetchAll()にすると直るんだけど、
fetchAllって名前から想像つくと思うけど全行読むから
メモリもったいないかと思って。
141:132
08/02/29 01:06:54
>>133
偉いっ!!すばらしいっ!!結婚して!!!当方マンションもち。
もっと単純に
自分でPHP.ini触れるんならmagic_quote_gpcはoff
触れないんだったら全てのスクリプトで(なんだっけ)せれ
質問はその後だ
みたいに強制的でもいいのかでもとか思った。
142:nobodyさん
08/02/29 01:42:07
「誰もなったことない」 ⇒ 「誰もPDO使ったことない」
素晴らしい推論能力をお持ちのようで。
まぁそんなことはさておき、コード出してみたら?恐らく普通とは違う書き方してるんだろうし。
143:nobodyさん
08/02/29 02:06:51 lB4w3WIe
$rs=$db->query("SELECT UNKONAME FROM UNKOTABLE WHERE UNKO_ID=1");
$unko=$rs->fetch();
echo $unko["UNKONAME"];
$rs2=$db->query("SELECT UNKONAME FROM UNKOTABLE WHERE UNKO_ID=2");
$unko2=$rs2->fetch();
echo $unko2["UNKONAME"];
みたいな感じにSQLを2回やるとなんか怒られます。
fetchAllにして、1個しかない結果セットを$unko[0]["UNKONAME"]
とかやって取り出せるんだけどね。
144:nobodyさん
08/02/29 02:07:51 lB4w3WIe
分かると思うけど$dbはPDOのインスタンスです
145:nobodyさん
08/02/29 02:23:09
PDOはよく知らんが、このあたりの話じゃないの?
URLリンク(jp2.php.net)
146:nobodyさん
08/02/29 02:38:03
URLリンク(jp2.php.net)
PDO->query() を次にコールする前に 結果セット内の全てのデータを取得しない場合、そのコールは失敗します。
PDOStatement->closeCursor() をコールし、 次に PDO->query() をコールする前に PDOStatement オブジェクトに
関連付けられたリソースを解放してください。
147:nobodyさん
08/02/29 02:43:19 lB4w3WIe
>>145>>146
ありがとうございました。
148:nobodyさん
08/02/29 09:47:17
static
○ Object::obj();
× $obj->obj();
○ $this->obj();
public
○ Object::obj();
○ $obj->obj();
○ $this->obj();
protected
× Object::obj();
○ $obj->obj();
○ $this->obj();
private
× Object::obj();
× $obj->obj();
○ $this->obj();
これでおk?
149:nobodyさん
08/02/29 10:50:21
>>148 だめー
大体にしてメソッド名をobjにするなややこしい。
コンストラクタかと思うじゃねーか。
そもそもそういう理解の仕方じゃまずいぞ。
privateなメソッドというのは「class hoge{}の外からのアクセスは完全にNG」て意味。
中からなら$this->やObject::obj()でアクセス可能って意味だ。外から$thisなんてことはできないので$obj->objかObject::objを使うことになるけど、
それらのアクセスはprivateじゃ無理よってこと。
protectedは継承したクラスもアクセス可能という意味。だから、class fuga extends hoge{}はhogeのprotectedなメソッドを
$thisとかObject::objで扱うことができるってこった。だが当然インスタンス生成してのアクセスである$obj->objは不可能だし、
外部からのObject::objも不可能。
publicは外からのアクセスもできる。$thisだろうとObject::objだろうとOKだ。
staticは上記3つとは別な概念。上記3つは同時に存在できないが、こちらはpublic staticのように併存OKだ。
staticなメソッドは、「外部からそのクラスのインスタンス生成なしで呼び出すことのできるメソッド」
と言う意味。でも重要なのは「staticと指定したメソッドは、そのクラスのstaticでないプロパティや
メソッドを呼び出せない」ってこと。staticでないメソッドやプロパティを呼び出してるメソッドにstaticを設定すると
エラーが出るはず。staticなメソッドはぶっちゃけて言うと一般の関数と変わらない使い方ができる。
PHPみたいなゆるい言語においては微妙な存在ってこった。ただ、「こういう処理をする関数はここにまとめておこう」みたいなときに
使ったりするね。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5365日前に更新/145 KB
担当:undef