作为一个PHP程序员来说,他们肯定知道如何编写图片上传的代码。但是,基于无刷新的图片上传的代码可能会上手比较难。今天我们就为大家介绍如何运用PHP Ajax来实现这一功能。
#t#PHP 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"
- datadatadata = data + spliter + "\r\n"
- datadatadata = data + "Content-Disposition: form-data; name=\"photofile\"; filename=\"C:\\a.txt\"\r\n"
- // datadatadata = data + "Content-Type: image/pjpeg" + vbCrLf
- datadatadata = 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 Ajax服务器端代码: upload.php
- <?php
- // $_FILES['photofile']:是获得上传图片的数组
- // $uploadfile:存放地址
- $uploadfile = "D:/".$_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/>";
- ?>
以上所写代码就是基本的PHP Ajax实现无刷新图片上传的具体解决办法。