PHP上传图片类显示缩略图功能

有缩略图功能 但是 感觉不全面,而且有点问题,继续学习,将来以后修改下

<form action="<?php $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post" ><input type="text" name="name" /><input type="file" name="file" /><input type="submit" name='submit' value="提交" ></form> <?php /** * Created by PhpStorm. * User: Administrator * Date: 2016/6/28 * Time: 21:04 */ class upload{ protected $fileMine;//文件上传类型 protected $filepath;//文件上传路径 protected $filemax;//文件上传大小 protected $fileExt;//文件上传格式 protected $filename;//文件名 protected $fileerror;//文件出错设置 protected $fileflag;//文件检测 protected $fileinfo; //FILES protected $ext; //文件扩展 protected $path; //文件上传 public function __construct($filename="file",$filemax=20000000,$filepath="./Uploads",$fileflag=true,$fileExt=array('jpg','exe'),$fileMine=array('image/jpeg')) { $this->filename=$filename; $this->fileinfo=$_FILES[$this->filename]; $this->filemax=$filemax; $this->filepath=$filepath; $this->fileflag=$fileflag; $this->fileExt=$fileExt; $this->fileMine=$fileMine; //var_dump($this->filename); } //错误判断 public function UpError(){ if($this->fileinfo['error']>0){ switch($this->fileinfo['error']) { case 1: $this->fileerror="上传文件大小超过服务器允许上传的最大值,php.ini中设置upload_max_filesize选项限制的值 "; break; case 2: $this->fileerror="上传文件大小超过HTML表单中隐藏域MAX_FILE_SIZE选项指定的值"; break; case 3: $this->fileerror="文件部分被上传"; break; case 4: $this->fileerror="没有选择上传文件"; break; case 5: $this->fileerror="未找到临时目录"; break; case 6: $this->fileerror="文件写入失败"; break; case 7: $this->fileerror="php文件上传扩展没有打开 "; break; case 8: $this->fileerror=""; break; } return false; } return true; } //检测文件类型 public function UpMine(){ if(!in_array($this->fileinfo['type'],$this->fileMine)) { $this->error="文件上传类型不对"; return false; } return true; } //检测文件格式 public function UpExt(){ $this->ext=pathinfo($this->fileinfo['name'],PATHINFO_EXTENSION); //var_dump($ext); if(!in_array($this->ext,$this->fileExt)){ $this->fileerror="文件格式不对"; return false; } return true; } //检测文件路径 public function UpPath(){ if(!file_exists($this->filepath)){ mkdir($this->filepath,0777,true); } } //检测文件大小 public function UpSize(){ $max=$this->fileinfo['size']; if($max>$this->filemax){ $this->fileerror="文件过大"; return false; } return true; } //检测文件是否HTTP public function UpPost(){ if(!is_uploaded_file($this->fileinfo['tmp_name'])){ $this->fileerror="恶意上偿还"; return false; } return true; } //文件名防止重复 public function Upname(){ return md5(uniqid(microtime(true),true)); } //图片缩略图 public function Smallimg($x=100,$y=100){ $imgAtt=getimagesize($this->path); //图像宽,高,类型 $imgWidth=$imgAtt[0]; $imgHeight=$imgAtt[1]; $imgext=$imgAtt[2]; //等比列缩放 if(($x/$imgWidth)>($y/$imgHeight)){ $bl=$y/$imgHeight; }else{ $bl=$x/$imgWidth; } $x=floor($imgWidth*$bl); //缩放后 $y=floor($imgHeight*$bl); $images=imagecreatetruecolor($x,$y); $big=imagecreatefromjpeg($this->path); imagecopyresized($images,$big,0,0,0,0,$x,$y,$imgWidth,$imgWidth); switch($imgext){ case 1: $imageout=imagecreatefromgif($this->path); break; case 2: $imageout=imagecreatefromjpeg($this->path); break; case 3: $imageout=imagecreatefromgif($this->path); break; } $im=imagejpeg($images,$this->path); } //文件双传 public function uploads() { if($this->UpError()&&$this->UpMine()&&$this->UpExt()&&$this->UpSize()&&$this->UpPost()){ $this->UpPath(); $names=$this->Upname(); $this->path=$this->filepath.'/'. $names.'.'.$this->ext; if(move_uploaded_file($this->fileinfo['tmp_name'], $this->path)){ return $this->path; }else{ $this->fileerror="上传失败"; } }else{ exit("<b>".$this->fileerror."</b>"); } } } <?php header("content-type:imagejpeg"); header("Content-type:text/html;charset=utf-8"); require 'list.php'; $u=new upload(); $a=$u->uploads(); $c=$u->Smallimg(); echo "<img src={$a} />"; echo "<img src={$c} />"; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Examples</title> <meta name="description" content=""> <meta name="keywords" content=""> <link href="" rel="stylesheet"> </head> <body> <form action="ce.php" enctype="multipart/form-data" method="post" > <input type="text" name="name" /><input type="file" name="file" /> <input type="submit" name='submit' value="提交" > </form> </body> </html>

以上所述是小编给大家介绍的PHP上传图片类显示缩略图功能的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2024-11-09 10:03:22

PHP上传图片类显示缩略图功能的相关文章

PHP上传图片类显示缩略图功能_php实例

有缩略图功能 但是 感觉不全面,而且有点问题,继续学习,将来以后修改下 <form action="<?php $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post" ><input type="text" name="name" /><input type="file&q

thinkPHP实现上传图片及生成缩略图功能示例

本文实例讲述了thinkPHP实现上传图片及生成缩略图功能.分享给大家供大家参考,具体如下: 记录一下在thinkPHP上传图片的方法(Upload)和生成缩略图(Image)的方法. html页面form中必须加enctype="multipart/form-data" <form action="__SELF__" method="post" enctype="multipart/form-data"> <

asp.net 自定义控件实现无刷新上传图片,立即显示缩略图,保存图片缩略图_实用技巧

如图: 点击浏览,选择图片之后,右面显示图片 第一步: 创建CtFileUpLoad.ascx 复制代码 代码如下: <%@ Control Language="C#" AutoEventWireup="true" CodeFile="CtFileUpLoad.ascx.cs" Inherits="WebParts_CtFileUpLoad" %> <table cellpadding="0&quo

美图看看缩略图功能一键浏览高瘦美图片教程

现在,条漫.长微博等图片加文字的形式随处可见,可以说这样的"高瘦美"图片如今在网络很热门,不过下载回来本地浏览时,一般的看图软件由于功能的限制很难让我们浏览舒服,因为这类图片太长拖放操作不顺手.而美图看看这款小巧全能的看图软件,却可以让我们很舒服很顺手的浏览这些超级长的"高瘦美"图片! 当我们在美图看看中打开这类图片时,软件将自动从头浏览,也就是说我们在看图窗口中先看到的是长图的顶端.相比同类软件一打开图片即以适合比例显示全图的方式来说,这种自动从头浏览的方式会更符

Win8.1系统下PDF文件无法显示缩略图的解决方法

  近期有一个用户反映,以外PDF文件都显示缩略图,而现在突然不显示PDF文件的缩略图了,经过小编的询问得知,这个用户在系统中安装了Adobe Reader XI 11.0.0,故此小编判断是由于安装了该软件造成的冲突,对于这类问题我们如何才能让PDF现实缩略图呢?下面看小编为您带来的方法! 解决方法 出现这个问题是由于系统中的Adobe Reader PDF缩略图预览功能失效了,要解决这个问题,就需要安装Adobe Reader PDF缩略图预览失效补丁.安装后,PDF文件在文件夹中便能够正常

图片上传即时显示缩略图的js代码_图象特效

<script language="javascript" type="text/javascript"> var allowExt = ['jpg', 'gif', 'bmp', 'png', 'jpeg']; var preivew = function(file, container){ try{ var pic = new Picture(file, container); }catch(e){ alert(e); } } //缩略图类定义 va

在ASP.NET中上传图片并生成缩略图的C#源码

asp.net|上传|上传图片|缩略图 在ASP.NET中上传图片并生成缩略图的C#源码 using System;   using System.Collections;   using System.ComponentModel;   using System.Data;   using System.Drawing;   using System.Web;   using System.Web.SessionState;   using System.Web.UI;   using Sys

win7系统下任务栏窗口无法显示缩略图的解决方法

  win7系统一直是微软公司推出的所有系统中口碑最好的一个,因为里面的一些功能都很具有实用性,是用户日常生活中经常会遇到的,比如说win7系统中有个缩略图功能,只要鼠标移到下方任务栏窗口中,就会看到缩略图中的内容,对于有需要的用户来说是很方便的,一直用习惯这个功能的小伙伴们都很依赖这个,每次鼠标移到这个桌面下方都会下意识的去看下.但是最近有用户反映说这个功能不见了,下面小编就来教大家win7旗舰版电脑下方任务栏窗口的缩略图不见了怎么办. win7系统下任务栏窗口无法显示缩略图的解决方法 第一步

怎样解决Win8系统下pdf文件不显示缩略图的问题

在Windows 8.1系统下,安装了 Adobe Reader XI 11.0.0版本后,PDF文件在文件夹中无法显示缩略图.这对于需要查看大量PDF文件的用户来说非常不便,该怎么办呢? 解决方法 出现这个问题是由于系统中的Adobe Reader PDF缩略图预览功能失效了,要解决这个问题,就需要安装Adobe Reader PDF缩略图预览失效补丁.安装后,PDF文件在文件夹中便能够正常显示缩略图.   PDF是通用的文稿文件标准,无数的公司.组织.机构都使用PDF制作文稿.对于日渐流行的