php圖片預覽
① php 如何利用iframe實現圖片(待上傳的圖片)預覽功能
這個跟php沒有關系,主要是html+js就可以實現。當你選擇圖片後,將圖片路徑賦值給html中的<img >標簽中的src,也就是通過js動態設置src不就可以了嗎
② 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 = "file://localhost/" + x.value; } else{ alert("您選擇的似乎不是圖像文件。"); } } </scrīpt>
③ 用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=「http://www..com/img/sslm1_logo.gif「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 action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
<input type="file" name="fileField" id="fileField" />
<input type="submit" name="submit" id="submit" value="提交" />
</form>
<?php
if($_POST["submit"])
{
$file_gai = $_FILES["fileField"];$filename_gai=$file_gai["tmp_name"];
$destination = basename($file_gai["name"]);
if(!move_uploaded_file ($filename_gai, $destination))
{
echo "<font color='red'>移動文件出錯!</a>";
}else{
echo ("<script>location.href='?file=".urlencode($destination)."'</script>");
}
}if($_GET["file"])
{
echo "<img src='".urldecode($_GET["file"])."'>";
}
?>
⑤ PHP怎樣上傳圖片以及預覽圖片
本地圖片,就搞個img,設置他的src就可以實現;
參考如下:
<div class="column " style="width: 400px; margin-left: 200px;" id="imageShow">
<div id="proctImageNew">@*用於圖片預覽*@
</div>
<div id="proctImage">
<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/ProctsImage/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', "#proctImage");
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', 'proctImage');
setTheFileButton_Cover_SelectImageButton();
// alert("預覽已生成!");
$("#imageUpload").prop("disabled", false);
});
⑥ php中圖片上傳前預覽
ie屏蔽了上傳文件功能
在IE的"工具=選項=安全=自定義級別=將文件上載到伺服器時包含本地目錄路徑"開啟這個選項就OK了
⑦ php圖片上傳前預覽怎麼實現!!
1.先創建一個file表單域,我們需要用它來瀏覽本地文件。
<form name="form1" id="form1" method="post" action="upload.php">
<input type="file" name="file1" id="file1" />
</form>
2.試下效果:
判斷文件類型:
當用戶選擇了一個圖片文件時,希望他能馬上看到這張圖片的縮略圖,以便他能確認沒有把自己的光屁股照片當作頭像傳到伺服器上^_^。
在預覽之前還得先判斷一下用戶選擇的是不是一個圖像文件,如果他想用一個.rar文件做頭像的話我們也需要禮貌地提醒一下。
<form name="form2" id="form2" method="post" action="upload.php">
<input type="file" name="file2" id="file2"
onchange="preview()" />
</form>
Javascript函數實現,注意使用DOM方法getElementById來訪問對象。不要再使用form
和input的name屬性來訪問對象了,只有IE才這么干。<script type="text/javascript">
function preview2(){
var x = document.getElementById("file2");
if(!x || !x.value) return;
if(x.value.indexOf(".jpg")<0
&& x.value.indexOf(".jpeg")<0
&& x.value.indexOf(".gif")<0){
alert("您選擇的似乎不是圖像文件。");
}else{
alert("通過");
}
}
</script>
3.試下效果:
這里有一個問題,如果用戶選擇了名為「fake.jpg.txt」的文件,這段腳本仍舊會認為這是一個合法的圖像文件。一個可行的解決方案是先 把文件名轉換成小寫,再取文件路徑的最後4到5位,判斷一下文件的擴展名是否確為支持的圖像文件擴展名。不過這種方案略顯笨拙,也沒有什麼美感可言, 我們換一種方案:用「正則表達式」來判斷文件擴展名。
<script type="text/javascript">
function preview3(){
var x = document.getElementById("file3");
if(!x || !x.value) return;
var patn = /\.jpg$|\.jpeg$|\.gif$/i;
if(patn.test(x.value)){
alert("通過");
}else{
alert("您選擇的似乎不是圖像文件。");
}
}
</script>
4.看看效果(可以自己創建一個「fake.jpg.txt」文件試試):
回到這段腳本上來,即使你還看不懂正則表達式那兩行,但整段腳本的美感還是很明顯的:簡潔、直接、語義流暢,這與Web標准關於XHTML的要求是一致的,與Web設計師或開發者天生的「完美」主義也是一致的。
jjww一大段之後,轉入重點——預覽圖片
預覽功能的基本設計思路是很清晰的:創建一個img元素,再把文件域的value值賦值給img
元素的src屬性。<form name="form4" id="form4" method="post" action="#">
<input type="file" name="file4" id="file4"
onchange="preview4()" />
<img id="pic4" src="http://blog.163.com/lgh_2002/blog/" alt="圖片在此顯示" width="120"/>
</form>
<script type="text/javascript">
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 = "file://localhost/" + x.value;
}else{
alert("您選擇的似乎不是圖像文件。");
}
}
</script>
5.試下效果:
如果用的是Firefox(或Opera),可能會發現什麼也沒有發生。是的,很不幸Firefox的安全策略不允許顯示一個用戶的本地 圖像文件。不知道為什麼要這么做,個人覺得圖像文件並不會造成嚴重的安全性問題。即使是不久前比較熱門的那個會引起Windows崩潰的jpeg文 件,要顯示它的前提條件是用戶自己選擇了這個文件或者你知道這個文件在用戶硬碟上的准確路徑。所以我想這種策略很可能來自於一個「懶惰」的開發人員,並 不想多寫一些程序來區分這個本地文件是一個圖像文件還是一個惡意文件,Firefox對安全性的要求讓他們有些過於敏感了。
讓Firefox顯示本地文件的唯一辦法就是修改它的默認安全策略:
在Firefox的地址欄中輸入「about:config」
繼續輸入「security.checkloari」
雙擊下面列出來的一行文字,把它的值由true改為false
然後你可以再試試上面預覽,everything works well!可惜的是並不能要求所有的用戶都去修改這個值(更不用說修改的過程還挺麻煩),所以毫無意義。我們能做的也許就是接受Firefox不能預覽本地圖片這種「可笑」的局面。
用DOM來創建對象
在上面的XHTML代碼中,為了預覽圖片,事先加入了一個沒有設置src的img對象。除去不美觀、代碼冗餘之外,如果用戶瀏覽器不支持 Javascript,不僅無法使用這個功能,還要接受頁面上一個永遠不會顯示出來的破圖。要解決這個問題,就需要在「運行時」再生成這個img對 象,途徑還是DOM。
<form name="form5" id="form5" method="post" action="#">
<input type="file" name="file5" id="file5"
onchange="preview5()"/>
</form>
<script type="text/javascript">
function preview5(){
var x = document.getElementById("file5");
if(!x || !x.value) return;
var patn = /\.jpg$|\.jpeg$|\.gif$/i;
if(patn.test(x.value)){
var y = document.getElementById("img5");
if(y){
y.src = 'file://localhost/' + x.value;
}else{
var img=document.createElement('img');
img.setAttribute('src','file://localhost/'+x.value);
img.setAttribute('width','120');
img.setAttribute('height','90');
img.setAttribute('id','img5');
document.getElementById('form5').appendChild(img);
}
}else{
alert("您選擇的似乎不是圖像文件。");
}
}
</script>
6.試下效果:
這樣就相對比較完美了。DOM和正則表達式一樣,都是「包你不悔」的實 用技術,如果你希望更多了解、深入學習、或者順利實踐Web標准,DOM是不可或缺的。從本人最近的體會來說,Javascript+DOM+CSS蘊 藏著強大的能量,就看怎麼釋放它了。
7.最後帖上JQUERY的上傳預覽代碼:
de><html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://blog.163.com/lgh_2002/blog/jquery.js"></script>
<script language="javascript">
$(function(){
var ei = $("#large");
ei.hide();
$("#img1").mousemove(function(e){
ei.css({top:e.pageY,left:e.pageX}).html('<img style="border:1px solid gray;" src="http://blog.163.com/lgh_2002/blog/' + this.src + '" />').show();
}).mouseout( function(){
ei.hide("slow");
})
$("#f1").change(function(){
$("#img1").attr("src","file:///"+$("#f1").val());
})
});
</script>
<style type="text/css">
#large{position:absolute;display:none;z-index:999;}
</style>
</head>
<body>
<form name="form1" id="form1">
<div id="demo">
<input id="f1" name="f1" type="file" />
<img id="img1" width="60" height="60">
</div>
<div id="large"></div>
</form>
</body>
</html>de>
⑧ 想做一個PHP圖片上傳前預覽,麻煩幫忙看下為什麼預覽不能顯示
ie8以下的版本應該能預覽,ie9,火狐,谷歌等瀏覽器出於安全考慮,已經取消了顯示本地文件的許可權,只能讀取緩存里的文件。
1.你可以用flash上傳插件做預覽;
2.你可以先把文件傳到伺服器臨時文件里,如網路這是這樣子;確定保存後再從臨時文件里移動到上傳目錄;
3.你可以用兼容html5做預覽,不兼容html5的瀏覽器反而支持你上面的這種預覽方法,所以就可兼容目錄所有瀏覽器了。。
如果要做經常上傳圖片的可以用第3種,如果就是偶爾插圖上傳頭像的,就用第二種好了。。。
回答不專業。。愛看不看
⑨ 用php怎麼實現要上傳的圖片 預覽功能
獲取從緩存你轉移到新文件夾的圖片名字
和保存圖片的文件夾根目錄下的路徑,,
在你寫的上傳類里
$dirname($_SERVER["SCRIPT_NAME"]);獲取根目錄路徑
調用1+2的方法返回給頁面
通過JS關閉子窗口向父窗口傳值並將父窗口<img name="pic" style="display:none;" />設置為display='block'
思路已經講得很清楚了,以上
⑩ php圖片上傳前預覽怎麼實現
1,在Opera下,由於得不到上傳框里的本地圖片全部路徑(只能得到文件名),所以無法預覽圖片。
2,用Firefox遠程訪問本文件時,出於安全原因,ff不允許預覽本地的圖片,在本地則可以。
註:這些在IE下均沒有這些問題。