1

好的,所以 PHP 脚本存在于 serverA 上。ServerA 有 php 安全模式 ON 和 WebDAV OFF。我无法改变这两个因素中的任何一个。我想在 serverA 上创建一个脚本来获取另一台服务器的用户登录名/密码,我们称之为 serverB。ServerB 已开启 WebDAV。

最终目标是用户将转到 ServerA 上的脚本,为 ServerB 输入他们的凭据,然后脚本将创建一个 iCal 文件并将其放在 ServerB 上,然后允许用户使用 Outlook/订阅 iCal 文件GoogleCalendar 等(要求文件位于 WebDAV 服务器上)。

所以,我尝试了

fopen(servername/filename, r) 

并且能够读取远程服务器上的文件。但是当我尝试

fopen(servername/filename, w)

我收到一个错误,即 HTTP 包装器不支持写入,只支持读取。

长话短说,有没有办法连接到该服务器并进行身份验证,写入文件,然后关闭连接,而不使用任何已经存在的 PHP WebDAV 库,并且不会遇到安全模式权限错误?

谢谢!

4

2 回答 2

1

问题是 PHP 的 HTTP 协议包装器不执行 PUT。您应该尝试使用 fsockopen 或最好使用 curl 之类的东西编写自己的代码。

http://ca3.php.net/manual/en/wrappers.http.php

这与安全模式无关。

于 2009-04-23T03:22:45.447 回答
0

这里的问题是安全模式旨在限制您,因此您无法在“安全”区域之外执行操作。

您可以尝试(如果可以)修改safe_mode_exec_dirphp.ini 中的内容,然后您可以启动可以为您编写文件的外部程序(如果它们位于此安全模式目录中)

关于身份验证,我不确定,也许有人可以更详细地回答。

于 2009-04-23T02:18:25.727 回答