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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/11/23(木) 00:27:02ID:???
PHPに関するくだらねぇ質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc8.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc8.2ch.net/db/subback.html
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
 しかし初心者が目的も定めずに速度を気にしたところでほとんど意味は無いぞ
0083nobodyさん2006/11/23(木) 19:57:22ID:???
>>82
>implode 使ってみたんですが、たとえば、文字列をエンコードする場合
>個別に切り取ってからじゃないと出来ないみたいなんですがなんでですか

何のエンコードかな?。文字コードなら長い文章のままエンコできますよ。
0084nobodyさん2006/11/23(木) 20:41:33ID:???
20061123194606こういう文字列を

2006-11-23 19:46:06

こういう時間形式に変換したいのですが、できますでしょうか?

$jikan = "2006-11-23 19:46:06";$TimeStamp = strtotime("$jikan");
これはうまくいくのですが、
$jikan = "20061123194606";$TimeStamp = strtotime("$jikan");
こうなるとうまくいかないもので、、

わかる方がいましたらよろしくお願いします。
0085nobodyさん2006/11/23(木) 20:46:57ID:???
>>84
$date = "20061123194606";
$yyyy = substr($date, 0, 4);
$mm = substr($date, 4, 2);
$dd = substr($date, 6, 2);
$hh = substr($date, 8, 2);
$ii = substr($date, 10, 2);
$ss = substr($date, 12, 2);

$date = "$yyyy/$mm/$dd $hh:$ii:$ss";
0086nobodyさん2006/11/23(木) 20:54:41ID:???
>>84-85
1時を01時とか常に桁数を合わせてくれるなら、sscanfで一発で分解→再結合でよくね?
0087nobodyさん2006/11/23(木) 20:54:46ID:6gP1lOLG
>>77
例えかもしれんが変数名の始めに数字は使えないんじゃなかった?配列はいいんだっけ?
0088nobodyさん2006/11/23(木) 21:04:18ID:???
>>87
ムリ
0089nobodyさん2006/11/23(木) 21:05:50ID:???
>85
うまくいきました。ありがとうございました。
>86
sscanfも調べてみます。

どうもでした。
0090nobodyさん2006/11/23(木) 21:17:27ID:???
>>85
そんなめんどくさいことしないで

DATE_ 使えばいいよ  PHP 5.1.1 以降ね
0091nobodyさん2006/11/23(木) 21:29:59ID:???
ちょっとありえないコードだな
0092nobodyさん2006/11/23(木) 22:21:16ID:???
85には感動した。
石器人だ。
0093nobodyさん2006/11/23(木) 22:22:39ID:???
$t = '20061123194606';
echo preg_replace('/(....)(..)(..)(..)(..)(..)/', '\1-\2-\3 \4:\5:\6', $t);

こういうのはどう
0094nobodyさん2006/11/23(木) 22:50:15ID:???
<ひとりごと>
Smarty使っていたら、便利な修正子が沢山用意されていると思っていたんですYo!
そしたらSo!!

自分で関数を定義してやらなきゃならないんですねぇ……。
</ひとりごと>
0095nobodyさん2006/11/23(木) 23:00:34ID:???
>>94
<チラ裏>
むしろ自分で追加できる柔軟性に感動せよ。
</チラ裏>
0096nobodyさん2006/11/24(金) 00:17:41ID:???
PHPで作成されたアップローダを探しているのですが
日本語ファイル名を扱えるやつを教えてください。
できれば AutoIndex みたいなのが希望っす。

0097nobodyさん2006/11/24(金) 00:24:12ID:???
知らんけどAutoIndexとやらを日本語ファイル名に対応させるのはそんなに難しいの?
0098nobodyさん2006/11/24(金) 00:26:46ID:???
どっちかっつーとその日本語はSJISなのかEUC-JPなのか、
その上でそのアップローダはどのOS上で動かすつもりなのか、
が重要なんじゃあるまいか?
0099962006/11/24(金) 00:46:58ID:???
>>97
スキルないっす。
アップロードした時点で、フォルダを除くと文字化けしているんで
move_uploaded_file のところで mb_convert_encoding をしてみたん
うまくいきませんでした。
(ファイル保存時は文字化けしなくなりましたが)

