必须收藏的23个php实用代码片段


Posted in PHP onFebruary 02, 2016

在编写代码的时候有个神奇的工具总是好的!下面这里收集了 40+ PHP 代码片段,可以帮助你开发 PHP 项目。
这些 PHP 片段对于 PHP 初学者也非常有帮助,非常容易学习,让我们开始学习吧~
1. 发送 SMS
在开发 Web 或者移动应用的时候,经常会遇到需要发送 SMS 给用户,或者因为登录原因,或者是为了发送信息。下面的 PHP 代码就实现了发送 SMS 的功能。
为了使用任何的语言发送 SMS,需要一个 SMS gateway。大部分的 SMS 会提供一个 API,这里是使用 MSG91 作为 SMS gateway。

function send_sms($mobile,$msg)
{
$authKey = "XXXXXXXXXXX";
date_default_timezone_set("Asia/Kolkata");
$date = strftime("%Y-%m-%d %H:%M:%S");
//Multiple mobiles numbers separated by comma
$mobileNumber = $mobile;
      
//Sender ID,While using route4 sender id should be 6 characters long.
$senderId = "IKOONK";
      
//Your message to send, Add URL encoding here.
$message = urlencode($msg);
      
//Define route
$route = "template";
//Prepare you post parameters
$postData = array(
  'authkey' => $authKey,
  'mobiles' => $mobileNumber,
  'message' => $message,
  'sender' => $senderId,
  'route' => $route
);
      
//API URL
$url="https://control.msg91.com/sendhttp.php";
      
// init the resource
$ch = curl_init();
curl_setopt_array($ch, array(
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST => true,
  CURLOPT_POSTFIELDS => $postData
  //,CURLOPT_FOLLOWLOCATION => true
));
      
      
//Ignore SSL certificate verification
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
      
      
//get response
$output = curl_exec($ch);
//Print error if any
if(curl_errno($ch))
{
  echo 'error:' . curl_error($ch);
}
      
curl_close($ch);
}

其中“$authKey = "XXXXXXXXXXX";”需要你输入你的密码,“$senderId = "IKOONK";”需要你输入你的 SenderID。当输入移动号码的时候需要指定国家代码 (比如,美国是 1,印度是 91 )。
语法:

<?php
$message = "Hello World";
$mobile = "918112998787";
send_sms($mobile,$message);
?>

2. 使用 mandrill 发送邮件
Mandrill 是一款强大的 SMTP 提供器。开发者倾向于使用一个第三方 SMTP provider 来获取更好的收件交付。
下面的函数中,你需要把 “Mandrill.php” 放在同一个文件夹,作为 PHP 文件,这样就可以使用TA来发送邮件。

function send_email($to_email,$subject,$message1)
{
require_once 'Mandrill.php';
$apikey = 'XXXXXXXXXX'; //specify your api key here
$mandrill = new Mandrill($apikey);
      
$message = new stdClass();
$message->html = $message1;
$message->text = $message1;
$message->subject = $subject;
$message->from_email = "blog@koonk.com";//Sender Email
$message->from_name = "KOONK";//Sender Name
$message->to = array(array("email" => $to_email));
$message->track_opens = true;
      
$response = $mandrill->messages->send($message);
}

$apikey = 'XXXXXXXXXX'; //specify your api key here”这里需要你指定你的 API 密钥(从 Mandrill 账户中获得)。
语法:

<?php
$to = "abc@example.com";
$subject = "This is a test email";
$message = "Hello World!";
send_email($to,$subject,$message);
?>

为了达到最好的效果,最好按照 Mandrill 的教程去配置 DNS。

3. PHP 函数:阻止 SQL 注入
SQL 注入或者 SQLi 常见的攻击网站的手段,使用下面的代码可以帮助你防止这些工具。

