【PHP】質問スレッドpart24【php】

このエントリーをはてなブックマークに追加
952nobodyさん:04/11/20 23:23:05 ID:???
>>949
htmlの話なら web制作板へ
953949:04/11/20 23:26:25 ID:???
php上での記述の仕方が知りてーんだよ
954nobodyさん:04/11/20 23:26:53 ID:???
移動しろ。
955nobodyさん:04/11/21 02:52:46 ID:???
phpで構築されてるサイトで、
phpinfo(); の内容がすぐにわかってしまうのは
セキュリティ上、まずくはないんでしょうか?
956nobodyさん:04/11/21 02:56:28 ID:???
>>955
phpinfo()の内容はphp.iniで制御できるよ。
957nobodyさん:04/11/21 05:41:12 ID:???
phpinfo()が使えないように設定してあっても、php.iniやhttpd.confが
perlで作ったスクリプトで覗けてしまう無料レンタルサーバはよくあるな。
958nobodyさん:04/11/21 08:53:49 ID:???
結局自作のphpinfo()関数作ればどうにでもなりそうな気もする
959nobodyさん: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;
  }
}

よろしくお願いいたします。
960nobodyさん:04/11/21 17:11:10 ID:???
>>955
PHPは初心者向けだからセキュリティよりもまずは利便性なんだよ
961nobodyさん:04/11/21 17:17:27 ID:???
そう言う問題なのか…?w
962nobodyさん:04/11/21 17:54:26 ID:???
>>955
どの項目だ
963nobodyさん:04/11/21 18:19:45 ID:???
>>960
まぁ確かにブラウザにエラー出力するスクリプトが多いし
セキュリティよりも利便性ってのもある気もするな
964nobodyさん:04/11/21 19:58:14 ID:???
大量に行があるテキストファイルから目的の行を探し当て取得するのに
もっとも効率のいい方法ってどんな感じですか?
whileで回しながら一行ずつチェックするのは
最後のほうに目的の行があった場合、時間がかかって困ってます。
データベース使わずになんとかならないでしょうか。
965nobodyさん:04/11/21 20:10:43 ID:???
インデックスをつけるとか?
名前ならaから始まるのはここ、bから始まるのはここという情報を記憶するみたいな
966nobodyさん:04/11/21 20:14:35 ID:???
データ次第。リニアサーチが不安定なら他のも試せ
967959:04/11/21 21:53:54 ID:mw841Fe0
 すいません、なにとぞmime_magicの使い方をお教え願えないでしょうか?
maime_magic以外にも、ファイルの形式を判断できる方法があれば、
そちらも教えていただきたいのですが、よろしくお願いします。

うざくて申し訳ないです。
968nobodyさん:04/11/21 22:10:00 ID:???
>>967
Mimetype関数
969nobodyさん:04/11/21 23:48:46 ID:???
"ソ"という文字をフォームを使って入力されると
データの中身が「ソ\」になってしまいます。
なので「ソ\」の後ろから「\」をとりたいのですが
上手に正規表現を組めません。
パターン構文のサイトを見て試行錯誤したのですが上手にできません。

どのようにすればいいか教えてください。

