好得很程序员自学网
  • 首页
  • 后端语言
    • 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在表单中上传图片 5、 php 不使用插件怎么用 ajax上传图片 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="上传">

怎样用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/13/97c37747236a6e3b299bd52fc4c622a1.php?action=showid='.$val['id'].'t='.time().'"

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

    }  

?>  

</body>  

</html>  

<?php  

}  

?>

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

php上传图片

这个需要控件,单纯的php无法实现异步上传.

你可以试下这个

下载地址:

PHP在表单中上传图片

上传图片 不用jq 单纯用表单不就能实现么,表单提交到处理页面 先执行上传操作 上传结束后,直接 调用 处理表单的方法

php 不使用插件怎么用 ajax上传图片

可以使用tp的自带的上传类

publicfunction ajaxupload(){

//$saveTime=date('Y').'/'.date('m').'/'.date('d').'/';//设置附件上传目录

$fileName=$_GET['fileName'];

$upload = new \Org\Util\UploadFile();// 实例化上传类

$upload->maxSize = 314572 ;// 设置附件上传大小

$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型

$upload->savePath = './CustomerPaper/'.'cid'.$customerdir."/"; // 设置附件上传根目录

// 上传单个文件

$info = $upload->uploadOne($_FILES[$fileName]);

//dump($upload);die;

if(!$info) {// 上传错误提示错误信息

$data['flag']=0;

$data['msg']=$upload->getErrorMsg();

}else{// 上传成功获取上传文件信息

$data['flag']=1;

$data['msg']=."/".$info[0]['savepath'].$info[0]['savename'];

}

//$this->ajaxReturn($data,'JSON');

echo json_encode($data);

}

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

查看更多关于php使用上传图片 php上传图片到指定文件夹的详细内容...

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

上一篇: php登陆表单页面 php制作登录界面数据库

下一篇:塘沽php招聘信息 塘沽在线招聘

最新资料更新

  • 1.php合并特殊字符 php合并单元格的代码
  • 2.php数组键名排序 php数组值排序
  • 3.iPad上装php iPad上装修建模app
  • 4.php接收xml异常 php处理xml数据
  • 5.php登陆检测 php登录原理
  • 6.php半角全角 全角半角字符切换
  • 7.php和php-fpm的简单介绍
  • 8.php如何制作游戏 php游戏源码
  • 9.php网站后台demo php后端模板
  • 10.包含catflag.php的词条
  • 11.php求100的质数 php求出1100的素数
  • 12.phpjson提交 phppost提交
  • 13.php余数1 php math
  • 14.php网络通信 php通信协议
  • 15.php翻译sdk php翻译成中文是什么意思
  • 16.php梗怎么来的 php是什么意思饭圈
  • 17.php前端页面源码 php前端页面源码是多少
  • 18.输出jsonphp代码 js 输出json
  • 19.php下面有哪些技术 php运用的技术php开发有哪些实用的技术
  • 20.zendphp调试 调试教程

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

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