function clean($input)
{
  if (is_array($input))
  {
    foreach ($input as $key => $val)
     {
      $output[$key] = clean($val);
      // $output[$key] = $this->clean($val);
    }
  }
  else
  {
    $output = (string) $input;
    // if magic quotes is on then use strip slashes
    if (get_magic_quotes_gpc())
    {
      $output = stripslashes($output);
    }
    // $output = strip_tags($output);
    $output = htmlentities($output, ENT_QUOTES, 'UTF-8');
  }
// return the clean text
  return $output;
}

语法:

<?php
$text = "<script>alert(1)</script>";
$text = clean($text);
echo $text;
?>

4. 检测用户位置
使用下面的函数,可以检测用户是在哪个城市访问你的网站

function detect_city($ip) {
          
    $default = 'UNKNOWN';
      
    $curlopt_useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)';
          
    $url = 'http://ipinfodb.com/ip_locator.php?ip=' . urlencode($ip);
    $ch = curl_init();
          
    $curl_opt = array(
      CURLOPT_FOLLOWLOCATION => 1,
      CURLOPT_HEADER   => 0,
      CURLOPT_RETURNTRANSFER => 1,
      CURLOPT_USERAGENT  => $curlopt_useragent,
      CURLOPT_URL    => $url,
      CURLOPT_TIMEOUT     => 1,
      CURLOPT_REFERER     => 'http://' . $_SERVER['HTTP_HOST'],
    );
          
    curl_setopt_array($ch, $curl_opt);
          
    $content = curl_exec($ch);
          
    if (!is_null($curl_info)) {
      $curl_info = curl_getinfo($ch);
    }
          
    curl_close($ch);
          
    if ( preg_match('{<li>City : ([^<]*)</li>}i', $content, $regs) ) {
      $city = $regs[1];
    }
    if ( preg_match('{<li>State/Province : ([^<]*)</li>}i', $content, $regs) ) {
      $state = $regs[1];
    }
      
    if( $city!='' && $state!='' ){
     $location = $city . ', ' . $state;
     return $location;
    }else{
     return $default;
    }
          
  }

语法:

<?php
$ip = $_SERVER['REMOTE_ADDR'];
$city = detect_city($ip);
echo $city;
?>

5. 获取 Web 页面的源代码
使用下面的函数,可以获取任意 Web 页面的 HTML 代码

function display_sourcecode($url)
{
$lines = file($url);
$output = "";
foreach ($lines as $line_num => $line) {
  // loop thru each line and prepend line numbers
  $output.= "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "\n";
}
}

语法:

<?php
$url = "http://blog.koonk.com";
$source = display_sourcecode($url);
echo $source;
?>

6. 计算喜欢你的 Facebook 页面的用户

function fb_fan_count($facebook_name)
{
  $data = json_decode(file_get_contents("https://graph.facebook.com/".$facebook_name));
  $likes = $data->likes;
  return $likes;
}

语法:

<?php
$page = "koonktechnologies";
$count = fb_fan_count($page);
echo $count;
?>

7. 确定任意图片的主导颜色

