好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php点击图像上传图片 php 上传图片

很多站长朋友们都不太清楚php点击图像上传图片,今天小编就来给大家整理php点击图像上传图片,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php制作后台,上传图片,点击上传,弹出一个图片库,从图片库里面选择图片,如何实现? 2、 PHP怎样上传图片以及预览图片? 3、 怎样用php实现上传图片到数据库 4、 php上传图片文件常用的几个方法 php制作后台,上传图片,点击上传,弹出一个图片库,从图片库里面选择图片,如何实现?

这里单独依靠php是不能实现的,需要结合php和javascript

在服务器端,需要制作一个php文件,接收一个请求后,会遍历相应的目录或者查询数据库,将查询到的结果(包含图片总数,以及一个当前页的图片信息列表,列表中要包含图片的地址、文件名、创建时间等信息)已json的形式返回。

在客户端,需要使用javascript实现点击时弹出窗口,并且在用户点击相应的项目的时候向服务器端的php文件发送请求,接收结果,然后将结果生成图中的html代码,显示出来。

制作这样的东西需要的时间不短,中间还会发生各种问题,需要有耐心。另外,直接使用javascript来制作客户端部分的话效率不高,建议结合jQuery来实现。

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实现上传图片到数据库

php实现上传图片保存到数据库的方法。具体分析如下:

php 上传图片,一般都使用move_uploaded_file方法保存在服务器上。但如果一个网站有多台服务器,就需要把图片发布到所有的服务器上才能正常使用(使用图片服务器的除外)

如果把图片数据保存到数据库中,多台服务器间可以实现文件共享,节省空间。

首先图片文件是二进制数据,所以需要把二进制数据保存在mysql数据库。

mysql数据库提供了BLOB类型用于存储大量数据,BLOB是一个二进制对象,能容纳不同大小的数据。

BLOB类型有以下四种,除存储的最大信息量不同外,其他都是一样的。可根据需要使用不同的类型。

TinyBlob       最大 255B

Blob              最大 65K

MediumBlob  最大 16M

LongBlob      最大 4G

数据表photo,用于保存图片数据,结构如下:

CREATE TABLE `photo` (  

  `id` int(10) unsigned NOT NULL auto_increment,  

  `type` varchar(100) NOT NULL,  

  `binarydata` mediumblob NOT NULL,  

  PRIMARY KEY  (`id`)  

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

upload_image_todb.php代码如下:

<?php  

// 连接数据库  

$conn=@mysql_connect("localhost","root","")  or die(mysql_error());  

@mysql_select_db('demo',$conn) or die(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 = "insert into photo(type,binarydata) values('".$type."','".$image."')";  

    @mysql_query($sqlstr) or die(mysql_error());  

    header('location:upload_image_todb.php');  

    exit();  

// 显示图片  

}elseif($action=='show'){  

    $id = isset($_GET['id'])? intval($_GET['id']) : 0;  

    $sqlstr = "select * from photo where id=$id";  

    $query = mysql_query($sqlstr) or die(mysql_error());  

    $thread = mysql_fetch_assoc($query);  

    if($thread){  

        header('content-type:'.$thread['type']);  

        echo $thread['binarydata'];  

        exit();  

    }  

}else{  

// 显示图片列表及上传表单  

?>  

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">  

<html>  

 <head>  

  <meta http-equiv="content-type" content="text/html; charset=utf-8">  

  <title> upload image to db demo </title>  

 </head>  

  

 <body>  

  <form name="form1" method="post" action="upload_image_todb.php" enctype="multipart/form-data">  

  <p>图片:<input type="file" name="photo"></p>  

  <p><input type="hidden" name="action" value="add"><input type="submit" name="b1" value="提交"></p>  

  </form>  

  

<?php  

    $sqlstr = "select * from photo order by id desc";  

    $query = mysql_query($sqlstr) or die(mysql_error());  

    $result = array();  

    while($thread=mysql_fetch_assoc($query)){  

        $result[] = $thread;  

    }  

    foreach($result as $val){  

        echo '<p><img 

src="/data/upload/help/202303/02/97c37747236a6e3b299bd52fc4c622a1.php?action=showid='.$val['id'].'t='.time().'"

 width="150"></p>';  

    }  

?>  

</body>  

</html>  

<?php  

}  

?>

程序运行截图和数据库截图:

php上传图片文件常用的几个方法

你好,要先建立一个html代码

<form action="upload_file.php" method="post"

enctype="multipart/form-data">

<label for="file">Filename:</label>

<input type="file" name="file" id="file" /> 

<br />

<input type="submit" name="submit" value="Submit" />

</form>

然后创建upload_file文件用$_FILE判断文件,下面是判断文件的具体信息

$_FILES["file"]["name"] - 被上传文件的名称

$_FILES["file"]["type"] - 被上传文件的类型

$_FILES["file"]["size"] - 被上传文件的大小,以字节计

$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称

$_FILES["file"]["error"] - 由文件上传导致的错误代

希望对你有帮助!

关于php点击图像上传图片的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php点击图像上传图片 php 上传图片的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did210117
更新时间:2023-05-03   阅读:17次

上一篇: php图像加图片水印 php 图片加水印

下一篇:php网页开发心得 php开发网页所用到的技术

相关资讯

最新资料更新

  • 1.怎么改变php版本 php版本可以随便更换吗
  • 2.php项目补充redis php+redis
  • 3.链式作用域php php 链式调用
  • 4.图片执行php代码 图片执行php代码是什么
  • 5.phpisset多个值 php __set __get
  • 6.php引用vendor php 引用
  • 7.主流php框架比较 php框架排行2020
  • 8.仿win桌面php源码 仿windows桌面
  • 9.php缓存框架 php 缓存
  • 10.php课堂系统 php网课系统
  • 11.php菱形的输出 php输出菱形星号
  • 12.PHP安装宽带办理 php网站安装
  • 13.php赋值后改变 php变量赋值
  • 14.php比较数组差集 php比较多个数组中是否有重复值
  • 15.php换文字颜色 php文字颜色代码
  • 16.php网络通信 php通信协议
  • 17.php扩展的路径 php常用扩展有哪些
  • 18.vscode开发php vscode开发JAVA方便吗
  • 19.php登录和注册 php登录和注册不使用数据库
  • 20.php双色球案例 双色球php复式逻辑

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]