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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/05/28(金) 16:33:44ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 95
http://pc11.2ch.net/test/read.cgi/php/1271636105/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0076nobodyさん2010/06/01(火) 23:55:39ID:???
シングルクォーテーションに囲まれてないから
0077nobodyさん2010/06/02(水) 08:29:32ID:???
囲まれた・・・
0078nobodyさん2010/06/02(水) 10:25:39ID:???
しかも熟女に
0079EM114-48-32-41.pool.e-mobile.ne.jp2010/06/02(水) 11:06:30ID:mhIc5LxU
質問受付あげ
0080nobodyさん2010/06/02(水) 15:28:49ID:1PsJc2A4
質問です

VBで作ったものをPHP上で動作させることはできますか?
それはどのようにして実現できますか?


宜しくお願い致します
0081nobodyさん2010/06/02(水) 15:32:01ID:???
system
0082nobodyさん2010/06/02(水) 15:32:50ID:1PsJc2A4
質問が悪いですかね?
値の受け渡しとかではなく、VBの画面をそのままWebアプリとして使いたいのです

フレームか何かでその部分だけはVBの部分と独立させてやれると尚いいのですが
0083nobodyさん2010/06/02(水) 16:07:21ID:???
PHPMyAdminのタイムアウトまでの時間を延ばす方法をググったら
config.inc.phpというファイルを編集すれば良いことがわかりましたが、
同名のファイルが4つあって、どれをいじればいいのかわかりません。
OSはUbuntuです。

1) /etc/phpmyadmin/config.inc.php
2) /usr/share/phpmyadmin/config.inc.php
3) /usr/share/phpmyadmin/setup/frames/config.inc.php
4) /var/lib/phpmyadmin/config.inc.php

1を編集しても効果ありませんでした。
2を編集したら時間は延びたようでしたが、元に戻ってしまったようです
(ファイルの中身はちゃんと追記されたままになってるのに)。

結局どれが正しいファイルでしょうか?
0084832010/06/02(水) 16:09:20ID:1gJ1/kVu
IDを出し忘れました。すみません。
0085nobodyさん2010/06/02(水) 16:29:50ID:???
PHPスクリプトのタイムアウト<PHPのタイムアウト(php.ini)<Webサーバのタイムアウト(Apache)<OSのタイムアウト
となってるわけでconfig.inc.phpとやら以外に原因がある可能性は?
0086nobodyさん2010/06/02(水) 16:38:16ID:???
>>82
無理、といいたいところだけど、そういうActiveX作って、PHPでそれを使うフレームを出力すればいけるのかも
0087nobodyさん2010/06/02(水) 16:44:12ID:1gJ1/kVu
>>85
そういう優先順位になってるんですね。

http://ameblo.jp/hyperdev/entry-10345093485.html

上のページを見てやってみたんですが、
「php.iniに設定した、ガベージコレクタの時間より大きくなる場合が多い」というのを防ぐために
ini_set("session.gc_maxlifetime", 18000);
っていう一行を入れてるみたいなので、問題はApacheとOSの設定ってことですかねぇ。

でも、昨日2のファイルに設定した直後はちゃんと有効だったのは何だったんだろう…。
0088nobodyさん2010/06/02(水) 17:41:42ID:???
73です
>>75
ありがとうございます。
おっしゃられてる方法でわかったつもりで、
以下を書くとエラーで怒られてしまいました・・・。

print '<a href='."$_SERVER['PHP_SELF']".'> 削除 </a>';

ほんとは上の文章が動作していたら、
?をつけてGetで変数を送りたいのですが、
?をつける以前につまづいてしまいました・・・
お助けください。
0089nobodyさん2010/06/02(水) 17:55:17ID:???
>>88
print '<a href=' . $_SERVER['PHP_SELF'] . '> 削除 </a>';

あと$_SERVER['PHP_SELF']の部分がソース名(php名)をひっぱってきたいだけなら
$_SERVER['SCRIPT_NAME']を使った方が良い
0090nobodyさん2010/06/02(水) 18:29:44ID:???
'<a href='          ←これは文字列
$_SERVER['PHP_SELF']  ←これもの中身も文字列

文字列同士を結合するために . (ドット)を使われるんだよ。
正しく書くと、