function dominant_color($image)
{
$i = imagecreatefromjpeg($image);
for ($x=0;$x<imagesx($i);$x++) {
  for ($y=0;$y<imagesy($i);$y++) {
    $rgb = imagecolorat($i,$x,$y);
    $r  = ($rgb >> 16) & 0xFF;
    $g  = ($rgb >> & 0xFF;
    $b  = $rgb & 0xFF;
    $rTotal += $r;
    $gTotal += $g;
    $bTotal += $b;
    $total++;
  }
}
$rAverage = round($rTotal/$total);
$gAverage = round($gTotal/$total);
$bAverage = round($bTotal/$total);
}

8. whois 查询
使用下面的函数可以获取任何域名用户的完整细节

function whois_query($domain) {
     
  // fix the domain name:
  $domain = strtolower(trim($domain));
  $domain = preg_replace('/^http:\/\//i', '', $domain);
  $domain = preg_replace('/^www\./i', '', $domain);
  $domain = explode('/', $domain);
  $domain = trim($domain[0]);
     
  // split the TLD from domain name
  $_domain = explode('.', $domain);
  $lst = count($_domain)-1;
  $ext = $_domain[$lst];
     
  // You find resources and lists
  // like these on wikipedia:
  //
  // http://de.wikipedia.org/wiki/Whois
  //
  $servers = array(
    "biz" => "whois.neulevel.biz",
    "com" => "whois.internic.net",
    "us" => "whois.nic.us",
    "coop" => "whois.nic.coop",
    "info" => "whois.nic.info",
    "name" => "whois.nic.name",
    "net" => "whois.internic.net",
    "gov" => "whois.nic.gov",
    "edu" => "whois.internic.net",
    "mil" => "rs.internic.net",
    "int" => "whois.iana.org",
    "ac" => "whois.nic.ac",
    "ae" => "whois.uaenic.ae",
    "at" => "whois.ripe.net",
    "au" => "whois.aunic.net",
    "be" => "whois.dns.be",
    "bg" => "whois.ripe.net",
    "br" => "whois.registro.br",
    "bz" => "whois.belizenic.bz",
    "ca" => "whois.cira.ca",
    "cc" => "whois.nic.cc",
    "ch" => "whois.nic.ch",
    "cl" => "whois.nic.cl",
    "cn" => "whois.cnnic.net.cn",
    "cz" => "whois.nic.cz",
    "de" => "whois.nic.de",
    "fr" => "whois.nic.fr",
    "hu" => "whois.nic.hu",
    "ie" => "whois.domainregistry.ie",
    "il" => "whois.isoc.org.il",
    "in" => "whois.ncst.ernet.in",
    "ir" => "whois.nic.ir",
    "mc" => "whois.ripe.net",
    "to" => "whois.tonic.to",
    "tv" => "whois.tv",
    "ru" => "whois.ripn.net",
    "org" => "whois.pir.org",
    "aero" => "whois.information.aero",
    "nl" => "whois.domain-registry.nl"
  );
     
  if (!isset($servers[$ext])){
    die('Error: No matching nic server found!');
  }
     
  $nic_server = $servers[$ext];
     
  $output = '';
     
  // connect to whois server:
  if ($conn = fsockopen ($nic_server, 43)) {
    fputs($conn, $domain."\r\n");
    while(!feof($conn)) {
      $output .= fgets($conn,128);
    }
    fclose($conn);
  }
  else { die('Error: Could not connect to ' . $nic_server . '!'); }
     
  return $output;
}

语法:

<?php
$domain = "http://www.blog.koonk.com";
$result = whois_query($domain);
print_r($result);
?>

9. 验证邮箱地址
有时候,当在网站填写表单,用户可能会输入错误的邮箱地址,这个函数可以验证邮箱地址是否有效。

function is_validemail($email)
{
$check = 0;
if(filter_var($email,FILTER_VALIDATE_EMAIL))
{
$check = 1;
}
return $check;
}

语法:

<?php
$email = "blog@koonk.com";
$check = is_validemail($email);
echo $check;
// If the output is 1, then email is valid.
?>

10. 获取用户的真实  IP

function getRealIpAddr() 
{ 
  if (!emptyempty($_SERVER['HTTP_CLIENT_IP'])) 
  { 
    $ip=$_SERVER['HTTP_CLIENT_IP']; 
  } 
  elseif (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR'])) 
  //to check ip is pass from proxy 
  { 
    $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; 
  } 
  else 
  { 
    $ip=$_SERVER['REMOTE_ADDR']; 
  } 
  return $ip; 
}

语法:

<?php
$ip = getRealIpAddr();
echo $ip;
?>

11. 转换 URL:从字符串变成超链接
如果你正在开发论坛,博客或者是一个常规的表单提交,很多时候都要用户访问一个网站。使用这个函数,URL 字符串就可以自动的转换为超链接。

function makeClickableLinks($text)
{ 
 $text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)', 
 '<a href="\1">\1</a>', $text); 
 $text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)', 
 '\1<a href="http://\2">\2</a>', $text); 
 $text = eregi_replace('([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})', 
 '<a href="mailto:\1">\1</a>', $text); 
     
