php中如何将远程的xml文件输出到IE浏览器?!急救

dreamsun 2004-08-07 02:06:40
因为直接用javascript读取远程xml数据,会出现权限不足,必须手动修改IE的安全设置才行.所以一般都会用asp脚本在服务器上作中转.在asp中下面函数可以实现

<%
Response.ContentType = "text/xml"
Function getUrl(Path)
t = GetAll(Path)
getUrl=BytesChangeToBstr(t,"GB2312")
End function
Function GetAll(url)
on error resume next
Set Retrieval = CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "Get", url, False, "", ""
.Send
If (.readyState=4) Then
GetAll= .ResponseBody
else
exit function
End if
End With
Set Retrieval = Nothing
End Function

Function BytesChangeToBstr(body,Cset)
On Error Resume Next
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesChangeToBstr= objstream.ReadText
objstream.Close
set objstream = nothing

End Function
url="http://xxxxxxxxx/data.xml"
Response.Write getUrl(url2)
%>

请问在php中如何实现上面的功能?!!!!
急救啊!~~~~各位高手请出手相救,就算不懂的,就指点一下也行
...全文
255 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2004-08-07
  • 打赏
  • 举报
回复
1、用javascript读取远程xml数据,不会出现权限不足。除非是读取本地文件才可能出现
2、php for win 同样可以使用Microsoft.XMLHTTP,写法与asp相似
3、php提供的文件函数可以方便的完成这一工作,条件是你的网站与远程的xml文件间没代理
xeimm 2004-08-07
  • 打赏
  • 举报
回复
学习了
ice_berg16 2004-08-07
  • 打赏
  • 举报
回复
用xmlhttp就可以了。
用PHP也有很多方法如file(),file_get_content()都可以
孟子E章 2004-08-07
  • 打赏
  • 举报
回复
xmlhttp在客户端的默认安全性下不会有提示的

http://blog.csdn.net/net_lover/archive/2004/07/07/36015.aspx

http://blog.csdn.net/net_lover/archive/2004/07/06/35220.aspx
ecobin 2004-08-07
  • 打赏
  • 举报
回复
file
(PHP 3, PHP 4 )

file -- 把整个文件读入一个数组中
说明
array file ( string filename [, int use_include_path [, resource context]])


和 readfile() 一样,只除了 file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。如果失败 file() 返回 FALSE。

如果也想在 include_path 中搜寻文件的话,可以将可选参数 use_include_path 设为 "1"。



<?php
// 将一个文件读入数组。本例中通过 HTTP 从 URL 中取得 HTML 源文件。
$lines = file ('http://www.example.com/');
// 在数组中循环,显示 html 的源文件并加上行号。
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n";
}
// 另一个例子将 web 页面读入字符串。参见 file_get_contents()。
$html = implode ('', file ('http://www.example.com/'));
?>


提示: 如果“fopen wrappers”已经被激活,则您在使用该函数的时候,可以把 URL 作为文件名来使用。请参阅 fopen() 获取怎样指定文件名的详细信息以及支持的 URL 协议的列表附录 J。

注: 返回的数组中每一行都包括了行结束符,因此如果不需要行结束符时还需要使用 trim() 函数。

注: 如果碰到 PHP 在读取文件时不能识别 Macintosh 文件格式,可以激活 auto_detect_line_endings 的运行时配置选项。


注: 从 PHP 4.3.0 开始可以用 file_get_contents() 来将文件读入到一个字符串返回。

从 PHP 4.3.0 开始 file() 可以安全用于二进制文件。

注: Context 支持是 PHP 5.0.0 新加的。

参见 readfile(),fopen(),fsockopen(),popen(),file_get_contents() 和 include()。
dreamsun 2004-08-07
  • 打赏
  • 举报
回复
无人啊?我先顶

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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