如何读取服务器端的文件?

参见http://javascript.ruanyifeng….

var ajax = new XMLHttpRequest;
ajax.openGET, http://www.example.com/page.php, true;
从本地端读取服务器端的文件。

下面有这样的场景:test.xml存放在 123.456.789.1 这台机器的 /tmp文件夹下面。
本机的浏览器是firefox,操作系统linux.
test.xml文件很简单

<?xml version="1.0" encoding="UTF-8"?>
<book> <bookname>《Harry Potter》</bookname> <author>J.K.Rowling</author> <pages>590</pages>
</book>

我运行下面的代码为何没有反应?

<html>
<head><title>访问XML文档,获取图书信息</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function loadXMLDocdocName
{ var http = new XMLHttpRequest; http.open"GET", docName, true; http.sendnull; var xmlDoc = http.responseXML; return xmlDoc;
} function getBookInfo
{ var xml = loadXMLDoc"http://123.456.789.1/tmp/test.xml"; var bookname = xml.getElementsByTagName"bookname"[0].firstChild.nodeValue; var author = xml.getElementsByTagName"author"[0].firstChild.nodeValue; var pages = xml.getElementsByTagName"pages"[0].firstChild.nodeValue; document.getElementById"td_bookname".innerHTML = bookname; document.getElementById"td_author".innerHTML = author; document.getElementById"td_pages".innerHTML = pages;
}
</script></head>
<body>
<table style="width:200px;"> <tr><td>书名:</td><td id="td_bookname"></td></tr> <tr><td>作者:</td><td id="td_author"></td></tr> <tr><td>页数:</td><td id="td_pages"></td></tr>
</table>
<input type="button" value="获取图书信息" onclick="getBookInfo" />
</body>
</html>

路径你理解错了.

http://123.456.789.1/tmp/test.xml

表示的是123.456.789.1这台服务器的WEB服务器根目录下的/tmp/test.xml,
如果DOCUMENT_ROOT是/www目录, 那这URL表示的是 /www/tmp/test.xml 文件
不是主机的/tmp目录.

写个PHP文件, 把/tmp/test.xml读取输出就行了.

<?php readfile/tmp/test.xml;

发表评论

电子邮件地址不会被公开。 必填项已用*标注