return $text; 
}

语法:

<?php
$text = "This is my first post on http://blog.koonk.com";
$text = makeClickableLinks($text);
echo $text;
?>

12. 阻止多个 IP 访问你的网站
这个代码片段可以方便你禁止某些特定的 IP 地址访问你的网站

if ( !file_exists('blocked_ips.txt') ) {
 $deny_ips = array(
 '127.0.0.1',
 '192.168.1.1',
 '83.76.27.9',
 '192.168.1.163'
 );
} else {
 $deny_ips = file('blocked_ips.txt');
}
// read user ip adress:
$ip = isset($_SERVER['REMOTE_ADDR']) ? trim($_SERVER['REMOTE_ADDR']) : '';
    
// search current IP in $deny_ips array
if ( (array_search($ip, $deny_ips))!== FALSE ) {
 // address is blocked:
 echo 'Your IP adress ('.$ip.') was blocked!';
 exit;
}

13. 强制性文件下载
如果你需要下载特定的文件而不用另开新窗口,下面的代码片段可以帮助你。

function force_download($file)
{
  $dir   = "../log/exports/";
  if ((isset($file))&&(file_exists($dir.$file))) {
    header("Content-type: application/force-download");
    header('Content-Disposition: inline; filename="' . $dir.$file . '"');
    header("Content-Transfer-Encoding: Binary");
    header("Content-length: ".filesize($dir.$file));
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="' . $file . '"');
    readfile("$dir$file");
  } else {
    echo "No file selected";
  }
}

语法:

<php
force_download("image.jpg");
?>

14. 创建 JSON 数据
使用下面的 PHP 片段可以创建 JSON 数据,可以方便你创建移动应用的 Web 服务

$json_data = array ('id'=>1,'name'=>"Mohit");
echo json_encode($json_data);

15. 压缩 zip 文件
使用下面的 PHP 片段可以即时压缩 zip 文件

function create_zip($files = array(),$destination = '',$overwrite = false) { 
  //if the zip file already exists and overwrite is false, return false 
  if(file_exists($destination) && !$overwrite) { return false; } 
  //vars 
  $valid_files = array(); 
  //if files were passed in... 
  if(is_array($files)) { 
    //cycle through each file 
    foreach($files as $file) { 
      //make sure the file exists 
      if(file_exists($file)) { 
        $valid_files[] = $file; 
      } 
    } 
  } 
  //if we have good files... 
  if(count($valid_files)) { 
    //create the archive 
    $zip = new ZipArchive(); 
    if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { 
      return false; 
    } 
    //add the files 
    foreach($valid_files as $file) { 
      $zip->addFile($file,$file); 
    } 
    //debug 
    //echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status; 
         
    //close the zip -- done! 
    $zip->close(); 
         
    //check to make sure the file exists 
    return file_exists($destination); 
  } 
  else 
  { 
    return false; 
  } 
}

语法:

<?php
$files=array('file1.jpg', 'file2.jpg', 'file3.gif'); 
create_zip($files, 'myzipfile.zip', true);
?>

16. 解压文件

function unzip($location,$newLocation)
{
    if(exec("unzip $location",$arr)){
      mkdir($newLocation);
      for($i = 1;$i< count($arr);$i++){
        $file = trim(preg_replace("~inflating: ~","",$arr[$i]));
        copy($location.'/'.$file,$newLocation.'/'.$file);
        unlink($location.'/'.$file);
      }
      return TRUE;
    }else{
      return FALSE;
    }
}

语法:

