导航:首页 > 编程语言 > 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上传本地图片相关的资料

热点内容
工商app积分怎么查询 浏览:143
铁路app怎么买火车票 浏览:309
移魅族除的app怎么添加 浏览:240
兔笼子大号加密 浏览:171
单片机程序烧录操作成功 浏览:878
指标高抛低吸点位源码 浏览:205
25匹压缩机铜管 浏览:570
单片机单灯左移05 浏览:150
买服务器练手什么配置 浏览:783
服务器被毁该怎么办 浏览:939
python私有库 浏览:514
Python有中文吗 浏览:736
麦块的服务器为什么都进不去 浏览:474
新买的服务器如何打开 浏览:35
安卓软件游戏怎么开发 浏览:319
用扑克摆爱心解压神器怎么摆 浏览:70
松下制冷压缩机 浏览:275
pdf里怎么修改文字 浏览:686
已保存文档加密如何设置 浏览:413
怎样判断加密货币是牛是熊 浏览:948