php圖片上傳預覽,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-tw/n/190304.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-29 22:32
下一篇 2024-11-29 22:32

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台伺服器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24
  • PHP導出Excel文件

    一、PHP導出Excel文件列寬調整 當我們使用PHP導出Excel文件時,有時需要調整單元格的列寬。可以使用PHPExcel類庫中的setWidth方法來設置單元格的列寬。下面是…

    編程 2025-04-24
  • php擴展庫初探

    一、什麼是php擴展庫? PHP擴展庫(PHP extension)是一些用C語言編寫的動態鏈接庫,用於擴展PHP的功能。PHP擴展庫使得PHP可以與各種資料庫系統相連、SMTP、…

    編程 2025-04-23

發表回復

登錄後才能評論