php根据url自动生成缩略图(附源码)
本文导语: 实现原理: 设置apache rewrite ,当图片不存在时,调用php创建图片。 例如: 原图路径为:http://localhost/upload/news/2013/07/21/1.jpg 缩略图路径为:http://localhost/supload/news/2013/07/21/1.jpg 当访问 http://localhost/supload/news/2013/07/21/1.jpg 时,...
实现原理:
设置apache rewrite ,当图片不存在时,调用php创建图片。
例如:
原图路径为:http://localhost/upload/news/2013/07/21/1.jpg
缩略图路径为:http://localhost/supload/news/2013/07/21/1.jpg
当访问 http://localhost/supload/news/2013/07/21/1.jpg 时,如图片存在,则显示图片。否则,调用createthumb.php生成图片。
目录结构:
www/ThumbConfig.php
www/upload/news/2013/07/21/1.jpg
www/upload/article/2013/07/21/2.jpg
www/supload/.htaccess
www/supload/watermark.png
www/supload/createthumb.php
http://localhost/ 指向 www目录
PicThumb.class.php 用法请查看这里
1,开启apache rewrite
2,.htaccess文件的内容:
RewriteEngine On
# '-s' (is regular file, with size)
# '-l' (is symbolic link)
# '-d' (is directory)
# 'ornext|OR' (or next condition)
# 'nocase|NC' (no case)
# 'last|L' (last rule)
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ createthumb.php?path=%{REQUEST_URI} [NC,L]
有关htaccess文件的配置方法,请参考:
apache .htaccess配置详解
.htaccess配置详解(全面经典不容错过)
.htaccess文件使用总结
.htaccess教程.htaccess学习总结
Apache使用.htaccess配置伪静态的例子
htaccess伪静态规则配置的几个例子
探讨:htaccess URL重写rewrite与重定向redirect
3,createthumb.php
4,ThumbConfig.php
例如,访问这三个路径后会按config自动生成缩略图
http://localhost/supload/news_1/2013/07/21/1.jpg
http://localhost/supload/article/2013/07/21/2.jpg
附,php根据url自动生成缩略图的源码下载地址