首页 > 后端开发 > 正文

php上传图片并压缩-thinkphp如何做图片压缩呢?

2024-09-13 14:20:26 | 我爱编程网

今天我爱编程网小编为大家带来了php上传图片并压缩-thinkphp如何做图片压缩呢?,希望能帮助到大家,一起来看看吧!

本文目录一览:

php上传图片并压缩-thinkphp如何做图片压缩呢?

php MD5定义和用法

在PHP中,MD5是一种用于计算字符串摘要的安全哈希函数,通过php md5()函数实现。该函数的核心是RSA Data Security, Inc.的MD5 Message-Digest Algorithm,这是一种广泛应用于数字签名和数据完整性校验的算法。

MD5算法的工作原理是,它将输入的任意长度字符串压缩成一个固定长度的128位(16字节)散列值,这个散列值被称为消息摘要或哈希值。其目的是为了确保信息的唯一性和完整性,即使输入数据稍有变化,生成的哈希值也会完全不同。

根据RFC 1321规范,MD5算法被设计为在数字签名场景中使用,例如,对于大型文件的加密,它在加密前会先通过一个安全的压缩过程,确保数据在公开密钥加密系统(如RSA)下被处理时不会丢失关键信息。

当使用php md5()函数时,如果输入字符串成功被计算,函数将返回对应的MD5散列值;如果遇到问题或输入无效,函数会返回false,表明计算过程失败。

php上传图片并压缩-thinkphp如何做图片压缩呢?

求php压缩解压rar和zip类源码

不用写,rar算法是有专利权的

RAR压缩算法是RARLab的专利,其它软件要使用或自己实现RAR算法的实作,都是要向RARLab申请许可或交钱的

zip算法php有自带的函数
====>
需求
PHP 4
The bundled PHP 4 version requires » ZZIPlib, by Guido Draheim, version 0.10.6 or later

PHP 5.2.0 or later
This extension uses the functions of » zlib by Jean-loup Gailly and Mark Adler.
=====>
所以用RAR只有通过命令行调用已经安装的rar程序实现打包,效果是一样的.具体调用方法参考各自软件说明.winrar也能用命令行调用,请看

php上传图片并压缩-thinkphp如何做图片压缩呢?

php上传图片并压缩-thinkphp如何做图片压缩呢?

我爱编程网(https://www.52biancheng.com)小编还为大家带来php上传图片并压缩-thinkphp如何做图片压缩呢?的相关内容。

php压缩图片

比如(什么?)上面有不同大小的图片--------语文表达缺主语,含糊导致无法理解。

服务器上面?客户机上面?具体什么软件环境上面?

“有不同大小的图片”,已经存在的图片通常已经压缩过的,像JPEG更是有损压缩。再次压缩必定再次会降低画质。PHP可以再次处理图片,但画质和存储大小不能兼得,画质好就存储大,要存储小就画质差,根据自己的画质需求处理。

thinkphp如何做图片压缩呢?

在上传图片的时候先看看图片有多大,一般来说导航幻灯片的图片单张大小尽量不超100k,产品图不超过20k,这样加载还慢的话就用ajax后加载方法,可以是滚动加载之类,但是对蜘蛛抓取页面并不是很友好。

至于你说的用tp把图片压缩,那只能是将图片的尺寸改成你想要的尺寸,大小的话是web所用格式大小,等页面加载完你又换原图,这样相当于又加载了一遍,还不如做ajax滚动加载。

PHP网站上传图片自动压缩,怎么编程啊,求指

这里会使用到三个文件:

:连接数据库

test_:执行SQL语句

upload_:上传图片并压缩

三个文件代码如下:

连接数据库:

<?php

$db_host='';

$db_user='';

$db_psw='';

$db_name='';

$db_port='';

$sqlconn=new_ysqli($db_host,$db_user,$db_psw,$db_name);

$q="set_ames_tf8;";

$result=$sqlconn->query($q);

if(mysqli_connect_errno())_

_rintf("Connect_ailed:%s\n",_ysqli_connect_error());

_xit();

}

?>

当然使用一些封装的数据库类也是可以的。

执行SQL语句:test_

<?php

require("");

require("upload_"); 我爱编程网

$real_img=$uploadfile;

$small_img=$uploadfile_resize;

$insert_sql="insert_nto_mg(real_img,small_img)_alues(?,?)";

$result=$sqlconn->_repare($insert_sql);

$result->_ind_param("ss",$real_img,$small_img);

$result->_xecute();

