_chihiro_ の回答履歴
- PHPが軽いのはなぜ?
PHPは実行速度が速いとかよく聞くのですが、それは何故ですが? 分かり易く教えていただけると嬉しいです。参考になるサイトでも構いません。将来自作プログラミング言語を作りたいので、その時の参考にしたいのです。回答よろしくお願いします。
- ベストアンサー
- PHP
- noname#113783
- 回答数2
- templateメソッドパターンで抽象メソッドを定義する意義
こんにちは。 テンプレートメソッドパターンで、例えば、 class oge { abstract function a(); abstract function b($param); final function tempMethod() { $this->a(); $this->b($param); } } とした場合、抽象メソッドの定義は意味があるのでしょうか? なぜなら、tempMethod()中でa()もb($param)も呼び出してますんで、 わざわざ抽象メソッドとして定義しなくてもサブクラスで実装しないとどっちみち動きません。 抽象メソッドの定義の意義を教えてください。
- templateメソッドパターンで抽象メソッドを定義する意義
こんにちは。 テンプレートメソッドパターンで、例えば、 class oge { abstract function a(); abstract function b($param); final function tempMethod() { $this->a(); $this->b($param); } } とした場合、抽象メソッドの定義は意味があるのでしょうか? なぜなら、tempMethod()中でa()もb($param)も呼び出してますんで、 わざわざ抽象メソッドとして定義しなくてもサブクラスで実装しないとどっちみち動きません。 抽象メソッドの定義の意義を教えてください。
- 設定ファイルを覗かれないようにするには?
誰でも設置できるようなフリーCGIを作っていて、ふと思ったのですが、設定ファイルを別ファイルにする場合、そのファイル名が一般に知られてしまうような場合だとincludeなどで読み込まれて設定が覗かれてしまうということはないのでしょうか。 ネットでさがしてみましたが、あまり情報がなく、自分でやってみたところ「file-access is disabled in the server configuration」と出ました。 includeなどは、絶対パスでは読み込めないのでしょうか。 また、共有サーバーなどで、相対パスで指定された場合はどうでしょうか。 よろしくお願いいたします。
- .htaccess でPHPを動かすサーバーって、危険じゃないですか?
PHP職歴1年半の者です。最近レンタルサーバーを、ファーストサーバーからCPI(専用サーバー)に乗り換えることになりとまどっている者です。 CPIは料金も高いぶん自由度も高いので全体的には気に入っているのですが一部不安な所があります。 .htaccess に AddHandler x-httpd-php524 .php と書かなければPHPが動作しないのです。もちろん .htaccess は公開領域に配置するため ~.html やら ~.php と混在するわけで、うっかり削除してしまわないかと不安です。 もし上記の記述が消えてしまったならPHPが動かなくなるばかりか 「プログラム丸見え状態」 になりセキュリティ上かなりまずいです。 業者の方に質問しても 「気をつけて」 の一点張りでアイデアがありません(全サーバー同じ環境だそうです) このようなサーバーでサイトを運用する場合、ベテランの方ならどうするのか…? ご意見よろしくお願いいたします。 参考) http://www.cpi.ad.jp/
- PHPでpostgreSQLと接続しようとすると「call to undefind function pg_connect」というエラーが出る
表題の件で質問させて下さい。 いろいろネットで調べると、php.ini の extension_dir="phpインストールフォルダのextフォルダ" extension=php_pgsql.dllのコメントをはずす で大抵は解決しているようなのですが、その対応をしてもどうも解決しません。 以下、わかる範囲で確認してみた項目です。 ・phpinfoで確認してみても、postgreSQLの項目は表示されていませんでした。 ・phpinfoの 「Loaded Configuration File 」のphp.iniのパスもあっています。 ・ためしに、extension=php_mbstring.dll のコメントをつけたりはずしたりすると、phpinfoではちゃんと反映されていました。 ・もちろん、extension_dirに設定しているディレクトリには、php_pgsql.dllがありました。 ちょっと何が原因なのか見当がつきません。 どなたかお分かりになる方がいらっしゃいましたらご教授願えませんでしょうか。 環境は windowsXP apache/2.2.9 PHP/5.2.6 です。 よろしくお願い致します。
- 以下文の PHP のプログラムが作れません・・。
「本日、月曜日の補習は、英語・数学・物理です。」(他に日~土まで用意してある) このPHPプログラムが作れません。 直接のご教授、ダメであれば参考になるサイトなど、ご紹介いただけないでしょうか? わりと簡単なのですが、検索してもうまい具合にヒットできません。 初心者にどうぞよろしくお願いいたします。
- 以下文の PHP のプログラムが作れません・・。
「本日、月曜日の補習は、英語・数学・物理です。」(他に日~土まで用意してある) このPHPプログラムが作れません。 直接のご教授、ダメであれば参考になるサイトなど、ご紹介いただけないでしょうか? わりと簡単なのですが、検索してもうまい具合にヒットできません。 初心者にどうぞよろしくお願いいたします。
- 以下文の PHP のプログラムが作れません・・。
「本日、月曜日の補習は、英語・数学・物理です。」(他に日~土まで用意してある) このPHPプログラムが作れません。 直接のご教授、ダメであれば参考になるサイトなど、ご紹介いただけないでしょうか? わりと簡単なのですが、検索してもうまい具合にヒットできません。 初心者にどうぞよろしくお願いいたします。
- define でのルートディレクトリの定義について・・・。パスが納得できません。
宜しくお願いします。 Smarty を使用して PHPを勉強しています。 Smartyのデフォルトを変更しようと、 「MySmarty」として新規にクラスを作成しました。 ソースの先頭で、 define("ROOT_DIR",$_SERVER['DOCUMENT_ROOT']."/.."); として、ROOT_DIRにルートディレクトリまでのパスを記憶させています。 全ソースは下記をごらんくらさい。 そこで、 define("ROOT_DIR",$_SERVER['DOCUMENT_ROOT']."/.."); にある、最後の ."/.."); が納得いきません。。。 最初の . ピリオドは連結のためのものだとわかりますが、 あとの/.. はディレクトリの階層をあげる指示ですよね? てなると、クラスの定義のなかで使用するルートディレクトリへのパス が、 おかしく思えてきます。書籍の通りにやっているので、 この通りにやるとうまくいっていますが、自分的になっとくがいかなく・・。 ソースは下記のようになってます。 特に $this->template_dir のテンプレートディレクトリへのパスを 再設定しているところですが、 ROOT_DIR."/templates" ということは、ルート/../templates となりますよね? 作業フォルダの図はこの通りです。↓ C:\xampp | libs |-MySmarty.class.php (下記のソースファイル) | | templates |-input.tpl | templates_c <省略> なんとなくですが、ルート/../templates ではなくて、 ルート/templates なようなきがします。 わかりにくい説明だったかもしてませんが、何卒宜しくお願いいたします。 ______________________________ define("ROOT_DIR",$_SERVER['DOCUMENT_ROOT']."/.."); require_once("Smarty.class.php"); class MySmarty extends Smarty { function MySmarty (){ $this->template_dir = ROOT_DIR."/templates"; $this->compile_dir = ROOT_DIR."/templates_c"; $this->left_delimiter = "{{"; $this->right_delimiter = "}}"; $this->default_modifiers = array('escape'); $this->Smarty(); } } ____________________________
- 絵文字のフォーム入力について
携帯サイトで掲示板を作っているのですが、入力された絵文字を他のキャリアで表示させるにはどうすればよいのでしょうか? 例えば、ドコモの携帯で掲示板に絵文字を入れて文章が投稿されたとします。 その文章をauやソフトバンクなどの機種で見た時に、キャリアごとの絵文字に振り替えて表示させるにはどうすればいいでしょうか? mixiで使われている技術なのですが、考えつく方法は キャリア判別→入力された文章の解析→変数に入れる→キャリア別の絵文字に変換する という方法なのですが、解析→変数の段階がとてもややこしい気がするのです。 他に簡単な方法がありますか? あればご教授ください。 よろしくお願いします。
- 一覧から選んだ動画を、順番に連続して表示したい
こんにちは。 PHPを勉強しているものですが、自分でスクリプトを組めるまでいけてなく、どうすればよいのか分からないので質問させてください。 一覧で表示された動画(画像でも良いのですが)の中から、選んだ順に連続再生させるプログラムを書きたいと思っています。 今のところ、動画の下にチェックボックスをつけ、チェックしたもののリンクが、配列を使って m3uファイルに書き込まれて連続再生されるというプログラムは作成できました。 しかし、チェックボックスですと、下の方にあるものを先に選んだとしても、上のほうから順番に再生されてしまいます。 選んだ順番で再生させたいのですが、どうすればよいでしょうか。 案として自分で思いついているのは、チェックボックスの代わりにテキストボックスで番号を入れてもらい、その番号順に再生させる方法です。(しかし(^_^;)これも、入力してもらった後、数字をどう扱ってよいのか分からず、うまくできません。) よろしくお願いいたします。
- ベストアンサー
- PHP
- noname#93286
- 回答数2
- 一覧から選んだ動画を、順番に連続して表示したい
こんにちは。 PHPを勉強しているものですが、自分でスクリプトを組めるまでいけてなく、どうすればよいのか分からないので質問させてください。 一覧で表示された動画(画像でも良いのですが)の中から、選んだ順に連続再生させるプログラムを書きたいと思っています。 今のところ、動画の下にチェックボックスをつけ、チェックしたもののリンクが、配列を使って m3uファイルに書き込まれて連続再生されるというプログラムは作成できました。 しかし、チェックボックスですと、下の方にあるものを先に選んだとしても、上のほうから順番に再生されてしまいます。 選んだ順番で再生させたいのですが、どうすればよいでしょうか。 案として自分で思いついているのは、チェックボックスの代わりにテキストボックスで番号を入れてもらい、その番号順に再生させる方法です。(しかし(^_^;)これも、入力してもらった後、数字をどう扱ってよいのか分からず、うまくできません。) よろしくお願いいたします。
- ベストアンサー
- PHP
- noname#93286
- 回答数2
- PHPで画像ファイルをWEBサーバーからダウンロード
http://image.rakuten.co.jp/sunhouse/cabinet/baraethi-cream/futaamin-cream130g.jpg のように外部WEBサーバー上にアップロードされている画像ファイルを、PHPを使用してダウンロードし、そのPHPスクリプトファイルが稼働しているサーバー上の指定したディレクトリに保存したいのですが、そのような事は可能でしょうか。 PHPマニュアルやWEB上を検索し、いくつかそれらしい関数やスクリプトは見つけたのですが、解決には至りませんでした。 非常に無責任な質問の仕方で恐縮ですが、どなたかサンプルスクリプトを書いて頂けませんでしょうか・・ ヒントは色々と得たのですがどうしても実現できなかったもので、申し訳ありませんがよろしくお願いいたします。 PHPが稼働しているPC環境は 【サーバーOS】 windowsXP Pro SP2 32bit 【サーバーソフト】 Apache2.0.59 【PHPバージョン】 5.2.5 【自分で調べたときに、以下のPEARを使用した解説を目にした為インストール済みです。】 Archive_Tar Auth_SASL Cache_Lite Console_Lite Console_Getopt File_Archive HTTP_Request
- Fatal error: Call to undefined function i18n_mime_header_encode() in /virtual/ss
メールフォームで、打ち込んで>確認して>送信ボタンを押すと、表題のような、エラーが出てしまします。 今まで、普通に使えていたのに突然です。 非常に困っています。更新をする際に気づいた事で、今までは確実に使えてました。 mail.pear.php <? ##------------------------------ ##2006/12/14 ##メール送信クラス ##サーバーのMTAを利用してのメール送信クラス ##------------------------------ class MailSendByMTA{ function MailSendByMTA( $from , $to ,$subject , $msg , $attach, $fg ){ /* * 変数の設定 */ $this->boundary = $this->makeBoundary(); $this->subject = i18n_mime_header_encode( i18n_convert($subject, "JIS") ); ### サブジェクトのエンコーディング $this->from = $from; $this->to = $to; $this->msg = $msg; $this->attach = $attach; ### 添付ファイル $this->type = ( $fg == 1 ) ? "alternative" : "Mixed"; ### 通常メール:0 HTMLメール:1 $this->textType = ( $fg == 1 ) ? "text/html" : "text/plain"; ### 通常メール:0 HTMLメール:1 ======================13行目はここです。 $this->subject = i18n_mime_header_encode( i18n_convert($subject, "JIS") ); 耳かきエディットを使用しています。 UTF-8/LF(UNIX) で保存しています。 素人な質問で申し訳ありませんが、何卒ご回答よろしくお願いします。 補足 全く、同じサーバ内にもう一つメールフォームがあります。 そちらは、全くいじってないのに、同じようなエラーが出ます。
- クッキー名が変わってしまう
セッション管理でクッキーを使用しています。 setcookie("ABCID" , $ABCID, time() + 1440); というようにクッキー名を決めているのですが、 ある環境だと名前が変わって取得できません。 var_dump($_COOKIE)で確認すると windows(ローカル)では、IE・Firefox共に array(2) { ["PHPSESSID"]=> string(26) "q3jsuelppgapa425lmtmhgf222" ["ABCID"]=> string(26) "q3jsuelppgapa425lmtmhgf222" } それに対してLinuxサーバにアップして確認すると(win)IEでは array(1) { ["0850256NQ"]=> string(26) "xdxppwkpdxtrcepaaaw&00a224" } というように設定した覚えのない名前が表示されます。 Firefoxでは問題なく取得できます。 php.iniの設定なのか、まったく予測ができなく困っています。 お力をお貸しください。 php5 session.auto_start Off Off session.bug_compat_42 Off Off session.bug_compat_warn On On session.cache_expire 180 180 session.cache_limiter nocache nocache session.cookie_domain no value no value session.cookie_httponly Off Off session.cookie_lifetime 60 60 session.cookie_path / / session.cookie_secure Off Off session.entropy_file no value no value session.entropy_length 0 0 session.gc_divisor 1000 1000 session.gc_maxlifetime 1440 1440 session.gc_probability 1 1 session.hash_bits_per_character 5 5 session.hash_function 0 0 session.name PHPSESSID PHPSESSID session.referer_check no value no value session.save_handler files files session.save_path /tmp /tmp session.serialize_handler php php session.use_cookies On On session.use_only_cookies On On session.use_trans_sid 0 0 ini_set('session.save_handler', 'user');
- PHPの文字化け
PHPでチャットを作っているのですが、どうしても、文字化けを起こしてしまいます。 文字化けを起こす場所は、入室するときの名前と、ログを読み出すときです。 それ以外は正常に動作しているように見えます。 文字化けする文字は、日本語だけで、アルファベットは問題ありません。 「テスト」と入力するとFirefoxでは「???鴻??」といった用になって、IEでは「・・"鴻ヨ」というように文字化けの仕方が違うようです。 文字コードはEUCです。 サーバーはwindowsでローカルサーバーを立てています。 サーバーの設定の問題でしょうか? アドバイスをよろしくお願いします。
- 携帯サイトのセッションについて
携帯サイトのセッションについて質問があります。 サーバA と サーバBがあり サーバAでセッションIDを取得し、次にサーバBに行く、 サーバBから再びサーバAに戻ってきた場合、 サーバAで取得した セッションIDは保持されるのでしょうか。 以上よろしくお願いします。
- ラジオボタンのvalueの受け取り方について
こんにちわ。HTML側のラジオボタンのvalueの受け取り方について質問があります。 (1)$x=$_POST['radiobutton']; (2)$x=$_REQUEST['radiobutton']; (1)と(2)、どちらが正しいのでしょうか? ('radiobutton'はHTML側のラジオボタンの名前です。)