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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/10/25(火) 06:50:06ID:Q4oGlTH3
PHP全般の質問スレです。
【基本ルール】
・新規質問の方は上げてください。age進行でお願いします。
・質問者は2回目以降、最初のレス番号を名前欄に入れてください。
・回答者は質問者に対して>>(アンカー)をつけてください。
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry
・解決しなくてもこたえてもらったら礼を。
【質問テンプレ】
・マニュアルを調べたか、google検索したか(調べたキーワード)
・タイトル(禁:教えてください!etc) 例:requireとinclude
・内容 例:requireとincludeはどう違うのですか?
・質問する際には環境も明記。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
【PHP マニュアル】
http://www.php.net/manual/ja/
※マニュアル上部の「search for」から検索を活用すべし(便利)。

過去スレ、関連リンク、FAQ等>>2-10辺り
0152nobodyさん2005/11/03(木) 23:51:31ID:???
php-usersのメーリングリストみたいに、
届いたメールを表示させることは可能ですか?
0153nobodyさん2005/11/04(金) 00:35:35ID:???
>>152
意味不明な日本語なり
0154nobodyさん2005/11/04(金) 01:01:56ID:???
4.4.1、もろに来たよ。18時間悩んだが、結局4.4.0に戻した。影響範囲がハッキリしないと
危ない。FreeBSDだが、まず一部のrequireが利かなくなったがinclude_pathで全て指定
すると利くようになった。しかし子プロセスがexit signal Bus error (10)で落ちる。

extensionからzlib.soを外すと落ちなくなるが、is_dirが問答無用でfalseを返すようになる
などなど。

ところがWin32版PHP4.4.1では同じアプリケーションが、全く変更しないでも、問題なく
動作してしまう。
01551362005/11/04(金) 12:10:20ID:???
>>137,138,139

うわーすっごいボンミス。。。
ダブルクオートしたら動きました。。。
くだらない質問に答えてもらってありがとうございました。

