Practical php code

Source: Internet
Author: User
Tags get ip
Www. csdn. netarticle2013-11-012817365-useful-snippets-for-php-developers 1. Check whether the email has been read when you are sending the email, you may want to know whether the email has been read by the recipient. Here is a very interesting code snippet that shows the actual date and time when the recipient's IP address records are read. 12

Http://www.csdn.net/article/2013-11-01/2817365-useful-snippets-for-php-developers 1. Check if the email has been read when you are sending it, you may be wondering if it has been read by the recipient. Here is a very interesting code snippet that shows the actual date and time when the recipient's IP address records are read. 1 2

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

1. Check whether the email has been read

When you send an email, you may want to know whether the email has been read by the recipient. This section is very interesting.CodeThe clip displays the actual date and time when the recipient's IP address records are read.

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

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

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

?>

Source code

2. Extract keywords from webpages

A greatCodeFragments can easily extract keywords from webpages.

1

2

3

4

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

Source code

3. Search for all links on the page

With DOM, you can easily capture links from any page,CodeExample:

1

2

3

4

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 < $hrefs->length; $i++) {

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

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

echo $url.'
'
;

}

Source code

4. automatically convert the URL and jump to the hyperlink

In WordPress, If You Want To automatically convert the URL and jump to the hyperlink page, you can use the built-in function make_clickable () to perform this operation. If you want to operate this program outside of WordPress, you can refer to the wp-nodes des/formatting. php source.Code.

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

// 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] ."$url". $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] ."$dest". $ret;

}

function _make_email_clickable_cb($matches) {

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

return$matches[1] ."$email";

}

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;

}

Source code

5. Create a Data URL

Data URLs can be directly embedded into HTML, CSS, and JS to save a lot of HTTP requests. The following sectionCodeYou can use $ file to easily create data URLs.

1

2

3

4

5

function data_uri($file, $mime) {

$contents=file_get_contents($file);

$base64=base64_encode($contents);

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

}

Source code

6. Download and save a remote image from the server

When you build a website, you can download an image from a remote server and save it on your own server. This operation is often used.CodeAs follows:

1

2

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

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

Source code

7. Remove the Remove Microsoft Word HTML Tag


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

function cleanHTML($html) {

///

/// 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("<(/)?(font|span|del|ins)[^>]*>","",$html);

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

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

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

return $html

}

Source code

8. Check the browser Language

If your website has multiple languages, you can use this sectionCodeAs the default language to detect the browser language. SectionCodeThe initial language used by the browser client is returned.

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;

}

Source code

9. display the number of Facebook fans

If your website or blog has an internal link Facebook page, you may want to know how many fans you have. This sectionCodeThis will help you view the number of Facebook fans. Remember, don't forget to add this section in the second line of your page ID.Code.

1

2

3

4

5

6

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

?>

Source code

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.