1. 求php图片缩放处理函数
在PHP网站开发过程中,如果建立的网站涉及大量的图片处理,必然涉及到图片的上传和缩放,保持图片不失真,进行图片缩放。使用之前需要下载安装GD库,以支持PHP图片处理。下面结合代码讲解具体的PHP图片缩放处理的思路。
function resizeImage($im,$maxwidth,$maxheight,$name,$filetype)
{
$pic_width = imagesx($im);
$pic_height = imagesy($im);
if(($maxwidth && $pic_width > $maxwidth) ($maxheight && $pic_height > $maxheight))
{
if($maxwidth && $pic_width>$maxwidth)
{
$widthratio = $maxwidth/$pic_width;
$resizewidth_tag = true;
}
if($maxheight && $pic_height>$maxheight)
{
$heightratio = $maxheight/$pic_height;
$resizeheight_tag = true;
}
if($resizewidth_tag && $resizeheight_tag)
{
if($widthratio<$heightratio)
$ratio = $widthratio;
else
$ratio = $heightratio;
}
if($resizewidth_tag && !$resizeheight_tag)
$ratio = $widthratio;
if($resizeheight_tag && !$resizewidth_tag)
$ratio = $heightratio;
$newwidth = $pic_width * $ratio;
$newheight = $pic_height * $ratio;
if(function_exists("imageresampled"))
{
$newim = imagecreatetruecolor($newwidth,$newheight);
imageresampled($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);
}
else
{
$newim = imagecreate($newwidth,$newheight);
imageresized($newim,$im,0,0,0,0,$newwidth,$newheight,$pic_width,$pic_height);
}
$name = $name.$filetype;
imagejpeg($newim,$name);
imagedestroy($newim);
}
else
{
$name = $name.$filetype;
imagejpeg($im,$name);
}
}
参数说明:
$im 图片对象,应用函数之前,需要用imagecreatefromjpeg()读取图片对象,如果PHP环境支持PNG,GIF,也可使用imagecreatefromgif(),imagecreatefrompng();
$maxwidth 定义生成图片的最大宽度(单位:像素)
$maxheight 生成图片的最大高度(单位:像素)
$name 生成的图片名
$filetype 最终生成的图片类型(.jpg/.png/.gif)
代码注释:
第3~4行:读取需要缩放的图片实际宽高
第8~26行:通过计算实际图片宽高与需要生成图片的宽高的压缩比例最终得出进行图片缩放是根据宽度还是高度进行缩放,当前程序是根据宽度进行图片缩放。如果想根据高度进行图片缩放,可以将第22行的语句改成$widthratio>$heightratio
第28~31行:如果实际图片的长度或者宽度小于规定生成图片的长度或者宽度,则要么根据长度进行图片缩放,要么根据宽度进行图片缩放。
第33~34行:计算最终缩放生成的图片长宽。
第36~45行:根据计算出的最终生成图片的长宽改变图片大小,有两种改变图片大小的方法:ImageCopyResized()函数在所有GD版本中有效,但其缩放图像的算法比较粗糙。ImageCopyResamples(),其像素插值算法得到的图像边缘比较平滑,但该函数的速度比ImageCopyResized()慢。
第47~49行:最终生成经过处理后的图片,如果需要生成GIF或PNG,需要将imagejpeg()函数改成imagegif()或imagepng()
第51~56行:如果实际图片的长宽小于规定生成的图片长宽,则保持图片原样,同理,如果需要生成GIF或PNG,需要将imagejpeg()函数改成imagegif()或imagepng()。
特别说明:
GD库1.6.2版以前支持GIF格式,但因GIF格式使用LZW算法牵涉专利权,因此在GD1.6.2版之后不支持GIF的格式。如果是WINDOWS的环境,只要进入PHP.INI文件找到extension=php_gd2.dll,将#去除,重启APACHE即可。如果是linux环境,又想支持GIF,PNG,JPEG,需要去下载libpng,zlib,以及freetype字体并安装。
OK,PHP图片压缩函数完成,最后概述一下整个处理的思路:
通过计算实际图片的长宽与规定生成图片的长宽之间的缩放比例,根据实际的需求(按照宽度还是按照高度进行图片缩放)计算出最终生成图片的大小,然后应用PHP图片处理函数对图片进行处理,最后输出图片。
以上就是关于PHP图片处理中如何对图片进行压缩并保持不失真的函数说明。
2. 如何将phpwind8.7程序网站升级9.0方法
将phpwind8.7程序网站升级9.0方法:
1、确认你空服务器和数据库支持新版的phpwind,如果版本不兼容升级是不可能成功的,升级后您的网站就可能直接报错了
2、注意空间和数据库大小是否够,升级可能因为网站超容量而升级失败。
3、升级前确认您网站安装的插件是否有9.0版本的,升级后可能会出现插件与新版本phpwind不兼容的问题。无忧主机(www.51php.com)小编的一个插件就因为版本不兼容而无法使用。
4、升级前最关键的事情就是做好网站的备份。以确保升级失败后可以恢复您的数据,无忧主机(www.51php.com)小编推荐使用无忧主机DA面板自带的备份工具,无忧主机备份工具请参考:无忧主机推荐网站数据整站备份方法
5、升级之前,请务必做好数据库、附件、头像等备份,否则出问题会导致无法恢复。
6、无忧主机小编建议您升级前先阅读phpwind官方给出的8.7升级9.0数据说明,然后在确认您的网站是否升级。说明地址:www.phpwind.net/read/2824827
一、phpwind环境要求
php版本 > 5.2.x 建议5.3
pdo_mysql 安装扩展
mysql版本(client) >5.x.x
附件上传 >2M
二、升级前的准备
1、进行数据库备份
备份数据库的方式有多种,无忧主机小编只介绍三种
第一种是直接在空间的后台phpmyadmin进行备份,登陆您的phpmyadmin把您网站的数据库导入到本地,保存。
第二种是使用帝国备份王工具把您的数据库备份到空间中,详细备份教程请参考:Mysql数据库管理利器:帝国备份王安装使用图文安装
第三种是使用phpwind自带的备份工具进行备份。登陆您php虚拟主机网站的后台依次点击数据—>数据库—>数据维护
phpwind后台
2、关闭您的网站,防止网站迁移过程中有新的数据进来,以免丢失数据。登陆您网站后台站点—>站点设置—>站点状态—完全关闭。
3、把您网站备份的数据通过ft工具的方式下载到您的本地。
三、程序上传和目录的处理
注:附件和头像目前只支持本地和FTP远程附件,如果之前使用了云存储,请先将头像下载到本地,升级后再上传。无忧主机用户可以通过压缩包的方式上传这些文件,这样可以节省许多不必要的上传时间
1、 将phpwind9.0安装包上传到php虚拟主机中并解压,将upload目录下的文件上传至安装目录。注意,不能直接覆盖原来8.7的环境。虚拟主机,建议先将原8.7环境除attachment目录外,移动到backup下,这样即时出现问题后可以通过移动目录恢复8.7的环境。
2、 文件转移:
a、头像图片转移:将原8.7环境下的attachment/upload文件夹,复制到9.0环境的attachment下。(如果之前使用远程附件,头像需要单独升级,见后面说明)
b、表情图片转移:将原8.7目录下images/post/smile/下的所有目录拷贝到网站根目录的res/images/emotion/下。
C、勋章图片转移:将原8.7目录下images/medal/下的所有目录拷贝到网站根目录的res/images/medal/下(如果下载的nextwind包是含有www目录的,则将attachment包括在内的以上目录移到www目录下,比如res/images/emotion/ 则为www/res/images/emotion/)。
举例说明:
文件类型
8.7环境目录
9.0环境目录
头像
attachment/upload
attachment/upload
表情
images/post/smile/
res/images/emotion/
勋章
images/medal/
res/images/medal/
3、登陆phpwind官方下载8.7升级到9.0的升级包up87to90.php文件。升级包地址:
http://www.phpwind.com/index.php?m=downloads&a=downloadsphpwind
4、 确定以下目录的可写权限:
attachment/
conf/database.php
conf/founder.php
conf/windidconfig.php
data/
data/cache/
data/compile/
data/design/
data/log/
data/tmp/
html/
src/extensions/
themes/
themes/extres/
themes/forum/
themes/portal/
themes/site/
themes/space/
四、开始升级
1、执行您刚刚上传到php虚拟主机的升级程序地址是51php.com(注:域名)/up87to90.php
2、填写完整的数据库信息及创始人信息。
3、然后递交执行基本信息转换
4、主数据的升级,商家方式有两种
一种选择步骤升级,步骤如下:
a、用户基本数据转换(pw_members表)
b、用户基本数据转换(pw_memberdata表)
c、其它用户数据转换,用户信息表数据同步(pw_user_info)和用户数据表数据同步(pw_user_data)
d、用户教育/工作经历/标签数据转换
e、板块数据转换
另外一种是一键自动升级,您只需要一键升级就可以了,无忧主机小编推荐您使用这种升级方式
5、 关于头像的转换:
如果之前头像是本地存储,则可以直接进行一键自动升级。如果是远程附件存储,请先在分进程手动升级中,执行用户头像转移。
6、升级完成后会自动进入站点的首页
五、升级完成后的确认操作。
1、删除升级程序的文件up87to90.php。
2、将老程序环境attachment文件保存到附近迁移环境的attachment下
3、登陆您php虚拟主机网站的后台选择 工具—>缓存管理 更新站点的缓存
4、把站点各个功能都测试一遍,发布一个测试文章等等,确认网站没有任何问题。
3. 高分求phpmyfaq的详细教程
phpmyfaq安装说明
安装演示版本号:phpmyfaq 2.6.11
教程使用的上传工具:FlashFXP
教程使用的环境:无忧主机php虚拟主机
教程使用临时调试域名:http://test.hk1123.51php.com/phpmyfaq
二、phpmyfaq安装包上传和在线解压
使用flashFXP将压缩包上传到网站根目录下,然后在线解压到网站根目录。关于如何在无忧php虚拟主机中上传数据并在线解压,我之前已经写过相关教程了,这里不重复叙述了,有需要教程用户可以点击深入详解无忧php空间如何上传网站数据进行查看。
三、文件目录权限修改方法
在纯linux环境下安装phpmyfaq问答系统,务必请用户参照无忧主机站点目录(public_html)文件夹的权限设置中介绍的文件目录权限设置的方法,将phpmyfaq根目录和./config两个目录权限设置为777, 否则在安装过程会提示错误,无法正确完成安装。
四、phpmyfaq详细安装步骤
Phpmyfaq的安装安装是非常简洁的,由于phpmyfaq是全英文安装界面,为方便用户安装和了解每个安装步骤的含义,我特意将部分phpmyfaq安装文件进行了翻译,供用户参考。如果熟练安装只需要10分钟左右,就可以完成phpmyfaq的安装详细安装步骤如下:
1、 运行域名(http://test.hk1123.51php.com/phpmyfaq)启动安装向导。
2、 配置mysql数据库连接和管理员信息。
A、Please add your database connection setup information 请添加数据库信息
SQL server host:localhost (数据库连接方式,本地连接)
SQL username: 51php_51php.com (数据库访问用户名)
SQL password: ******** (数据库密码)
SQL database: www_51php (数据库名称)
Table preflx: phpfaq_ (数据库表前缀名)
B、phpMYFAQ information phpmyfaq基本信息设置
Default language:chinese(simplified) (简体中文)
Permission level: 选择默认
Admin’s real name: administrator (管理员真实名称)
Admin’s e-mail address: [email protected] (管理员邮箱)
Admin’s username: admin (管理员用户名)
Admin’s password: ***** (管理员密码)
Retype password:***** (重复管理员密码)
phpmyfaq开源问答(FAQ)系统快速安装教程 image00113 150x150
请用户对照图片和安装界面的翻译,正确填写mysql数据库信息,设置phpmyfaq的管理员帐号、选择简体中文语言包。如果确认无误后,请点击“Click to install phpMYFAQ 2.6.11”继续安装。
3、 等待几分钟,phpmyfaq就安装完成了。安装完成后phpmyfaq安装向导会弹出一个调查问卷,如果你不想参与调查问卷,就直接点击:“your version of phpMYFAQ”登录phpmyfaq首页。
phpmyfaq开源问答(FAQ)系统快速安装教程 image00310 150x150
4、删除install目录!phpmyfaq安装成功!
phpmyfaq开源问答(FAQ)系统快速安装教程 image0058 150x150
5、如果你有兴趣参与phpmyFAQ的官方调查问卷,无忧主机(www.51php.com)已经将调查问卷的内容翻译如下,请用户自行对照。
database tables were successfully created. 所有数据库表都已经成功建立
Congratulation! Everything seems to be okay. 恭喜你!安装完成
窗体顶端
For further development we would like to get some feedback from our users. 了更好发展,我们渴望从您那里得到宝贵的建议:
Therefore we’d ask you to take a few minutes of your time to answer a few questions. 耽误你几分钟,回到我们几个提问:
If you don’t want to participate in the survey, you can directly visit your version of phpMyFAQ or login into your admin section. 如果你不想参阅调查,你可以直接访问你的网站phpmyfaq,或者登录你的管理后台
Please delete the file ./install/setup.php manually.
请删除文件:./install/setup.php
Please delete the file ./install/update.php manually.
请删除文件:./install/update.php
无忧主机提供美国/香港 纯Linux环境下高端php空间产品,只需99元起,有需求的用户请联系无忧主机客服。
4. 51单片机项目教程 C语言版 高清带书签(吴险峰)pdf,哪里可以下载
《51单片机项目教程C语言版 赠单片机开发板.pdf》(选择普通下载即可!)
1、找到这本资料,美中不足就是没有书签,凑合看吧;
2、手机浏览器网页端登 陆 或 PC电脑端登 陆,即可查看、下载;
3、文件有时效性,若失效或下载问题,留言;
5. Win+Nginx+PHP+MySQL环境搭建
1. Win+Nginx+PHP+MySQL环境搭建
Nginx是一个高性能的HTTP和反向代理服务器,同时还是IMAP/POP3/SMTP代理服务器,该程序由俄罗斯Rambler.ru 站点开发,Nginx因为性能稳定、低系统资源消耗而闻名。近几年Nginx在国内已经成炙热化状态,比如像腾讯、网易、51CTO、迅雷、当当网、 51、人人网等诸多大型网站都已经使用Nginx来做Web服务器,所以学习Nginx还是非常有必要的。2011年6月1日,nginx 1.0.4发布。
1.1. 程序下载
PHP下载:进入PHP官网下载网址:http://windows.php.net/download/。选择最新版本“VC9 x86 Thread Safe (2011-Mar-22 13:27:32)” (如图1),弹出保存对话框,保存在硬盘目录下(如图2)。
图1
图2
Non Thread Safe:非安全线程。Thread Safe与之相反。
Zip:压缩包。
Installer:安装包。
Debug Pack:调试包。
MySQL下载:进入MySQL官网下载网址:http://dev.mysql.com/downloads/mirror.php?id=402887。选择“No thanks,just take me to the downloads!” (如图3)。选择最新镜像“mysql-installer-5.5.13.0.msi” (如图4),弹出保存对话框,保存在硬盘目录下(如图5)。
图3
图4
图5
Nginx下载:进入Nginx官网下载网址:http://nginx.org/en/download.html。选择最新版本 “nginx/Windows-1.0.4 pgp” (如图6),弹出保存对话框,保存在硬盘目录下(如图7)。
图6
图7
1.2. 程序安装
在E盘新建目录为DedeCMS,把程序全部安装在此文件夹中。
PHP配置:在DedeCMS目录下新建文件夹PHP5,压缩包解压至此目录,把php.ini-proction重命名为php.ini,用编辑器打开此文件(最好不要用记事本打开),此文件为PHP配置文件。
查找定位至:; extension_dir = "./" ,将前面的分号去掉并修改为:extension_dir = "E:DedeCMSPHP5ext"
查找定位至:;extension=php_gd2.dll,将前面的分号去掉为:extension=php_gd2.dll
查找定位至:;extension=php_mbstring.dll,将前面的分号去掉为:extension=php_mbstring.dll
查找定位至:;extension=php_mysql.dll,将前面的分号去掉为:extension=php_mysql.dll
查找定位至:;extension=php_mysqli.dll,将前面的分号去掉为:extension=php_mysqli.dll
查找定位至:;extension=php_pdo_mysql.dll,将前面的分号去掉为:extension=php_pdo_mysql.dll
查找定位至:;cgi.force_redirect = 1,将前面的分号去掉为:cgi.force_redirect = 1
查找定位至:;cgi.fix_pathinfo=1,将前面的分号去掉为:cgi.fix_pathinfo=1
查找定位至:;cgi.rfc2616_headers = 0,将前面的分号去掉为:cgi.rfc2616_headers = 1
MySQL安装:双击安装包进入安装环境界面,选择“Install MySQL Procts”(如图8)。
图8
选择“I accept the license terms”,再选择“Next”按钮继续安装(如图9)。
图9
选择“Skip the check for updates(not recommanded)”,再选择“Next”按钮继续安装(如图10)。
图10
选择“Custom”,更改安装路径为之前创建的目录。再选择“Next”继续安装(如图11)。
图11
选择“MySQL Server 5.5.13”与“MySQL Workbench 5.2.34”, “MySQL Workbench 5.2.34”是可视数据库设计工具。这个工具是设计MySql数据库的专用工具。也可根据需要选择是否安装。选择“Next”按钮继续安装(如图 12)。
图12
选择“Next”按钮继续安装(如图13)。
图13
稍等片刻。程序安装完成,选择“Next”按钮进行产品配置(如图14)。
图14
选择“Server Machine”,再选择“Next”按钮继续(如图15)。
图15
默认3306端口,默认MySQL55 Windows服务进程名称。输入密码与重复密码。选择“Next”按钮继续(如图16)。
图16
程序会自动安装,安装完成选择“Next”出现安装完成界面(如图17)。
图17
Nginx配置:将压缩包nginx-1.0.4目录下的所有文件夹解压至DedeCMS目录,打开conf目录下nginx.conf配置文件。
第45行改为:index index.html index.htm index.php; 加了PHP文件支持。
第65至71行改为:
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param script_FILENAME e:/dedecms/html$fastcgi_script_name;
include fastcgi_params;
}
e:/dedecms/html为网站的根目录。此目录也可以重新配置。找到代码:
location / {
root html;
index index.html index.htm index.php;
}
其中 root html; 就是网站根目录,如可以改为:root wwwroot;
1.3. 服务的启动与关闭建立两个文件分别启动、关闭服务进程。
在DedeCMS中建立文件start_nginx.bat
@echo off
echo Starting PHP FastCGI...
RunHiddenConsole e:/DedeCMS/PHP5/php-cgi.exe -b 127.0.0.1:9000 -c e:/DedeCMS/PHP5/php.ini
echo Starting nginx...
RunHiddenConsole e:/DedeCMS/nginx.exe
Exit
在DedeCMS中建立文件stop_nginx.bat
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe nul
exit
下载软件:http://www.haoboweb.com/uploads/allimg/110613/RunHiddenConsole.zip。(只能上传图片,传不了软件)
解压至DedeCMS目录,双击start_nginx.bat启动服务进程(如图18)。由此可见,stop_nginx.bat 文件为关闭服务进程。
图18
1.4. 环境测试在网站根目录中建立index.php文件,内容为:
html
head
titleWelcome to nginx!/title
/head
body
?php
$link = mysql_connect("localhost","root","123456");
if($link){
echo "数据库连接成功!";
}else{
echo "数据库连接失败!";
}
?
/body
/html
输出“数据库连接成功!”,nginx的PHP环境配置成功(如图19)。
图19
6. 有没有用过无忧主机51php空间的 感觉怎么样
千万不能用啊,变着法的让你升级,升级后想给你停站就给你停,询问为什么,总说有攻击。有攻击你不去完善你的防火墙,你老停我站什么意思??不稳定,不建议使用!!!