print '<a href=" . $_SERVER['PHP_SELF']. "> 削除 </a>';

となる。
hrefのクォートはシングルじゃなくてダブルね。

というか、リンク先を自分と同じスクリプトにするなら $_SERVER['PHP_SELF'] すら要らんよね。
クエリ文字を付けたリンクにしたいなら↓こんな感じ。

print '<a href="?del=1"> 削除 </a>';

あと余談だけど、ダブルクォーテーションの中に変数を入れる場合は
変数を { } で囲む癖をつけておいたほうがいいよ。
009190訂正2010/06/02(水) 18:56:09ID:???
いろいろ間違っててスマソ


これもの中身も文字列
   ↓
これの中身も文字列

文字列同士を結合するために . (ドット)を使われるんだよ。
   ↓
文字列同士を結合するために . (ドット)が使われるんだよ。

print '<a href=" . $_SERVER['PHP_SELF']. "> 削除 </a>';
   ↓
print '<a href="' . $_SERVER['PHP_SELF']. '"> 削除 </a>';

hrefのクォートはシングルじゃなくてダブルね。
   ↓
href=の後のクォートはシングルじゃなくてダブルね。
0092nobodyさん2010/06/02(水) 20:18:19ID:???
>>91
今回の例ではダブルだというだけだよね。状況によってはシングルの方が便利だし。
0093nobodyさん2010/06/02(水) 22:14:08ID:D8F23o+y
>>90
何で変数を{}で囲まないといけないんですか?
0094nobodyさん2010/06/02(水) 22:39:11ID:???
それが変数出力だとコードを見てすぐわかるから
0095nobodyさん2010/06/02(水) 22:44:45ID:???
>>94
そんな理由じゃないと思う。
ダブルクォートに囲まれた部分で配列を使おうとすると分かる。
0096nobodyさん2010/06/02(水) 22:56:54ID:???
配列使わないときも囲う癖をつけるべきって人は>>94が理由でしょう
0097nobodyさん2010/06/02(水) 23:02:05ID:???
>>94
{}で囲うのは俺もオススメする。
0098nobodyさん2010/06/02(水) 23:02:05ID:???
>>93

>>94の言うとおり、わかりやすいっていうのが理由の一つ。

あと、{ } を付ければ前後にスペースがいらない。
例えば、次の3つを比較するとわかる。

(1) echo "ab $text cde";
(2) echo "ab$textcde";
(3) echo "ab{$text}cde";

1はOKだけど、出力結果にもスペースが入ってしまう。
2は不可。
3はOKで、スペースも入らない。

あと、速度も違うんだけど、このことはあまり知られてないのかなぁ。
ちなみに、配列でキー名に ' ' を付けるのと付けないのも速度に差が出る。
0099982010/06/02(水) 23:03:54ID:???
ちょっと補足。

2は不可っていうか、エラーにはならないけど期待する表示にならないってことね。
0100nobodyさん2010/06/02(水) 23:27:40ID:???
ちなみに当然だけど文字列リテラルで
ダブルクォートとシングルクォートを使うとでも速度は違うね。
0101nobodyさん2010/06/02(水) 23:31:43ID:???
>>98
{} なんぞ使ってて速度を気にするような人なんておらんだろ?
そもそも文字列内に変数を展開なんてしないし
0102nobodyさん2010/06/02(水) 23:37:57ID:???
速度の違いが分かるほど複雑なスクリプト組んでるわけじゃないけど
>>100の理由でシングルしか使ってないな。妄信的に
0103nobodyさん2010/06/02(水) 23:57:58ID:yUWMqjwo
whileで条件式が数値の0のときにも、
TRUE判定させるにはどうしたらいいですか?

while($num=strpos(゙あかあおしろ゙,゙あが,0))
)
で一番最初の文字列にヒットした場合弾かれてしまいます。
何かいい解決法があれば、どうかご教示をお願いします。
0104nobodyさん2010/06/03(木) 00:03:18ID:???
>>103
while (($num = strpos('あかあおしろ', 'あか', 0)) !== false) {}
0105nobodyさん2010/06/03(木) 00:42:40ID:???
>>102
{}使ったほうがすっきりする場合は使ってる。
0106nobodyさん2010/06/03(木) 01:25:57ID:???
88です
>>91
ありがとうございます。
print '<a href="'.$_SERVER['PHP_SELF'].'"> 削除 </a>';
は無事動きました。
href="
の部分のダブルクオテーションは文字という考え方ということですよね?
なので、
'<a href="'
という、シングルクオテーションで囲まれている
<a href="
が文字と言う考え方であってますでしょうか?


