我用delphi写了一个小www服务器,想支持PHP

yllaji 2003-09-07 12:28:57
我用delphi写了一个小www服务器,想支持PHP

PHP的问题 1

我是用delphi写了一个小的www服务器引擎,然后将客户的提交的数据和页面 提交给 php.exe去执行(以类似这样的形式执行并返回: c:\php\php.exe c:\www\index.php id=10005&s=asekelkrl ),然后将php.exe 返回的数据交还给客户,完成整个操作。

可是 php.exe 中的 类似 $HTTP_COOKIE_VARS['name'] 形式的变量我无法传达,导致使用类似变量的地方无法取值…… 有什么方法可以让php.exe 获取这些变量么 (还有$HTTP_SERVER_VARS $_GET 等……)听说 这些变量是由 www服务器创建的,我的程序作为 www服务器自然要创建,如何创建呢?

类似 $HTTP_COOKIE_VARS['name']
(还有 $HTTP_SERVER_VARS $_GET 等……)

我知道 $HTTP_COOKIE_VARS 是个数组, 哪位高人能告诉我 它的组成形式么?
至少 我可以通过类似
c:\php\php.exe c:\www\index.php id=1234……&HTTP_COOKIE_VARS=name:yaplei■pass:123456

的形式 传给 php.exe。(■ 代表 换行符之类的东西……)

谢谢!谢谢拉……

问题 2

以 enctype="multipart/form-data" 方式提交的表单…… 格式与普通提交完全不同……

普通格式是 123.php?id=123&pp=kkk

但是 以enctype="multipart/form-data"方式提交的表单(如下 数据示例:)格式完全不同

…… 怎么处理?php.exe 有没有 命令行的形式进行处理? 难道……让我一点点喂给它…… 是在没办法……这个也算是一种办法了…… 55555555

数据示例:

c:\php\php.exe C:\~MYdephi\http_svr\www/macwdb/wdb/wdbpost.php "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*","Referer: http://127.0.0.1/macwdb/wdb/wdbpost.php?forumid=1","Accept-Language: zh-cn","Content-Type: multipart/form-data; boundary=---------------------------7d32863120062a","Accept-Encoding: gzip, deflate","User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)","Host: 127.0.0.1","Content-Length: 1056","Connection: Keep-Alive","Cache-Control: no-cache","Cookie: lastvisit_fr=1062903948; lastvisit=1062903948; s=cabb1659f731b608330d3d7cfae0adef",-----------------------------7d32863120062a
Content-Disposition: form-data; name="font"


-----------------------------7d32863120062a
Content-Disposition: form-data; name="articletitle"

test
-----------------------------7d32863120062a
Content-Disposition: form-data; name="articledes"


-----------------------------7d32863120062a
Content-Disposition: form-data; name="usesignature"

checkbox
-----------------------------7d32863120062a
Content-Disposition: form-data; name="autourl"

yes
-----------------------------7d32863120062a
Content-Disposition: form-data; name="articlecontent"

test
-----------------------------7d32863120062a
Content-Disposition: form-data; name="helpmode"

2
-----------------------------7d32863120062a
Content-Disposition: form-data; name="step"

2
-----------------------------7d32863120062a
Content-Disposition: form-data; name="action"

new
-----------------------------7d32863120062a
Content-Disposition: form-data; name="forumid"

1
-----------------------------7d32863120062a--
&s=cabb1659f731b608330d3d7cfae0adef&lastvisit=1062903948&lastvisit_fr=1062903948
...全文
69 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hgame 2003-09-07
  • 打赏
  • 举报
回复
Eastunfail(浴血雏龙)==(恶鱼杀手) 大哥~

您详细讲讲行么~~ 新开贴送您 500分 我也愿意啊~~

谢谢啊 谢谢!! 我是新手 菜鸟~
Eastunfail 2003-09-07
  • 打赏
  • 举报
回复
不是有个DLL的ISAPI么?你用那看看。

具体资料看看Apache的源代码
yllaji 2003-09-07
  • 打赏
  • 举报
回复
谢谢

Eastunfail(浴血雏龙)==(恶鱼杀手)

ly_liuyang(Liu Yang)

二位大哥…… 问题解决了……
yllaji 2003-09-07
  • 打赏
  • 举报
回复
http://cn.php.net/get/php-4.3.3.tar.gz/from/a/mirror
这个是 4.3.3 的源代码么?

ly_liuyang(Liu Yang) 大哥,idRunner components 从哪里可以找到啊~?

yllaji 2003-09-07
  • 打赏
  • 举报
回复
如何 使用DLL来处理PHP请求??

delphi 有这方面的文档 原程序 以及网址么~

给个看看吧 谢谢~
Eastunfail 2003-09-07
  • 打赏
  • 举报
回复
http://www.php.net/get/php-3.0.18.tar.gz/from/a/mirror

只找到了3.0的代码................
yllaji 2003-09-07
  • 打赏
  • 举报
回复
哪里有 php 的源码?  我去 www.php.net 下载 没下到....

appache 的原码好象下到了
yllaji 2003-09-07
  • 打赏
  • 举报
回复
Eastunfail(浴血雏龙)==(恶鱼杀手)

ly_liuyang(Liu Yang)

两位大哥~~~ 跪谢了~~~  有详细的资料和文档么!~! 

贴点代码上来或者给个 网址连接 也可以啊~~~

谢谢呀谢谢~
ly_liuyang 2003-09-07
  • 打赏
  • 举报
回复
建议使用Indy结构了
Indy有个第三方组件idRunner components
就是Indy上支持ISAPI和CGI和PHP CGI的,提供Open的Source可以参考使用

你的Web服务使用Indy做的就好了,可以直接用

Indy是Delphi下比较好的网络组件

By LY http://lysoft.7u7.net
hkbarton 2003-09-07
  • 打赏
  • 举报
回复
不懂啊
Eastunfail 2003-09-07
  • 打赏
  • 举报
回复
另外你通过调用PHP.EXE的方法来处理PHP请求的方法效率不高,互动性不强,占用较大资源(傳說中的CGI).所以强烈建议你按照我上面写的方法使用DLL来处理PHP请求
Eastunfail 2003-09-07
  • 打赏
  • 举报
回复
PHP的目录下面不是有个sapi目录么?你上网查查那个目录里面的DLL的接口信息(就在PHP的源代码里面可以找)以及使用方法(去下载Apache的源代码看看).

我也不太懂,帮你UP一下
zhoutian618 2003-09-07
  • 打赏
  • 举报
回复
不懂这个,UP一下。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