導航:首頁 > 編程語言 > php上傳本地圖片

php上傳本地圖片

發布時間:2023-02-22 01:04:21

A. php上傳圖片怎麼做

上傳類,保存文件名稱為 uppoo.php:

<?php
class upphoto{
public $previewsize=0.125 ; //預覽圖片比例
public $preview=0; //是否生成預覽,是為1,否為0
public $datetime; //隨機數
public $ph_name; //上傳圖片文件名
public $ph_tmp_name; //圖片臨時文件名
public $ph_path="./userimg/"; //上傳文件存放路徑
public $ph_type; //圖片類型
public $ph_size; //圖片大小
public $imgsize; //上傳圖片尺寸,用於判斷顯示比例
public $al_ph_type=array('image/jpg','image/jpeg','image/png','image/pjpeg','image/gif','image/bmp','image/x-png'); //允許上傳圖片類型
public $al_ph_size=1000000; //允許上傳文件大小
function __construct(){
$this->set_datatime();
}
function set_datatime(){
$this->datetime=date("YmdHis");
}
//獲取文件類型
function get_ph_type($phtype){
$this->ph_type=$phtype;
}
//獲取文件大小
function get_ph_size($phsize){
$this->ph_size=$phsize."<br>";
}
//獲取上傳臨時文件名
function get_ph_tmpname($tmp_name){
$this->ph_tmp_name=$tmp_name;
$this->imgsize=getimagesize($tmp_name);
}
//獲取原文件名
function get_ph_name($phname){
$this->ph_name=$this->ph_path.$this->datetime.strrchr($phname,"."); //strrchr獲取文件的點最後一次出現的位置
//$this->ph_name=$this->datetime.strrchr($phname,"."); //strrchr獲取文件的點最後一次出現的位置
return $this->ph_name;
}
// 判斷上傳文件存放目錄
function check_path(){
if(!file_exists($this->ph_path)){
mkdir($this->ph_path);
}
}
//判斷上傳文件是否超過允許大小
function check_size(){
if($this->ph_size>$this->al_ph_size){
$this->showerror("上傳圖片超過2000KB");
}
}
//判斷文件類型
function check_type(){
if(!in_array($this->ph_type,$this->al_ph_type)){
$this->showerror("上傳圖片類型錯誤");
}
}
//上傳圖片
function up_photo(){
if(!move_uploaded_file($this->ph_tmp_name,$this->ph_name)){
$this->showerror("上傳文件出錯");
}
}
//圖片預覽
function showphoto(){
if($this->preview==1){
if($this->imgsize[0]>2000){
$this->imgsize[0]=$this->imgsize[0]*$this->previewsize;
$this->imgsize[1]=$this->imgsize[1]*$this->previewsize;
}
echo("<img src=\"{$this->ph_name}\" width=\"{$this->imgsize['0']}\" height=\"{$this->imgsize['1']}\">");
}
}
//錯誤提示
function showerror($errorstr){
echo "<script language=java script>alert('$errorstr');location='java script:history.go(-1);';</script>";
exit();
}
function save(){
$this->check_path();
$this->check_size();
$this->check_type();
$this->up_photo();
$this->showphoto();
}
}
?>

這里是使用的方法:

<?php
header("Content-Type:text/html; charset=utf-8");
//類的實例化:
include("uppoo.php");//類的文件名是upoop.php
$up=newupphoto;
$submit=$_POST['submit'];
if($submit=="上傳"){
$up->get_ph_tmpname($_FILES['photo']['tmp_name']);
$up->get_ph_type($_FILES['photo']['type']);
$up->get_ph_size($_FILES['photo']['size']);
$up->get_ph_name($_FILES['photo']['name']);
$up->save();
}
?>
//上傳圖片的HTML:
<form action="upphoto.php?action=act" method="post" enctype="multipart/form-data">
圖片來源:<input type="file" name="photo">
<input type="submit" name="submit" value="上傳">

B. php如何實現將本地圖片(可多選)上傳到X文件夾中,並在當前頁面就能看到所有上傳到X文件夾中的圖片

這個不僅要php,還要JavaScript配合,上傳後能在當前頁面看到只能是做個非同步上傳,然後返回圖片的地址顯示在頁面上,像你說的那種返回所有上傳的圖片要配合資料庫來使用,就是要記錄上傳的這些圖片的地址,然後進入頁面的時候查詢出來顯示,並且在上傳圖片成功之後要再查詢回來顯示,這些最好通過ajax非同步調用

