本来想用插件上传图片的,后来自己写了一个简单的js实现异步的图片上传,不多说上代码非常简单
upload.php
if(isset($_FILES["myfile"]))
{
$ret = array();
$uploadDir = 'images'.DIRECTORY_SEPARATOR.date("Ymd").DIRECTORY_SEPARATOR;
$dir = dirname(__FILE__).DIRECTORY_SEPARATOR.$uploadDir;
file_exists($dir) (mkdir($dir,0777,true) && chmod($dir,0777));
if(!is_array($_FILES["myfile"]["name"])) //single file
{
$fileName = time().uniqid().'.'.pathinfo($_FILES["myfile"]["name"])['extension'];
move_uploaded_file($_FILES["myfile"]["tmp_name"],$dir.$fileName);
$ret['file'] = DIRECTORY_SEPARATOR.$uploadDir.$fileName;
}
echo json_encode($ret);
}
?>
index.html
立即学习“PHP免费学习笔记(深入)”;
<script type="text/javascript"><br>
<br>
<br>
var xhr;<br>
function createXMLHttpRequest()<br>
{<br>
if(window.ActiveXObject)<br>
{<br>
xhr = new ActiveXObject("Microsoft.XMLHTTP");<br>
}<br>
else if(window.XMLHttpRequest)<br>
{<br>
xhr = new XMLHttpRequest();<br>
}<br>
}<br>
<br>
<br>
function UpladFile()<br>
{<br>
var fileObj = document.getElementById("file").files[0];<br>
var FileController = 'upload.php';<br>
var form = new FormData();<br>
form.append("myfile", fileObj);<br>
createXMLHttpRequest();<br>
xhr.onreadystatechange = handleStateChange;<br>
xhr.open("post", FileController, true);<br>
xhr.send(form);<br>
}<br>
<br>
<br>
function handleStateChange()<br>
{<br>
if(xhr.readyState == 4)<br>
{<br>
if (xhr.status == 200 xhr.status == 0)<br>
{<br>
var result = xhr.responseText;<br>
var json = eval("(" + result + ")");<br>
alert('图片链接:\n'+json.file);<br>
}<br>
}<br>
}<br>
<br>
<br>
</script>
浏览...
上传











