php实现批量压缩图片文件大小的脚本
今天,想上传大量图片到论坛,由于图片是单反拍的,体积较大,就写了一个脚本,批量压缩图片。
<?php
if ($handle = opendir('./old')) {
while (false !== ($file = readdir($handle))) {
if ($file == '.' || $file == '..') {
continue;
}
write('d:/wamp/www/test/old/'.$file, 'd:/wamp/www/test/new/'.$file);
}
closedir($handle);
}
function write($old, $new) {
$maxsize=1000;
$image = new Imagick($old);
if($image->getImageHeight() <= $image->getImageWidth())
{
$image->resizeImage($maxsize,0,Imagick::FILTER_LANCZOS,1);
}
else
{
$image->resizeImage(0,$maxsize,Imagick::FILTER_LANCZOS,1);
}
$image->setImageCompression(Imagick::COMPRESSION_JPEG);
$image->setImageCompressionQuality(90);
$image->stripImage();
$image->writeImage($new);
$image->destroy();
}
?>
相关推荐
-
如何使用PHP批量去除文件UTF8 BOM信息
原理:UTF8文件,微软为了增加一个识别信息,有了BOM这个东西:BOM -- Byte Order Mark,缺省在Windows等平台上编辑的UTF8文件会在头部增加3个字节的标记信息,我们PHP引擎在处理的时候会完整读取整个PHP代码文档, 如果PHP文件头部包含BOM信息,就会输出一个空白,在很多时候会带来问题,比如我们session无法工作.cookie无法设置等等问题. 解决方法:把头部BOM的3个字节信息识别出来,然后剔除掉.不过一般情况我们不知道哪个文件有BOM,或者是有很多文件
-
php实现文件编码批量转换
有些问题,不能重复转,比如gbk转到utf8,然后有在转成utf8,这样会乱码,我本来试图在转换之前去检测编码的,貌似失败了.我特意试了一个文件,我检测它是是否是gbk或者是utf-8,都返回true.这就不懂了. 复制代码 代码如下: <?php/** * 转换文件编码 * 依赖的扩展filesystem 和 mbstring * @example * <pre> * include_once 'ConvertEncode.php'; * $convert = new ConvertE
-
php中数据的批量导入(csv文件)
有时写程序时后台要求把大量数据导入数据库中,比如计算机考试成绩的查询.电话簿的数据等一般都是存放在excel中的,这时我们可把数据导出成csv文件,然后通过以下程序即可在后台批量导入数据到数据库中. 下面只是主要程序部分: <?php /***************************************************作者:冲星/arcow**************************njj@nuc.edu.cn*****************************
-
PHP批量修改文件名称的方法分析
本文实例讲述了PHP批量修改文件名称的方法.分享给大家供大家参考,具体如下: 在这里我们利用一个战地自己写的一个例子来具体分析一下利用PHP批量修改文件名称的思路和注意事项. 从这个例子里你将会看到,PHP如何判断一个路径是不是目录,如何用PHP取得路径中的文件名称和文件的扩展名,随机函数rand的基本应用,以及这个程序的核心内容递归函数的基本应用. 程序功能:利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称: 首先判断用户给出的目录是不是一个合法目录: 我们这里只是修
-
php中批量修改文件后缀名的函数代码
复制代码 代码如下: <?php function foreachDir($path){ $handle=opendir($path); if($handle){ while (false !== ($file = readdir($handle))) { if($file!="." && $file!='..'){ if(is_dir($path.$file)){ echo $path.$file."<br/>"; foreach
-
PHP chmod 函数与批量修改文件目录权限
语法 chmod(file,mode)参数 描述 file 必需.规定要检查的文件. mode 可选.规定新的权限. mode 参数由 4 个数字组成: 第一个数字永远是 0 第二个数字规定所有者的权限 第二个数字规定所有者所属的用户组的权限 第四个数字规定其他所有人的权限 可能的值(如需设置多个权限,请对下面的数字进行总计): 1 - 执行权限 2 - 写权限 4 - 读权限 来看个简单的实例 复制代码 代码如下: <?php chmod("/somedir/somefile"
-
php实现批量修改文件名称的方法
本文实例讲述了php实现批量修改文件名称的方法.分享给大家供大家参考,具体如下: <?php session_start(); set_time_limit(0); //function allfile($dir) // { // $files=array(); // if(is_file($dir)) // { // return $dir; // } // $handle = opendir($dir); // if($handle) { // while(false !== ($file
-
PHP批量删除、清除UTF-8文件BOM头的代码实例
记得运行代码前先把文件备份一下哦,避免出现失败问题. 代码一: function checkBOM ($filename) { global $auto; $contents = file_get_contents($filename); $charset[1] = substr($contents, 0, 1); $charset[2] = substr($contents, 1, 1); $charset[3] = substr($contents, 2, 1); if (ord($char
-
php 批量生成html,txt文件的实现代码
首先建立一个conn.php的文件用来链接数据库 复制代码 代码如下: <?php $link = mysql_connect("mysql_host" , "mysql_user" , "mysql_password" )or die("Could not connect : " . mysql_error()); mysql_query("set names utf8");
-
批量去除PHP文件中bom的PHP代码
需要去除BOM,就把附件里的tool.php文件放到目标目录,然后在浏览器访问tool.php即可! 复制代码 代码如下: <?php //此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除 $basedir="."; //修改此行为需要检测的目录,点表示当前目录 $auto=1; //是否自动移除发现的BOM信息.1为是,0为否. //以下不用改动 if ($dh = opendir($basedir)) { while (($file = readdir($d
-
php中批量替换文件名的实现代码
代码如下 复制代码 代码如下: $dir = 'D:\Program Files\resource\application\Skin\PNG\\';//注意这里的路径,最后要加两个\,第一个表示转意,但是这样容易遇到其他特定转义,还要仔细判断,可以写为如下方式 $dir = 'D:/Program Files/resource/application/Skin/PNG/';//写成这样的路径,就不用担心转义问题了.最后面的/不要漏写 if ($dh = opendir($dir)) { whil
-
PHP批量检测并去除文件BOM头代码实例
如下代码为PHP方式去除当前目录及子目录所有文件BOM信息的代码,新建文件,将其放倒根目录下,然后浏览器访问即可. <?php if (isset($_GET['dir'])) { //设置文件目录 $basedir = $_GET['dir']; } else { $basedir = '.'; } $auto = 1; checkdir($basedir); function checkdir($basedir) { if ($dh = opendir($basedir)) { while
-
php实现批量下载百度云盘文件例子分享
百度开放云PhpSDK下载地址:http://developer.baidu.com/wiki/index.php?title=%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%E9%A6%96%E9%A1%B5/web%E5%BA%94%E7%94%A8%E6%8E%A5%E5%85%A5/SDK 实例代码: 复制代码 代码如下: <?php/** * Author: hankcs * Date : 14-3-29 * Time : 下午10:29 */ini_se
随机推荐
- python字符类型的一些方法小结
- javascript数据结构之双链表插入排序实例详解
- Dreamweaver超级技巧之文字特效
- Java线程安全的计数器简单实现代码示例
- IOS开发之判断两个数组中数据是否相同实例详解
- 关于javascript DOM事件模型的两件事
- ASP.NET Core 数据保护(Data Protection 集群场景)下篇
- 朴素贝叶斯算法的python实现方法
- Android崩溃异常捕获方法
- javascript 函数及作用域总结介绍
- 通过COM口管理Linux服务器
- 用来记录登录后使用命令的shell脚本
- Android Handler移除Message详解及实例代码
- javascript设计模式之对象工厂函数与构造函数详解
- Jquery Ajax xmlhttp请求成功问题
- Javascript检查图片大小不要让大图片撑破页面
- 图解google adsense设置用西联快汇的全过程
- mac下配置和访问阿里云服务器(Ubuntu系统)的图文教程
- Java之JFrame输出Helloworld实例
- setTimeout函数兼容各主流浏览器运行执行效果实例