C. php上傳圖片

這個需要控制項,單純的php無法實現非同步上傳.
你可以試下這個
http://kindeditor.net/ke4/examples/image-dialog.html
下載地址:http://kindeditor.net/down.php

D. 關於thinkphp圖片上傳問題

<form method="post" action="upload.php" enctype="multipart/form-data">
<input type='file' name='file'>
<input type='submit' value='提交'>
</form>

//引入UploadFile類
import('ORG.Net.UploadFile');
//實例化UploadFile類
$upload = new UploadFile();
//設置文件大小
$upload -> maxSize = 3292200;
//設置文件保存規則唯一
$upload->saveRule = 'uniqid';
//設置上傳文件的格式
$upload -> allowExts = array('jpg','png','jpeg');
//保存路徑
$upload->savePath ='./Public/Uploads/';
//設置需要生成縮略圖,僅對圖像文件有效
$upload->thumb = true;
//設置需要生成縮略圖的文件前綴
$upload->thumbPrefix = 'm_'; //生產縮略圖也可以根據需要生成1張或多張,2張:'m_,s_'
//設置縮略圖最大寬度
$upload->thumbMaxWidth = '150';//2張的不同設置:'150,200'
//設置縮略圖最大高度
$upload->thumbMaxHeight = '200';
//刪除原圖
$upload->thumbRemoveOrigin = true;
//上傳失敗返回錯誤信息
if(!$upload->upload()){
$this->error($upload->getErrorMsg());
}else{
$this->success('上傳成功');
//獲取上傳文件的信息
$inf= $upload->getUploadFileInfo();
}

E. 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);
});

F. php上傳如何替換原圖片文件

string filename = FileUpload1.FileName; //獲取上傳的文件名
string fileup = Server.MapPath("\\Web\\images\\" + filename); //獲取伺服器保存文件的路徑
string filetype = FileUpload1.PostedFile.ContentType; //獲取文件類型,做判斷用
string fileclass= filename.Substring(filename.LastIndexOf(".")+1); //獲取文件擴展名,做判斷用
if (fileclass == "gif") //判斷擴展名
{
if (filetype == "image/gif") //判斷類型
{
FileUpload1.SaveAs(fileup); //上傳到伺服器中
if (File.Exists("\\Web\\images\\logo.gif")) //判斷如果伺服器中這個路徑下存在logo.gif文件
{
File.Delete("\\Web\\images\\logo.gif"); //那麼就將它刪除
}
File.Move("\\Web\\images\\" + filename, "\\Web\\images\\logo.gif"); //把上傳上來的文件重命名為logo.gif
Image1.ImageUrl = "/Web/images/logo.gif"; //讓image1控制項顯示上傳上來的文件
}
else
{
Response.Write("<script>alert('系統檢測到上傳的文件非法格式!');</script>"); //如果類型不正確提示
}
}
else
{
Response.Write("<script>alert('上傳的文件格式不正確!');</script>"); //如果擴展名不正確提示
}

G. PHP怎麼打開本地圖片然後再上傳

這個不僅僅是php,還有js,甚至有的用到了flash,不建議全部自已寫,網上搜下可以找到很多這類的寫好的資源

H. php製作後台,上傳圖片,點擊上傳,彈出一個圖片庫,從圖片庫裡面選擇圖片,如何實現

這里單獨依靠php是不能實現的,需要結合php和javascript
在伺服器端,需要製作一個php文件,接收一個請求後,會遍歷相應的目錄或者查詢資料庫,將查詢到的結果(包含圖片總數,以及一個當前頁的圖片信息列表,列表中要包含圖片的地址、文件名、創建時間等信息)已json的形式返回。
在客戶端,需要使用javascript實現點擊時彈出窗口,並且在用戶點擊相應的項目的時候向伺服器端的php文件發送請求,接收結果,然後將結果生成圖中的html代碼,顯示出來。
製作這樣的東西需要的時間不短,中間還會發生各種問題,需要有耐心。另外,直接使用javascript來製作客戶端部分的話效率不高,建議結合jQuery來實現。

I. 怎樣用php實現上傳圖片到資料庫

php實現上傳圖片保存到資料庫的方法。具體分析如下:

php 上傳圖片,一般都使用move_uploaded_file方法保存在伺服器上。但如果一個網站有多台伺服器,就需要把圖片發布到所有的伺服器上才能正常使用(使用圖片伺服器的除外)
如果把圖片數據保存到資料庫中,多台伺服器間可以實現文件共享,節省空間。

