热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php文件上传程序(支持缩略图)(1/2)

代码如下复制代码!doctypehtmlpublicquot;-w3cdtdxhtml1.0transitionalen...

代码如下









/***********************
程序:上传文件
功能:上传文件、缩略图、加水印
****************************/
include("common/upfiles.class.php");
$path="../upload/coolsite"; //文件上传路径
$mix="smallimg"; //缩略图路径(在upload下建立)
$mark="markimg"; //加水引的图片存放路径(在upload下建立)
$text = array("www.phprm.com"); //水印内容
$oupload= new upfiles($path,$mix,$mark); //实例化类文件

if(isset($_post['up'])){

if($_post['urlid']=='1'){ //上传图片 参数urlid 1:上传图片 2:上传其他文件..

$oupload->tofile = true; //开启则只保存缩略图或者水印图,删除原图
$photo = $oupload->upload("upfile"); //上传的文件域
$photourl = $oupload->fileurl."/".$photo;
$newsmallimg = $oupload->smallimg($photo); //缩略图功能
//$newmarkimg = $oupload->watermark($photo,$text); //水印功能

//echo $newsmallimg; //输出缩略图路径
//echo $newmark; //输出水印图路径
//echo ""; //输出缩略图
//echo ""; //输出水印图
}else{
$upfilename = $oupload->upload("upfile"); //上传的文件域
}
$strjs = " ";
echo $strjs; //把上次文件路径附在upfile1、upfile2中去
}else{
?>






//upfiles.class.php

/*=========================
上传类 upfiles.class.php
===========================*/
class upfiles {
/*=========================
//基本参数设置
===========================*/
protected $annexfolder = "upload"; //附件存放点,默认为:upload
protected $dirtype = 2; //1:按天存入目录 2:按月存入目录
protected $smallfolder = "smallimg"; //缩略图存放路径,注:必须是放在 $upload下的子目录,默认为:smallimg
protected $markfolder = "markimg"; //水印图片存放路径,注:必须是放在 $upload下的子目录,默认为:markimg
protected $upfiletype = "jpg gif png rar zip"; //上传的类型,默认为:jpg gif png rar zip
protected $upfilemax = 102400; //上传大小限制,单位是"kb",默认为:1024kb
protected $fOnttype= "common/equinoxstd.otf"; //水印字体库
protected $maxwidth = 800; //图片最大宽度
protected $maxheight = 600; //图片最大高度

/*=========================
//初始化上传类
===========================*/
public function __construct($annexfolder,$smallfolder,$includefolder) {

switch($this->dirtype)
{
case 1: $attach_subdir = 'day_'.date('ymd'); break;
case 2: $attach_subdir = 'month_'.date('ym'); break;
}
$attach_dir = $annexfolder.'/'.$attach_subdir;
$attach_dir_small = $attach_dir.'/'.$smallfolder;
$attach_dir_mark = $attach_dir.'/'.$includefolder;

$this->rootfolder = $annexfolder;
$this->annexfolder = $attach_dir;
$this->smallfolder = $attach_dir_small;
$this->markfolder = $attach_dir_mark;
//$this->fOnttype= $includefolder."/nasaliza.ttf";
}
public function __get($fileurl){
$fileurl = $this->annexfolder;
return $fileurl;
}
/*=========================
//上传文件
===========================*/
public function upload($inputname) {
//检查文件夹是否存在
if(!file_exists($this->annexfolder)){
if(!file_exists($this->rootfolder)) @mkdir($this->rootfolder);
if(!file_exists($this->annexfolder)) @mkdir($this->annexfolder);
if(!file_exists($this->smallfolder)) @mkdir($this->smallfolder);
if(!file_exists($this->markfolder)) @mkdir($this->markfolder);
}
if(!file_exists($this->smallfolder)){
@mkdir($this->smallfolder);
}
if(!file_exists($this->markfolder)){
@mkdir($this->markfolder);
}

$this->uptype = $_files[$inputname]["type"];
$this->upname = $_files[$inputname]["name"];
$this->uptmp_name = $_files[$inputname]["tmp_name"];
$this->ups教程ize = $_files[$inputname]["size"];
$this->uperror = $_files[$inputname]["error"];

if($this->uptype){
switch ($this->uptype)///检查上传的类型
{
case "image/pjpeg":
$fileextname = "jpg";
break;
case "image/jpeg":
$fileextname = "jpg";
break;
case "image/gif":
$fileextname = "gif";
break;
case "image/x-png":
$fileextname = "png";
break;
case "application/x-shockwave-flash":
$fileextname = "swf";
break;
case "text/plain":
$fileextname = "txt";
break;
case "application/msword":
$fileextname = "doc";
break;
case "application/vnd.ms-excel":
$fileextname = "xls";
break;
case "application/x-zip-compressed":
$fileextname = "zip";
break;
case "audio/mpeg":
$fileextname = "mp3";
break;
case "audio/x-ms-wma":
$fileextname = "wma";
break;
case "application/pdf":
$fileextname = "pdf";
break;
default: //如果不满足上述类型,那么上传文件被判断为格式不正确!!
//$fileextname =strtolower(substr(strrchr(trim($this->upname), "."),1,4));
//$fileinfo=pathinfo($this->upname);
//$fileextname=$fileinfo['extension'];
$fileextname = "err";
}
}

首页 1 2 末页

文章地址:

转载随意^^请带上本文地址!

推荐阅读
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文介绍了指针的概念以及在函数调用时使用指针作为参数的情况。指针存放的是变量的地址,通过指针可以修改指针所指的变量的值。然而,如果想要修改指针的指向,就需要使用指针的引用。文章还通过一个简单的示例代码解释了指针的引用的使用方法,并思考了在修改指针的指向后,取指针的输出结果。 ... [详细]
  • 在project.properties添加#Projecttarget.targetandroid-19android.library.reference.1..Sliding ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
author-avatar
mobiledu2502933207
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有