次に、変数を""というダブルクオテーションで囲むと、
その囲まれてる変数は展開されるという認識の下、以下にしてみるとダメでした。
print '<a href="'."$_SERVER['PHP_SELF']".'"> 削除 </a>';

今回、a href=の後のクオートがもともとのHTMLの仕様では、
ダブルクオテーションであり、そのあとに、変数を囲むダブルクオテーションが続くと
何か問題が出てしまうのでしょうか?


さらに、{}で変数を囲めるということでためしてみました。

print '<a href="'{$_SERVER['PHP_SELF']}'"> 削除 </a>';
も、
print '<a href="'.{$_SERVER['PHP_SELF']}.'"> 削除 </a>';
も動きませんでした。
書き方がまちがっていますでしょうか?
0107nobodyさん2010/06/03(木) 01:26:34ID:???
展開可能とはいえ文字列ん中に変数入れるとか普通気持ち悪くね?
HTMLの中に書くって事でスタートしてるからこうなってるんだと思うよ
つまりビュー層のハナシ
zend のコーディング規約でもシングルクオートで変数は連結しろとかなかったっけ?
他言語の使い手にも読みやすいって事まで考えてそうなってると思うんだけどな
0108nobodyさん2010/06/03(木) 01:35:04ID:???
>>106
<a href="
が文字と言う考え方であってますでしょうか?

あってる

print '<a href="'."$_SERVER['PHP_SELF']".'"> 削除 </a>';
では,"$_SERVER['PHP_SELF']" のパースができない(だったような

print '<a href="' . "{$_SERVER['PHP_SELF']}" . '"> 削除 </a>';
なら動くと思う。

素直に
print '<a href="' . $_SERVER['PHP_SELF'] . '"> 削除 </a>';
でいいじゃんかよ

ちゃんとエスケープもしろよ?歯も磨けよ?
0109nobodyさん2010/06/03(木) 01:35:14ID:???
>>106
> '<a href="'
> という、シングルクオテーションで囲まれている
> <a href="
> が文字と言う考え方であってますでしょうか?

あってる。

> 次に、変数を""というダブルクオテーションで囲むと、
> その囲まれてる変数は展開されるという認識の下、以下にしてみるとダメでした。
> print '<a href="'."$_SERVER['PHP_SELF']".'"> 削除 </a>';

print '<a href="'."{$_SERVER['PHP_SELF']}".'"> 削除 </a>';
にしてみて。

> print '<a href="'{$_SERVER['PHP_SELF']}'"> 削除 </a>';

.が無いし、{}が不要。

> print '<a href="'.{$_SERVER['PHP_SELF']}.'"> 削除 </a>';

{}が不要。
0110nobodyさん2010/06/03(木) 01:36:35ID:???
>>106
$_SERVER['PHP_SELF']はセキュリティ上の問題があるのでHTMLとして出力する物には使わない
$_SERVER['SCRIPT_NAME']またはbasename(__FILE__)で代用
0111nobodyさん2010/06/03(木) 01:40:41ID:???
$_SERVER['PHP_SELF']や$_SERVER['SCRIPT_NAME']を使わなくても
<a href=""> 削除 </a>
でいけるやん
0112nobodyさん2010/06/03(木) 03:47:38ID:???
みんなよくつきあうな。どうみても釣りじゃん。
0113nobodyさん2010/06/03(木) 05:12:55ID:???
{}で囲むのはダブルクオテーション中のときだけでいいです

//ダブルの場合
echo "こんにちわ、{$name}さん。";

//シングルの場合
echo 'こんにちわ、' . $name . 'さん。';
0114nobodyさん2010/06/03(木) 05:28:29ID:XbPCpr1k
>>104
ありがとうございます。
もうひとつお伺いしたいのですが、文字列の指定位置に文字列を挿入する場合の関数はありますか?
substr_replaceの使用を考えたのですが、置き換え文字数を0に指定するとうまくいきません。
1以上にして置き換え後の文字列に消した文字を含ませるのもスマートではない気がします。
どうかよろしくお願いします。
0115nobodyさん2010/06/03(木) 07:26:38ID:???
>>114
そういうのはそのまま考えて分割して連結でよくね?
マルチバイトとか絡んでくると面倒になるし
0116nobodyさん2010/06/03(木) 07:28:03ID:???
sprintfとか使うけどな
0117nobodyさん2010/06/03(木) 07:36:18ID:LdZGbuVn
fc2とかのアクセスランキングで、ランキングを表示させているサイトは混在する文字コードなのに
文字化けせずに表示できているのはどういった仕組みなのでしょうか。

よろしくお願いいたします。
0118nobodyさん2010/06/03(木) 07:37:57ID:???
>>117
変換してんじゃないの?
0119nobodyさん2010/06/03(木) 08:12:37ID:LdZGbuVn
>>118

mb_convert_encoding autoとかででしょうか?
0120nobodyさん2010/06/03(木) 08:26:57ID:???
PHP でやってるとしたらそうじゃね? auto は微妙だけど
0121nobodyさん2010/06/03(木) 10:56:12ID:???
>>109
>>110
>>111
>>113
ありがとうございました。
おかげさまで完全に理解できました!!
0122nobodyさん2010/06/03(木) 12:10:17ID:???
>>121
おめ。

どうやって勉強してるかわからないけど、
今の知識だとセキュリティ対策が十分にできないと思うから
本とか読んで学んだほうがいいよ。
0123nobodyさん2010/06/03(木) 15:18:39ID:???
>>89 >>108
元の質問者とは別人ですが、便乗して質問させてください

$_SERVER['PHP_SELF']より$_SERVER['SCRIPT_NAME']のほうが安全ということですが、
$_SERVER['SCRIPT_NAME']を使ってもエスケープは必要なんでしょうか?
0124nobodyさん2010/06/03(木) 16:24:14ID:???
>>123
確かにそちらの方が安全だが、アンカーの先にはそれについて言及していない。
誰にレスをしたんだ?
0125nobodyさん2010/06/03(木) 16:51:43ID:???
>>123
なぜ危険/安全なのか理解してる?
「php_self script_name」で検索すれば比較してるサイトがいっぱいでてくるよ
0126nobodyさん2010/06/03(木) 16:55:55ID:???
ttp://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/003.html
>第1章 総論
>より良いWebアプリケーション設計のヒント
>(1) プログラミング言語の選択
>1) 例えば、PHPを避ける
0127nobodyさん2010/06/03(木) 17:15:09ID:???
>>124
> 誰にレスをしたんだ?

主に>>108の「ちゃんとエスケープもしろよ」へのレスです。

>>125
はい、$_SERVER['PHP_SELF']のほうをそのまま出力すると
JavaScriptを仕込まれてしまう可能性があるということですよね?
なので、エスケープする理由はわかります。

お尋ねしたいのは、_SERVER['SCRIPT_NAME']でもエスケープする必要があるのかということです。
SCRIPT_NAMEにはPHP_SELFのようなXSSの脆弱性はないと思ってたんですが、
何か特殊な方法による攻撃の対象になることがあるんでしょうか?
0128nobodyさん2010/06/03(木) 17:55:31ID:???
>>127
http://www.php.net/manual/ja/reserved.variables.server.php
'PHP_SELF'
現在実行しているスクリプトのファイル名です。
ドキュメントルートから取得されます。
例えば、http://example.com/test.php/foo.bar というアドレス上にあるスクリプトでは
$_SERVER['PHP_SELF'] は /test.php/foo.bar となります。

'SCRIPT_FILENAME'
現在実行されているスクリプトの絶対パス
0129nobodyさん2010/06/03(木) 17:57:58ID:OUHRb8my
CentOS5.3でPHP5.1を使っています。

クライアントにバイナリデータを送るときに
fopenとfreadをとechoを使ってるんですが、
クライアント側からはバイナリデータが壊れていると
言われたりしています。
freadってバイナリセーフな関数なんですよね?

何か他に注意すべきところがありますか?
0130nobodyさん2010/06/03(木) 18:08:47ID:???
>>129
fopenでmodeにbフラグ付けてる?
0131nobodyさん2010/06/03(木) 18:13:58ID:iSHgRF9v
requireとかrequire_onceする静的?なモジュールと
.soをextension_dirで登録する動的?タイプのモジュール。
後者はコンパイルなんかのコスト分遅いっていう認識はあってますか?


0132nobodyさん2010/06/03(木) 18:15:38ID:iSHgRF9v
ごめんなさい文末一行
○前者はコンパイルなんかのコスト分遅いっていう認識はあってますか?
×後者はコンパイルなんかのコスト分遅いっていう認識はあってますか?
0133nobodyさん2010/06/03(木) 18:19:41ID:???
>>130
はい。読み込み専用で開けばよいので
パラメータは'rb'をつけています。

0134nobodyさん2010/06/03(木) 19:59:49ID:???
>>133
file_get_contentsやreadfileは試してみた?
0135nobodyさん2010/06/03(木) 20:02:16ID:???
>>131
requireやincludeは外部ファイルのスクリプトを読み込むもの。
extension_dirなどの拡張モジュールは、
Cなどの低級言語で書かれているのでPHPより高速で、当然にコンパイルされているので速い。
0136nobodyさん2010/06/03(木) 20:22:42ID:???
>>129
PHPスクリプトにBOMが付いてないかい
こういう問題はHTTPをモニタリングするツールを入れて
実際に送られたヘッダとデータを確認するのがいいんだが
0137nobodyさん2010/06/03(木) 21:00:55ID:???
>>133 >>136

先ほど自己解決しました。
おそらく・・なんですが。
サーバ側のファイルとクライアントでダウンロードしたファイルを
比較したところ、クライアント側には行頭に改行コードが入ってました。

そのせいでファイルサイズも1バイト分差異がありました。

対策としてサーバ側のスクリプトファイルの
不要な改行コードを削除しました。

<?
--色々なロジック--
?>
 ←この辺りの不要な改行コードを削除。


そうしたところ、こちらが意図するとおりにファイルを
送ることが出来ました。

どうもありがとうございました。
0138nobodyさん2010/06/03(木) 21:02:06ID:???
137ですが、
>>133ではなく、>>134でした。

申し訳ありません。
0139nobodyさん2010/06/03(木) 21:30:19ID:???
SAPIのCGIを見ると、「PHP5.3まで」とあるんですが、PHP5.4以降はどうなってしまうのでしょうか?

ttp://jp2.php.net/manual/ja/function.php-sapi-name.php
0140nobodyさん2010/06/03(木) 21:56:52ID:???
>>137
XML吐く時に同じ事食らったよ
以来終了タグ ?> は書かなくなった
zend framework のコーディング規約でも書くなってなってる
0141nobodyさん2010/06/03(木) 22:36:01ID:???
>>140
バカよけのための規約で、結構前からあるにはある
0142nobodyさん2010/06/04(金) 02:08:52ID:???
PHPをプログラミングするのにお薦めの最適な開発ツール(エディタ)って何になりますか?

コード補完してくれて,定義済みのうユーザー定義関数もアシストしてくれるような定番があれば是非知りたいです
MySQLのクエリも同時に書くのでそれも補完アシストしてくれたりしたら最高ですがそんなのってあるんでしょうか?

開発効率が格段にあがるのでしたら有料でも全然かまいませんので お願いします
ちなみに今は秀丸で書いてます
0143nobodyさん2010/06/04(金) 02:19:59ID:???
NetBeans Eclise
0144nobodyさん2010/06/04(金) 02:26:29ID:???
vim emacs
0145nobodyさん2010/06/04(金) 02:36:38ID:???
プログラマならvimとかemacsみたいな自分でカスタムできるエディタを
早いうちから使っといた方がいいよ

