PHP
- HTTPのBASIC認証につきまして。
こんにちは、kanpoと申します。 PHPマニュアルに以下のような記述があったのですが 下記について質問させてください。 manual start======================================================= Example 2-1. HTTP 認証の例 <?php if(!isset($PHP_AUTH_USER)) { Header("WWW-Authenticate: Basic realm=\"My Realm\""); Header("HTTP/1.0 401 Unauthorized"); echo "ユーザーがキャンセルボタンを押した場合に送られるテキスト\n"; exit; } else { echo "こんにちは $PHP_AUTH_USER.<P>"; echo "あなたは、パスワードとして $PHP_AUTH_PW を入力しました。<P>"; } ?> 単に $PHP_AUTH_USER、$PHP_AUTH_PW を出力するのではなく、 ユーザー名とパスワードの有効性をチェックしたいと思うかもしれません。 その場合、クエリーをデータベースに送るか、ある dbm ファイル中の ユーザーを調べるといったことをすることになるでしょう。 manual end========================================================= この、”クエリーをデータベースに送るか”というところなんですが これはUID&PASSをDBに登録されている情報と照合をかけるという意味だと思うのですが、ポップアップWindowで入力されたUID&PASSを.htaccessにかかれたUID&PASSで認証しそのUID&PASSをDBによりもう一度照合するということでしょうか? それとも、ポップアップで入力してもらったUID&PASSをそのままDBにて認証できるのでしょうか? よろしくご教授ください。
- PHP に gifcat.pl のような画像連結ライブラリはないですか。
PHP に gifcat.pl のような画像連結ライブラリはないでしょうか。 GDライブラリとかいうのがあるみたい(よく分かってません)ですが、gifcat.pl のように手軽に使えるものはないでしょうか。
- PHPからCロジックのCall
諸先輩方のお力をお借りしたく、質問させていただきます。 PHPで暗号化ロジックを組んでおりましたが、この暗号化部分をCで組みなおし、PHPからコールしたいのですが、具体的な方法がわかりません。 どなたかご教授願えませんでしょうか?よろしくお願い致します。
- strip_tagsを使って、指定したタグだけを使えるようにするには?
PHPでBBSを作っているのですが、指定したタグだけを使用できるようにしたいと思っています。 最初はhtmlspecialcharsを使って全てのタグを使えなくしていましたが、AタグやIMGタグ、FONTタグなどを使えるようにしたくて、strip_tagsを使ったのですが、引数の指定の仕方がわかりません。 string strip_tags(string str, string[allowable_tags]); のstring[allowable_tags]の部分の指定のしかたを教えてください。よろしくお願いします。
- PHPでez-web対応画像表示
PHPでHDMLを組み込んで、EZ-web用のページを作っています。EZ-webはHDMLで書きますよね。PHPはHDMLも組み込めますよね?EZ-webの画面で確認するとテキストしか表示されません。 HDMLのみのページはEZ-webの画面で画像も表示できることが確認できました。だけどPHPにそのままHDMLを組み込むと、テキストは表示されますが、画像が表示できないです。どなたか教えて下さい!!本当に困っていです!お願いします!!
- phpの実行ユーザーは設定できませんか。
phpの実行ユーザーは設定・変更できませんでしょうか。 CGIなら、suexec を用いて実行ユーザーを設定・変更できますが、 phpは全てhttpdサーバーのユーザーで実行されます。 他のユーザーで実行するように設定・変更できないでしょうか。
- クッキーに保存した配列を読みこむ
クッキーに配列を保存して、それを読み出すという プログラムを書いています。 1次元の配列だと($str[0]など)読み書き共にうまくいくのですが、 2次元、3次元になると($str[0][1],$str[0][1][2]など) 書きこむことは出来るのですが、読み込みがうまくいきません。 多次元の配列になると、クッキーの読み込みが 不安定になるのでしょうか。 どなたかご存知でしたら教えてください。お願いします。 php-3.0.18を使用しています。
- PHPでのタイムアウト設定(HTTPコネクション)
PHPで、あるwebサイト(仮にfoo.comとします)にアクセスして情報を取ってくる、という スクリプトを書いています。 この際、foo.comが落ちている等の理由でアクセスできなかった場合の タイムアウトを作りたいのですが、set_time_limitを使ったところ うまくいきません。下記の例で行けば、 「5秒以内にfoo.comへコネクトし、データを512バイト読み込み終わらなければ スクリプトを強制終了する」 ということを考えているのですが、現実にはhttpを見に行ったまま 5秒以上たって、終了されません。 何かうまい方法を教えていただけませんでしょうか? なお、バージョンはPHP4.0.4pl2, OSはredhat6.2Jです。 以下に、スクリプトを書きます。 <? set_time_limit(5); error_reporting(0); $file = fopen("http://foo.rom", "r"); $line = fread($file, 512); fclose($file); print("$line"); ?> 宜しくお願いいたします。
- ブラウザに日本語出力
初めまして、PHP初心者です。 PHPで現在、日報を書き込むプログラムを作っています。 目的としては、書き込んだ日報をDBに登録させるというプログラムです。 その中で、HTMLのフォームで入力した日本語の文章や文字列をブラウザに出力させるにはどうしたら良いのでしょうか? 普通にprintで出力させると、文字化けをしてしまい困っております。 環境は、OSはLinux、PHPVer.3、DBはPostgreSQLです。 よろしくお願いいたします。
- 特定のディレクトリだけ、phpを有効にする方法
特定のディレクトリでだけ、phpが機能するようにしたいのですが、やり方が分かりません。 php.ini の設定で出来ると思うのですが、うまくいきません。 設定方法を知っている方、教えてください。お願いします。
- phplibってさぁ~~~
なんか、DOS攻撃に弱くない? やってみればわかるけど、セッション管理下でDOSくらわせると コネクションが多くなりすぎてコネクションがはりきれなくなるのは いいんだけど、回復に時間かかりすぎ・・・ なんとかしなきゃね・・・・ とりあえずpcnnect使ってるところconnectに書き直すだけでもだいぶ 軽減したんだけど・・・・ほかにもそんな人いません?
- 文字列の置換について
こんにちは、kanpoと申します。 今回文字列の置換についての質問をさせていただきたいと思います。 やりたいことは以下のとおりです。 たとえば、あるStringデータに”あかさた#1728なはま#7586やらわ”などという 文字列が入ってるとします。 この文字列のなかから"#1728"と"#7586"を検索しそれぞれを #1728 → test #7586 → test2 と変換し最終的にもとのStringデータを ”あかさたtestなはまtest2やらわ”としたいのです。 説明が長くなってしまい申し訳ありませんがよろしくご教授ください。 環境は下記のとおりです。 RedhatLinux6.2J apache-1.3.12-0jp1.i386 php-3.0.15_i18n_ja-0vl2.i386
- スペースを置換するには・・・
今日PHPを使い始めたばかりの初心者です。 「スペース」を「文字」に変換するために 下記のような正規表現を書いたのですがうまく いきません。 $xxx = ereg_replace( "\s", "aaa", $xxx ); ネットで調べまくったのですが、どこがおかしいのか よくわかりません。 アドバイスをお願いします。
- Re: Cookieを使ってオブジェクトの引渡しはできるか?.
OKWebでは自己フォローができないみたいなので,改めます.QNo.63140,PHPカテゴリでの通しNo.32の質問の続きです.って言うか自己レス. 質問文中で大きな間違いをしているのがとても恥ずかしいので,訂正します. > setCookie( "cookie", serialize($obj), mktime("2010/8/1 00:00:00") ); mktime()ではなく,strtotime()です.何をやってるんだ俺は. それから,実験ですが,オブジェクトのunserialize()時に同名のクラスの定義があっても,そのクラスのインスタンスとしては取り扱ってくれませんでした. せっかくserialize()時にクラス名まで保存しているんだから,同名のクラス定義があったら読みに行ってくれたらいいのになぁ. という,ぼやき混じりの無意味な自己レスでした.以上.回答してくださった方(a-kumaさんだけ?),どうもありがとうございました.
- Cookieを使ってオブジェクトの引渡しはできるか?.
phpを勉強中の一アルバイトプログラマです.いろいろ弄くってみてよくわからないところがあるのですが,ひとつ質問させていただきたいと思います. あるページから,別のページへオブジェクトを引き渡したいと思いました.一度ブラウザを終了しても引き続いて扱えるようにしたいと思っていたので,cookieを使って次のようにすることにしました. a.php: $obj = new ClassA(); setCookie( "cookie", serialize($obj), mktime("2010/8/1 00:00:00") ); マニュアルによるとserializeしたオブジェクトはプロパティの値しか保存されない,ということですので,勝手に推測して, b.php: $obj = (ClassA)unserialize($cookie); としたところ,b.phpでparse errorが起こります.どうやらphpではクラス間のキャストができなさそうだ,というのはわかりますが,そうすると,処理の流れの中で一貫してひとつのオブジェクトを扱いたい場合,どのようにすればよいのでしょうか?. ・・・家に帰ってきてから気が付いたのですが,オブジェクトをserializeしたstringには,クラス名の情報が含まれているようです.ということは,ひょっとしてクラス定義さえきっちりしておけばunserializeしたオブジェクトもきちんとクラスのインスタンスとしてあつかえるのか?.
- 全角、半角の判別
なげられてきた値が全角の場合にエラーをだしたいので PHPにて全角、半角のチェックを行いたいのですが なにか便利な関数などあるのでしょうか? また、どのような処理をすればいいのでしょうか? 単純に全角を半角に変換してくれる i18n_ja_jp_hantozenを使うことも考えましたが 全角の特殊文字などの場合に文字化けを起こす可能性もあると思い なんとかエラー表示させたく質問させていただきました。 よろしくご教授ください。 環境: RedhatLinux6.2J apache-1.3.12-0jp1 php-3.0.15_i18n_ja-0vl2 postgresql-7.0.2-2.i386
- Windowsでphpを動かす方法について。
どうも、初めまして。 今、WIndows98上で、phpを動かしたいと思っています。そこで、 私は、windows98se+apache1.3.12+php3.0.16をインストールしました。 ActivePerlも入っています。perlは動いているのでapacheは正常に動作してい ると思います。しかし、.phpをブラウザから呼ぶと、「Internal Server Error」 が出てしまいます。いろいろ格闘してみたのですが、うまくいきません。 教えてください。ちなみに、dosプロンプトでphp.exe -vとするときちんとヴァージョンが表示されます。 私の環境は以下のとおりです。 phpはc:\php3に apacheはC:\Program Files\Apache Group\Apacheに 展開し、php3内のDLLは全てc:\windows\systemにコピーしました。 httpd.confを編集し、php3.iniを編集しc:\windowsにコピーしました。 以下がエラーログとiniファイル等の内容です。 長くなってしまいましたが、原因がわかる方おられましたら、よろしくお願いします。 =====errorlogの内容。 [Mon Apr 09 01:00:19 2001] [error] [client 127.0.0.1] (2)No such file or directory: couldn't spawn child process: c:/program files/apache group/apache/htdocs/test01.php3 =====phpファイルの内容。 <?php echo ("test<BR>"); ?> =====httpd.confの編集個所。 ScriptAlias /php3/ "c:/php3/" AddHandler cgi-script .php3 AddType application/x-httpd-php3 .php3 AddType application/x-httpd-php3-source .phps Action application/x-httpd-php3 "c:/php3/php.exe" =====php3.iniの編集個所。 include_path = "c:\php3" doc_root = "c:\Program Files\Apache Group\Apache\htdocs" extension_dir = "c:\php3" ; directory in which the loadable extensions (modules) reside