ひとつ疑問なんですが、先に変数を展開してくれるんですね。
/^$regex+$/
/^{$regex}+$/
でも同じ動きしたので。
0156nobodyさん2005/11/04(金) 12:33:17ID:???
ん、
""の中の$変数を解釈(展開)するのが渡された関数ではなく、
phpのパーサであることを考えれば当然の動作では?
0157nobodyさん2005/11/04(金) 12:50:23ID:???
""内の$を変数として選り分けるのはパーサじゃなくてレクサだけどね。
と揚げ足をとってみるテスト。
0158nobodyさん2005/11/04(金) 15:02:09ID:???
>>157
参考になる(+1)
0159nobodyさん2005/11/04(金) 15:04:55ID:???
レクサって初めて聞いた・・・
0160nobodyさん2005/11/04(金) 16:45:40ID:???
レクサって何??
0161nobodyさん2005/11/04(金) 16:51:13ID:???
○レクサ ← ア が入る
レクサ○ ← ス が入る
0162nobodyさん2005/11/04(金) 16:54:04ID:???
ttp://kentn.at.infoseek.co.jp/cpp/parser.html
0163nobodyさん2005/11/04(金) 21:35:57ID:Q83NQbMF
アホが前スレあげやがったのでageときます
0164nobodyさん2005/11/05(土) 00:08:24ID:w/1ugKYJ
趣味サイトなのですがPHPしか使えないサーバーでした
ページ毎のアクセスランキングを設置したいのですが何処かにPHPカウンターの配布とかありますか?
1から勉強しなおさないと出来ませんでしょうか・・・PHP全く知らないです(マニュアル読みましたけどまだ半分位も理解できてないですし
ググってもそれらしいものが見当たりませんでした、鯖の仕様はPHP4のsafemodeらしいです
0165nobodyさん2005/11/05(土) 00:19:53ID:???
ぐぐりがたらない
0166nobodyさん2005/11/05(土) 00:22:11ID:???
      _______                     __
    // ̄~`i ゝ                    `l |
    / /        ,______   ,_____    ________  | |  ____ TM
   | |     ___ // ̄ヽヽ // ̄ヽヽ (( ̄))   | | // ̄_>>
   \ヽ、   |l | |    | | | |    | |  ``( (.  .| | | | ~~
      `、二===-'  ` ===' '  ` ===' '  // ̄ヽヽ |__ゝ ヽ二=''
                         ヽヽ___//   日本
         ______________  __
         |                    | |検索|←をクリック!!
          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   ̄ ̄
         〇ウェブ全体  ◎日本語のページ
01671642005/11/05(土) 00:28:06ID:EXt1uRpt
判りました
有難う御座います
ググり続けてきます
0168nobodyさん2005/11/05(土) 00:33:26ID:???
>>166
それだと元のページに戻るだけかと
昔は何もない検索結果っぽい画面に移行したんだけど、バグだったんだろうな
0169nobodyさん2005/11/05(土) 01:44:21ID:???
♪スプラピ>(・∀・)入(・∀・)<スプラパ♪スプラピ(゚д゚)ぷぅぅぅ〜

         ウェブ イメージ グループ ディレクトリ
         ______________  _____
         |トンネル               | |Google検索|    検索オプション
          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   ̄ ̄ ̄ ̄ ̄    表示設定
        ◎ウェブ全体から検索  〇日本語のページを検索

トンネルぐぐってぐぐって〜
0170nobodyさん2005/11/05(土) 02:49:09ID:???
(・∀・)b そろそろおしま〜い

(・∀・)ノ~~~ バイバーイ♪
0171nobodyさん2005/11/05(土) 06:11:01ID:???
教育実況民がこんなところにも…
0172nobodyさん2005/11/05(土) 08:48:34ID:???
教育実況民きもすぎる
0173nobodyさん2005/11/05(土) 12:00:25ID:???
     ヽ:::::::::::::::::::::::::::::::::::
 高 テ|:::::::::::::::::::::::::::::::::::
 け .ン |ーノノーヽ⌒ヽ:::
 | シ|ノ ノ  ノ  ノ:::
. じ  ョ|  ; ;;;;;;;/ヽヽ::
  ゃ ン|  ;;     ;;|::::
 ん   |  :::/⌒ヽ ;;; |:::::
     |  ;;/ O ヽ;; |::::::
     / υ '''';;;;ー´ |:::::
_ _ノ::         |::::::
::::::V::::::::::::  ヾ      |:::::::::
:::::::::::::::: ;;,, ,,, )   i  |:: |
 :::::::::::::::......      し |::/
   _____    .|
   |ー――――|   /
   |_____|   /
    ,,,,,,,,,,,,,,,,,,,,,   /
\         /
  \____/
0174nobodyさん2005/11/05(土) 12:05:07ID:???
>>173
ごめん、面白くない。
0175nobodyさん2005/11/05(土) 16:21:46ID:???
$_SESSION['xxx']
だけ生存期間を短くしたいのですが、
どうすればいいのでしょうか
誰かお願いします
0176nobodyさん2005/11/05(土) 16:54:41ID:???
>>175
手製のガーベージコレクタを動かして
短い期間で消す。
0177nobodyさん2005/11/05(土) 18:25:59ID:???
すいませんがアカウント作成まわりで質問があります。

1.メールアドレスを入力して送信
2.メールにURLが表示
3.URLをクリックするとアカウント登録完了

としたいのですが、URLを

***.php?[メールアドレス][日時][アドレスと日時のハッシュコード]

という風にしてハッシュの整合性をチェックして
アカウント作成、という風にしたら
何か問題があると思いますか?
ハッシュが解読されない限り大丈夫だとは思うんですが、何か心配です
0178nobodyさん2005/11/05(土) 18:26:47ID:???
日時が入ってるのは、期限を1日とか決めたいからです
0179nobodyさん2005/11/05(土) 18:36:03ID:???
ハッシュの元を含めるのはどうかと思う
0180nobodyさん2005/11/05(土) 18:48:45ID:???
うーん、でもAさんとBさんが同時に仮登録した場合
どっちかを見分ける必要がありますよね

鍵付きのハッシュで鍵を長くしても駄目でしょうか
0181nobodyさん2005/11/05(土) 19:12:30ID:???
>>180
1.メールアドレスを入力させる
2.ユーザはメールアドレスを入力しPOSTする
3.システムがメールアドレスからハッシュを取得する
4.システムはハッシュ値と日付をどこかに保存する(DBとか)
5.システムが
 http://example.com/hoge.php?[ハッシュ]
 を含んだメールを入力されたアドレスに送信する。
6.ユーザが上記のアドレスにアクセスする
7.システムは保存されたハッシュを検索する
以下略
0182nobodyさん2005/11/05(土) 19:29:17ID:???
ハッシュのアルゴリズムってmd5使ってる? sha1? オリジナル?
0183nobodyさん2005/11/05(土) 19:43:57ID:???
>181
なるほど。
177さんではありませんが勉強になります。
0184nobodyさん2005/11/05(土) 22:10:21ID:???
今回のヴァージョンアップってさー
GLOBALSに外部ユーザーからの値を受け取らないように組んでればOK
ってことだよね
若干騒ぎすぎな気がする。
0185nobodyさん2005/11/05(土) 22:20:31ID:???
ヒント:騒いで不安を煽った後で、「セキュリティ強化キャンペーン」を実施し、小遣いGET
0186nobodyさん2005/11/05(土) 22:48:28ID:???
>>182
md5('a')
0187nobodyさん2005/11/05(土) 22:58:28ID:???
最初プギャーってやってるのかと思った
0188nobodyさん2005/11/05(土) 23:09:30ID:???
'a' とか単純な数値の md5 値をググると大量にヒットするよね
0189nobodyさん2005/11/05(土) 23:17:36ID:???
PHPに深刻な脆弱性が見つかったと聞いて飛んできました。
0190nobodyさん2005/11/05(土) 23:18:44ID:???
>>189
もう終わったよ
0191nobodyさん2005/11/05(土) 23:20:54ID:???
PHP が
0192nobodyさん2005/11/05(土) 23:42:15ID:???
>>186
> >>182
> md5('a')

m9('A')
0193nobodyさん2005/11/05(土) 23:53:12ID:???
>>182
md5の結果を自前で適当に変換してる
md5そのままだと、それっぽいのがなんだかな〜って気がするので
0194nobodyさん2005/11/06(日) 02:19:18ID:???
コマンドラインで実行されたのと
サーバ上で呼び出されたのとを
区別する方法ってありませんでしょうか?
0195nobodyさん2005/11/06(日) 02:34:36ID:???
>>194
php_sapi_name()かisset($argv)あたりかな
0196nobodyさん2005/11/06(日) 02:44:47ID:???
>>195
$argv は php.ini の register_argc_argv が On なら CLI じゃなくてもありますよ。(CLI では強制 On)
CLI + Apache モジュールなら php_sapi_name() 関数か PHP_SAPI 定数で判別できますね。
CGI としてインストールされてるなら判定用の環境変数を仕込むのがいいんじゃないかと。
0197nobodyさん2005/11/06(日) 03:44:17ID:???
>>192
>>>186
>> >>182
>> md5('a')
>>
>m9('A')

m9(^Д^)
0198nobodyさん2005/11/06(日) 15:31:18ID:???
メール送信フォームを作るときに、
メール本文はどこで定義していますか?

メール本文に受け付けたクエリを載せるとしたら
やっぱりそのプログラム内部に .= とか ヒアドキュメントとかで
書くしかないのかな?

メール本文だけ外部ファイルにして、
requireしようかと思ったけどなんか違う。
外部ファイルをevalしようかと思ったけどこれもまたなんか違う。
やっぱり本文に書くのみ!?
別変数で定義しておいて、
あとから参照しようとしても上と同じことになるし…

Perl使ってたときは、外部ファイルにして
クエリ載せるところは正規表現で全部置換してたんだけどなぁ
0199nobodyさん2005/11/06(日) 15:42:09ID:???
>>198
日本語で喋ってくれ。頼む
0200nobodyさん2005/11/06(日) 15:42:46ID:???
>Perl使ってたときは、外部ファイルにして
>クエリ載せるところは正規表現で全部置換してたんだけどなぁ
じゃあそすればいいじゃない。
つうか、別に正規表現使わなくてもできるよね。
0201nobodyさん2005/11/06(日) 15:43:46ID:???
>>198
どうしっくり来ないのか判らないんだけど、漏れは外部ファイルに置いて
文字列に取り込んでる。

$message = file_get_contents('mailtemplate.txt');
02021982005/11/06(日) 15:51:28ID:???
>>199

駄文申し訳ない。別に問題ないことなんだけど、
周りはどうしてるのかなーと気になっただけです。

>>200

PHPらしく考えると、正規表現を使うよりは
変数展開の方がいいかなーと勝手に思ってしまったです。
そうなると外部ファイルに持つ方がしんどくなるので…

>>201

メール本文がクエリによって可変でないなら
file_get_contentsがスマートですね。
可変になったらどうしてます??
02032012005/11/06(日) 15:51:34ID:???
>>201
ありゃ。後半が切れた…
で、$message内のキーワードをstr_replaceで置換して本文を生成。
02041982005/11/06(日) 15:54:49ID:???
>>203

なるほどどうもです。
PHPだと <?=$hoge?> で変数展開できるのに
変数毎に置換することを考えると
ちょっとしっくり来ないんですよね。
(どうでもいいことか…
02052012005/11/06(日) 16:11:54ID:???
>>204
あ〜、なるほど。しっくり来ないのはその辺なんすね。
HTMLファイルなんかもそうだけど、テンプレートはあくまでもテンプレートであって
必ずしもPHPプログラマがいじる物とは限らないので、PHP色は排除してる。
もう少し具体的に書くと、こんな感じ。
これがベストとは思わないけど、ウチではこうやってるよ、ということで。
実際にはサニタイジング、文字コード変換等やっているので、その辺のツッコミはなしよ。

---mailtemplate.txt(テンプレートファイル)---
送信者:#FROM#
タイトル:#TITIE#
ご質問内容:
#MESSAGE#

---php---
$message = file_get_contents('mailtemplate.txt');
$message = str_replace(
 array('#FROM#', '#TITLE#', '#MESSAGE#'),
 array($_POST['from'], $_POST['title'], $_POST['message']),
 $message);
mb_send_mail(SUBJECT, $message, ...);
0206nobodyさん2005/11/06(日) 16:27:23ID:???
>>205
なるほど、非常に参考になります。

外部ファイルの置換文字列自体を
<?=?>等のPHP変数にして、
本体からrequireしてしまえば
いいかなとも思ったんですが、
本体見ないと何してるのかわからないんすよね…

ってrequireじゃダメか…
となるとeval…となるとエスケープがめんどい。。

201さんのやり方が一番いいかもしれないすね
02071982005/11/06(日) 16:27:53ID:???
206=198 デス…
0208nobodyさん2005/11/06(日) 17:28:47ID:???
<?php =$hoge ?>にこだわる?意味がわからんが
require使いたければ

$hoge = "aaa";
$piyo = "bbb";
としておいて

require "orz.php";

----- orz.php
....
{$hoge}さまへのメール
{$piyo}のお知らせ
-------
とかでいいじゃね?
02092082005/11/06(日) 17:31:56ID:???
ちと補足つか舌足らずごめん

---- orz.php
$mail_body = <<<EOF

{$hoge}さまへのメール
{$piyo}のお知らせ
-------
ということね^^;
0210nobodyさん2005/11/06(日) 19:14:21ID:???
そんな時、ob_*使えば、良いじゃない。
02111982005/11/06(日) 21:25:54ID:???
>>209

レスありがとうございます。

<?=?>にこだわっているというよりは、
PHPらしさにこだわっているってことでしょうか(汗

確かにrequireだと、ヒアドキュメントとかになっちゃうんですよね。
(そうなるとあまり外部にする旨みがなくなってしまうかな…)
0212nobodyさん2005/11/06(日) 21:32:52ID:???
include/requireを使うなら>>210の言うとおり、
ob_*を使って任意の変数に取り込めばいい
phpコードを含められるって利点くらいしかなさそうだけど。
02131982005/11/06(日) 21:39:10ID:???
>>210,212

レスありがとうございます。

なるほど、ob_* って手もありましたね。
ただここまでくると、PHPコードで展開するか
既定文字列を置換するかどっちかですね。

今までどおりプログラム本体にヒアドキュメントが
一番楽でシンプルかな…

ありがとうございます
0214nobodyさん2005/11/07(月) 00:19:44ID:VYJqOcB8
PHPでHTMLを解析して、HTML内の特定位置の情報(テキストやタグの
アトリビュートの値)を抽出するようなライブラリはないでしょうか。
PerlだとTemplate::Extractというのがあるようです。
ttp://naoya.dyndns.org/~naoya/mt/archives/000833.html
XML_HTMLSaxでも実現可能そうですが、Template::Extractのように
ルール定義だけで抽出できるようなのを探しています。
0215nobodyさん2005/11/07(月) 16:30:23ID:QyO81Mjh
あげ
0216nobodyさん2005/11/07(月) 19:07:15ID:???
PHPぁぷろだや双葉などのGDを使用する画像掲示板スクリプトを
設置したのですが、GDは入っているのにGDを使う部分だけ動作しません。
GDを動かすにはどのようにすればいいでしょうか。ご教授願います。

環境は Vine Linux , Apache1.3 , php 4.4.1 です。
0217nobodyさん2005/11/07(月) 19:12:44ID:???
>>216
>GDを使う部分だけ動作しません。
エラーが出てると思われるので、まずはそれを提示すること。
0218nobodyさん2005/11/07(月) 19:13:03ID:???
エスパー出動願います.
0219nobodyさん2005/11/07(月) 19:14:51ID:???
>>216
>GDは入っているのに
phpinfo(); で本当に入っているか確認されましたか?
0220nobodyさん2005/11/07(月) 19:34:47ID:O90JEyy/
fopen()
と
@fopen
の違いってなんでつか?
0221nobodyさん2005/11/07(月) 20:12:54ID:???
>>217
CGIの方ではGDが入っているかを判別して使わないようにしているようです。
どうやらPHPでGDが認識されてないみたいです。
>>219
やってみましたが駄目でした。
GD自体はapt-getを使用してインストールしました。
0222nobodyさん2005/11/07(月) 20:18:55ID:???
>>220
よっ、そこの兄ちゃん。
騙されたと思ってマニュアルのfopen()のところ見てみ。
02232162005/11/07(月) 20:34:32ID:???
phpinfo();の結果です。
ttp://rep2.net/up/data/630.txt
0224nobodyさん2005/11/07(月) 20:49:47ID:???
>>223
gdの文字を探しても見つからないから、
鯖の中にGDライブラリは存在するが、PHPと連携できるようになっていない。って所かと。
vineのrpmってこんなさっぱりしたconfigureなのかなぁ。。。
自力でconfigureするなら、--with-gd(必要なら=DIR)てな感じでgdを使うよーって指定してあげてください。
0225nobodyさん2005/11/07(月) 20:52:04ID:???
>>233
GD拡張が入ってないね。
パッケージ構成良く判らないけど、php4-gdとかない?
0226nobodyさん2005/11/07(月) 21:01:33ID:???
>>233
GD入ってるの確かならライブラリ入ってるPATHを
ld.so.confに念のため追加して
./configure --with-gd=PATH 追加してmake してみたら?

0227nobodyさん2005/11/07(月) 21:03:59ID:???
>>233
インストールできたらphpinfoで↓が出るはず。
gd
---------------------------------------
GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled

Jpeg GIF Freetype などのライブラリも入れるの忘れるなよ。
0228nobodyさん2005/11/07(月) 21:05:10ID:???
やけに親切だなww
0229nobodyさん2005/11/07(月) 21:13:03ID:???
ボキもお役に立ちたいので、windowsを消去してvineをインストールしている所です。
0230nobodyさん2005/11/07(月) 21:19:54ID:???
rpmで楽せずにソースコンパイルしる!
0231nobodyさん2005/11/07(月) 22:27:26ID:vt3MtPM6
Quickformにて、セレクトボックスの値を受け取る場合

$form->addElement('select ', 'address[]', '東京都中央区');
$form->addElement('select ', 'address[]', '東京都千代田区');
$form->addElement('select ', 'address[]', '東京都新宿区');
$form->addElement('select ', 'address[]', '東京都渋谷区');
と書きたいのですが、当然[]がsmartyの方でエラーになってしまい、使えません。
何かよい方法ありますか?
0232nobodyさん2005/11/07(月) 22:33:23ID:???
>>231
$form.address.0.
だったかな.....外してたら須磨
0233nobodyさん2005/11/07(月) 22:37:12ID:???
そんな風にひとつひとつ追加しないとだめだったっけ・・・?
0234nobodyさん2005/11/07(月) 22:37:33ID:vt3MtPM6
ありがとうございます。

0235nobodyさん2005/11/07(月) 22:56:57ID:vt3MtPM6
できれば$form.address.0と一つ一つ指定していかずに書きたいのですが、何か方法ありますか?
0236nobodyさん2005/11/07(月) 23:29:36ID:+B+7rA33
1: $strXml = "http://example.com/test.xml";
2: $strXsl = "./test.xsl";
3: $obj=xslt_create();
4: $result=xslt_process($obj,$strXml,$strXsl);

xmlファイルをローカルに置いてやってみるとエラーもなく動くのですが
↑のように他のサーバーにあるXMLを読み込もうとすると
Warning: Sablotron error on line 1: XML parser error 4: not well-formed (invalid token) in /test.php on line 4
というエラーが出てしまいます
解決策がありましたらお願いします
02372162005/11/08(火) 00:17:30ID:???
>>224-227
色々試してみましたが、どうもうまくいきませんでした。

path指定無しのGD付き指定configureだと状況変わらずだし。
path指定してみたら今度はファイルが足りませんと。むずかしいなあ。
まだやってない方法もあるのでまた試してみます。

レスしてくださった皆様ありがとうございました。
0238nobodyさん2005/11/08(火) 01:27:12ID:???
gdはPHPバンドル版を使って、他のライブラリはパスを明示するのが吉。
Linuxよく知らないんだけど/usrに色々入ってると仮定して、こんな感じで。(パスは適宜読み替えてね)
--with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-freetype-dir=/usr/X11R6 --enable-gd-native-ttf
0239nobodyさん2005/11/08(火) 13:44:53ID:SGMtFQHw
preg_replace("/\{$/", "", $line);

で 末尾の{が、

preg_replace("/\{.*\}$/", "", $line);

で { hogehoge;} が消えてくれないんだけど、何か間違ってる?
02402392005/11/08(火) 13:46:30ID:SGMtFQHw
あ、アスタの前のピリオド消えてます。すいません。
0241nobodyさん2005/11/08(火) 13:52:23ID:???
>>239
俺のとこでは消えたけど。
ダメならこうしたら?
preg_replace("/\\{\$/", "", $line);
preg_replace("/\\{.*\\}\$/", "", $line);
02422392005/11/08(火) 14:40:48ID:SGMtFQHw
すんません。初歩的ミスで、preg_replaceの結果を
変数に受け取ってませんでした(汗

ありがとうございました。
0243nobodyさん2005/11/08(火) 14:41:50ID:???
>>242
perl使いがよくやるミスだなw
0244nobodyさん2005/11/08(火) 14:57:23ID:???
>>235
テンプレ側

{foreach from=$form.address item=element}
{$element.html}
{/foreach}
0245862005/11/08(火) 15:30:56ID:???
再POSTすみません。
以下のPerlをPHPにしたいのですが、
とりあえず
>>87さんのおかげで(遅レスすみません)
PHPでPOSTメソッドで送信を行うには
HTTP_requestを使えばよいというのがわかったのですが、
cgiプログラムに ファイル 'test.txt'を
渡す部分がPHPでどう書けばよいのかが
分かりません。
よろしくお願いします。

my $argv = shift @ARGV;
my $browser = LWP::UserAgent->new;
my $url = 'http://www.hogehoge.jp/cgi-bin/hogehoge.cgi';
my $response = $browser->post($url ,
[
foo => '2ch' ,
bar => 'orz',
file => [
undef, 'test.txt',
Content_Type => 'text/plain',
Content => $argv]
] ,
Content_Type => 'form-data'
);

die " Error!", $response->status_line unless $response->is_success;
print $response->content;
0246nobodyさん2005/11/08(火) 15:51:28ID:???
>>245
ttp://www.1x1.jp/php/manual_pear/html/package.http.http-request.html
読んでからもう一度
0247"php include"で調べましたが、よく分かりません。2005/11/08(火) 16:09:10ID:KaRV4LV5
php単独で動くrssリーダーのmagpierssをいじり、
ssiでインクルードして表示させることは出来るようになりました。

<?php
error_reporting(E_ERROR);
require_once './rss_fetch.inc';//設定ファイル
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');

$url = 'hogehoge.rdf'; //rssのありか
$rss = fetch_rss($url);
$title = $rss->channel['title'];

echo "<h2><a href=\"$url\">$title</a></h2>\n";
foreach ($rss->items as $item ) {
echo "<dl>\n";
$title = htmlspecialchars($item['title']);
$description = htmlspecialchars($item['description']);
$url = htmlspecialchars($item['link']);

$time = $item[dc][date];
$time = Rtrim("$time","\+09:00");
$time = StrTr("$time","T-"," /");

echo "<dt><a href=\"$url\">$title</a></dt>\n";
echo "<dd> ($time)</dd>\n";
echo "</dl>\n\n";
}
?>

これをphpで実行させ、表示するとなるとどうすればよいのでしょうか。
つまり、ssiの<!-- #include virtual="./xxx.php" -->に相当する手法を知りたいです。
<? php include=('xxx.php')?>ではうまくいきません。どなたかご教示ください。御願いします。
0248nobodyさん2005/11/08(火) 16:33:26ID:???
釣?

つ【マニュアル】
0249nobodyさん2005/11/08(火) 16:55:03ID:???
>>245
HTTP_Request

void addPostData(string name, string value [, bool preencoded])

PEAR_Error addFile(string name, string file_path [, string content-type])

addFileが呼ばれると自動的にmultipart/form-data形式になる
02502452005/11/08(火) 16:59:14ID:???
>>249
ありがとうございます。
02512472005/11/08(火) 17:49:51ID:KaRV4LV5
>>248
あ、すみません。
.htaccessの設定がおかしいみたいです。
他のディレクトリでは普通にphpのincludeで出来ました。
お騒がせしました...orz
(でもおかしい設定は無いと思うのだけれど・・・
phpinfoさえも出来ないディレクトリってなんでだろう・・・)
02522472005/11/08(火) 17:52:50ID:KaRV4LV5
あ、まさか相対パスの記述がそもそも
無理なんじゃ・・・同一ディレクトリだったら問題ないし。
ああ・・・
■ このスレッドは過去ログ倉庫に格納されています