>>98
そうですね。環境を晒していませんでした。
アップローダ&サーバ(Apache)共に Win2000 です。のでファイル名は
SJIS になるかと。。

0100nobodyさん2006/11/24(金) 00:52:22ID:???
PHPで作成された日本語ファイル名を扱えるアップローダなんてごまんとあると思うけど
0101nobodyさん2006/11/24(金) 00:53:56ID:???
【CGI】こんなCGI探してますver.21
http://pc8.2ch.net/test/read.cgi/hp/1154177468/

まあポログラミングしないとなると板違いなんで向こうでどうぞ
0102962006/11/24(金) 00:58:22ID:???
たしかに板違いですね。
情報ありがとうございます。
0103nobodyさん2006/11/24(金) 01:03:39ID:???
>>101
そのスレの存在意義ってテンプレだけだよな
0104nobodyさん2006/11/24(金) 02:14:25ID:yAUAJcwD
当方開発環境はWindows上でPHP5.2.0使用。
PHPUnit2を使いユニットテストを組みながら開発しています。
Singletonなクラスを作成したのですが、そのユニットテストを行おうとしたところ、
インスタンスが共有されているため独立したテストが行えずテストが上手く行えません。
そこで、インスタンスを記録しているprivateなstatic変数をTestCaseからtearDownで
初期化したいのですが、アクセス権を無視して書き換える手段はありますでしょうか。

クラス/オブジェクト辺りの関数やリフレクションを漁っては見たのですが、特にリフレクションには
> 注意: privateまたはprotectedクラスプロパティの値の取得または設定を 行うと、例外がスローされます。
とまで書かれてしまっており...

複数人で開発しているわけでもありませんので、publicにしてしまうなり、
テストを行う際だけ書き換えるなりしてもさほど問題はありませんが、
何か良い方法をご存知でしたらよろしくお願いします。
0105nobodyさん2006/11/24(金) 02:17:41ID:3W6tCrEf
>>83
↓こんなかんじでやってみたのですがエラーでます
$data = array("あ","い","う","え","お");
$data = mb_convert_encoding($data,"SJIS", "ASCII,JIS,UTF-8,EUC-JP,SJIS");
echo implode("#",$data);

間違ってますか?
0106nobodyさん2006/11/24(金) 02:25:35ID:???
>>104
Runkitでテスト時のみのイニシャライザをくっつけるとか?
なんか他にいい方法がありそうな気もするけどよくわかんねっす

>>105
mb_conv...の第一引数は文字列 http://jp2.php.net/mb_convert_encoding
0107nobodyさん2006/11/24(金) 02:36:42ID:C3XLERtZ
$obj =& new HogeClass;
というようにnewを参照で受け取ることの意味や有用性って、
どんなことがありますか?
0108nobodyさん2006/11/24(金) 02:55:57ID:3W6tCrEf
>>106
どうもありがとうございます。
連想配列とかいうのでやってみたらエンコできました。
0109前スレ9822006/11/24(金) 03:05:01ID:???
亀レスですみません!
前板982で質問した者です。

■質問した内容↓
質問します!
windowsでPHPを使用しているのですが、
ローカル環境で
<? include("../home/httpd/html/template/top.html"); ?>
の相対パスを
<? include("/home/httpd/html/template/top.html"); ?>
に変えて表示する事ってできるのでしょうか?