首先圖片文件是二進制數據,所以需要把二進制數據保存在mysql資料庫。
mysql資料庫提供了BLOB類型用於存儲大量數據,BLOB是一個二進制對象,能容納不同大小的數據。

BLOB類型有以下四種,除存儲的最大信息量不同外,其他都是一樣的。可根據需要使用不同的類型。

TinyBlob 最大 255B
Blob 最大 65K
MediumBlob 最大 16M
LongBlob 最大 4G

數據表photo,用於保存圖片數據,結構如下:

CREATETABLE`photo`(
`id`int(10)unsignedNOTNULLauto_increment,
`type`varchar(100)NOTNULL,
`binarydata`mediumblobNOTNULL,
PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=latin1AUTO_INCREMENT=1;

upload_image_todb.php代碼如下:

<?php
//連接資料庫
$conn=@mysql_connect("localhost","root","")ordie(mysql_error());
@mysql_select_db('demo',$conn)ordie(mysql_error());//判斷action
$action=isset($_REQUEST['action'])?$_REQUEST['action']:'';
//上傳圖片
if($action=='add'){
$image=mysql_escape_string(file_get_contents($_FILES['photo']['tmp_name']));
$type=$_FILES['photo']['type'];
$sqlstr="insertintophoto(type,binarydata)values('".$type."','".$image."')";
@mysql_query($sqlstr)ordie(mysql_error());
header('location:upload_image_todb.php');
exit();
//顯示圖片
}elseif($action=='show'){
$id=isset($_GET['id'])?intval($_GET['id']):0;
$sqlstr="select*fromphotowhereid=$id";
$query=mysql_query($sqlstr)ordie(mysql_error());
$thread=mysql_fetch_assoc($query);
if($thread){
header('content-type:'.$thread['type']);
echo$thread['binarydata'];
exit();
}
}else{
//顯示圖片列表及上傳表單
?>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="content-type"content="text/html;charset=utf-8">
<title>uploadimagetodbdemo</title>
</head>

<body>
<formname="form1"method="post"action="upload_image_todb.php"enctype="multipart/form-data">
<p>圖片:<inputtype="file"name="photo"></p>
<p><inputtype="hidden"name="action"value="add"><inputtype="submit"name="b1"value="提交"></p>
</form>

<?php
$sqlstr="select*fromphotoorderbyiddesc";
$query=mysql_query($sqlstr)ordie(mysql_error());
$result=array();
while($thread=mysql_fetch_assoc($query)){
$result[]=$thread;
}
foreach($resultas$val){
echo'<p><img
src="upload_image_todb.php?action=show&id='.$val['id'].'&t='.time().'"
width="150"></p>';
}
?>
</body>
</html>
<?php
}
?>

程序運行截圖和資料庫截圖:

J. PHP圖片上傳功能

<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="upFile" id="upFile" />
</form>
<?
$file_name=$_FILES['upFile']['name']; //上傳文件名
$file_type=$_FILES['upFile']['type']; //上傳文件類型
$file_tame=$_FILES['upFile']['tmp_name']; //上傳文件的臨時文件名
$file_size=$_FILES['upFile']['size']; //上傳文件的大小
move_uploaded_file($_FILES["file"]["tmp_name"],"../你的存放上傳文件的路徑/"); //移動上傳文件
?>

閱讀全文

與php上傳本地圖片相關的資料

熱點內容
明日之後安卓太卡怎麼辦 瀏覽:502
如何使用命令方塊找到村莊 瀏覽:766
泛函壓縮映像原理 瀏覽:521
win10清除文件夾瀏覽記錄 瀏覽:964
如何查看伺服器域中所有服務 瀏覽:384
學mastercam91編程要多久 瀏覽:999
如何查伺服器地址和埠 瀏覽:911
教學雲平台app怎麼下載 瀏覽:389
單片機510教學視頻 瀏覽:624
陝西信合app怎麼查看自己的存款 瀏覽:663
風冷冰箱有壓縮機 瀏覽:274
android實現wifi連接wifi 瀏覽:669
飛豬app怎麼幫別人值機 瀏覽:924
筆記本開我的世界伺服器地址 瀏覽:546
怎樣隱藏bat命令 瀏覽:127
android開發創意 瀏覽:138
京劇貓為什麼進不去伺服器 瀏覽:784
怎麼自己免費製作一個手機app 瀏覽:582
python同時迭代兩個變數 瀏覽:740
好分數app家長版怎麼刪除孩子 瀏覽:426