10个实用的PHP代码片段

本文由码农网 –
小峰原创翻译,转发请看清文末的转发必要,招待参加我们的付费投稿布置!

图片 1

生龙活虎、查看邮件是或不是已被阅读

在付出网址、app或博客时,代码片段可以真正地为你节省时间。昨天,我们就来共享一下自个儿访谈的片段最好有用的PHP代码片段。一齐来看生龙活虎看吧!

用作二个PHP开拓人士,平时收罗一些代码片段是特别便利的,以备以后应用。那些代码片段能够省去您宝贵的时刻,也能够升高你的工效。

当您在发送邮件时,你或许很想清楚该邮件是或不是被对方已阅读。这里有段特别风趣的代码片段能够浮现对方IP地址记录阅读的实际日期和岁月。

图片 2

1. PHP数组生成 CSV 文件

复制代码 代码如下:

1.创办数量UMuranoI

多少U库罗德I在停放图像到HTML / CSS /
JS中以节约HTTP恳求时格外有用,何况能够减少网址的加载时间。上面包车型客车函数能够创设基于$file的多寡UXC60I。

function data_uri($file, $mime) {
 $contents=file_get_contents($file);
 $base64=base64_encode($contents);
 echo "data:$mime;base64,$base64";
}

那确实是二个相当的轻松的机能,从八个PHP数组生成二个.csv文件。此函数使用
fputcsv PHP 内置函数生成逗号分隔文件。该函数有3个参数:数据,分隔符和CSV
enclosure,暗中认可是双引号。

二、从网页中领取关键字

2.合并JavaScript和CSS文件

另多少个足以尽量减弱HTTP央浼和节省页面加载时间的好建议是:合併你的CSS和JS文件。即使本身更建议我们使用专项使用插件(比如minify),但利用PHP来统一文件也特别轻巧。大家来看一下:

function combine_my_files($array_files, $destination_dir, $dest_file_name){
 if(!is_file($destination_dir . $dest_file_name)){ //continue only if file doesn't exist
 $content = "";
 foreach ($array_files as $file){ //loop through array list
 $content .= file_get_contents($file); //read each file
 }
 //You can use some sort of minifier here
 //minify_my_js($content);
 $new_file = fopen($destination_dir . $dest_file_name, "w" ); //open file for writing
 fwrite($new_file , $content); //write to destination
 fclose($new_file);
 return '<script src="'.%20$destination_dir%20.%20$dest_file_name.'"></script>'; //output combined file
 }else{
 //use stored file
 return '<script src="'.%20$destination_dir%20.%20$dest_file_name.'"></script>'; //output combine file
 }
}

同有时候,用法是如此的:

$files = array(
 'http://example/files/sample_js_file_1.js',
 'http://example/files/sample_js_file_2.js',
 'http://example/files/beautyquote_functions.js',
 'http://example/files/crop.js',
 'http://example/files/jquery.autosize.min.js',
 );
echo combine_my_files($files, 'minified_files/', md5("my_mini_file").".js");
function generateCsv($data, $delimiter = ',', $enclosure = '"') { $handle = fopen('php://temp', 'r+'); foreach ($data as $line) { fputcsv($handle, $line, $delimiter, $enclosure); } rewind($handle); while (!feof($handle)) { $contents .= fread($handle, 8192); } fclose($handle); return $contents;}

风流倜傥段伟大的代码片段能够轻巧的从网页中领到关键字。

3.翻看你的电子邮件是还是不是已读

当发送电子邮件时,你会期望知道你的邮件是不是已读。这里有贰个那多少个有意思的代码片段,它能够记录阅读你邮件的IP地址,以致实际的日子和岁月。

<?
error_reporting(0);
Header("Content-Type: image/jpeg");
//Get IP
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
  $ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
  $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
  $ip=$_SERVER['REMOTE_ADDR'];
}
//Time
$actual_time = time();
$actual_day = date('Y.m.d', $actual_time);
$actual_day_chart = date('d/m/y', $actual_time);
$actual_hour = date('H:i:s', $actual_time);
//GET Browser
$browser = $_SERVER['HTTP_USER_AGENT'];
//LOG
$myFile = "log.txt";
$fh = fopen($myFile, 'a+');
$stringData = $actual_day . ' ' . $actual_hour . ' ' . $ip . ' ' . $browser . ' ' . "rn";
fwrite($fh, $stringData);
fclose($fh);
//Generate Image (Es. dimesion is 1x1)
$newimage = ImageCreate(1,1);
$grigio = ImageColorAllocate($newimage,255,255,255);
ImageJPEG($newimage);
ImageDestroy($newimage);
?>