windows環境で、includeするファイル指定を相対パスを絶対パスに
変えて表示する事はできるのでしょうか?という質問でした。
意味不明ですません;;
0110nobodyさん2006/11/24(金) 03:09:39ID:???
>>107
ないね
0111nobodyさん2006/11/24(金) 03:10:05ID:???
>>109
どういうフォルダ構成になってるか分からないので何とも言えないが、
普通に考えたら
../home/httpd/html/template/top.html
と
/home/httpd/html/template/top.html
は絶対に同じ場所を指さないと思うんだが…となれば別のファイルが表示されるだけかと。
それは相対パスを絶対パスにしたとは言わないだろう。別の場所を指定してるんだから。
そもそも相対パスと絶対パスってどういうものなのか分かってて言ってる?

そもそも何でそんなことしたくなったのか分からないと回答は難しいよ。
「別のファイルを表示しても同じように表示されますか?」という質問にしか聞こえない。
0112nobodyさん2006/11/24(金) 03:14:26ID:???
>>111
カレントが第二階層にあるなら ../ と / は同じになるじゃないかな
とするとWindowsでドライブレターを省略した絶対パスが有効かという質問かなあと思うけど
わざわざ聞くようなことでもないしなあ謎だわ
01131042006/11/24(金) 03:15:15ID:yAUAJcwD
>>106
おお、素晴らしい。
__autoload('SingletonClass');
echo runkit_method_add('SingletonClass', 'initializesingleton', '',
    'self::$instance = null;',
    RUNKIT_ACC_PUBLIC
);
...
protected function tearDown()
{
    SingletonClass::getInstance()->initializeSingleton();
}
といった感じでテスト対象のファイルを弄ることなく初期化することが出来ました。
# 作成するメソッド名に大文字を混ぜてしまって一時嵌りましたが
どうもありがとうございました。
0114前スレ9822006/11/24(金) 03:36:06ID:???
documentrootを例えばE:\abc\にしてまして、
その後に続くのがそのディレクトリなんです。
なのでimgを読み込む時は、
/img/aaa.gif
で読み込めるのですが、(../img/aaa.gifでも読み込めます。)
includeで同じように指定してもできません。
includeだと分けが違うんでしょうか。
最近学んだ者であまり分かってません。
もうしわけないですorz

E:\abc\main\
の中にincludeを指定してるファイルがありまして、
E:\abc\home\httpd\html\template\top.html
を、絶対パスで読み込みたいんです。

なぜ、
<? include="/home/httpd/html/template/top.html" ?>
で読み込みたいかというと、本サーバーの環境がこの指定で
読み込まれるのに対して、 ローカル環境でできない状態でいるんです。
なので、htmlファイルをそのまま上げる事ができなく、
ローカル環境でコーディングをコピペして、
それを本サーバーにあげるという
めんどくさいことをしています。
ローカル環境と本サーバー環境を限りなく近づけて
作業を簡素化したかったのです。
現状では、本サーバーの環境を変える事は、
できない状態でして、ローカル環境を本サーバーの環境に
合わせる事になります。

申し訳ないですが、もう少しご教授のほうをお願いいたします。
0115nobodyさん2006/11/24(金) 03:42:23ID:???
もうすこし話を整理して書くことから始めようか
0116nobodyさん2006/11/24(金) 03:52:42ID:???
httpdのドキュメントルートはファイルシステムのパスとは関係なし

ハードコーディングせず、パスは定数にしておけば多少楽になるだろう
プラットフォームはPHP_OSで取得できるから自動でパスを切り替えるようなこともできるし
01174392006/11/24(金) 04:00:22ID:???
「htmlspecialchars」を毎回書くのが大変なので
以下のファンクションでサニタイズしているんですが
普通に「htmlspecialchars」したほうがいいでしょうか?

