PHP怎样上传图片以及预览图片?

JavaScript026

PHP怎样上传图片以及预览图片?,第1张

本地图片,就搞个img,设置他的src就可以实现;

参考如下:

<div class="column " style="width: 400pxmargin-left: 200px" id="imageShow">

<div id="productImageNew">@*用于图片预览*@

</div>

<div id="productImage">

<div class="widget the-common-margin-top" style="height: 400pxborder: 1px solid #eeeeee

padding: 3px">

<img id="imgHolder" style="max-height: 390pxmax-width: 390px" />

</div>

</div>

</div>

<form id="formImageUpload" name="formImageUpload" method="post" action="/DocTeam/ProductsImage/UploadImage"

enctype="multipart/form-data">

<div id="fileDiv">

<input type="file" id="theFile" name="theFile" size="20" style="cursor: pointer

width: 65pxheight: 60pxposition: absolutefilter: alpha(opacity:1)-moz-opacity: 0

opacity: 0z-index: 102" />

</div>

<input type="hidden" name="imageId_hide" id="imageId_hide" />

</form>

<div id="cover" style="position: absolutebackground-color: Whitez-index: 10

filter: alpha(opacity=100)-moz-opacity: 1opacity: 1overflow: autowidth: 400px">

<input id="selectImage" type="button" style="width: 65pxheight: 60px" value="Select" />

<br />

<br />

<input type="button" value="Upload" id="imageUpload" style="width: 65pxheight: 60px"

disabled="disabled" onclick="javascript:uploadImage()" />

</div>

//js本地图片预览,兼容ie[6-9]、火狐、Chrome17+、Opera11+、Maxthon3

function PreviewImage(fileObj, imgPreviewId, divPreviewId) {

var allowExtention = ".jpg,.bmp,.gif,.png"//允许上传文件的后缀名document.getElementById("hfAllowPicSuffix").value

var extention = fileObj.value.substring(fileObj.value.lastIndexOf(".") + 1).toLowerCase()

var browserVersion = window.navigator.userAgent.toUpperCase()

if (allowExtention.indexOf(extention) >-1) {

if (fileObj.files) {//HTML5实现预览,兼容chrome、火狐7+等

if (window.FileReader) {

var reader = new FileReader()

reader.onload = function (e) {

document.getElementById(imgPreviewId).setAttribute("src", e.target.result)

}

reader.readAsDataURL(fileObj.files[0])

} else if (browserVersion.indexOf("SAFARI") >-1) {

alert("不支持Safari6.0以下浏览器的图片预览!")

}

} else if (browserVersion.indexOf("MSIE") >-1) {

if (browserVersion.indexOf("MSIE 6") >-1) {//ie6

document.getElementById(imgPreviewId).setAttribute("src", fileObj.value)

} else {//ie[7-9]

fileObj.select()

if (browserVersion.indexOf("MSIE 9") >-1)

fileObj.blur()//不加上document.selection.createRange().text在ie9会拒绝访问

var newPreview = document.getElementById(divPreviewId + "New")

if (newPreview == null) {

newPreview = document.createElement("div")

newPreview.setAttribute("id", divPreviewId + "New")

}

var a = document.selection.createRange().text

// newPreview.style.width = document.getElementById(imgPreviewId).width + "px"

// newPreview.style.height = document.getElementById(imgPreviewId).height + "px"

//newPreview.style.width = 390 + "px"

newPreview.style.height = 390 + "px"

newPreview.style.border = "solid 1px #eeeeee"

newPreview.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale',src='" + document.selection.createRange().text + "')"

var tempDivPreview = document.getElementById(divPreviewId)

// tempDivPreview.parentNode.insertBefore(newPreview, tempDivPreview)

newPreview.style.display = "block"

tempDivPreview.style.display = "none"

}

} else if (browserVersion.indexOf("FIREFOX") >-1) {//firefox

var firefoxVersion = parseFloat(browserVersion.toLowerCase().match(/firefox\/([\d.]+)/)[1])

if (firefoxVersion <7) {//firefox7以下版本

document.getElementById(imgPreviewId).setAttribute("src", fileObj.files[0].getAsDataURL())

} else {//firefox7.0+

document.getElementById(imgPreviewId).setAttribute("src", window.URL.createObjectURL(fileObj.files[0]))

}

} else {

document.getElementById(imgPreviewId).setAttribute("src", fileObj.value)

}

} else {

alert("仅支持" + allowExtention + "为后缀名的文件!")

fileObj.value = ""//清空选中文件

if (browserVersion.indexOf("MSIE") >-1) {

fileObj.select()

document.selection.clear()

}

fileObj.outerHTML = fileObj.outerHTML

}

}

function setTheFileButton_Cover_SelectImageButton() {

// debugger

// var position = $("#selectImage", "#cover").position()

// var css = { top: position.top, left: position.left }

// $("#theFile", "#fileDiv").css(css)

}

var $imgHolder = $('#imgHolder', "#productImage")

var tempDiv = $("#temp_div")

$("#select", "#cover").click(function () {

$("#theFile", "#fileDiv").click().select()

})

$("#theFile", "#fileDiv").click(function () {

$(this).blur()

})

$("#theFile", "#fileDiv").change(function () {

PreviewImage(this, 'imgHolder', 'productImage')

setTheFileButton_Cover_SelectImageButton()

// alert("预览已生成!")

$("#imageUpload").prop("disabled", false)

})

如果不考虑IE低版本的话 可以这么做

否则还是用Flash吧

HTML

<form method="post" action="upload.php" enctype="multipart/form-data">

  <input name='uploads[]' type="file" multiple>

  <input type="submit" value="Send">

</form>

PHP

foreach ($_FILES['uploads']['name'] as $filename) {

    echo '<li>' . $filename . '</li>'

}