一些很有用的 PHP 代码片段
1. [代码]连接 MySQL 数据库
<?php $host="localhost"; $uname="database username"; $pass="database password"; $database = "database name"; $connection=mysql_connect($host,$uname,$pass) or die("Database Connection Failed"); $result=mysql_select_db($database) or die("database cannot be selected"); ?>
2. [代码]PHP function to display limited words from a string.
function words_limit( $str, $num, $append_str='' ){ $words = preg_split( '/[\s]+/', $str, -1, PREG_SPLIT_OFFSET_CAPTURE ); if( isset($words[$num][1]) ){ $str = substr( $str, 0, $words[$num][1] ).$append_str; } unset( $words, $num ); return trim( $str );> } echo words_limit($yourString, 50,'...'); or echo words_limit($yourString, 50);
3. [代码]显示 Youtube 或 Vimeo 视频缩略图
function video_image($url){ $image_url = parse_url($url); if($image_url['host'] == 'www.youtube.com' || $image_url['host'] == 'youtube.com'){ $array = explode("&", $image_url['query']); return "http://img.youtube.com/vi/".substr($array[0], 2)."/0.jpg"; }else if($image_url['host'] == 'www.youtu.be' || $image_url['host'] == 'youtu.be'){ $array = explode("/", $image_url['path']); return "http://img.youtube.com/vi/".$array[1]."/0.jpg"; }else if($image_url['host'] == 'www.vimeo.com' || $image_url['host'] == 'vimeo.com'){ $hash = unserialize(file_get_contents("http://vimeo.com/api/v2/video/". substr($image_url['path'], 1).".php")); return $hash[0]["thumbnail_medium"]; } } <img src="<?php echo video_image('youtube URL'); ?>" />
4. [代码]根据生日计算年龄
function age_from_dob($dob){ $dob = strtotime($dob); $y = date('Y', $dob); if (($m = (date('m') - date('m', $dob))) < 0) { $y++; } elseif ($m == 0 && date('d') - date('d', $dob) < 0) { $y++; } return date('Y') - $y; } echo age_from_dob('2005/04/19'); date in yyyy/mm/dd format.
5. [代码]Cookie 操作
//设置 Cookie setcookie("name", 'value', time()+3600*60*30); //显示 Cookie if ($_COOKIE["name"]!=""){ $_SESSION['name'] = $_COOKIE["name"]; }
6. [代码]生成随机密码
//方法1 echo substr(md5(uniqid()), 0, 8); //方法2 function rand_password($length){ $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; $chars .= '0123456789' ; $chars .= '!@#%^&*()_,./<>?;:[]{}\|=+'; $str = ''; $max = strlen($chars) - 1; for ($i=0; $i < $length; $i++) $str .= $chars[rand(0, $max)]; return $str; } echo rand_password(16);
7. [代码]计算日期差异
date_default_timezone_set("Asia/Calcutta"); function dt_differ($start, $end){ $start = date("G:i:s:m:d:Y", strtotime($start)); $date1=explode(":", $start); $end = date("G:i:s:m:d:Y", strtotime($end)); $date2=explode(":", $end); $starttime = mktime(date($date1[0]),date($date1[1]),date($date1[2]), date($date1[3]),date($date1[4]),date($date1[5])); $endtime = mktime(date($date2[0]),date($date2[1]),date($date2[2]), date($date2[3]),date($date2[4]),date($date2[5])); $seconds_dif = $starttime-$endtime; return $seconds_dif; }
8. [代码]转换秒到日期、时或者分
function seconds2days($mysec) { $mysec = (int)$mysec; if ( $mysec === 0 ) { return '0 second'; } $mins = 0; $hours = 0; $days = 0; if ( $mysec >= 60 ) { $mins = (int)($mysec / 60); $mysec = $mysec % 60; } if ( $mins >= 60 ) { $hours = (int)($mins / 60); $mins = $mins % 60; } if ( $hours >= 24 ) { $days = (int)($hours / 24); $hours = $hours % 60; } $output = ''; if ($days){ $output .= $days." days "; } if ($hours) { $output .= $hours." hours "; } if ( $mins ) { $output .= $mins." minutes "; } if ( $mysec ) { $output .= $mysec." seconds "; } $output = rtrim($output); return $output; }
9. [代码]文件解压
<?php $zip = zip_open("moooredale.zip"); if ($zip) { while ($zip_entry = zip_read($zip)) { $fp = fopen(zip_entry_name($zip_entry), "w"); if (zip_entry_open($zip, $zip_entry, "r")) { $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)); fwrite($fp,"$buf"); zip_entry_close($zip_entry); fclose($fp); } } zip_close($zip); } ?>