秀丸でもマクロで多少のカスタムはできるんじゃなかったっけ
使ったことないから知らないけど
0146nobodyさん2010/06/04(金) 02:51:45ID:???
ちょっとした編集 gvim/vim
デバッグまでする場合 netbeans
0147nobodyさん2010/06/04(金) 03:35:38ID:???
Eclipseは導入までがちょっと面倒なんだよな、NetBeansは簡単なのに
0148nobodyさん2010/06/04(金) 05:42:14ID:???
>>135
やっぱりそうでしたが、ありがとうございました。
0149nobodyさん2010/06/04(金) 10:31:22ID:???
>>140 >>141

たしかにzend frameworkには?>が書かれていないですね。
規約だったとは・・・。

ということは、皆さんの開発現場でも
?>は書かないようにされているのでしょうか?

?>を書かないことでのデメリットはないのでしょうか?
もしデメリットがあればそれを認識した上で
私も活用したいと考えておりますので
教えていただけないでしょうか。

0150nobodyさん2010/06/04(金) 10:48:26ID:???
>>149
書いてはいけない理由はこのあたりを参考に
http://d.hatena.ne.jp/fbis/20090716/1247714151
http://d.hatena.ne.jp/Kiske/20100128/1264643384
0151nobodyさん2010/06/04(金) 10:53:50ID:???
>>150
ありがとうございます。
拝見いたしました。

色々と危険があるようですね。
今回私もそれで苦労したので、
ひとまず、?>は削除したいと思います。


0152nobodyさん2010/06/04(金) 10:55:12ID:???
閉じタグっていうか、 ?>がパースしない直出力への開始みたいなもんだと思ってます。
0153nobodyさん2010/06/04(金) 11:06:10ID:???
【OS名】Windows
【PHPのバージョン】5.2

クラスの静的メンバに設定ファイル(xml)を読み込みたいのですが、
Javaでいう static句 みたいなものってあるのでしょうか?

静的関数にして初回時に読み込むみたいな処理にすれば
実現はできるなーと思っているのですが。

よろしくお願いします。
0154nobodyさん2010/06/04(金) 14:21:33ID:???
>>146

NetBeans6.9 Betaを導入してみました
ですが、これまで作っていたPHPファイルの
日本語によるコメント部分がすべて文字化けします。
NetBeans上で文字を打ち直して保存して、
それを今度テキストエディタで開くと、
今度はテキストエディタの表示が文字化けしているという状態です。

PHPの文字コードは
UTF-8のBOM無し
で開発したらいいのでしょうか。
根本的なところでミスってますか?
0155nobodyさん2010/06/04(金) 14:38:19ID:???
>>153
スタティックなメンバは「PHP static」とかでググればすぐ見つかるはずだけど、
初回時ってどういうこと?
コンストラクタを使うのとは意味が違うの?

あとスレタイ読んでね。
0156nobodyさん2010/06/04(金) 14:39:12ID:???
>>143
EclipseよりスタンドアロンのAptanaのほうが軽いと聞いた
0157nobodyさん2010/06/04(金) 14:54:59ID:???
>>154
PHPはBOM付きはダメだと俺は認識してた。
BOM付きのスクリプトでHTMLを出力すると崩れたりすると思う。
BOMを消したらNetBeans 6.9 Betaの文字化けしないかどうかは知らないけど。

それより、6.9はひと月ほど前に使ったらめっちゃ不安定だったけど
もうだいぶ改善されてるのか?
正式版の時期が近づいてるから、そろそろ良くなってなきゃまずい頃だとは思うが。
0158nobodyさん2010/06/04(金) 15:04:56ID:AnXEBzRW
PHPで、クラスの中にあるメソッドの一覧を取得するにはどうしたらいいでしょうか?
0159nobodyさん2010/06/04(金) 15:09:53ID:???
>>158
http://www.google.co.jp/
01601582010/06/04(金) 15:12:27ID:???
>>159 ありがとうございます。

