953 :
949 :04/11/20 23:26:25 ID:???
php上での記述の仕方が知りてーんだよ
移動しろ。
phpで構築されてるサイトで、 phpinfo(); の内容がすぐにわかってしまうのは セキュリティ上、まずくはないんでしょうか?
>>955 phpinfo()の内容はphp.iniで制御できるよ。
phpinfo()が使えないように設定してあっても、php.iniやhttpd.confが perlで作ったスクリプトで覗けてしまう無料レンタルサーバはよくあるな。
結局自作のphpinfo()関数作ればどうにでもなりそうな気もする
959 :
nobodyさん :04/11/21 13:01:17 ID:mw841Fe0
教えてください RedHat9 PHP4 にmime_magic_moduleが 入っている環境なのですが、 以下のソースの中で、mime-type: text/htmlのときに表示させるように したいのですが、具体的なmime_magicの使い方がわからず困っています。 具体的にどうすればよいのかお教えください。 $cd = $_REQUEST['path']; $dirname = "/home/hoge/public_html$cd/"; $dh = dir($dirname); while ($entry = $dh->read()){ if($entry != "index.html"){ print $entry; } } よろしくお願いいたします。
>>955 PHPは初心者向けだからセキュリティよりもまずは利便性なんだよ
そう言う問題なのか…?w
>>960 まぁ確かにブラウザにエラー出力するスクリプトが多いし
セキュリティよりも利便性ってのもある気もするな
大量に行があるテキストファイルから目的の行を探し当て取得するのに もっとも効率のいい方法ってどんな感じですか? whileで回しながら一行ずつチェックするのは 最後のほうに目的の行があった場合、時間がかかって困ってます。 データベース使わずになんとかならないでしょうか。
インデックスをつけるとか? 名前ならaから始まるのはここ、bから始まるのはここという情報を記憶するみたいな
データ次第。リニアサーチが不安定なら他のも試せ
967 :
959 :04/11/21 21:53:54 ID:mw841Fe0
すいません、なにとぞmime_magicの使い方をお教え願えないでしょうか? maime_magic以外にも、ファイルの形式を判断できる方法があれば、 そちらも教えていただきたいのですが、よろしくお願いします。 うざくて申し訳ないです。
"ソ"という文字をフォームを使って入力されると データの中身が「ソ\」になってしまいます。 なので「ソ\」の後ろから「\」をとりたいのですが 上手に正規表現を組めません。 パターン構文のサイトを見て試行錯誤したのですが上手にできません。 どのようにすればいいか教えてください。 foreach ($src_list as $i => $v) $v = ereg_replace ("ソ\\\", "ソ\", $v);
>969 それはエスケープされているわけだが「ー」「表」なども同様の副作用が生じる。 エスケープと逆の事をする関数を使え。
ありがとうございます。 その\と逆の事をする関数を探します。ラジャ
>>969 .htaccessに「php_flag magic_quotes_gpc Off」って書いとけば無問題
そして必要なところでは自分でエスケープすればいい
みつけました>逆の事をする関数
stripslashes
>>972 ありがとうございます。
是非やってみます
974 :
nobodyさん :04/11/22 00:57:12 ID:ui2dUAYs
質問です。 文字列"a1"から$a1を作り出す(読み出す)ことってできるのでしょうか。 JavaScriptやVBAなら文字列→変数に変換できるので、PHPでも同じことが できるだろうと調べてみたものの見つからず。。 よろしくお願いします。
>>974 可変変数のことでしょうか?
$a["sample"] = "ほげほげ";
$name = "sample";
echo $a[$name];
−−−−−−−−−
出力結果:
ほげほげ
>>974 $a1= 'hoge';
$str='a1';
echo ${$str};
>>975 >>976 即レスありがとうございます!関数も使わずこんな簡単にできるんですね・・・
いやお恥ずかしい・・・。ありがとうございました。 <(_ _)>
>985は単なる連想配列のような気がする
>>985 ウィットの聞いたレスで楽しませて欲しい。
│ト、l、 /´, '`⌒'´ `ヽ: : . ヾヽ!lV/ / ,/ / ,' ハ、: . ,ィニ≧ゝレ' / / ,./ / , ハ : : . く<-‐7´ _」] l l/_,∠/ / / / い : : .  ̄ノ/: :f r'l l /レ'/、_/‐ト'、/l| li l : : : : . . : {ハ : :|{(l|y==ミ _ノ、/ソリ ll | : : : : : : : : :ヽヽ: :|、lハl、゙ ⌒ヾlノリ ll l : : : : : : : : : : : : : : V\ヽ、 `ー ゛ノルんイリノ : : : : : : : : : : : : : : : ,.--、_ハ`−r=ニ--、′ノ. : : : : : : : : : : : : : : : / /-ョロ'ヲ´ i l : : : : : : : : : : : : : : : : : 〈 ,ハフ'兀「 ! } : : : : : : : : : : : : : : : : : ヽ, ト{‐lハ. ヽ ' ノ : : : : : : : :
あーあ・・・・ _,,..,,,,_ ./ ゚ 3 `ヽーっ l ゚ ll ⊃ ⌒_つ `'ー---‐'''''"
心臓配列 はい次
991 :
nobodyさん :04/11/22 12:07:22 ID:5v0Qpc9v
オブジェクトのコンストラクタで、引数が不正だったとかでエラーを返したいときは、 どうするのがよいのでしょう。 通常の関数でエラー発生時は、falseを返すようにしてたのですが、 コンストラクタで、 return false とやっても、 普通にオブジェクトができてしまうみたいで。
992 :
991 :04/11/22 12:09:01 ID:???
書くの忘れました。PHP4です。
ぼくはじめてぴーえいちぴーべんきょうするんだけど ぼくでもわかるほんがあったらおしえてちょーだい*^^*
>>991 どうすれば「良い」かはわかりませんが、
・オブジェクトを呼び出す前にチェックする
・引数をチェックする関数を実装して、コンストラクタから呼び出す
くらいでしょうか。
>>991 ・コンストラクタは空にして、別に初期化用のメンバ関数を追加する
class A {
function A() {}
function init(...) { return /*初期化*/; }
}
$a = new A();
if (!$a->init()) { ... }
・エラーチェック用のメンバ変数とエラーチェック用のメンバ関数を追加する
class A {
var $err = 0;
function A(...) { if (!/*初期化*/){ $this->err = /*エラー番号など*/; } }
function get_error() { return $this->err; }
}
$a = new A(...);
if ($a->get_error() != 0) { ... }
・こういうのが嫌なら、PHP5に移行して例外処理で。
997 :
991 :04/11/22 14:39:17 ID:???
>>995-996 ありがと。
でも、ちょっと違うような気がする。
別方面で、$this = false;
ってやればいいと知ったので、それでいくことにします。
ほんとは、PEARのエラーオブジェクトを返すといいそうです。
PHPよりJavaのほうが勉強になる?
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。