<?php
unzip('test.zip','unziped/test'); //File would be unzipped in unziped/test folder
?>

17. 缩放图片

function resize_image($filename, $tmpname, $xmax, $ymax) 
{ 
  $ext = explode(".", $filename); 
  $ext = $ext[count($ext)-1]; 
     
  if($ext == "jpg" || $ext == "jpeg") 
    $im = imagecreatefromjpeg($tmpname); 
  elseif($ext == "png") 
    $im = imagecreatefrompng($tmpname); 
  elseif($ext == "gif") 
    $im = imagecreatefromgif($tmpname); 
       
  $x = imagesx($im); 
  $y = imagesy($im); 
       
  if($x <= $xmax && $y <= $ymax) 
    return $im; 
     
  if($x >= $y) { 
    $newx = $xmax; 
    $newy = $newx * $y / $x; 
  } 
  else { 
    $newy = $ymax; 
    $newx = $x / $y * $newy; 
  } 
       
  $im2 = imagecreatetruecolor($newx, $newy); 
  imagecopyresized($im2, $im, 0, 0, 0, 0, floor($newx), floor($newy), $x, $y); 
  return $im2; 
}

18. 使用 mail() 发送邮件
 之前我们提供了如何使用 Mandrill 发送邮件的 PHP 代码片段,但是如果你不想使用第三方服务,那么可以使用下面的 PHP 代码片段。

function send_mail($to,$subject,$body)
{
$headers = "From: KOONK\r\n";
$headers .= "Reply-To: blog@koonk.com\r\n";
$headers .= "Return-Path: blog@koonk.com\r\n";
$headers .= "X-Mailer: PHP5\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail($to,$subject,$body,$headers);
}

语法:

<?php
$to = "admin@koonk.com";
$subject = "This is a test mail";
$body = "Hello World!";
send_mail($to,$subject,$body);
?>

19. 把秒转换成天数,小时数和分钟

function secsToStr($secs) {
  if($secs>=86400){$days=floor($secs/86400);$secs=$secs%86400;$r=$days.' day';if($days<>1){$r.='s';}if($secs>0){$r.=', ';}}
  if($secs>=3600){$hours=floor($secs/3600);$secs=$secs%3600;$r.=$hours.' hour';if($hours<>1){$r.='s';}if($secs>0){$r.=', ';}}
  if($secs>=60){$minutes=floor($secs/60);$secs=$secs%60;$r.=$minutes.' minute';if($minutes<>1){$r.='s';}if($secs>0){$r.=', ';}}
  $r.=$secs.' second';if($secs<>1){$r.='s';}
  return $r;
}

语法:

<?php
$seconds = "56789";
$output = secsToStr($seconds);
echo $output;
?>

20. 数据库连接
连接 MySQL 数据库

<?php
$DBNAME = 'koonk';
$HOST = 'localhost';
$DBUSER = 'root';
$DBPASS = 'koonk';
$CONNECT = mysql_connect($HOST,$DBUSER,$DBPASS);
if(!$CONNECT)
{
  echo 'MySQL Error: '.mysql_error();
}
$SELECT = mysql_select_db($DBNAME);
if(!$SELECT)
{
  echo 'MySQL Error: '.mysql_error();
}
?>

21. 目录清单
使用下面的 PHP 代码片段可以在一个目录中列出所有文件和文件夹

function list_files($dir)
{
  if(is_dir($dir))
  {
    if($handle = opendir($dir))
    {
      while(($file = readdir($handle)) !== false)
      {
        if($file != "." && $file != ".." && $file != "Thumbs.db"/*pesky windows, images..*/)
        {
          echo '<a target="_blank" href="'.$dir.$file.'">'.$file.'</a>'."\n";
        }
      }
      closedir($handle);
    }
  }
}

语法:

<?php
  list_files("images/"); //This will list all files of images folder
?>

