首页 > php教程 > php手册 > 正文

实用的php代码

php中文网
发布: 2016-06-06 19:40:57
原创
1135人浏览过

http://www.csdn.net/article/2013-11-01/2817365-useful-snippets-for-php-developers 一、查看邮件是否已被阅读 当你在发送邮件时,你或许很想知道该邮件是否被对方已阅读。这里有段非常有趣的 代码 片段能够显示对方IP地址记录阅读的实际日期和时间。 1 2

http://www.csdn.net/article/2013-11-01/2817365-useful-snippets-for-php-developers

一、查看邮件是否已被阅读 

当你在发送邮件时,你或许很想知道该邮件是否被对方已阅读。这里有段非常有趣的代码片段能够显示对方IP地址记录阅读的实际日期和时间。

1

2

3

4

立即学习PHP免费学习笔记(深入)”;

5

6

7

8

9

10

11

12

13

14

15

16

秒哒
秒哒

秒哒-不用代码就能实现任意想法

秒哒 134
查看详情 秒哒

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

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 . ' ' . " ";

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);

     

?>

源码

二、从网页中提取关键字

一段伟大的代码片段能够轻松的从网页中提取关键字。

1

2

3

4

立即学习PHP免费学习笔记(深入)”;

5

6

7

8

9

10

$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 );

源码

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

使用DOM,你可以轻松从任何页面上抓取链接,代码示例如下:

1

2

3

4

立即学习PHP免费学习笔记(深入)”;

5

6

7

8

9

10

11

12

13

14

$html = file_get_contents('http://www.example.com');

 

$dom = newDOMDocument();

@$dom->loadHTML($html);

 

// grab all the on the page

$xpath = newDOMXPath($dom);

$hrefs = $xpath->evaluate("/html/body//a");

 

for ($i = 0; $i length; $i++) {

       $href = $hrefs->item($i);

       $url = $href->getAttribute('href');

       echo $url.'<br>';

}

源码

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

在WordPress中,如果你想自动转换URL,跳转至超链接页面,你可以利用内置的函数make_clickable()执行此操作。如果你想基于WordPress之外操作该程序,那么你可以参考wp-includes/formatting.php源代码

1

2

3

4

立即学习PHP免费学习笔记(深入)”;

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

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="%5C%22%24url%5C%22" 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="%5C%22%24dest%5C%22" rel='"nofollow"'>$dest</a>". $ret;

}

  

function _make_email_clickable_cb($matches) {

    $email = $matches[2] .'@' . $matches[3];

    return$matches[1] . "<a href="%5C%22mailto:%24email%5C%22">$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("#(]+?>|>))]+?>([^>]+?)#i","$1$3", $ret);

    $ret = trim($ret);

    return$ret;

}

源码

五、创建数据URL

数据URL可以直接嵌入到HTML/CSS/JS中,以节省大量的 HTTP请求。 下面的这段代码可利用$file轻松创建数据URL。

1

2

3

4

立即学习PHP免费学习笔记(深入)”;

5

function data_uri($file, $mime) {

  $contents=file_get_contents($file);

  $base64=base64_encode($contents);

  echo"data:$mime;base64,$base64";

}

源码

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

当你在搭建网站时,从远程服务器下载某张图片并且将其保存在自己的服务器上,这一操作会经常用到。代码如下:

1

2

$image = file_get_contents('http://www.url.com/image.jpg');

file_put_contents('/images/image.jpg', $image);//Where to save the image

源码

七、移除Remove Microsoft Word HTML Tag


1

2

3

4

立即学习PHP免费学习笔记(深入)”;

5

6

7

8

9

10

11

12

13

14

15

16

function cleanHTML($html) {

/// <summary></summary>

/// 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 (twice), removing unwanted attributes

 

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

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

 

return $html

}

源码

八、检测浏览器语言

如果你的网站上有多种语言,那么可以使用这段代码作为默认的语言来检测浏览器语言。该段代码将返回浏览器客户端使用的初始语言。

1

2

3

4

立即学习PHP免费学习笔记(深入)”;

5

6

7

8

9

10

11

12

13

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;

}

源码

九、显示Facebook 粉丝数量

如果你的网站或者博客上有内链的Facebook页面,你或许想知道拥有多少粉丝。这段代码将帮助你查看Facebook粉丝数,记住,别忘了在你的页面ID第二行添加该段代码

1

2

3

4

立即学习PHP免费学习笔记(深入)”;

5

6

<?php

    $page_id ="YOUR PAGE-ID";

    $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;

?>

源码
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号