站长论坛

标题: ajax无刷新上传图片实例 [打印本页]

作者: webptr    时间: 2008-10-11 23:51
标题: ajax无刷新上传图片实例
将index.html和upload.php文件保存到apache工作目录,例子使用安装目录D:/Program Files/Apache Software Foundation/Apache2.2/htdocs/

AJAX 客户端页面代码: index.html

<html>  
<body>  
<h1>Ajax file upload sample</h1><br/><input id="uplaod" name="btn_send" type="button" value="上传测试"/>  
<div id=result></div>  
<PRE class=js name="code"><SCRIPT LANGUAGE=JavaScript>   
// 上传函数   
function btn_send.onclick() {   
data = ""  
spliter = "-------7d8d733180846"  
datadata = data + spliter + "\r\n"   
datadata = data + "Content-Disposition: form-data; name=\"photofile\"; filename=\"C:\\a.txt\"\r\n"   
// datadata = data + "Content-Type: image/pjpeg" + vbCrLf   
datadata = data + "Content-Type: text/plain" + "\r\n" + "\r\n"   
text = "My name is Wilson Lin."  
postLength = text.length + data.length + 2 + spliter.length + 4   
package = data + text + "\r\n" + spliter + "--\r\n"   
  
alert(package)   
// 把XML文档发送到Web服务器   
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");   
xmlhttp.open("POST","./upload.php",false);   
xmlhttp.setRequestHeader("Content-Type", "multipart/form-data; boundary=-----7d8d733180846");   
xmlhttp.setRequestHeader("Content-Length", postLength);   
xmlhttp.send(package);   
// 显示服务器返回的信息   
result.innerHTML=xmlhttp.ResponseText;   
}   
</SCRIPT>   
</PRE>  
</body>  
</html>

PHP服务器端代码: upload.php

<?php  
// $_FILES['photofile']:是获得上传图片的数组   
// $uploadfile:存放地址   
$uploadfile = "D:/Program Files/Apache Software Foundation/Apache2.2/htdocs/".$_FILES['photofile']['name'];   
copy( $_FILES['photofile']['tmp_name'], $uploadfile );   
echo "URL: <a href='http://localhost/".$_FILES['photofile']['name']."' target='_blank'>".$_FILES['photofile']['name']."</a><br/>";   
?>  
Upload successed!




欢迎光临 站长论坛 (http://tzlink.com/bbs/) Powered by Discuz! X3.2