22. 检测用户语言
使用下面的 PHP 代码片段可以检测用户浏览器所使用的语言

function get_client_language($availableLanguages, $default='en'){
  if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
    $langs=explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);
    foreach ($langs as $value){
      $choice=substr($value,0,2);
      if(in_array($choice, $availableLanguages)){
        return $choice;
      }
    }
  }
  return $default;
}

23. 查看 CSV 文件

function readCSV($csvFile){
  $file_handle = fopen($csvFile, 'r');
  while (!feof($file_handle) ) {
    $line_of_text[] = fgetcsv($file_handle, 1024);
  }
  fclose($file_handle);
  return $line_of_text;
}

语法:

<?php
$csvFile = "test.csv";
$csv = readCSV($csvFile);
$a = csv[0][0]; // This will get value of Column 1 & Row 1
?>

以上就是本文的全部内容,希望对大家的学习有所帮助。

PHP 相关文章推荐
PHP 和 HTML
Oct 09 PHP
生成卡号php代码
Apr 09 PHP
用php或asp创建网页桌面快捷方式的代码
Mar 23 PHP
php笔记之:初探PHPcms模块开发介绍
Apr 26 PHP
php制作中间带自己定义图片二维码的方法
Jan 27 PHP
PHP框架Swoole定时器Timer特性分析
Aug 19 PHP
thinkphp获取栏目和文章当前位置的方法
Oct 29 PHP
54个提高PHP程序运行效率的方法
Jul 19 PHP
php简单备份与还原MySql的方法
May 09 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 PHP
PHP开发api接口安全验证操作实例详解
Mar 26 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
Feb 01 #PHP
PHP自带方法验证邮箱是否存在
Feb 01 #PHP
YII CLinkPager分页类扩展增加显示共多少页
Jan 29 #PHP
实例详解PHP中html word 互转的方法
Jan 28 #PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
Jan 28 #PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
Jan 27 #PHP
PHP文件上传之多文件上传的实现思路
Jan 27 #PHP
You might like
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
PHP连接Access数据库的方法小结
2013/06/20 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
2016/08/12 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
2016/08/21 PHP
Aster vs KG BO3 第二场2.18
2021/03/10 DOTA
JS 日期验证正则附asp日期格式化函数
2009/09/11 Javascript
window.location.reload()方法刷新页面弹出要再次显示该网页对话框
2013/04/24 Javascript
js用typeof方法判断undefined类型
2014/07/15 Javascript
JS实现点击文字对应DIV层不停闪动效果的方法
2015/03/02 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
JavaScript 实现完美兼容多浏览器的复制功能代码
2015/04/28 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
Highcharts学习之坐标轴
2016/08/02 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
2017/03/27 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
vue-cli下的vuex的简单Demo图解(实现加1减1操作)
2018/02/26 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
python获取糗百图片代码实例
2013/12/18 Python
python 转换 Javascript %u 字符串为python unicode的代码
2016/09/06 Python
关于Django Models CharField 参数说明
2020/03/31 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
2020/05/26 Python
python如何调用百度识图api
2020/09/29 Python
5款实用的python 工具推荐
2020/10/13 Python
纯css3实现照片墙效果
2014/12/26 HTML / CSS
浅谈cookie和localStorage那些事
2019/08/27 HTML / CSS
CK美国官网:Calvin Klein
2016/08/26 全球购物
英国家用电器购物网站:Hughes
2018/02/23 全球购物
董事长职责范文
2013/11/08 职场文书
单位刻章介绍信范文
2014/01/11 职场文书
测绘专业大学生职业生涯规划书
2014/02/10 职场文书
应急管理培训方案
2014/06/12 职场文书
国际经济与贸易专业求职信
2014/07/10 职场文书
写给同事的离职感言
2015/08/04 职场文书
jquery插件实现搜索历史
2021/04/24 jQuery
SQL Server中的游标介绍
2022/05/20 SQL Server