?>

上传图片并压缩:upload_

<?php

//设置文件保存目录

$uploaddir="upfiles/";

//设置允许上传文件的类型

$type=array("jpg","gif","bmp","jpeg","png");

//获取文件后缀名函数

function_ileext($filename)

{

_eturn_ubstr(strrchr($filename,'.'),1);

}

//生成随机文件名函数

function_andom($length)

{

$hash='CR-';

$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';

$max=_trlen($chars)-1;

_t_srand((double)microtime()*1000000);

_or($i=0;$i<$length;$i++)

_

_$hash.=$chars[mt_rand(0,$max)];

_

_eturn$hash;

}

$a=strtolower(fileext($_FILES['filename']['name']));

//判断文件类型

if(!in_array(strtolower(fileext($_FILES['filename']['name'])),$type))

{

$text=implode(",",$type);

$ret_code=3;//文件类型错误

$page_result=$text;

$retArray=_rray('ret_code'=>$ret_code,'page_result'=>$page_result);

$retJson=_son_encode($retArray);

_cho$retJson;

_eturn;

}

//生成目标文件的文件名

else

{

$filename=explode(".",$_FILES['filename']['name']);

_o

_

_$filename[0]=random(10);//设置随机数长度

_$name=implode(".",$filename);

_//$name1=$name.".Mcncc";

_$uploadfile=$uploaddir.$name;

_

_hile(file_exists($uploadfile));

_f(move_uploaded_file($_FILES['filename']['tmp_name'],$uploadfile))

_

_if(is_uploaded_file($_FILES['filename']['tmp_name']))

_{

_$ret_code=1;//上传失败

_}

_lse

_//上传成功

_$ret_code=0;

_

_

$retArray=_rray('ret_code'=>$ret_code);

$retJson=_son_encode($retArray);

echo$retJson;

}

//压缩图片

$uploaddir_resize="upfiles_resize/";

$uploadfile_resize=$uploaddir_resize.$name;

//$pic_width_max=120;

//$pic_height_max=90;

//以上与下面段注释可以联合使用,可以使图片根据计算出来的比例压缩

$file_type=$_FILES["filename"]['type'];

function_esizeImage($uploadfile,$maxwidth,$maxheight,$name)

{

//取得当前图片大小

$width=_magesx($uploadfile);

$height=_magesy($uploadfile);

$i=0.5;

//生成缩略图的大小

_f(($width>$maxwidth)_|($height>$maxheight))

_

_/*

_$widthratio=$maxwidth/$width;

_$heightratio=$maxheight/$height;

_

_if($widthratio<$heightratio)

_{

_$ratio=$widthratio;

_}

_else

_{

__$ratio=$heightratio;

_}

_

_$newwidth=$width*$ratio;

_$newheight=$height*$ratio;

_*/

_$newwidth=$width*$i;

_$newheight=$height*$i;

_if(function_exists("imagecopyresampled"))

_{

_$uploaddir_resize=_magecreatetruecolor($newwidth,$newheight);

__magecopyresampled($uploaddir_resize,$uploadfile,0,0,0,0,$newwidth,$newheight,$width,$height);

_}

_else

_{

_$uploaddir_resize=_magecreate($newwidth,$newheight);

__magecopyresized($uploaddir_resize,$uploadfile,0,0,0,0,$newwidth,$newheight,$width,$height);

_}

_

_ImageJpeg($uploaddir_resize,$name);

_ImageDestroy($uploaddir_resize);

_

_lse

_

_ImageJpeg($uploadfile,$name);

_

}

if($_FILES["filename"]['size'])

{

_f($file_type=="image/pjpeg"||$file_type=="image/jpg"|$file_type=="image/jpeg")

_

_//$im=_magecreatefromjpeg($_FILES[$upload_input_name]['tmp_name']);

_$im=_magecreatefromjpeg($uploadfile);

_

_lseif($file_type=="image/x-png")

_

_//$im=_magecreatefrompng($_FILES[$upload_input_name]['tmp_name']);

_$im=_magecreatefromjpeg($uploadfile);

_

_lseif($file_type=="image/gif")

_

_//$im=_magecreatefromgif($_FILES[$upload_input_name]['tmp_name']);

_$im=_magecreatefromjpeg($uploadfile);

_

_lse//默认jpg

_

_$im=_magecreatefromjpeg($uploadfile);

_

_f($im)

_

_ResizeImage($im,$pic_width_max,$pic_height_max,$uploadfile_resize);

_

_ImageDestroy($im);

_

}

