-
php实现从上传文件创建缩略图的方法
这篇文章主要介绍了php实现从上传文件创建缩略图的方法,涉及php操作上传文件及图片操作的技巧,具有一定参考借鉴价值,需要的朋友可以参考下。
本文实例讲述了php实现从上传文件创建缩略图的方法,分享给大家供大家参考,具体实现方法如下:
- <?php
- if ($_REQUEST['action']=="add"){
- $userfile = $HTTP_POST_FILES['photo']['tmp_name'];
- $userfile_name = $HTTP_POST_FILES['photo']['name'];
- $userfile_size = $HTTP_POST_FILES['photo']['size'];
- $userfile_type = $HTTP_POST_FILES['photo']['type'];
- /////////////////////////
- //GET-DECLARE DIMENSIONS //
- $dimension = getimagesize($userfile);
- $large_width = $dimension[0]; // GET PHOTO WIDTH
- $large_height = $dimension[1]; //GET PHOTO HEIGHT
- $small_width = 120; // DECLARE THUMB WIDTH
- $small_height = 90; // DECLARE THUMB HEIGHT
- /////////////////////////
- //CHECK SIZE //
- if ($userfile_size>102400){
- $error=1;
- $msg = "The photo is over 100kb. Please try again.";
- }
- ////////////////////////////////
- // CHECK TYPE (IE AND OTHERS) //
- if ($userfile_type="image/pjpeg"){
- if ($userfile_type!="image/jpeg"){
- $error=1;
- $msg = "The photo must be JPG";
- }
- }
- //////////////////////////////
- //CHECK WIDTH/HEIGHT //
- if ($large_width!=600 or$large_height!=400){
- $error=1;
- $msg = "The photo must be 600x400 pixels";
- }
- ///////////////////////////////////////////
- //CREATE THUMB / UPLOAD THUMB AND PHOTO ///
- if ($error<>1){
- $image = $userfile_name; //if you want to insert it to the database
- $pic = imagecreatefromjpeg($userfile);
- $small = imagecreatetruecolor($small_width,$small_height);
- imagecopyresampled($small,$pic,0,0,0,0, $small_width, $small_height, $large_width, $large_height);
- if (imagejpeg($small,"path/to/folder/to/upload/thumb".$userfile_name, 100)){
- $large = imagecreatetruecolor($large_width,$large_height);
- imagecopyresampled($large,$pic,0,0,0,0, $large_width, $large_height, $large_width, $large_height);
- if (imagejpeg($large,"path/to/folder/to/upload/photo".$userfile_name, 100))
- {}
- else {$msg="A problem has occured. Please try again."; $error=1;}
- }
- else {
- $msg="A problem has occured. Please try again."; $error=1;
- }
- }
- //////////////////////////////////////////////
- /// If everything went right a photo (600x400) and
- /// a thumb(120x90) were uploaded to the given folders
- }
- ?>
- <html><head><title>create thumb</title></head>
- <body>
- <form name="form1" enctype="multipart/form-data" action="thisfile.php?action=add" method="post">
- Select Photo: <input type="file" name="photo">
- <input type="submit" name="submit" value="CREATE THUMB AND UPLOAD">
- </form>
- </body
- </html>
出处:http://www.phpfensi.com/php/20210520/15648.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式