`
piperzero
  • 浏览: 3465632 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

俺就不說話,找虐,直接上代碼。

 
阅读更多
貌似偶來兄弟連,已經許久了喲,據說有三個多星期了喲。每天連續戰鬥18個小時以上,哈哈,每天像打了鳮血了一般。每天或許有點累,有點身心疲憊,但一切這都是值得滴,心中有梦想,便是幸福。什麼是幸福,幸福就是貓吃魚狗吃肉,outman打小怪獸。哈哈,來個正兒八經。幸福就是有梦想、有愛的人、有一份不錯的工作。在兄弟連,至少可以得到2/3的幸福喲,那愛的人,兄弟連可就解決不了喲。
表示鳮血在沸騰,哈哈,給大家看看我以前寫的對自己說的話,嘿嘿,表示臉紅了,


给自己说的话当桌面,让自己刻进脑子里
1、好好干,无论未来怎样,即使可能混的不好,那都没有关系,至少要曾经拼过。
2、让自己争取做个好丈夫,对自己的女人要更好一点,老婆是用来疼的。
3、做个好父亲,尽量不要给孩子很好的生活,但要给孩子一身创造好生活的本领。
4、抓住机会,永远记住机会只有一次。
5、只要有时间就去旅行吧,无论荒野求生还是野外拓展,只要有更亲近大自然的机会一个都不放过。注,玩命的旅行需要慎重考虑下,因为自己不是一个人,还有家人呢,需要严重考虑。
6、尽量不要浪费和朋友,亲人,同学在一起的机会,人活着,不就为了一个情字么。
7、尽可能的多运动,不要放过每个能锻炼自己的机会,怎么样锻炼都行,
8、不要让自己过的太好了,同时也不要让自己混的太差了,与兄弟们水平一样即可,踩油门的同时要做好踩刹车的准备。
9、能不抽烟尽量不抽烟,要哪天开始抽烟了,就说明自己的原则出现了重要问题。
10、(第十條,俺就不拿出來看了喲)
11、诚信很重要,给出的承诺能做到的尽力去做,做不到的请给对方说明。当然做不到时候,就不要轻易的答应别人。
12、永远不要放弃学习,无论学习什么,把自己喜欢的弄精通,把自己了解的弄熟练,把自己不了解的弄成略知就行了,不求上知天文下知地理,只求别人谈话,至少能明白怎么回事。
13、对于一个喜欢荒野求生,没有什么事是不可能的,如果不可能,只能说我还不足够痛苦,不能激发求生意志,让自己痛苦起来吧,加油,我要好好完成上面的任务。
讓大家看個夠,來個我自己比較激動滴,並且在這裏讓有相關愛好的兄弟,發出號召,哪天哪天,我們一起騎行去西藏,一起一起穿越神農架,親,你想來嗎,神農架很刺激喲。記住是騎行或者徒步喲,開車,俺們就一起去沙漠轉轉,想想就激動,


回到主題,該回到代碼上面來了,求檢查,看看哪裏需要完善下,借俺們老白老師滴話說,世界上最遥遠的距離就是我在if裏,而你卻在else裏,即使你是對滴,俺倆也走不到一起,(腫麼感覺 女生分手說的話,有木有)。我來補充一句,世界上最遥遠的距離就是我在你面前,而你卻在玩手機。少說廢話,上代碼啦
先來個今天寫的驗證碼,求指導,求完善
<?php
/**
*2012-03-10 13:59
*易鵬程
*驗證碼類
*
*propertise:
* private int $width 圖像寬度
* private int $height 圖像高度
* private int $charNum 字符數
* private string $code 隨機驗證碼
* private resource $image 圖像資源
* private int $charType 字符類型
*
*mothods
* public __construct 對相關屬性進行賦值
* public showCodeImage 顯示圖像,對外的訪問接口
* private createImage 創建圖像資源
* private insertText 添加文本
* private insertDistrub 添加幹擾元素
* private mStrlen 獲取字符串長度,
* private mSubstr 截取字符串
* private getCode 返回驗證碼字串
* private output 向瀏覽器輸出
*/
class Valicode{

private $width; //圖像寬
private $height; //圖像高
private $charNum; //字符數
private $code; //隨機驗證碼
private $image; //圖像資源
private $charType; //字符類型 0為數字字母混合 1為大寫字母 2為小寫字母 3為純數字 4為中文 default為數字字母混合

function __construct($width,$height,$charNum = 4,$charType = 4){
$this->width = $width;
$this->height = $height;
$this->charNum = $charNum;
$this->charType = $charType;
$this->code = $this->createCode($this->charType); //創建驗證碼字串
}

/**
*顯示圖像
*相關程序執行
*/
function showCodeImage(){
$this->createImage();
$this->insertText();
$this->insertDistrub();
$this->output();
}

/**
*創建圖像資源
*對圖像邊框、背景進行填充
*/
function createImage(){

$this->image = imagecreatetruecolor($this->width,$this->height);
$borColor = imagecolorallocate($this->image,152,72,0);
$bgColor = imagecolorallocate($this->image,rand(155,255),rand(155,255),rand(155,255));
imagefilledrectangle($this->image,0,0,$this->width,$this->height,$bgColor);
imagerectangle($this->image,0,0,$this->width-1,$this->height-1,$borColor);
}

/**
*給圖像資源添加字符
*/
private function insertText(){
for($i = 0 ; $i< $this->charNum ;$i++){

$x = ($this->width/$this->charNum)*$i + 10;
$textColor = imagecolorallocate($this->image,rand(0,155),rand(0,155),rand(0,155));

if($this->charType == 4){

$chineseChar = $this->msubstr($this->code,$i,1,'utf-8');
imagettftext($this->image,16,rand(40,0),$x,rand(20,$this->height-10),$textColor,'simkai.ttf',$chineseChar);

}else{

imagettftext($this->image,16,rand(40,0),$x,rand(20,$this->height-15),$textColor,'simkai.ttf',$this->code[$i]);

}
}
}

/**
[email=*@return]*@return[/email] string 返回驗證碼字串
*/
public function getCode(){
return $this->code;
}

/**
*創建隨機驗證碼
[email=*@param]*@param[/email] integer $type 驗證碼字符類型
[email=*@return]*@return[/email] String $return 返回創建的字符串
*/
private function createCode($type){

$uppercase = range('A','Z');
$lowercase = range('a','z');
$number = range(0,9);
$str=" 天地玄黄宇宙洪荒日月盈昃辰宿列张寒来暑往秋收冬藏闰馀成岁律吕调阳云腾致雨露结为霜金生丽水玉出昆冈剑号巨阙珠称夜光果珍李柰菜重芥姜海咸河淡鳞潜羽翔龙师火帝鸟官人皇始制文字乃服衣裳推位让国有虞陶唐吊民伐罪周发殷汤坐朝问道垂拱平章爱育黎首臣伏戎羌遐迩一体率宾归王鸣凤在竹白驹食场化被草木赖及万方盖此身发四大五常恭惟鞠养岂敢毁伤女慕贞洁男效才良知过必改得能莫忘罔谈彼短靡恃己长信使可复器欲难量墨悲丝染诗赞羔羊景行维贤克念作圣德建名立形端表正空谷传声虚堂习听祸因恶积福缘善庆尺璧非宝寸阴是竞资父事君曰严与敬孝当竭力忠则尽命临深履薄夙兴温凊似兰斯馨如松之盛川流不息渊澄取映容止若思言辞安定笃初诚美慎终宜令荣业所基籍甚无竟学优登仕摄职从政存以甘棠去而益咏乐殊贵贱礼别尊卑上和下睦夫唱妇随外受傅训入奉母仪诸姑伯叔犹子比儿孔怀兄弟同气连枝交友投分切磨箴规仁慈隐恻造次弗离节义廉退颠沛匪亏性静情逸心动神疲守真志满逐物意移坚持雅操好爵自縻都邑华夏东西二京背邙面洛浮渭据泾宫殿盘郁楼观飞惊图写禽兽画彩仙灵丙舍傍启甲帐对楹肆筵设席鼓瑟吹笙升阶纳陛弁转疑星右通广内左达承明既集坟典亦聚群英杜稿钟隶漆书壁经府罗将相路侠槐卿户封八县家给千兵高冠陪辇驱毂振缨世禄侈富车驾肥轻策功茂实勒碑刻铭磻溪伊尹佐时阿衡奄宅曲阜微旦孰营桓公匡合济弱扶倾绮回汉惠说感武丁俊乂密勿多士寔宁晋楚更霸赵魏困横假途灭虢践土会盟何遵约法韩弊烦刑起翦颇牧用军最精宣威沙漠驰誉丹青九州禹迹百郡秦并岳宗泰岱禅主云亭雁门紫塞鸡田赤城昆池碣石钜野洞庭旷远绵邈岩岫杳冥治本于农务兹稼穑俶载南亩我艺黍稷税熟贡新劝赏黜陟孟轲敦素史鱼秉直庶几中庸劳谦谨敕聆音察理鉴貌辨色贻厥嘉猷勉其祗植省躬讥诫宠增抗极殆辱近耻林皋幸即两疏见机解组谁逼索居闲处沉默寂寥求古寻论散虑逍遥欣奏累遣戚谢欢招渠荷的历园莽抽条枇杷晚翠梧桐蚤凋陈根委翳落叶飘摇游鹍独运凌摩绛霄耽读玩市寓目囊箱易輶攸畏属耳垣墙具膳餐饭适口充肠饱饫烹宰饥厌糟糠亲戚故旧老少异粮妾御绩纺侍巾帷房纨扇圆絜银烛炜煌昼眠夕寐蓝笋象床弦歌酒宴接杯举觞矫手顿足悦豫且康嫡后嗣续祭祀烝尝稽颡再拜悚惧恐惶笺牒简要顾答审详骸垢想浴执热愿凉驴骡犊特骇跃超骧诛斩贼盗捕获叛亡布射僚丸嵇琴阮啸恬笔伦纸钧巧任钓释纷利俗竝皆佳妙毛施淑姿工颦妍笑年矢每催曦晖朗曜璇玑悬斡晦魄环照指薪修祜永绥吉劭矩步引领俯仰廊庙束带矜庄徘徊瞻眺孤陋寡闻愚蒙等诮谓语助者焉哉乎也";
$return = '';

switch($type){
//默認字母數字混合型
case 0 :
for($i = 0 ;$i < $this->charNum ; $i++){
$rand = rand(0,2);
switch($rand){
case 0 :
shuffle($uppercase);
$return.= array_pop($uppercase);
break;

case 1 :
shuffle($lowercase);
$return.= array_pop($lowercase);
break;

case 2 :
shuffle($number);
$return.= array_pop($number);
break;
}
}
break;

//大寫字母型
case 1 :
for($i = 0 ;$i < $this->charNum ; $i++){
shuffle($uppercase);
$return.= array_pop($uppercase);
}
break;

//小寫字母型
case 2 :
for($i = 0 ;$i < $this->charNum ; $i++){
shuffle($lowercase);
$return.= array_pop($lowercase);
}
break;

//數字型
case 3 :
for($i = 0 ;$i < $this->charNum ; $i++){
shuffle($number);
$return.= array_pop($number);
}
break;

//中文類型
case 4:
$strlen = $this->mstrlen($str,'utf-8');

for($i = 0;$i < $this->charNum ; $i++){

$randC = rand(0,$strlen-1);

$return.= $this->msubstr($str,$randC,1,'utf-8');
}
break;

//親,没有找到想要的類型喲,還是給個混合類型
default:
for($i = 0 ;$i < $this->charNum ; $i++){

$rand = rand(0,2);

switch($rand){
case 0 :
shuffle($uppercase);
$return.= array_pop($uppercase);
break;

case 1 :
shuffle($lowercase);
$return.= array_pop($lowercase);
break;


case 2 :
shuffle($number);
$return.= array_pop($number);
break;
}
}
}
return $return ;
}

/*
*添加圖像幹擾元素
*imagesetpixel 給圖像資源添加像素點
*imagearc 給圖像資源添加弧線
*/
private function insertDistrub(){
for($i = 0 ;$i< 150 ;$i++){
$distrubColor = imagecolorallocate($this->image,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($this->image,rand(1,100),rand(1,50),$distrubColor);
}
$start = rand(-180,180);
$end = rand(-90,90);
for($i = 0 ;$i < 5 ; $i++){
imagearc($this->image,$this->width/2,$this->height/2,$this->width*0.8+$i,$this->height/6+$i,$start,$end+$i,$distrubColor);
}
}

/*
*根據系統支持的圖像格式進行瀏覽器輸出
*/
function output(){
//位運算 讓位與
if(imagetypes() & IMG_JPEG){

header('Content-Type:image/jpeg');
imagejpeg($this->image);

}elseif(imagetypes() & IMG_GIF){

header('Content-Type:image/gif');
imagegif($this->image);

}elseif(imagetypes() & IMG_PNG){

header('Content-Type:image/png');
imagepng($this->image);

}elseif(imagetypes() & IMG_WBMP){

header('Content-Type:image/wbmp');
imagewbmp($this->image);

}else{

die('對不起,没有您想要的類型');
}
}

/**
*析構函數進行銷毁圖像資源
*/
function __destruct(){
imagedestroy($this->image);
}

/*
*主要用於對中文計算長度,utf-8占3個字節,gb2312兩個字節
[email=*@param]*@param[/email] String $str 字符串
[email=*@param]*@param[/email] String $charset = 'utf-8' 默認為utf-8
[email=*@return]*@return[/email] int $num 字符串長度
*/
private function mstrlen($str,$charset="utf-8"){

if(function_exists("mb_strlen")){

return mb_strlen($str,$charset);

}elseif(function_exists('iconv_strlen')) {

return iconv_strlen($str,$charset);

}else{
$re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";

preg_match_all($re[$charset], $str, $match);
$num = count($match);

return $num;
}
}

/**
*主要用於中文字符串截取
[email=*@param]*@param[/email] String $str 需要進行截取的字符串
[email=*@param]*@param[/email] integer $start=0 偏移量 從$start開始進行截取,默認從0開始
[email=*@param]*@param[/email] integer $length 截取長度,
[email=*@param]*@param[/email] String $charset='utf-8' 字符串類型,默認為utf-8
[email=*@return]*@return[/email] String $slice 返回截取的字符串
*/
private function msubstr($str, $start=0, $length, $charset="utf-8"){
if(function_exists("mb_substr")){

return mb_substr($str, $start, $length, $charset);

}elseif(function_exists('iconv_substr')) {

return iconv_substr($str,$start,$length,$charset);

}else{

$re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";

preg_match_all($re[$charset], $str, $match);//如果字符串中含有符合以上ACS11码的字符,则添加到数组$match中
$slice = join("",array_slice($match[0], $start, $length));//array_slice截取数组片段,利用join合并成字符窜

return $slice;
}
}
}
?>
再來一個多文件上傳,,面向過程滴喲

<?php
header('Content-Type:text/html;charset=UTF-8');
if(isset($_POST['sbt_form']) && (!empty($_FILES['fle_form']))){ $file = $_FILES['fle_form']; //上传文件表单
$uploadDir = 'upload'; //上传文件目录
$chineseChar = array('一','二','三','四'); //用户交互时显示中文
$ext = array(); //保存已上传的后缀名
$ident = 0; //累积成功转移文件数量的标识符
$allowType = array('txt','jpeg','jpg','png','gif','html'); //允许上传类型
$tmp_file = array(); //用于临时存储上传的文件名,以便在一个文件出错后,将这次所传的所有文件删除。

//定义错误级别,上传文件时,如何出现这些错误结束程序
$error = array(1,2,3);

//文件上传错误与指定的级别求交集,如何有一个不对,则结束程序
if(array_intersect($error,$file['error'])){

die('上传文件出错');
}

//获取文件的后缀名
function getExt($file){

return array_pop(explode('.',$file));

}

//如果有文件,则获取文件后缀名,如果没有,则不保存
for($i = 0 ;$i<count($file['name']);$i++){

if(!empty($file['name'][$i])){

$ext[$i] = getExt($file['name'][$i]);

}
}

//获取的后缀名如何与指定的类型存在不一样,则结束程序
if(array_diff($ext,$allowType)){

die('对不起,文件格式不正确');

}


//通过有多少个后缀名进行上传移动,以减少服务器移动开销
foreach($ext as $k => $v){

//产生一个唯一的数,用做文件名,以免重复
$name = uniqid();

//文件名
$filename = $uploadDir.'/'.$name.rand(10,20).'.'.$v;

//添加临时文件
$tmp_file[] = $filename;

//验证是否是上传文件
if(is_uploaded_file($file['tmp_name'][$k])){

//移动文件
if(move_uploaded_file($file['tmp_name'][$k],$filename)){

//与用户进行交互
echo '第'.$chineseChar[$ident].'个文件上传成功<br />';

$ident++; //标识自加
}
}
}

//这条有点冗余安全,以防止特殊情况发生
if(count($ext) != $ident ){

//删除掉已经上传成功的文件
foreach($tmp_file as $value){

//判断文件是否存在,存在即删除,如果不存在
if(file_exists($value)){
//这里会出现一个权限问题,是否具有对文件删除的权限,没有写
unlink($value); //删除文件
}
}

die('<b style="color:red">对不起,此次上传存在导常</b>');

}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type:text/html;charset=UTF-8" />
<title>多文件上传</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="fle_form[]" />
<input type="file" name="fle_form[]" />
<input type="file" name="fle_form[]" />
<input type="submit" name="sbt_form" value="提交" />
</form>
</body>
</html>


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics