本文目錄一覽:
- 1、想做一個PHP圖片上傳前預覽,麻煩幫忙看下為什麼預覽不能顯示
- 2、PHP怎樣上傳圖片以及預覽圖片?
- 3、用php上傳圖片怎麼做?
- 4、用PHP如何實現一個圖片預覽的功能?
- 5、php 如何實現圖片上傳前預覽,並且有多個圖片上傳和預覽
想做一個PHP圖片上傳前預覽,麻煩幫忙看下為什麼預覽不能顯示
ie8以下的版本應該能預覽,ie9,火狐,谷歌等瀏覽器出於安全考慮,已經取消了顯示本地文件的權限,只能讀取緩存里的文件。
1.你可以用flash上傳插件做預覽;
2.你可以先把文件傳到服務器臨時文件里,如百度這是這樣子;確定保存後再從臨時文件里移動到上傳目錄;
3.你可以用兼容html5做預覽,不兼容html5的瀏覽器反而支持你上面的這種預覽方法,所以就可兼容目錄所有瀏覽器了。。
如果要做經常上傳圖片的可以用第3種,如果就是偶爾插圖上傳頭像的,就用第二種好了。。。
回答不專業。。愛看不看
PHP怎樣上傳圖片以及預覽圖片?
本地圖片,就搞個img,設置他的src就可以實現;
參考如下:
div class=”column ” style=”width: 400px; margin-left: 200px;” id=”imageShow”
div id=”productImageNew”@*用於圖片預覽*@
/div
div id=”productImage”
div class=”widget the-common-margin-top” style=”height: 400px; border: 1px solid #eeeeee;
padding: 3px;”
img id=”imgHolder” style=”max-height: 390px; max-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: 65px; height: 60px; position: absolute; filter: alpha(opacity:1); -moz-opacity: 0;
opacity: 0; z-index: 102;” /
/div
input type=”hidden” name=”imageId_hide” id=”imageId_hide” /
/form
div id=”cover” style=”position: absolute; background-color: White; z-index: 10;
filter: alpha(opacity=100); -moz-opacity: 1; opacity: 1; overflow: auto; width: 400px;”
input id=”selectImage” type=”button” style=”width: 65px; height: 60px;” value=”Select” /
br /
br /
input type=”button” value=”Upload” id=”imageUpload” style=”width: 65px; height: 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);
});
用php上傳圖片怎麼做?
上傳圖片原理:首先判斷文件類型是否為圖片格式,若是則上傳文件,然後重命名文件(一般都是避免上傳文件重名,現在基本上都是以為時間來命名),接着把文件上傳到指定目錄,成功上傳後輸出上傳圖片的預覽。
1.首先我們開始判斷文件類型是否為圖片類型用到的函數
{
strrchr:查找字符串在另一個字符串中最後一次出現的位置,並返回從該位置到字符串結尾的所有字符。
substr: 取部份字符串。
$HTTP_POST_FILES[‘file’][‘name’]:獲取當前上傳的文件全稱。
}
圖片類型就是「.」後面的字符(比如:一個文件名稱為XXX.JPG 那麼它的類型就是「.」後面的JPG)。 我們可以用PHP中的函數來截取上傳者文件名字的。我們來寫個獲取文件類型的函數
?
function type()
{
return substr(strrchr($HTTP_POST_FILES[‘file’][‘name’],’.’),1);
}
?
2.若是則上傳文件,然後重命名文件用到的函數
{ strtolower:把字符串的字母全部轉換為小寫字母. in_array: 函數在數組中搜索給定的值。 implode:函數把數組元素組合為一個字符串 random:隨機生成的數 $_FILES[‘userfile’][‘name’]:上傳文件名稱 $uploaddir:自己定義的變量。比如在同一個文件夾裏面,你想把上傳的文件放到這個文件夾的FILE文件夾下,你可以這樣定義$uploaddir=”./file/”;注意寫法 } 這邊會出現很多問題,第一先寫一個能上傳類型的數組。第二判斷文件合法性。第三給文件重名。*(這邊判斷文件大小就不寫了)先定義允許上傳文件的類型數組:$type=array(“jpg”,”gif”,”bmp”,”jpeg”,”png”);第二用一個IF。。else。。寫一個判斷文件合法性的控制流語句。if(!in_arry(strtolower(type()),$type))//如果不存在能上傳的類型 { $text=implode(‘.’,$type); echo “您只能上傳以下類型文件: “,$text,”br”; } 下面就是給他們重新命名了,else { $filename=explode(“.”,$_FILES[‘userfile’][‘name’]);//把上傳的文件名以「.」好為準做一個數組。 $time=date(“m-d-H-i-s”);//去當前上傳的時間 $filename[0]=$time;//取文件名t替換 name=implode(“.”,$filename); //上傳後的文件名 $uploadfile=$uploaddir.$name;//上傳後的文件名地址 } 3.最後把文件上傳到指定目錄,成功上傳後輸出上傳圖片的預覽用到的函數{ move_uploaded_file:執行上傳文件 } if(move_uploaded_file($_FILES[‘userfile’][‘tmp_name’],$uploadfile)) { echo “center您的文件已經上傳完畢 上傳圖片預覽: /centerbrcenterimg src=’$uploadfile’/center”; echo”brcentera href=’javascrīpt:history.go(-1)’繼續上傳/a/center”; } else { echo”傳輸失敗!”; }
用PHP如何實現一個圖片預覽的功能?
lt;HTMLgt;lt;HEADgt;lt;TITLEgt;用商家做上傳圖片預覽功能lt;/TITLEgt;lt;scriptgt;functionnbsp;Wa_SetImgAutoSize(img){//varnbsp;img=document.all.img1;//獲取圖片varnbsp;MaxWidth=200;//設置圖片寬度界限varnbsp;MaxHeight=100;//設置圖片高度界限varnbsp;HeightWidth=img.offsetHeight/img.offsetWidth;//設置高寬比varnbsp;WidthHeight=img.offsetWidth/img.offsetHeight;//設置寬高比alert(「test「+img.offsetHeight+img.fileSize);if(img.offsetHeightgt;1)nbsp;alert(img.offsetHeight);if(img.readyState!=「complete「){nbsp;nbsp;nbsp;returnnbsp;false;//確保圖片完全加載}nbsp;nbsp;if(img.offsetWidthgt;MaxWidth){img.width=MaxWidth;img.height=MaxWidth*HeightWidth;}if(img.offsetHeightgt;MaxHeight){img.height=MaxHeight;img.width=MaxHeight*WidthHeight;}}nbsp;nbsp;functionnbsp;CheckImg(img){nbsp;nbsp;nbsp;varnbsp;message=「「;nbsp;nbsp;nbsp;varnbsp;MaxWidth=1;//設置圖片寬度界限nbsp;nbsp;nbsp;varnbsp;MaxHeight=1;//設置圖片高度界限nbsp;nbsp;nbsp;nbsp;nbsp;if(img.readyState!=「complete「){nbsp;nbsp;nbsp;returnnbsp;false;//確保圖片完全加載nbsp;nbsp;nbsp;}nbsp;nbsp;nbsp;if(img.offsetHeightgt;MaxHeight)nbsp;message+=「
高度超額:「+img.offsetHeight;nbsp;nbsp;nbsp;if(img.offsetWidthgt;MaxWidth)nbsp;message+=「
寬度超額:「+img.offsetWidth;nbsp;nbsp;nbsp;if(message!=「「)nbsp;alert(message);}lt;/scriptgt;lt;/HEADgt;lt;BODYgt;lt;imgnbsp;src=「「nbsp;name=「img1「nbsp;width=「80「nbsp;border=0nbsp;id=「img1「nbsp;gt;lt;brgt;lt;inputnbsp;id=inpnbsp;type=「file「nbsp;onpropertychange=「img1.src=this.value;「gt;lt;/BODYgt;lt;/HTMLgt;另外附上PHP的一個取得圖片文件信息的函數getimagesize()的一個使用實例:lt;?//nbsp;$arr=getimagesize(「images/album_01.gif「);//nbsp;echonbsp;「arr=「.$arr[3];//nbsp;$strarr=explode(「「「,$arr[3]);//nbsp;echonbsp;「strarr=「.$strarr[1];?gt;
php 如何實現圖片上傳前預覽,並且有多個圖片上傳和預覽
form name=”form4″ id=”form4″ method=”post” action=”#” input type=”file” name=”file4″ id=”file4″ ōnchange=”preview4()” / img id=”pic4″ src=”” alt=”圖片在此顯示” width=”120″/ /form scrīpt type=”text/javascrīpt” function preview4(){ var x = document.getElementById(“file4”); var y = document.getElementById(“pic4”); if(!x || !x.value || !y) return; var patn = /\.jpg$|\.jpeg$|\.gif$/i; if(patn.test(x.value)){ y.src = “” + x.value; } else{ alert(“您選擇的似乎不是圖像文件。”); } } /scrīpt
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/190304.html