foreach ($src_list as $i => $v)
$v = ereg_replace ("ソ\\\", "ソ\", $v);
970nobodyさん:04/11/21 23:52:50 ID:???
>969
それはエスケープされているわけだが「ー」「表」なども同様の副作用が生じる。
エスケープと逆の事をする関数を使え。
971nobodyさん:04/11/21 23:55:03 ID:???
ありがとうございます。
その\と逆の事をする関数を探します。ラジャ
972nobodyさん:04/11/21 23:57:06 ID:???
>>969
.htaccessに「php_flag magic_quotes_gpc Off」って書いとけば無問題
そして必要なところでは自分でエスケープすればいい
973nobodyさん:04/11/21 23:58:43 ID:???
みつけました>逆の事をする関数
stripslashes

>>972
ありがとうございます。
是非やってみます
974nobodyさん:04/11/22 00:57:12 ID:ui2dUAYs
質問です。
文字列"a1"から$a1を作り出す(読み出す)ことってできるのでしょうか。
JavaScriptやVBAなら文字列→変数に変換できるので、PHPでも同じことが
できるだろうと調べてみたものの見つからず。。
よろしくお願いします。
975nobodyさん:04/11/22 01:11:21 ID:???
>>974
可変変数のことでしょうか?

$a["sample"] = "ほげほげ";
$name = "sample";

echo $a[$name];

−−−−−−−−−
出力結果:
ほげほげ
976nobodyさん:04/11/22 01:11:30 ID:???
>>974
$a1= 'hoge';
$str='a1';
echo ${$str};
977nobodyさん:04/11/22 01:18:51 ID:???
>>975 >>976
即レスありがとうございます!関数も使わずこんな簡単にできるんですね・・・
いやお恥ずかしい・・・。ありがとうございました。 <(_ _)>


978nobodyさん:04/11/22 01:21:05 ID:???
>985は単なる連想配列のような気がする
979nobodyさん:04/11/22 01:40:45 ID:???
>>985
ウィットの聞いたレスで楽しませて欲しい。
980nobodyさん:04/11/22 01:41:27 ID:???
>>985
高まる緊張
981nobodyさん:04/11/22 01:54:57 ID:???
>>985
これは何かの暗示か・・・
982nobodyさん:04/11/22 02:15:03 ID:???
>>985
そう来たか・・・
983nobodyさん:04/11/22 02:31:50 ID:???
>>985
……!!
984nobodyさん:04/11/22 02:43:04 ID:???
>>985
このままDAT落ちしたりして・・・
985nobodyさん:04/11/22 02:49:41 ID:???
         │ト、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ハ. ヽ ' ノ : : : : : : : :
986nobodyさん:04/11/22 02:52:12 ID:???









                あーあ・・・・

                        _,,..,,,,_
                       ./ ゚ 3  `ヽーっ
                       l ゚ ll ⊃ ⌒_つ
                       `'ー---‐'''''"
987nobodyさん:04/11/22 03:20:31 ID:???
>>978

>>985は連想配列ではなく動的配列のような気がす
988nobodyさん:04/11/22 05:17:54 ID:???
>>987
ボクは妄想配列だと思います
989nobodyさん:04/11/22 10:57:48 ID:???
>>990
おまえも、なんとか想配列って言えよ。
990nobodyさん:04/11/22 10:59:02 ID:???
心臓配列 はい次
991nobodyさん:04/11/22 12:07:22 ID:5v0Qpc9v
オブジェクトのコンストラクタで、引数が不正だったとかでエラーを返したいときは、
どうするのがよいのでしょう。
通常の関数でエラー発生時は、falseを返すようにしてたのですが、
コンストラクタで、 return false とやっても、
普通にオブジェクトができてしまうみたいで。
992991:04/11/22 12:09:01 ID:???
書くの忘れました。PHP4です。
993nobodyさん:04/11/22 12:09:19 ID:???
ぼくはじめてぴーえいちぴーべんきょうするんだけど
ぼくでもわかるほんがあったらおしえてちょーだい*^^*
994nobodyさん:04/11/22 12:12:24 ID:???
>>993
ありません。
995nobodyさん:04/11/22 12:38:40 ID:???
>>991
どうすれば「良い」かはわかりませんが、
・オブジェクトを呼び出す前にチェックする
・引数をチェックする関数を実装して、コンストラクタから呼び出す
くらいでしょうか。
996nobodyさん:04/11/22 14:24:59 ID:???
>>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に移行して例外処理で。
997991:04/11/22 14:39:17 ID:???
>>995-996
ありがと。

でも、ちょっと違うような気がする。

別方面で、$this = false;
ってやればいいと知ったので、それでいくことにします。
ほんとは、PEARのエラーオブジェクトを返すといいそうです。
998nobodyさん:04/11/22 15:16:31 ID:???
PHPよりJavaのほうが勉強になる?
999nobodyさん:04/11/22 15:18:06 ID:???
>>998
うん
1000nobodyさん:04/11/22 15:19:05 ID:???
>>998
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。