function outhtml($str) {
 $str = htmlspecialchars($str);
 return $str;
}
0118nobodyさん2006/11/24(金) 04:02:46ID:???
普通にってなんじゃ
0119nobodyさん2006/11/24(金) 04:07:07ID:???
普通にってゆうとろうが
01204392006/11/24(金) 04:12:46ID:???
>>118
分かりにくくってすみません。
スピード的にはあまり大差なかった(私の感覚で)のですが
保守やこの業界の普通というか常識ではあまりやらない手法だ等お教えいただけたらと思っております
0121nobodyさん2006/11/24(金) 04:13:14ID:???
なんで竹原スレになってんだよw
0122nobodyさん2006/11/24(金) 04:41:21ID:???
http://framework.zend.com/manual/ja/coding-standard.coding-style.html#coding-standard.coding-style.functions-and-methods

Zendコーディング規約では、メソッドの引数で値の参照渡しができないようなのですが、
滅多にしないとはいえ、これって結構な制限になりませんか?
0123nobodyさん2006/11/24(金) 04:45:09ID:???
例えば?
0124nobodyさん2006/11/24(金) 04:55:46ID:???
例えば、メソッドの引数を参照で取りたいときに困る。
0125nobodyさん2006/11/24(金) 04:57:13ID:???
引数に値がセットされるなんて、preg_matchとsscanfとfsockopenでお腹いっぱい。
ユーザー定義関数でなんて絶対使いたくないっす。
値を複数返すなら配列で返してlistで受け取るっす。
0126nobodyさん2006/11/24(金) 04:59:23ID:???
>>124
それは普通にできる
122は実行時参照渡しの話でしょ
0127nobodyさん2006/11/24(金) 04:59:47ID:???
>>122
はいはい、君は早とちりしているようだ。
Zendコーディング規約では、メソッドの引数で値の参照渡しを禁じているわけではない。

値の参照渡しは、"関数宣言"においてのみ可能です。
class Foo
{
 public function bar(&$baz) ←関数宣言
 {}
}
注意:"実行時"の参照渡しは禁止されています。
0128nobodyさん2006/11/24(金) 05:17:27ID:???
>>114
あー。仮想のパスと実際のパスの違いが理解できてない上に
サーバー環境とローカル環境を違う状態にして開発してるんだ。
そりゃー面倒だわ。

画像とかHTMLとかのリンクのパスはサーバーの外に対しての指定で
ブラウザが解釈するもの。そしてブラウザの要求をWEBサーバーが
仮想パス→DOCUMENT_ROOTを基準にした実際のパスに変換して
内部では正しいフルパスで扱われる。
それに対してPHPで使われるincludeのパスってのはPHP自身が
サーバー内部の仕組みであるため、「最初から実際のパス」で扱われる。

対処方法としては、よくやる手法ではPHP内部でのディレクトリ指定を
DEFINEまたは変数での定義にしてしまって、定義ファイルの差し替えで
簡単に切り替え可能にしてしまう方法。これは汎用性が高い。

ただ、目的が画像みたいにDOCUMENT_ROOT基準にしたいだけなら、
include "$_SERVER[DOCUMENT_ROOT]/template/top.html";
みたいにして、DOCUMENT_ROOTの値を使ってパスを補完しちゃうのもアリだよ。
0129nobodyさん2006/11/24(金) 05:19:11ID:???
>>120
普通何度もタイプするような状況にはならないけど、
まあ面倒ならコード補完できるエディタを使うかな
0130nobodyさん2006/11/24(金) 05:22:05ID:???
>>126 >>127
なるほど、それなら全く平気です。

http://phpspot.org/blog/archives/2006/05/zend_framework_2.html
↑最初にここの22を見て誤解しちゃいました。
0131nobodyさん2006/11/24(金) 05:24:55ID:???
>>120
前に同じようなことしてるらしい書き込みをここか旧本スレの過去スレで見たよ。
でもhtmlspecialcharsは画面によっては使用頻度が激しくなるから
俺の感覚では速度的に受け入れがたい手法かなぁ…Cのマクロならともかく。
俺はその手のはエディタの補完機能で入力を楽にしてる。
困るほど使用頻度が激しいならクリップボードツールの類で定型ワード化すれば?とか思う。
0132nobodyさん2006/11/24(金) 05:28:50ID:???
速度的にはほとんど誤差程度じゃないかな。
htmlspecialchars() は見た目で長いのも視認性が悪くてよくない。
よく使う関数にこんな長い関数名をつけたのはバカだよ。
0133nobodyさん2006/11/24(金) 05:38:48ID:???
そんなときこそコレだ!