?>

请按照现实情况更改,test_中对应的信息。

望采纳,谢谢。

以上就是我爱编程网整理的php上传图片并压缩-thinkphp如何做图片压缩呢?相关内容,想要了解更多信息,敬请查阅我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“php上传图片并压缩-thinkphp如何做图片压缩呢?”相关推荐
PHP网站上传图片自动压缩,怎么编程啊,求指
PHP网站上传图片自动压缩,怎么编程啊,求指

php引用函数的使用方法在技术学习的道路上,能掌握一些有用的技巧,对于初学者是非常有帮助的,下面是php引用函数的使用方法,希望大家会喜欢。1.不要在你的应用程序中gzip输出,让apache来做考虑使用ob_gzhandler?不,别这样做。它没有任何意义。PHP应该是来写应用程序的。不要担心PHP中有关如何优化在服务器和浏览器之间传输的数据。使用apachemod

2024-09-27 13:15:23
如何用PHP上传RAR压缩包同时解压到指定目录
如何用PHP上传RAR压缩包同时解压到指定目录

如何用PHP上传RAR压缩包同时解压到指定目录&lt;?php header("content-type:text/html;charset=utf-8"); $path = getcwd();//获取当前系统目录 if($_POST['sub']) {  $tname = $_FILES["ufile"]["tmp_name"];  $fname = $_FILES["ufile"]["n

2024-10-03 05:10:09
PHP上传图片并把图片地址写入表单中! php 实现上传图片至服务器的函数
PHP上传图片并把图片地址写入表单中! php 实现上传图片至服务器的函数

phpwind上传图片显示却是[upload=1]有关出现[upload=1]和附件图片等不能上传的解决办法出来这种问的朋友大多是用自已的服务器,这个问题出现的主要原为是因为php.ini的设置。解决办法如下:打开php.ini文件,找到:upload_tmp_dir这一行,看一下后面的目录,如果目录为:C:\ProgramFiles\PHP\sessions,那么请把这个目录的users的

2024-09-26 13:16:25
探月编程怎么用代码缩小图片?
探月编程怎么用代码缩小图片?

探月编程怎么用代码缩小图片?在Python中,你可以使用Pillow库来缩小图片。以下是一个简单的例子:python复制代码fromPILimportImagedefresize_image(input_image_path,output_image_path,size):original_image=Image.open(input_image_path)width,

2023-12-12 08:10:46
求php压缩解压rar和zip类源码(php 解压的问题)
求php压缩解压rar和zip类源码(php 解压的问题)

求php压缩解压rar和zip类源码不用写,rar算法是有专利权的RAR压缩算法是RARLab的专利,其它软件要使用或自己实现RAR算法的实作,都是要向RARLab申请许可或交钱的zip算法php有自带的函数====&gt;需求PHP4ThebundledPHP4versionrequires»ZZIPlib,byGuidoDraheim,version0.10.

2024-08-01 19:46:33
php解压函数用法 求php压缩解压rar和zip类源码
php解压函数用法 求php压缩解压rar和zip类源码

php实现rar文件的读取和解压实现PHP对RAR文件的读取和解压,需遵循以下步骤:1.首先,从PECL的RAR页面下载DLL。根据系统情况选择对应版本的DLL。2.下载为ZIP包后,解压其中的php_rar.pdb和php_rar.dll到PHP安装目录的ext子目录。3.在php.ini文件中添加扩展引用声明:extension=php_rar.dll。4.对于使

2024-10-15 02:16:41
php 怎么上传完图片之后,给这个图片打水印,并且保存在另一个文件夹
php 怎么上传完图片之后,给这个图片打水印,并且保存在另一个文件夹

php怎么上传完图片之后,给这个图片打水印,并且保存在另一个文件夹这个php中的图片处理类完全足够了,使用图片水印$groundImg="DSC05940.jpeg";$groundInfo=getimagesize($groundImg);$ground_w=$groundInfo[0];//print_r($groundInfo);$ground_h=$ground

2024-09-20 15:51:16
thinkphp5 怎么接受zyupload,上传的图片
thinkphp5 怎么接受zyupload,上传的图片

PHP中move_uploaded_file()没有办法使用!无法上传文件。函数用法如下:move_uploaded_file(string$filename,string$destination)$filename上传的文件的文件名。$destination移动文件到这个位置。从报错信息来看应该是两个参数颠倒了官方文档示例&lt;?php$uplo

2025-01-25 10:51:43