必须收藏的23个php实用代码片段
在编写代码的时候有个神奇的工具总是好的!下面这里收集了 40+ PHP 代码片段,可以帮助你开发 PHP 项目。 这些 PHP 片段对于 PHP 初学者也非常有帮助,非常容易学习,让我们开始学习吧~ 1. 发送 SMS 在开发 Web 或者移动应用的时候,经常会遇到需要发送 SMS 给用户,或者因为登录原因,或者是为了发送信息。下面的 PHP 代码就实现了发送 SMS 的功能。 为了使用任何的语言发送 SMS,需要一个 SMS gateway。大部分的 SMS 会提供一个 API,这里是使用 MSG91 作为 SMS gateway。 //Sender ID,While using route4 sender id should be 6 characters long.
$senderId = "IKOONK"; //Your message to send,Add URL encoding here. //Define route //API URL // init the resource //Ignore SSL certificate verification //get response curl_close($ch); 其中“$authKey = "XXXXXXXXXXX";”需要你输入你的密码,“$senderId = "IKOONK";”需要你输入你的 SenderID。当输入移动号码的时候需要指定国家代码 (比如,美国是 1,印度是 91 )。 语法: 2. 使用 mandrill 发送邮件 Mandrill 是一款强大的 SMTP 提供器。开发者倾向于使用一个第三方 SMTP provider 来获取更好的收件交付。 下面的函数中,你需要把 “Mandrill.php” 放在同一个文件夹,作为 PHP 文件,这样就可以使用TA来发送邮件。 $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 账户中获得)。 语法: 为了达到最好的效果,最好按照 Mandrill 的教程去配置 DNS。 3. PHP 函数:阻止 SQL 注入 SQL 注入或者 SQLi 常见的攻击网站的手段,使用下面的代码可以帮助你防止这些工具。 $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;
}
语法: alert(1)";
$text = clean($text);
echo $text;
?>
4. 检测用户位置 使用下面的函数,可以检测用户是在哪个城市访问你的网站 $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',$regs) ) {
$state = $regs[1];
}
if( $city!='' && $state!='' ){
$location = $city . ',' . $state;
return $location;
}else{
return $default;
}
} 语法: 5. 获取 Web 页面的源代码 使用下面的函数,可以获取任意 Web 页面的 HTML 代码 $line) {
// loop thru each line and prepend line numbers
$output.= "Line #{$line_num} : " . htmlspecialchars($line) . "n";
}
}
语法: 6. 计算喜欢你的 Facebook 页面的用户 likes;
return $likes;
}
语法: 7. 确定任意图片的主导颜色 > 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 查询 使用下面的函数可以获取任何域名用户的完整细节 // 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 // You find resources and lists if (!isset($servers[$ext])){ $nic_server = $servers[$ext]; $output = ''; // connect to whois server: return $output; 语法: 9. 验证邮箱地址 有时候,当在网站填写表单,用户可能会输入错误的邮箱地址,这个函数可以验证邮箱地址是否有效。 语法: 10. 获取用户的真实 IP 语法: 11. 转换 URL:从字符串变成超链接 如果你正在开发论坛,博客或者是一个常规的表单提交,很多时候都要用户访问一个网站。使用这个函数,URL 字符串就可以自动的转换为超链接。 return $text;
} 语法: 12. 阻止多个 IP 访问你的网站 这个代码片段可以方便你禁止某些特定的 IP 地址访问你的网站 // 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. 强制性文件下载 如果你需要下载特定的文件而不用另开新窗口,下面的代码片段可以帮助你。 语法: 14. 创建 JSON 数据 使用下面的 PHP 片段可以创建 JSON 数据,可以方便你创建移动应用的 Web 服务 1,'name'=>"Mohit");
echo json_encode($json_data);
15. 压缩 zip 文件 使用下面的 PHP 片段可以即时压缩 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;
} 语法: 16. 解压文件 语法: 17. 缩放图片 if($ext == "jpg" || $ext == "jpeg")
$im = imagecreatefromjpeg($tmpname); elseif($ext == "png") $im = imagecreatefrompng($tmpname); elseif($ext == "gif") $im = imagecreatefromgif($tmpname); $x = imagesx($im); if($x <= $xmax && $y <= $ymax) if($x >= $y) { $im2 = imagecreatetruecolor($newx,$newy); 18. 使用 mail() 发送邮件 之前我们提供了如何使用 Mandrill 发送邮件的 PHP 代码片段,但是如果你不想使用第三方服务,那么可以使用下面的 PHP 代码片段。 语法: 19. 把秒转换成天数,小时数和分钟 =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;
}
语法: 20. 数据库连接 连接 MySQL 数据库 21. 目录清单 使用下面的 PHP 代码片段可以在一个目录中列出所有文件和文件夹 语法: 22. 检测用户语言 使用下面的 PHP 代码片段可以检测用户浏览器所使用的语言 23. 查看 CSV 文件 语法: 以上就是本文的全部内容,希望对大家的学习有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |