Home php教程 php手册 实用的PHP代码片段

实用的PHP代码片段

Jun 06, 2016 pm 07:41 PM
delete php code send fragment use mail

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

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

1

2

3

4

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

<span></span>

<span>error_reporting(0);</span>

Header("Content-Type: image/jpeg");

 

<span>//Get IP</span>

if (!empty($_SERVER['HTTP_CLIENT_IP']))

<span>{</span>

  $ip=$_SERVER['HTTP_CLIENT_IP'];

<span>}</span>

elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))

<span>{</span>

  $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];

<span>}</span>

<span>else</span>

<span>{</span>

  $ip=$_SERVER['REMOTE_ADDR'];

<span>}</span>

 

<span>//Time</span>

<span>$actual_time = time();</span>

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

 

<span>//GET Browser</span>

$browser = $_SERVER['HTTP_USER_AGENT'];

     

<span>//LOG</span>

$myFile = "log.txt";

$fh = fopen($myFile, 'a+');

$stringData = $actual_day . ' ' . $actual_hour . ' ' . $ip . ' ' . $browser . ' ' "\r\n";

<span>fwrite($fh, $stringData);</span>

<span>fclose($fh);</span>

 

<span>//Generate Image (Es. dimesion is 1x1)</span>

<span>$newimage = ImageCreate(1,1);</span>

<span>$grigio = ImageColorAllocate($newimage,255,255,255);</span>

<span>ImageJPEG($newimage);</span>

<span>ImageDestroy($newimage);</span>

     

<span>?></span>

源码

二、从网友中提取关键字

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

1

2

3

4

5

6

7

8

9

10

$meta = get_meta_tags('http://www.emoticode.net/');

$keywords = $meta['keywords'];

<span>// Split keywords</span>

$keywords = explode(',', $keywords );

<span>// Trim them</span>

$keywords = array_map( 'trim', $keywords );

<span>// Remove empty values</span>

<span>$keywords = array_filter( $keywords );</span>

 

<span>print_r( $keywords );</span>

源码

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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

 

$dom = new DOMDocument();

<span>@$dom->loadHTML($html);</span>

 

<span>// grab all the on the page</span>

$xpath = new DOMXPath($dom);

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

 

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

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

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

       echo $url.'<br>';

<span>}</span>

源码

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

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

1

2

3

4

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

<span>    </span><span>// removed trailing [.,;:] from URL</span>

    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;

<span>}</span>

  

function _make_web_ftp_clickable_cb($matches) {

    $ret = '';

    $dest = $matches[2];

    $dest = 'http://' . $dest;

  

    if ( empty($dest) )

        return $matches[0];

<span>    </span><span>// removed trailing [,;:] from URL</span>

    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;

<span>}</span>

  

function _make_email_clickable_cb($matches) {

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

    return $matches[1] . "<a href="%5C%22mailto:%24email%5C%22">$email</a>";

<span>}</span>

  

function make_clickable($ret) {

    $ret = ' ' . $ret;

<span>    </span><span>// in testing, using arrays here was found to be faster</span>

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

  

<span>    </span><span>// this one is not in an array because we need it to run last, for cleanup of accidental links within links</span>

    $ret = preg_replace("#(<a>]+?>|>))</a><a>]+?>([^>]+?)</a>#i""$1$3", $ret);

    $ret = trim($ret);

    return $ret;

<span>}</span>

源码

五、创建数据URL

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

1

2

3

4

5

function data_uri($file, $mime) {

  $contents=file_get_contents($file);

  $base64=base64_encode($contents);

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

<span>}</span>

源码

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

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

1

2

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

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

源码

七、移除Remove Microsoft Word HTML Tag


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

function cleanHTML($html) {

<span>/// <summary></summary></span>

<span>/// Removes all FONT and SPAN tags, and all Class and Style attributes.</span>

<span>/// Designed to get rid of non-standard Microsoft Word HTML tags.</span>

<span>/// </span>

<span>// start by completely removing all unwanted tags</span>

 

$html = ereg_replace("]*>","",$html);

 

<span>// then run another pass over the html (twice), removing unwanted attributes</span>

 

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

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

 

return $html

<span>}</span>

源码

八、检测浏览器语言

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

1

2

3

4

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;

<span>}</span>

源码

九、显示Facebook 粉丝数量

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

1

2

3

4

5

6

<span><?php </span></span>

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

<span>?></span>

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

CakePHP Project Configuration CakePHP Project Configuration Sep 10, 2024 pm 05:25 PM

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

CakePHP Date and Time CakePHP Date and Time Sep 10, 2024 pm 05:27 PM

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

CakePHP File upload CakePHP File upload Sep 10, 2024 pm 05:27 PM

To work on file upload we are going to use the form helper. Here, is an example for file upload.

CakePHP Routing CakePHP Routing Sep 10, 2024 pm 05:25 PM

In this chapter, we are going to learn the following topics related to routing ?

Discuss CakePHP Discuss CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

CakePHP Creating Validators CakePHP Creating Validators Sep 10, 2024 pm 05:26 PM

Validator can be created by adding the following two lines in the controller.

See all articles