$h = 'htmlspecialchars';
echo $h('<hoge></hoge>');
0134nobodyさん2006/11/24(金) 07:42:42ID:???
HTMLSpecialChars()おすすめ
0135nobodyさん2006/11/24(金) 08:18:37ID:???
htmlSpecialChars()派
0136nobodyさん2006/11/24(金) 09:01:37ID:???
2chには PHP Extension 開発者が集まるようなスレッドはないですか?
0137nobodyさん2006/11/24(金) 09:37:56ID:???
ないんじゃね?
Zend_APIのリファレンスってロハじゃ手に入らんだろ?
0138nobodyさん2006/11/24(金) 10:32:34ID:???
長い関数名をタイプミスる事無く1〜3秒で一気に入力出来るとちょっと嬉しいじゃない
0139nobodyさん2006/11/24(金) 10:59:39ID:???
俺はより入力を楽に&セキュアにするため、こうしてる。

function h($str) {
$str = htmlspecialchars($str, ENT_QUOTES, 'EUC-JP');
return $str;
}
// http://blog.ohgaki.net/index.php/yohgaki/2006/03/ を参照のこと
0140nobodyさん2006/11/24(金) 11:20:54ID:???
error処理してる訳でもないのになんで一旦変数に入れるの?
return htmlspecialchars($str, ENT_QUOTES, 'EUC-JP');
でいいような希ガス。
0141nobodyさん2006/11/24(金) 11:54:47ID:???
>>136
基本的にインターフェース部分だけ、マニュアルを参照しながら作法通りに書くだけで、あとは普通にCで書くだけだしな。
win上(cygwin)でトライしたときは、コンパイルがうまくいかなくて投げ出した記憶があるが、linux上なら無問題。
0142NAME IS NULL2006/11/24(金) 12:35:14ID:LYtHrh60
Array ( [0] => タイトル [1] => ツール [2] => カメラ [3] => ユーザー[4] => カメラ [5] => カメラ
[6] => データベース [7] => ユーザー [8] => アプリケーション [9] => アプリケーション [10] =>データベース
[11] => パソコン [12] => カメラ [13] => Java [14] => API)

このように文書中の語句を抜き出し、配列に格納しております。
そして、同じ要素の語句の個数をカウントして、降順に並び替えて
表示したいのですが、どのようにすれば良いでしょうか?
例えば、カメラ 4,ユーザー 2,データベース 2  といった感じにしたいの
ですが。。。
0143nobodyさん2006/11/24(金) 12:42:03ID:???
>>142
そんな関数があるよ
0144nobodyさん2006/11/24(金) 12:43:09ID:???
>>142
array_count_values+arsort
01451422006/11/24(金) 13:04:34ID:LYtHrh60
なるほど。ありがとうござりまする。
0146nobodyさん2006/11/24(金) 13:57:24ID:???
>>142
まだやってたのかw
しかもたいして進んでないようなw
0147nobodyさん2006/11/24(金) 14:14:35ID:bDJYivQE
設計について質問です。

画像アップロードが出来る掲示板を作ろうと思っているのですが、
登録→確認→完了

という3つの手順を踏まえるとして、確認画面で画像を表示させたい場合、
一旦サーバに画像を登録しないと駄目ですよね?
しかし、登録しなかったり前に戻ったりする場合、その画像がサーバに蓄積
されていって無駄になります。