2. 免除对数据库的恶意代码输入

复制代码 代码如下:$meta =
get_meta_tags(‘ =
$meta[‘keywords’];// Split keywords$keywords = explode;// Trim
them$keywords = array_map;// Remove empty values$keywords =
array_filter;print_r;

4.从网页提取关键词

正如那小标题所说的那样:那个代码片段能让您轻便地从网页中领到元根本词。

$meta = get_meta_tags('http://www.emoticode.net/');
$keywords = $meta['keywords'];
// Split keywords
$keywords = explode(',', $keywords );
// Trim them
$keywords = array_map( 'trim', $keywords );
// Remove empty values
$keywords = array_filter( $keywords );
print_r( $keywords );

那是贰个得力的PHP函数,可清理全部的输入数据,减少代码注入的可能率。

三、查找页面上的装有链接

5.查找页面上的具有链接

接受DOM,你能够轻巧地抓取来网页上的享有链接。这里有一个做事示范:

$html = file_get_contents('http://www.example.com');
$dom = new DOMDocument();
@$dom->loadHTML($html);
// grab all the on the page
$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate("/html/body//a");
for ($i = 0; $i < $hrefs->length; $i++) {
 $href = $hrefs->item($i);
 $url = $href->getAttribute('href');
 echo $url.'<br />';
}
function sanitize_input_data($input_data) {$input_data = trim(htmlentities(strip_tags($input_data,“,”)));if (get_magic_quotes_gpc())$input_data = stripslashes($input_data);$input_data = mysql_real_escape_string($input_data);return $input_data;}

使用DOM,你可以轻便从其余页面上抓取链接,代码示比如下:

6.自动调换U瑞鹰L为可点击的超链接

在WordPress中,假诺您想在字符串中自动调换全数的U福睿斯L成可点击的超链接,那么使用内置函数make_clickable(卡塔尔能够让您思索事成。假若您须求在WordPress之外这么做,那么你能够在wp-includes/formatting.php仿照效法该函数的源代码:

function _make_url_clickable_cb($matches) {
$ret = '';
$url = $matches[2];
if ( empty($url) )
return $matches[0];
// removed trailing [.,;:] from URL
if ( in_array(substr($url, -1), array('.', ',', ';', ':')) === true ) {
$ret = substr($url, -1);
$url = substr($url, 0, strlen($url)-1);
}
return $matches[1] . "<a href="$url" rel="nofollow">$url</a>" . $ret;
}
function _make_web_ftp_clickable_cb($matches) {
$ret = '';
$dest = $matches[2];
$dest = 'http://' . $dest;
if ( empty($dest) )
return $matches[0];
// removed trailing [,;:] from URL
if ( in_array(substr($dest, -1), array('.', ',', ';', ':')) === true ) {
$ret = substr($dest, -1);
$dest = substr($dest, 0, strlen($dest)-1);
}
return $matches[1] . "<a href="$dest" rel="nofollow">$dest</a>" . $ret;
}
function _make_email_clickable_cb($matches) {
$email = $matches[2] . '@' . $matches[3];
return $matches[1] . "<a href="mailto:$email">$email</a>";
}
function make_clickable($ret) {
$ret = ' ' . $ret;
// in testing, using arrays here was found to be faster
$ret = preg_replace_callback('#([s>])([w]+?://[w\x80-\xff#$%&~/.-;:=,?@[]+]*)#is', '_make_url_clickable_cb', $ret);
$ret = preg_replace_callback('#([s>])((www|ftp).[w\x80-\xff#$%&~/.-;:=,?@[]+]*)#is', '_make_web_ftp_clickable_cb', $ret);
$ret = preg_replace_callback('#([s>])([.0-9a-z_+-]+)@(([0-9a-z-]+.)+[0-9a-z]{2,})#i', '_make_email_clickable_cb', $ret);
// this one is not in an array because we need it to run last, for cleanup of accidental links within links
$ret = preg_replace("#(<a( [^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i", "$1$3</a>", $ret);
$ret = trim($ret);
return $ret;
}

3. 解压文件Unzip

复制代码 代码如下:$html =
file_get_contents(‘ = new
DOMDocument();@$dom->loadHTML;// grab all the on the page$xpath = new
DOMXPath;$hrefs = $xpath->evaluate;for ($i = 0; $i <
$hrefs->length; $i++) { $href = $hrefs->item; $url =
$href->getAttribute; echo $url.’
‘;}

7.在你的服务器上下载并保存远程图像

在中间距服务器上下载一个图像,并将其保存在和睦的服务器上,在确立网址时很有用,而且那也比较轻便变成。上边包车型客车这两行代码就能够为您办到。

$image = file_get_contents('http://www.url.com/image.jpg');
file_put_contents('/images/image.jpg', $image); //Where to save the image

这是二个极度方便的PHP函数,可解压缩zip文件。它有七个参数:压缩文件的门路、目的文件的渠道。

四、自动调换UTiggoL,跳转至超链接

8.检查测量检验浏览器语言

要是您的网址采用二种语言,那么检验浏览器语言,并将这种语言作为暗中认可语言会很有用。下边包车型客车代码将赶回顾客浏览器接收的语言。

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;
}
function unzip_file($file, $destination) {// create object$zip = new ZipArchive() ;// open archiveif ($zip-open($file) !== TRUE) {die ('Could not open archive');}// extract contents to destination directory$zip-extractTo($destination);// close archive$zip-close();echo 'Archive extracted to directory';}

在WordPress中,倘令你想活动调换U奥迪Q3L,跳转至超链接页面,你可以选择内置的函数make_clickable(卡塔尔国实行此操作。假诺您想依靠WordPress之外操作该程序,那么你能够参照wp-includes/formatting.php源代码。

9.全文展现推特(Twitter卡塔尔客官的数目

设若您的网址或博客有二个Facebook的页面,那么你可能想要展现你有稍微个观者。这一个代码片段能够协理你拿到推特(TwitterState of Qatar观者的数目。不要遗忘在其次行增多你的页面ID。页面ID能够在地方http://facebook.com/yourpagename/info找到。

<?php
$page_id = "302807633129400";
$xml = @simplexml_load_file("http://api.facebook.com/restserver.php?method=facebook.fql.query&query=SELECT%20fan_count%20FROM%20page%20WHERE%20page_id=".$page_id."") or die ("a lot");
$fans = $xml->page->fan_count;
echo $fans;
?>
  1. 从网页提取关键字

复制代码 代码如下:function
_make_url_clickable_cb { $ret = ”; $url = $matches[2]; if return
$matches[0]; // removed trailing [.,;:] from URL if ( in_array,
array === true ) { $ret = substr; $url = substr-1); } return
$matches[1] . “$url” .
$ret;}function _make_web_ftp_clickable_cb { $ret = ”; $dest =
$matches[2]; $dest = ‘http://’ . $dest; if return $matches[0]; //
removed trailing [,;:] from URL if ( in_array, array === true ) {
$ret = substr; $dest = substr($dest, 0, strlen; } return $matches[1] .
“$dest” . $ret;}function
_make_email_clickable_cb { $email = $matches[2] . ‘@’ .
$matches[3]; return $matches[1] .
“$email”;}function
make_clickable { $ret = ‘ ‘ . $ret; // in testing, using arrays here
was found to be faster $ret =
preg_replace_callback([w]+?://[w\x80-\xff#$%&~/.-;:=,?@[]+]*)#is’,
‘_make_url_clickable_cb’, $ret); $ret =
preg_replace_callback.[w\x80-\xff#$%&~/.-;:=,?@[]+]*)#is’,
‘_make_web_ftp_clickable_cb’, $ret); $ret =
preg_replace_callback@+[0-9a-z]{2,})#i’,
‘_make_email_clickable_cb’, $ret); // this one is not in an array
because we need it to run last, for cleanup of accidental links within
links $ret = preg_replace)]+?>#i”, “$1$3”, $ret); $ret = trim;
return $ret;}

这是一个特别管用的代码片段,可从别的网页中提取meta关键字。

五、创立数量URAV4L

$meta = get_meta_tags('');$keywords = $meta['keywords'];// Split keywords$keywords = explode(',', $keywords );// Trim them$keywords = array_map( 'trim', $keywords );// Remove empty values$keywords = array_filter( $keywords );print_r( $keywords );

数据U中华VL能够一直嵌入到HTML/CSS/JS中,以节省大批量的 HTTP央浼。
上边的这段代码可接受$file轻易创建数量U奇骏L。

5. 检查服务器是还是不是是 HTTPS

复制代码 代码如下:function data_uri {
$contents=file_get_contents; $base64=base64_encode; echo
“data:$mime;base64,$base64”;}

其生龙活虎PHP代码片段能够读取关于您服务器 SSL 启用(HTTPS卡塔尔的连带音讯。

六、从服务器上下载&保存叁个远道图片

if ($_SERVER['HTTPS'] != "on") { echo "This is not HTTPS";}else{echo "This is HTTPS";}

当您在搭建网址时,从远程服务器下载某张图片而且将其保存在本身的服务器上,那风姿罗曼蒂克操作会平时用到。代码如下:

6. 在任意网页呈现源代码

复制代码 代码如下:$image =
file_get_contents(”,
$image); //Where to save the image

那是简约的PHP代码,用于展示此外网页的源代码,包涵行号。

七、移除Remove Microsoft Word HTML Tag

$lines = file('');foreach ($lines as $line_num = $line) { // loop thru each line and prepend line numbersecho "Line #{$line_num} : " . htmlspecialchars($line) . "n";}

当你使用Microsoft
Word会创立多数Tag,譬如font,span,style,class等。那些标签对于Word本人来说是十二分管用的,不过当您从Word粘贴至网页时,你会开采多数没用的Tag。由此,下边包车型客车这段代码可扶助您剔除全数无用的Word
HTML Tag。

  1. 始建数量的ULANDI

复制代码 代码如下:function cleanHTML {///
/// Removes all FONT and SPAN tags, and all Class and Style
attributes./// Designed to get rid of non-standard Microsoft Word HTML
tags./// // start by completely removing all unwanted tags$html =
ereg_replace?[^>]*>”,””,$html);// then run another pass over
the html , removing unwanted attributes$html =

因为我们精晓,数据UCRUISERI可以将图像嵌入到HTML、CSS和JS,以节约HTTP必要。那是一个特别实用的PHP代码片段来成立数量UPRADOI。

ereg_replace(class|lang|style|size|face)=(“[^”]*”|'[^’]*’|[^>]+)>”,””,$html);$html

ereg_replace(class|lang|style|size|face)=(“[^”]*”|'[^’]*’|[^>]+)>”,””,$html);return
$html}[code]

八、检测浏览器语言
借使您的网址上有两种语言,那么尚可这段代码作为默许的语言来检查评定浏览器语言。该段代码将回来浏览器顾客端选拔的始发语言。

[code]function get_client_language($availableLanguages,
$default=’en’){ if (isset($_SERVER[‘HTTP_ACCEPT_LANGUAGE’])) {
$langs=explode(‘,’,$_SERVER[‘HTTP_ACCEPT_LANGUAGE’]); foreach {
$choice=substr; if(in_array($choice, $availableLanguages)){ return
$choice; } } } return $default;}

九、展现Instagram 客官数量
要是你的网址大概博客上有内链的推特页面,你或者想领悟具备多少粉丝。这段代码将扶持您查看Twitter观者数,记住,别忘了在你的页面ID第二行增多该段代码。

复制代码 代码如下:page->fan_count;
echo $fans;?>

以上9个最好实用精髓的PHP代码特别的好用,小友人们仿效下自由发挥,稍作纠正就足以用到和煦的品种中了。

function data_uri($file, $mime) { $contents=file_get_contents($file); $base64=base64_encode($contents); echo "data:$mime;base64,$base64";}
  1. 获得一个页面中的全数链接

因而接收此代码段,您能够相当轻松地领取任何网页上的保有链接。

$html = file_get_contents('');$dom = new DOMDocument();@$dom-loadHTML($html);// grab all the on the page$xpath = new DOMXPath($dom);$hrefs = $xpath-evaluate("/html/body//a");for ($i = 0; $i  $hrefs-length; $i++) { $href = $hrefs-item($i); $url = $href-getAttribute('href'); echo $url.'';}
  1. 让网页标题变得对搜索引擎更温馨

那是个要命有效的PHP函数,可以依照网页标题创立搜索引擎友好的U福特ExplorerL。

function make_seo_name($title) {return preg_replace('/[^a-z0-9_-]/i', '', strtolower(str_replace(' ', '-', trim($title))));}

10. 下载和保留远程图片在你的服务器中

倘诺您想从二个一定的U凯雷德L下载图像并保存到服务器上,那么这一个代码片断适逢其会满意须要。

$image = file_get_contents('');file_put_contents('/images/image.jpg', $image); //save the image on your server

发表评论

电子邮件地址不会被公开。 必填项已用*标注