<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lunatic FPHP</title>
	<atom:link href="http://www.yypark.net/blog/index.php/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yypark.net/blog</link>
	<description>In The House</description>
	<lastBuildDate>Thu, 05 Aug 2010 14:59:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>常用正则表达式</title>
		<link>http://www.yypark.net/blog/index.php/2010/08/05/82/</link>
		<comments>http://www.yypark.net/blog/index.php/2010/08/05/82/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 14:52:42 +0000</pubDate>
		<dc:creator>Parker</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.yypark.net/blog/?p=82</guid>
		<description><![CDATA[平时做网站经常要用正则表达式，下面是一些讲解和例子，仅供大家参考和修改使用： &#8220;^\d+$&#8221;　　//非负整数（正整数 + 0） &#8220;^[0-9]*[1-9][0-9]*$&#8221;　　//正整数 &#8220;^((-\d+)&#124;(0+))$&#8221;　　//非正整数（负整数 + 0） &#8220;^-[0-9]*[1-9][0-9]*$&#8221;　　//负整数 &#8220;^-?\d+$&#8221;　　　　//整数 &#8220;^\d+(\.\d+)?$&#8221;　　//非负浮点数（正浮点数 + 0） &#8220;^(([0-9]+\.[0-9]*[1-9][0-9]*)&#124;([0-9]*[1-9][0-9]*\.[0-9]+)&#124;([0-9]*[1-9][0-9]*))$&#8221;　　//正浮点数 &#8220;^((-\d+(\.\d+)?)&#124;(0+(\.0+)?))$&#8221;　　//非正浮点数（负浮点数 + 0） &#8220;^(-(([0-9]+\.[0-9]*[1-9][0-9]*)&#124;([0-9]*[1-9][0-9]*\.[0-9]+)&#124;([0-9]*[1-9][0-9]*)))$&#8221;　　//负浮点数 &#8220;^(-?\d+)(\.\d+)?$&#8221;　　//浮点数 &#8220;^[A-Za-z]+$&#8221;　　//由26个英文字母组成的字符串 &#8220;^[A-Z]+$&#8221;　　//由26个英文字母的大写组成的字符串 &#8220;^[a-z]+$&#8221;　　//由26个英文字母的小写组成的字符串 &#8220;^[A-Za-z0-9]+$&#8221;　　//由数字和26个英文字母组成的字符串 &#8220;^\w+$&#8221;　　//由数字、26个英文字母或者下划线组成的字符串 &#8220;^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$&#8221;　　　　//email地址 &#8220;^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$&#8221;　　//url /^(d{2}&#124;d{4})-((0([1-9]{1}))&#124;(1[1&#124;2]))-(([0-2]([1-9]{1}))&#124;(3[0&#124;1]))$/ // 年-月-日 /^((0([1-9]{1}))&#124;(1[1&#124;2]))/(([0-2]([1-9]{1}))&#124;(3[0&#124;1]))/(d{2}&#124;d{4})$/ // 月/日/年 &#8220;^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)&#124;(([w-]+.)+))([a-zA-Z]{2,4}&#124;[0-9]{1,3})(]?)$&#8221; //Emil /^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)&#124;([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$/ //电话号码 &#8220;^(d{1,2}&#124;1dd&#124;2[0-4]d&#124;25[0-5]).(d{1,2}&#124;1dd&#124;2[0-4]d&#124;25[0-5]).(d{1,2}&#124;1dd&#124;2[0-4]d&#124;25[0-5]).(d{1,2}&#124;1dd&#124;2[0-4]d&#124;25[0-5])$&#8221; //IP地址 匹配中文字符的正则表达式： [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内)：[^\x00-\xff] 匹配空行的正则表达式：\n[\s&#124; ]*\r 匹配HTML标记的正则表达式：/.*&#124;/ 匹配首尾空格的正则表达式：(^\s*)&#124;(\s*$) 匹配Email地址的正则表达式：\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 匹配网址URL的正则表达式：^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$ 匹配帐号是否合法(字母开头，允许5-16字节，允许字母数字下划线)：^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 匹配国内电话号码：(\d{3}-&#124;\d{4}-)?(\d{8}&#124;\d{7})? 匹配腾讯QQ号：^[1-9]*[1-9][0-9]*$ 元字符及其在正则表达式上下文中的行为： \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。 ^ 匹配输入字符串的开始位置。如果设置了 [...]]]></description>
			<content:encoded><![CDATA[<p>    平时做网站经常要用正则表达式，下面是一些讲解和例子，仅供大家参考和修改使用：<br />
&#8220;^\d+$&#8221;　　//非负整数（正整数 + 0）<br />
&#8220;^[0-9]*[1-9][0-9]*$&#8221;　　//正整数<br />
&#8220;^((-\d+)|(0+))$&#8221;　　//非正整数（负整数 + 0）<br />
&#8220;^-[0-9]*[1-9][0-9]*$&#8221;　　//负整数<br />
&#8220;^-?\d+$&#8221;　　　　//整数<br />
&#8220;^\d+(\.\d+)?$&#8221;　　//非负浮点数（正浮点数 + 0）<br />
<span id="more-82"></span><br />
&#8220;^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$&#8221;　　//正浮点数<br />
&#8220;^((-\d+(\.\d+)?)|(0+(\.0+)?))$&#8221;　　//非正浮点数（负浮点数 + 0）<br />
&#8220;^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$&#8221;　　//负浮点数<br />
&#8220;^(-?\d+)(\.\d+)?$&#8221;　　//浮点数<br />
&#8220;^[A-Za-z]+$&#8221;　　//由26个英文字母组成的字符串<br />
&#8220;^[A-Z]+$&#8221;　　//由26个英文字母的大写组成的字符串<br />
&#8220;^[a-z]+$&#8221;　　//由26个英文字母的小写组成的字符串<br />
&#8220;^[A-Za-z0-9]+$&#8221;　　//由数字和26个英文字母组成的字符串<br />
&#8220;^\w+$&#8221;　　//由数字、26个英文字母或者下划线组成的字符串<br />
&#8220;^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$&#8221;　　　　//email地址<br />
&#8220;^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$&#8221;　　//url<br />
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/   //  年-月-日<br />
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/   // 月/日/年<br />
&#8220;^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$&#8221;   //Emil<br />
/^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$/     //电话号码<br />
&#8220;^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$&#8221;   //IP地址</p>
<p>匹配中文字符的正则表达式： [\u4e00-\u9fa5]<br />
匹配双字节字符(包括汉字在内)：[^\x00-\xff]<br />
匹配空行的正则表达式：\n[\s| ]*\r<br />
匹配HTML标记的正则表达式：/<(.*)>.*<\/\1>|<(.*) \/>/<br />
匹配首尾空格的正则表达式：(^\s*)|(\s*$)<br />
匹配Email地址的正则表达式：\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*<br />
匹配网址URL的正则表达式：^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$<br />
匹配帐号是否合法(字母开头，允许5-16字节，允许字母数字下划线)：^[a-zA-Z][a-zA-Z0-9_]{4,15}$<br />
匹配国内电话号码：(\d{3}-|\d{4}-)?(\d{8}|\d{7})?<br />
匹配腾讯QQ号：^[1-9]*[1-9][0-9]*$</p>
<p>元字符及其在正则表达式上下文中的行为： </p>
<p>\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。</p>
<p>^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的Multiline 属性，^ 也匹配 ’\n’ 或 ’\r’ 之后的位置。 </p>
<p>$ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性，$ 也匹配 ’\n’ 或 ’\r’ 之前的位置。 </p>
<p>* 匹配前面的子表达式零次或多次。 </p>
<p>+ 匹配前面的子表达式一次或多次。+ 等价于 {1,}。 </p>
<p>? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。 </p>
<p>{n} n 是一个非负整数，匹配确定的n 次。</p>
<p>{n,} n 是一个非负整数，至少匹配n 次。 </p>
<p>{n,m} m 和 n 均为非负整数，其中n <= m。最少匹配 n 次且最多匹配 m 次。在逗号和两个数之间不能有空格。</p>
<p>? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时，匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串，而默认的贪婪模式则尽可能多的匹配所搜索的字符串。 </p>
<p>. 匹配除 "\n" 之外的任何单个字符。要匹配包括 ’\n’ 在内的任何字符，请使用象 ’[.\n]’ 的模式。<br />
(pattern) 匹配pattern 并获取这一匹配。 </p>
<p>(?:pattern) 匹配pattern 但不获取匹配结果，也就是说这是一个非获取匹配，不进行存储供以后使用。 </p>
<p>(?=pattern) 正向预查，在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配，也就是说，该匹配不需要获取供以后使用。 </p>
<p>(?!pattern) 负向预查，与(?=pattern)作用相反 </p>
<p>x|y 匹配 x 或 y。 </p>
<p>[xyz] 字符集合。 </p>
<p>[^xyz] 负值字符集合。 </p>
<p>[a-z] 字符范围，匹配指定范围内的任意字符。 </p>
<p>[^a-z] 负值字符范围，匹配任何不在指定范围内的任意字符。 </p>
<p>\b 匹配一个单词边界，也就是指单词和空格间的位置。</p>
<p>\B 匹配非单词边界。 </p>
<p>\cx 匹配由x指明的控制字符。 </p>
<p>\d 匹配一个数字字符。等价于 [0-9]。 </p>
<p>\D 匹配一个非数字字符。等价于 [^0-9]。 </p>
<p>\f 匹配一个换页符。等价于 \x0c 和 \cL。 </p>
<p>\n 匹配一个换行符。等价于 \x0a 和 \cJ。 </p>
<p>\r 匹配一个回车符。等价于 \x0d 和 \cM。 </p>
<p>\s 匹配任何空白字符，包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。 </p>
<p>\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。 </p>
<p>\t 匹配一个制表符。等价于 \x09 和 \cI。 </p>
<p>\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。 </p>
<p>\w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’。 </p>
<p>\W 匹配任何非单词字符。等价于 ’[^A-Za-z0-9_]’。 </p>
<p>\xn 匹配 n，其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。</p>
<p>\num 匹配 num，其中num是一个正整数。对所获取的匹配的引用。 </p>
<p>\n 标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式，则 n 为后向引用。否则，如果 n 为八进制数字 (0-7)，则 n 为一个八进制转义值。 </p>
<p>\nm 标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有is preceded by at least nm 个获取得子表达式，则 nm 为后向引用。如果 \nm 之前至少有 n 个获取，则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足，若 n 和 m 均为八进制数字 (0-7)，则 \nm 将匹配八进制转义值 nm。 </p>
<p>\nml 如果 n 为八进制数字 (0-3)，且 m 和 l 均为八进制数字 (0-7)，则匹配八进制转义值 nml。 </p>
<p>\un 匹配 n，其中 n 是一个用四个十六进制数字表示的Unicode字符。</p>
<p>匹配中文字符的正则表达式： [u4e00-u9fa5]</p>
<p>匹配双字节字符(包括汉字在内)：[^x00-xff]</p>
<p>匹配空行的正则表达式：n[s| ]*r</p>
<p>匹配HTML标记的正则表达式：/<(.*)>.*</1>|<(.*) />/ </p>
<p>匹配首尾空格的正则表达式：(^s*)|(s*$)</p>
<p>匹配Email地址的正则表达式：w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*</p>
<p>匹配网址URL的正则表达式：http://([w-]+.)+[w-]+(/[w- ./?%&#038;=]*)?</p>
<p>利用正则表达式限制网页表单里的文本框输入内容：</p>
<p>用正则表达式限制只能输入中文：onkeyup=&#8221;value=value.replace(/[^u4E00-u9FA5]/g,&#8221;)&#8221; onbeforepaste=&#8221;clipboardData.setData(&#8216;text&#8217;,clipboardData.getData(&#8216;text&#8217;).replace(/[^u4E00-u9FA5]/g,&#8221;))&#8221;</p>
<p>用正则表达式限制只能输入全角字符： onkeyup=&#8221;value=value.replace(/[^uFF00-uFFFF]/g,&#8221;)&#8221; onbeforepaste=&#8221;clipboardData.setData(&#8216;text&#8217;,clipboardData.getData(&#8216;text&#8217;).replace(/[^uFF00-uFFFF]/g,&#8221;))&#8221;</p>
<p>用正则表达式限制只能输入数字：onkeyup=&#8221;value=value.replace(/[^d]/g,&#8221;) &#8220;onbeforepaste=&#8221;clipboardData.setData(&#8216;text&#8217;,clipboardData.getData(&#8216;text&#8217;).replace(/[^d]/g,&#8221;))&#8221;</p>
<p>用正则表达式限制只能输入数字和英文：onkeyup=&#8221;value=value.replace(/[W]/g,&#8221;) &#8220;onbeforepaste=&#8221;clipboardData.setData(&#8216;text&#8217;,clipboardData.getData(&#8216;text&#8217;).replace(/[^d]/g,&#8221;))&#8221;</p>
<p>=========常用正则式</p>
<p>匹配中文字符的正则表达式： [\u4e00-\u9fa5]</p>
<p>匹配双字节字符(包括汉字在内)：[^\x00-\xff]</p>
<p>匹配空行的正则表达式：\n[\s| ]*\r</p>
<p>匹配HTML标记的正则表达式：/<(.*)>.*<\/\1>|<(.*) \/>/ </p>
<p>匹配首尾空格的正则表达式：(^\s*)|(\s*$)</p>
<p>匹配IP地址的正则表达式：/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //</p>
<p>匹配Email地址的正则表达式：\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*</p>
<p>匹配网址URL的正则表达式：http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&#038;=]*)?</p>
<p>sql语句：^(select|drop|delete|create|update|insert).*$</p>
<p>1、非负整数：^\d+$ </p>
<p>2、正整数：^[0-9]*[1-9][0-9]*$ </p>
<p>3、非正整数：^((-\d+)|(0+))$ </p>
<p>4、负整数：^-[0-9]*[1-9][0-9]*$ </p>
<p>5、整数：^-?\d+$ </p>
<p>6、非负浮点数：^\d+(\.\d+)?$ </p>
<p>7、正浮点数：^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ </p>
<p>8、非正浮点数：^((-\d+\.\d+)?)|(0+(\.0+)?))$ </p>
<p>9、负浮点数：^(-((正浮点数正则式)))$ </p>
<p>10、英文字符串：^[A-Za-z]+$ </p>
<p>11、英文大写串：^[A-Z]+$ </p>
<p>12、英文小写串：^[a-z]+$ </p>
<p>13、英文字符数字串：^[A-Za-z0-9]+$ </p>
<p>14、英数字加下划线串：^\w+$ </p>
<p>15、E-mail地址：^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ </p>
<p>16、URL：^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$<br />
或：^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&#038;_~`@[\]\&#8217;:+!]*([^<>\"\"])*$</p>
<p>17、邮政编码：^[1-9]\d{5}$</p>
<p>18、中文：^[\u0391-\uFFE5]+$</p>
<p>19、电话号码：^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$</p>
<p>20、手机号码：^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$</p>
<p>21、双字节字符(包括汉字在内)：^\x00-\xff</p>
<p>22、匹配首尾空格：(^\s*)|(\s*$)（像vbscript那样的trim函数）</p>
<p>23、匹配HTML标记：<(.*)>.*<\/\1>|<(.*) \/> </p>
<p>24、匹配空行：\n[\s| ]*\r</p>
<p>25、提取信息中的网络链接：(h|H)(r|R)(e|E)(f|F) *= *(&#8216;|&#8221;)?(\w|\\|\/|\.)+(&#8216;|&#8221;| *|>)?</p>
<p>26、提取信息中的邮件地址：\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*</p>
<p>27、提取信息中的图片链接：(s|S)(r|R)(c|C) *= *(&#8216;|&#8221;)?(\w|\\|\/|\.)+(&#8216;|&#8221;| *|>)?</p>
<p>28、提取信息中的IP地址：(\d+)\.(\d+)\.(\d+)\.(\d+)</p>
<p>29、提取信息中的中国手机号码：(86)*0*13\d{9}</p>
<p>30、提取信息中的中国固定电话号码：(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}</p>
<p>31、提取信息中的中国电话号码（包括移动和固定电话）：(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}</p>
<p>32、提取信息中的中国邮政编码：[1-9]{1}(\d+){5}</p>
<p>33、提取信息中的浮点数（即小数）：(-?\d*)\.?\d+</p>
<p>34、提取信息中的任何数字 ：(-?\d*)(\.\d+)? </p>
<p>35、IP：(\d+)\.(\d+)\.(\d+)\.(\d+)</p>
<p>36、电话区号：/^0\d{2,3}$/</p>
<p>37、腾讯QQ号：^[1-9]*[1-9][0-9]*$</p>
<p>38、帐号(字母开头，允许5-16字节，允许字母数字下划线)：^[a-zA-Z][a-zA-Z0-9_]{4,15}$</p>
<p>39、中文、英文、数字及下划线：^[\u4e00-\u9fa5_a-zA-Z0-9]+$</p>
Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://www.yypark.net/blog/index.php/2010/08/05/82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>非常简单PHP缩略图生成程序源代码</title>
		<link>http://www.yypark.net/blog/index.php/2010/03/25/35/</link>
		<comments>http://www.yypark.net/blog/index.php/2010/03/25/35/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 05:32:36 +0000</pubDate>
		<dc:creator>Parker</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.yypark.net/blog/?p=35</guid>
		<description><![CDATA[&#60;? $FILENAME=&#8221;image_name&#8221;; // 生成图片的宽度 $RESIZEWIDTH=400; // 生成图片的高度 $RESIZEHEIGHT=400; function ResizeImage($im,$maxwidth,$maxheight,$name){ $width = imagesx($im); $height = imagesy($im); if(($maxwidth &#38;&#38; $width &#62; $maxwidth) &#124;&#124; ($maxheight &#38;&#38; $height &#62; $maxheight)){ if($maxwidth &#38;&#38; $width &#62; $maxwidth){ $widthratio = $maxwidth/$width; $RESIZEWIDTH=true; } if($maxheight &#38;&#38; $height &#62; $maxheight){ $heightratio = $maxheight/$height; $RESIZEHEIGHT=true; } if($RESIZEWIDTH &#38;&#38; $RESIZEHEIGHT){ if($widthratio &#60; $heightratio){ $ratio = [...]]]></description>
			<content:encoded><![CDATA[<p>&lt;?</p>
<p>$FILENAME=&#8221;image_name&#8221;;</p>
<p>// 生成图片的宽度<br />
$RESIZEWIDTH=400;</p>
<p>// 生成图片的高度<br />
$RESIZEHEIGHT=400;</p>
<p><span id="more-35"></span><br />
function ResizeImage($im,$maxwidth,$maxheight,$name){<br />
$width = imagesx($im);<br />
$height = imagesy($im);<br />
if(($maxwidth &amp;&amp; $width &gt; $maxwidth) || ($maxheight  &amp;&amp; $height &gt; $maxheight)){<br />
if($maxwidth &amp;&amp; $width &gt; $maxwidth){<br />
$widthratio = $maxwidth/$width;<br />
$RESIZEWIDTH=true;<br />
}<br />
if($maxheight &amp;&amp; $height &gt; $maxheight){<br />
$heightratio = $maxheight/$height;<br />
$RESIZEHEIGHT=true;<br />
}<br />
if($RESIZEWIDTH &amp;&amp; $RESIZEHEIGHT){<br />
if($widthratio &lt; $heightratio){<br />
$ratio = $widthratio;<br />
}else{<br />
$ratio = $heightratio;<br />
}<br />
}elseif($RESIZEWIDTH){<br />
$ratio = $widthratio;<br />
}elseif($RESIZEHEIGHT){<br />
$ratio = $heightratio;<br />
}<br />
$newwidth = $width * $ratio;<br />
$newheight = $height * $ratio;<br />
if(function_exists(&#8220;imagecopyresampled&#8221;)){<br />
www.phperz.com<br />
$newim = imagecreatetruecolor($newwidth, $newheight);<br />
imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight,  $width, $height);<br />
}else{<br />
$newim = imagecreate($newwidth, $newheight);<br />
imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width,  $height);<br />
}<br />
ImageJpeg ($newim,$name . &#8220;.jpg&#8221;);<br />
ImageDestroy ($newim);<br />
}else{<br />
ImageJpeg ($im,$name . &#8220;.jpg&#8221;);<br />
}<br />
}</p>
<p>if($_FILES['image']['size']){<br />
if($_FILES['image']['type'] == &#8220;image/pjpeg&#8221;){<br />
$im = imagecreatefromjpeg($_FILES['image']['tmp_name']);<br />
}elseif($_FILES['image']['type'] == &#8220;image/x-png&#8221;){<br />
$im = imagecreatefrompng($_FILES['image']['tmp_name']);<br />
}elseif($_FILES['image']['type'] == &#8220;image/gif&#8221;){<br />
$im = imagecreatefromgif($_FILES['image']['tmp_name']);<br />
}<br />
if($im){<br />
if(file_exists(&#8220;$FILENAME.jpg&#8221;)){<br />
unlink(&#8220;$FILENAME.jpg&#8221;);<br />
}<br />
ResizeImage($im,$RESIZEWIDTH,$RESIZEHEIGHT,$FILENAME); www~phperz~com<br />
ImageDestroy ($im);<br />
}<br />
}</p>
<p>?&gt;</p>
<p>&lt;img src=&#8221;&lt;? echo($FILENAME.&#8221;.jpg?reload=&#8221;.rand(0,999999));  ?&gt;&#8221;&gt;&lt;br&gt;&lt;br&gt;</p>
<p>&lt;form enctype=&#8221;multipart/form-data&#8221; method=&#8221;post&#8221;&gt;<br />
&lt;br&gt;<br />
&lt;input type=&#8221;file&#8221; name=&#8221;image&#8221; size=&#8221;50&#8243; value=&#8221;浏览&#8221;&gt;&lt;p&gt;<br />
&lt;input type=&#8221;submit&#8221; value=&#8221;上传图片&#8221;&gt;<br />
&lt;/form&gt;</p>
<p>&lt;/body&gt;<br />
&lt;/html&gt;</p>
Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://www.yypark.net/blog/index.php/2010/03/25/35/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP100教程学习笔记</title>
		<link>http://www.yypark.net/blog/index.php/2010/03/23/8/</link>
		<comments>http://www.yypark.net/blog/index.php/2010/03/23/8/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 14:00:29 +0000</pubDate>
		<dc:creator>Parker</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.yypark.net/blog/?p=8</guid>
		<description><![CDATA[1）从语法上看，PHP语言近似于C语言。可以说，PHP是借鉴C语言的语法特征，由C语言改 进而来的。我们可以混合编写PHP代码和HTML代码，不仅可以将PHP脚本嵌入到 HTML 文件中，我们甚至还可以把 HTML 标签也嵌入在 PHP 脚本里。 以下是你可以采用的几种方法，你可以选用其中一种你最适合的并且就这样坚持这种方法！ 从HTML中分离，以下是可以使用的方法： &#60;? . . . ?&#62; &#60;?php . . . ?&#62; &#60;script language=&#8221;php&#8221;&#62; . . . &#60;/script&#62; &#60;% . . . %&#62; 与Perl和C一样，在PHP中用“；”来分隔语句。那些从HTML中分离出来的标志也表示语句的结束。 2）注释 PHP支持C，C 和Unix风格的注释方式： /* C,C 风格多行注释 */ // C 风格单行注释 # Unix风格单行注释 3）PHP数据运算类型 四种标量类型： boolean（布尔型） 理解为真假型 integer（整型） float（浮点型，也作“double”） 理解为小数型 string（字符串） 两种复合类型： array（数组） object（对象） [...]]]></description>
			<content:encoded><![CDATA[<p>1）从语法上看，PHP语言近似于C语言。可以说，PHP是借鉴C语言的语法特征，由C语言改<br />
进而来的。我们可以混合编写PHP代码和HTML代码，不仅可以将PHP脚本嵌入到 HTML<br />
文件中，我们甚至还可以把 HTML 标签也嵌入在 PHP 脚本里。</p>
<p>以下是你可以采用的几种方法，你可以选用其中一种你最适合的并且就这样坚持这种方法！<br />
从HTML中分离，以下是可以使用的方法：</p>
<p><span id="more-8"></span></p>
<p>&lt;? . . . ?&gt;</p>
<p>&lt;?php . . . ?&gt;</p>
<p>&lt;script language=&#8221;php&#8221;&gt; . . . &lt;/script&gt;</p>
<p>&lt;% . . . %&gt;</p>
<p>与Perl和C一样，在PHP中用“；”来分隔语句。那些从HTML中分离出来的标志也表示语句的结束。</p>
<p>2）注释<br />
PHP支持C，C 和Unix风格的注释方式：<br />
/* C,C 风格多行注释 */<br />
// C 风格单行注释<br />
# Unix风格单行注释</p>
<p>3）PHP数据运算类型<br />
四种标量类型：<br />
boolean（布尔型） 理解为真假型<br />
integer（整型）<br />
float（浮点型，也作“double”） 理解为小数型<br />
string（字符串）<br />
两种复合类型：<br />
array（数组）<br />
object（对象）</p>
<p>boolean（布尔型） 理解为真假型</p>
<p>$bo=TRUE;  $bo=FALSE;</p>
<p>integer（整型）</p>
<p>$bo=1;  $bo=-12;</p>
<p>float（浮点型，也作“double”） 理解为小数型</p>
<p>$bo=1.001;  $bo=3.1415926;</p>
<p>string（字符串）</p>
<p>$bo=“这段字符串 or EN Word”;</p>
<p>array（数组）</p>
<p>$bo=array(1,2,3,4);  $bo=array(“A”=&gt;1 , “B”=&gt;2);</p>
Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://www.yypark.net/blog/index.php/2010/03/23/8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP5字符串处理函数大全</title>
		<link>http://www.yypark.net/blog/index.php/2010/03/23/4/</link>
		<comments>http://www.yypark.net/blog/index.php/2010/03/23/4/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 13:25:15 +0000</pubDate>
		<dc:creator>Parker</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.yypark.net/blog/?p=4</guid>
		<description><![CDATA[addcslashes — 为字符串里面的部分字符添加反斜线转义字符 addslashes — 用指定的方式对字符串里面的字符进行转义 bin2hex — 将二进制数据转换成十六进制表示 chop — rtrim() 的别名函数 chr — 返回一个字符的ASCII码 chunk_split — 按一定的字符长度将字符串分割成小块 convert_cyr_string — 将斯拉夫语字符转换为别的字符 convert_uudecode — 解密一个字符串 convert_uuencode — 加密一个字符串 count_chars — 返回一个字符串里面的字符使用信息 crc32 — 计算一个字符串的crc32多项式 crypt — 单向散列加密函数 echo — 用以显示一些内容 explode — 将一个字符串用分割符转变为一数组形式 fprintf — 按照要求对数据进行返回，并直接写入文档流 get_html_translation_table — 返回可以转换的HTML实体 hebrev — 将Hebrew编码的字符串转换为可视的文本 hebrevc — 将Hebrew编码的字符串转换为可视的文本 [...]]]></description>
			<content:encoded><![CDATA[<p>addcslashes — 为字符串里面的部分字符添加反斜线转义字符<br />
addslashes — 用指定的方式对字符串里面的字符进行转义<br />
bin2hex — 将二进制数据转换成十六进制表示<br />
chop — rtrim() 的别名函数<br />
chr — 返回一个字符的ASCII码<br />
chunk_split — 按一定的字符长度将字符串分割成小块<br />
convert_cyr_string — 将斯拉夫语字符转换为别的字符</p>
<p><span id="more-4"></span><br />
convert_uudecode — 解密一个字符串<br />
convert_uuencode — 加密一个字符串<br />
count_chars — 返回一个字符串里面的字符使用信息<br />
crc32 — 计算一个字符串的crc32多项式<br />
crypt — 单向散列加密函数<br />
echo — 用以显示一些内容<br />
explode — 将一个字符串用分割符转变为一数组形式<br />
fprintf — 按照要求对数据进行返回，并直接写入文档流<br />
get_html_translation_table — 返回可以转换的HTML实体<br />
hebrev — 将Hebrew编码的字符串转换为可视的文本<br />
hebrevc — 将Hebrew编码的字符串转换为可视的文本<br />
html_entity_decode — htmlentities ()函数的反函数，将HTML实体转换为字符<br />
htmlentities — 将字符串中一些字符转换为HTML实体<br />
htmlspecialchars_decode — htmlspecialchars()函数的反函数，将HTML实体转换为字符<br />
htmlspecialchars — 将字符串中一些字符转换为HTML实体<br />
implode — 将数组用特定的分割符转变为字符串<br />
join — 将数组转变为字符串，implode()函数的别名<br />
levenshtein — 计算两个词的差别大小<br />
localeconv — 获取数字相关的格式定义<br />
ltrim — 去除字符串左侧的空白或者指定的字符<br />
md5_file — 将一个文件进行MD5算法加密<br />
md5 — 将一个字符串进行MD5算法加密<br />
metaphone — 判断一个字符串的发音规则<br />
money_format — 按照参数对数字进行格式化的输出<br />
nl_langinfo — 查询语言和本地信息<br />
nl2br — 将字符串中的换行符“\n”替换成“&lt;br /&gt;”<br />
number_format — 按照参数对数字进行格式化的输出<br />
ord — 将一个ASCII码转换为一个字符<br />
parse_str — 把一定格式的字符串转变为变量和值<br />
print — 用以输出一个单独的值<br />
printf — 按照要求对数据进行显示<br />
quoted_printable_decode — 将一个字符串加密为一个8位的二进制字符串<br />
quotemeta — 对若干个特定字符进行转义<br />
rtrim — 去除字符串右侧的空白或者指定的字符<br />
setlocale — 设置关于数字，日期等等的本地格式<br />
sha1_file — 将一个文件进行SHA1算法加密<br />
sha1 — 将一个字符串进行SHA1算法加密<br />
similar_text — 比较两个字符串，返回系统认为的相似字符个数<br />
soundex — 判断一个字符串的发音规则<br />
sprintf — 按照要求对数据进行返回，但是不输出<br />
sscanf — 可以对字符串进行格式化<br />
str_ireplace — 像str_replace()函数一样匹配和替换字符串，但是不区分大小写<br />
str_pad — 对字符串进行两侧的补白<br />
str_repeat — 对字符串进行重复组合<br />
str_replace — 匹配和替换字符串<br />
str_rot13 — 将字符串进行ROT13加密处理<br />
str_shuffle — 对一个字符串里面的字符进行随机排序<br />
str_split — 将一个字符串按照字符间距分割为一个数组<br />
str_word_count — 获取字符串里面的英文单词信息<br />
strcasecmp — 对字符串进行大小比较，不区分大小写<br />
strchr — 通过比较返回一个字符串的部分strstr()函数的别名<br />
strcmp — 对字符串进行大小比较<br />
strcoll – 根据本地设置对字符串进行大小比较<br />
strcspn — 返回字符连续非匹配长度的值<br />
strip_tags — 去除一个字符串里面的HTML和PHP代码<br />
stripcslashes — 反转义addcslashes()函数转义处理过的字符串<br />
stripos — 查找并返回首个匹配项的位置，匹配不区分大小写<br />
stripslashes — 反转义addslashes()函数转义处理过的字符串<br />
stristr — 通过比较返回一个字符串的部分，比较时不区分大小写<br />
strlen — 获取一个字符串的编码长度<br />
strnatcasecmp — 使用自然排序法对字符串进行大小比较，不区分大小写<br />
strnatcmp — 使用自然排序法对字符串进行大小比较<br />
strncasecmp — 对字符串的前N个字符进行大小比较，不区分大小写<br />
strncmp — 对字符串的前N个字符进行大小比较<br />
strpbrk — 通过比较返回一个字符串的部分<br />
strpos — 查找并返回首个匹配项的位置<br />
strrchr — 通过从后往前比较返回一个字符串的部分<br />
strrev — 将字符串里面的所有字母反向排列<br />
strripos — 从后往前查找并返回首个匹配项的位置，匹配不区分大小写<br />
strrpos – 从后往前查找并返回首个匹配项的位置<br />
strspn — 匹配并返回字符连续出现长度的值<br />
strstr — 通过比较返回一个字符串的部分<br />
strtok — 用指定的若干个字符来分割字符串<br />
strtolower — 将字符串转变为小写<br />
strtoupper –将字符串转变为大写<br />
strtr — 对字符串比较替换<br />
substr_compare — 对字符串进行截取后的比较<br />
substr_count — 计算字符串中某字符段的出现次数<br />
substr_replace — 对字符串中的部分字符进行替换<br />
substr — 对字符串进行截取<br />
trim — 去除字符串两边的空白或者指定的字符<br />
ucfirst — 将所给字符串的第一个字母转换为大写<br />
ucwords — 将所给字符串的每一个英文单词的第一个字母变成大写<br />
vfprintf — 按照要求对数据进行返回，并直接写入文档流<br />
vprintf — 按照要求对数据进行显示<br />
vsprintf — 按照要求对数据进行返回，但是不输出<br />
wordwrap — 按照一定的字符长度分割字符串<br />
strtolower()函数把所有字符变成小写，strtoupper()函数把所有字符变成大写，ucfirst()函数将所给字符串的第一个字母转 换为大写，ucwords()函数将所给字符串的每一个英文单词的第一个字母变成大写。ucfirst()只处理字符串的首个字符，ucwords()只 处理每个单词的首字母（以空格来界定是否是单词，“today!Hi”、“today.Hi”  会被认为是一个单词），对于其余字母的大小写状态并不改变。</p>
Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up ]]></content:encoded>
			<wfw:commentRss>http://www.yypark.net/blog/index.php/2010/03/23/4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