どういう構成の方が効率よくできるのでしょうか?
それともPHPの組み方にもよるのでしょうか?アドバイスお願いします。
0148nobodyさん2006/11/24(金) 14:17:37ID:???
>>147
「登録」の時に、確認画面用にテンポラリでサーバに保存してるファイルの
タイムスタンプ見ていって古いファイルを削除すればいい
0149nobodyさん2006/11/24(金) 14:23:37ID:???
テキストの5つ目のデリミタ(例えばカンマ)の所を取得して表示したいのですが、

a,b,c,d,e,f,g
上の例だとfを表示。

どのようにソースを書けばいいのか検討がつきません。
正規表現で置き換えをしようと思いましたが、どのように書けばいいかわかりません。
どなたかわかる方教えていただけませんでしょうか?
01501472006/11/24(金) 14:25:35ID:???
>>148
すみません、いまいち構造の意味が分からないのですが、、、

確認 → クッキーを発行してファイルのパスを保存
登録 → そのクッキーを読んで現在の時間より古ければファイル削除

と言うことですか?
0151nobodyさん2006/11/24(金) 14:31:40ID:1uBVtpeJ
テキストファイルの中身をすべて表示させるには?
なぜか日本語が文字化けして・・・
0152nobodyさん2006/11/24(金) 14:33:35ID:???
>>149
$str = "a,b,c,d,e,f,g";
$data = explode(",", $data);
echo $data[5];
0153nobodyさん2006/11/24(金) 14:34:32ID:???
>>151
文字コードを勉強しといで
01541492006/11/24(金) 14:38:57ID:???
>>152
あーなるほどー
データを配列にいれて取り出せばいいんですね。
頭が固かったです。
助かりました。どうもありがとう。
0155nobodyさん2006/11/24(金) 14:39:10ID:???
>>150
クッキーとかいらね
要は確認までいったらテンポラリディレクトリにファイルを上げる
正常に完了までいった場合はテンポラリから正ディレクトリへ移す
確認でやっぱやめたってなったファイルはテンポラリに残っていく
テンポラリの中で現在より24時間前とかのファイルだったら
明らかに確認途中であきらめて残ったゴミファイルでしょ
その掃除作業を登録→確認→完了のどこかでやればよいということ
0156nobodyさん2006/11/24(金) 14:41:50ID:???
確認画面をつくならきゃGCもいらず効率が最もよい
01571472006/11/24(金) 14:50:33ID:???
>>155
「テンポラリディレクトリ」というのは、画像をアップロードするディレクトリと
別のディレクトリを作って、そこにアップするということですよね?

次に確認画面で下のようなソースを書きました。
$time_stmp=mktime();
echo tempnam($file_name,"$time_stmp");

出力画面には
C:\WINDOWS\TEMP\116207.tmp と出ます。(ローカル上でテストしてるので)

あとはTEMP(テンポラリディレクトリ)の中のタイムスタンプ付きファイルを
調べて、IFで指定時刻のタイムスタンプと比較して古いファイルなら
unlinkする処理を組み込めば、OKということでいいでしょうか?
0158nobodyさん2006/11/24(金) 15:08:19ID:???
>>157
おk
01591472006/11/24(金) 16:03:04ID:???
ありがとうございます。意味が分かってきました。
01601142006/11/24(金) 17:04:18ID:???
>>128さん
ありがとうございます。
早速、その方法で試してみます!

0161nobodyさん2006/11/24(金) 20:49:40ID:???
<input type="file" name="test[]"> //複数ファイルを指定
↓
いくつのファイルをアップロードして送信したかを調べる
$max_num=count($test);
echo $max_num;

としても、ファイルが1つでも2つでもフォームを用意した分だけMAX値が求められます。
例えば、<input type="file" name="test[]">を3つ設置したら
かならずMAX値は3になるような。

どうやったら選択したフォームのみの計算が出来るのでしょうか?
0162nobodyさん2006/11/24(金) 21:56:58ID:???
質問の意味がイマイチわからないけど、