PHPのリフレクションを使って、どうやってクラス毎のメソッド一覧、シグネチャ一覧を取得できますか?
0161nobodyさん2010/06/04(金) 15:15:08ID:???
>>158
ttp://jp.php.net/get-class-methods
01621582010/06/04(金) 15:18:28ID:???
>>161 どうもありがとうございます。
0163nobodyさん2010/06/04(金) 15:21:59ID:???
>>158
http://www.php.net/manual/ja/book.reflection.php
0164nobodyさん2010/06/04(金) 15:35:00ID:???
>>154
単純に、ファイルの文字コードとエディタの文字コードが違うんじゃないか?
上書き保存じゃなくて変換とかすればできるはず
0165nobodyさん2010/06/04(金) 16:57:55ID:???
>>164
この流れで文字化けに対する解決を提示しようとするなんて意地が悪いね。
0166nobodyさん2010/06/04(金) 22:05:06ID:???
>154
プロジェクトのプロパティに文字コードの設定がある
netbeans は指定の文字コードで読もうとするので
プロジェクト内は統一する必要がある
変換もできないので他のエディターで変更しとかないといけない
0167nobodyさん2010/06/04(金) 23:36:51ID:???
>>154
Netbeans UTF-8 でググればUTF-8で開く方法がたくさん出る
0168nobodyさん2010/06/04(金) 23:40:28ID:???
>>154
> PHPの文字コードは
> UTF-8のBOM無し
> で開発したらいいのでしょうか。
うん、それでいいよ。
PHPの設定も一応見直すとよいです。

なんか的外れなレスが多くね?
0169nobodyさん2010/06/04(金) 23:48:40ID:XmC1Ur85
【OS名】Linux (32bit)
【PHPのバージョン】5.2

CORESERVERを使用しています。
DB使わずにファイルでデータを管理しているのですが、
ファイルロックの方法が間違っているのかデータが飛びまくって困っています。

上書きする際の流れは

・ロック用ファイルをwでオープン
・ロック用ファイルを排他ロック
・変更ファイルをrでオープン
・共有ロック
・データを変数に格納&指定部分を変更
・ファイルロック解除
・ファイルクローズ
・変更ファイルをwでオープン
・排他ロック
・さっきの変数をfwriteで上書き
・ファイルロック解除
・ファイルクローズ
・ロック用ファイルのロックを解除
・ロック用ファイルをクローズ

って感じです。
他にも同じファイルを呼び出す処理がいくつかあって、
それらではrのときは共有ロック、aのときは排他ロックをかけています。

ご指摘お願いします。
ソース必要でしたら貼ります。
0170nobodyさん2010/06/05(土) 00:03:29ID:UzvzEjBp
質問です。

HTMLで以下のコード書いてみた。
<form method="GET" action="index.php?sex=man">
<input type=hidden name=myname value="maiko">
<input type=submit value="regist">
</form>

このフォームだと、myname="maiko"はサーバに渡るんだけど、
actionに指定しているsex=manの部分がサーバにわたらない。

method="POST"の場合だと、両方サーバにわたるんだけど、
なんで駄目なんでしょうか?
htmlの仕様?
0171nobodyさん2010/06/05(土) 00:33:54ID:???
うん
0172nobodyさん2010/06/05(土) 00:34:22ID:???
>>168
うん。君が的外れ。

>>169
PHPのファイルロックはダメダメ
アクセスカウンターが飛ぶとか過去スレ(かなり前)にあったと思う
ロック用のディレクトリやファイルを使ったりしてる人もいる
よく読んでないけど設計は合ってると思う

>>170
ブラウザのアドレス見たら分からんかな
0173nobodyさん2010/06/05(土) 00:35:42ID:WrJc7rsM

すみません、文字コードのことで困っています。

今現在、外部ファイルを読み込むプログラムを作成しているのですが、
一部の文字コードにおいて文字化けが発生してしまいます。

UTF-8 => o, EUC-JP => x

具体的には、片方の文字コードにしか対応できないということです。
EUC-JPに対応させようとしたら、今度はUTF-8が駄目に。。。

php.ini の設定内容についてアドバイスもらえると助かります。
よろしくお願いします。
0174nobodyさん2010/06/05(土) 00:38:03ID:???
>>173
具体的におかしくなる文字列を出した方がいいと思う
文字コードによって存在しない文字もある訳だし
01751732010/06/05(土) 00:41:13ID:WrJc7rsM
>>174
どうもありがとうございます。

対象の外部ファイルについてですが、任意の一般的なサイトです。
また、日本語については全て化けてしまっています。

自動的に文字コードを判別して切り替えることはできないでしょうか?
■ このスレッドは過去ログ倉庫に格納されています