想像で答えるなら、

foreach ($_FILES['test']['error'] as $e) {
if ($e == UPLOAD_ERR_OK) {
$max_num++;
}
}

ってことがしたいってことかな。「フォームの選択」ってとこの意味がよくわからんな
0163nobodyさん2006/11/24(金) 22:28:02ID:???
>>162
これです!errorの数でMAX値を求めるんですね。。

ありがとうございました。
0164nobodyさん2006/11/24(金) 22:32:33ID:???
>>137
ロハってなんすか?

>>141
マニュアルがまだ未整備って感じで、結局PHPのソースを見るって感じ・・・
マクロとか、どっちを使えばいいのかわからないものも多いし・・・
まあがんばってみます
0165nobodyさん2006/11/24(金) 22:44:58ID:???
ロハ = 只
0166nobodyさん2006/11/25(土) 05:37:25ID:???
http://pc8.2ch.net/test/read.cgi/php/1162818436/914
感じで指摘したら読み間違いは直らないんじゃ、と今更思った
0167nobodyさん2006/11/25(土) 06:08:17ID:uP/mQvTw
このスレ専属の回答者様のPHPを導入したサーバOSをおしえてください
0168nobodyさん2006/11/25(土) 06:57:18ID:???
>>167
一般的な多くのOSで動作するけど・・その質問に何の意味が?
0169nobodyさん2006/11/25(土) 08:04:58ID:???
スレ専属の回答者ってなんだ?
0170スレ専属の回答者2006/11/25(土) 09:03:10ID:???
おいおい、俺のことに決まってるだろ。知らんのか?
0171nobodyさん2006/11/25(土) 09:19:30ID:???
>>170
初書き込み乙
0172nobodyさん2006/11/25(土) 12:15:23ID:???
Unsupported operand types になるのですがメンバ変数のstaticでこういう使い方は
出来ないのでしょうか?

class test{
static $a = array();

function add($val = 'aaa'){
$this->a += array('test'=>$val);
print_r($a->layout);
}
}
$test = new test();
$test->add();
$test = new test();
$test->add(5);
0173nobodyさん2006/11/25(土) 12:22:01ID:???
staticなメンバ変数に$thisは使えないよ
0174nobodyさん2006/11/25(土) 12:28:29ID:???
>>173
そうでしたか、ありがとうございます。
0175nobodyさん2006/11/25(土) 12:38:54ID:???
んじゃstaticって何のためにあんの?
0176nobodyさん2006/11/25(土) 12:39:49ID:???
self::$aとすればよい
0177nobodyさん2006/11/25(土) 12:48:18ID:???
>>175
クラスをインスタンス化しないで呼び出すことができる。
0178nobodyさん2006/11/25(土) 13:08:30ID:???
つまり通常のfunctionと同じことになるって理解でいいんですかね

買い物カゴという「モノ」に商品を追加する「手続き」や、追加する個数という「データ」のように
オブジェクト設計としてはどういう扱いなんでしょうか?
0179nobodyさん2006/11/25(土) 13:10:36ID:???
PHP固有の機能じゃないよ
0180nobodyさん2006/11/25(土) 13:33:04ID:???
オブジェクト指向的には異端
0181nobodyさん2006/11/25(土) 13:53:53ID:???
htaccessで特定のディレクトリだけPHPの設定を変えようと思ったんだけどうまくいかない。

<IfModule mod_php4.c>
php_flag display_errors On
</IfModule>

htaccess自体は効いていて、PHPに関する部分だけ無視される…。

サーバにSSHで入ったら、mod_php4.cがなくて、代わりに libphp4.so がある…。
どうしたらいいんでしょうか?
0182nobodyさん2006/11/25(土) 13:55:38ID:???
だね。
汎用的で簡単な関数や定数を放り込んでおくのに使うくらいだな。
■ このスレッドは過去ログ倉庫に格納されています