Web Design
Mobile Internet
Brand Design
Innovative
News
Encyclopedias

[Produced by Beijing website] Twenty one section of PHP lifesaving code

Date:2012-10-21 Source: Shangpin China Type: website encyclopedia
Word Size: small   medium   big

Twenty one PHP lifesaving codes
 

1. PHP can read random strings

This code will create a readable string that is closer to the words in the dictionary. It is practical and has password verification function.

  1. /**************  
  2. *@length - length of random string (must be a multiple of 2)  
  3. **************/  
  4. function  readable_random_string( $length  = 6){ 
  5.      $conso = array ( "b" , "c" , "d" , "f" , "g" , "h" , "j" , "k" , "l"
  6.      "m" , "n" , "p" , "r" , "s" , "t" , "v" , "w" , "x" , "y" , "z" );  
  7.      $vocal = array ( "a" , "e" , "i" , "o" , "u" );  
  8.      $password = "" ;  
  9.     srand ((double)microtime()*1000000);  
  10.      $max  =  $length /2;  
  11.      for ( $i =1;   $i <= $max ;   $i ++) 
  12.     { 
  13.      $password .= $conso [rand(0,19)];  
  14.      $password .= $vocal [rand(0,4)];  
  15.     } 
  16.      return   $password ;  

 

   2. PHP generates a random string

If you do not need a readable string, use this function instead to create a random string as the user's random password.

  1. /*************  
  2. *@l - length of random string  
  3. */  
  4. function  generate_rand( $l ){ 
  5.    $c "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" ;  
  6.   srand((double)microtime()*1000000);  
  7.    for ( $i =0;   $i < $l ;   $i ++) { 
  8.        $rand .=  $c [rand()% strlen ( $c )];  
  9.   } 
  10.    return   $rand ;  

 

 

   3. PHP encoded email address

With this code, you can encode any e-mail address as an html character entity to prevent it from being collected by spam programs.

  1. function  encode_email( $email = ' [email protected] ' $linkText = 'Contact Us' $attrs  = 'class="emailencoder"'  ) 
  2.      // remplazar aroba y puntos  
  3.      $email  =  str_replace ( '@' '&#64;' $email );  
  4.      $email  =  str_replace ( '.' '&#46;' $email );  
  5.      $email  =  str_split ( $email , 5);    
  6.  
  7.      $linkText  =  str_replace ( '@' '&#64;' $linkText );  
  8.      $linkText  =  str_replace ( '.' '&#46;' $linkText );  
  9.      $linkText  =  str_split ( $linkText , 5);    
  10.  
  11.      $part1  =  '<a href="ma' ;  
  12.      $part2  =  'ilto&#58;' ;  
  13.      $part3  =  '" ' $attrs  . ' >' ;  
  14.      $part4  =  '</a>' ;    
  15.  
  16.      $encoded  =  '<script type="text/javascript">' ;  
  17.      $encoded  .=   "document.write('$part1');" ;  
  18.      $encoded  .=   "document.write('$part2');" ;  
  19.      foreach ( $email   as   $e
  20.     { 
  21.              $encoded  .=   "document.write('$e');" ;  
  22.     } 
  23.      $encoded  .=   "document.write('$part3');" ;  
  24.      foreach ( $linkText   as   $l
  25.     { 
  26.              $encoded  .=   "document.write('$l');" ;  
  27.     } 
  28.      $encoded  .=   "document.write('$part4');" ;  
  29.      $encoded  .=   '</script>' ;    
  30.  
  31.      return   $encoded ;  

 

 

   4. PHP verifies the email address

E-mail verification is probably the most commonly used web form verification in. This code can also choose to check the MX record in the DNS of the e-mail domain in addition to verifying the e-mail address, making the e-mail verification more powerful.

  1. function  is_valid_email( $email $test_mx  = false) 
  2.      if ( eregi ( "^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})$" $email )) 
  3.          if ( $test_mx
  4.         { 
  5.             list( $username $domain ) = split( "@" $email );  
  6.              return   getmxrr ( $domain $mxrecords );  
  7.         } 
  8.          else  
  9.              return  true;  
  10.      else  
  11.          return  false;  

 

 

   5. PHP lists directory contents

  1. function  list_files( $dir
  2.      if ( is_dir ( $dir )) 
  3.     { 
  4.          if ( $handle  = opendir( $dir )) 
  5.         { 
  6.              while (( $file  = readdir( $handle )) !==  false) 
  7.             { 
  8.                  if ( $file  !=   "."  &&  $file  !=   ".."  &&  $file  !=   "Thumbs.db"
  9.                 { 
  10.                      echo   '<a target="_blank" href="' . $dir . $file . '">' . $file . '</a><br>' . "n" ;  
  11.                 } 
  12.             } 
  13.              closedir ( $handle );  
  14.         } 
  15.     } 

 

 

   6. PHP Destroy Directory

Delete a directory, including its contents.

  1. /*****  
  2. *@dir - Directory to destroy  
  3. *@virtual[optional]- whether a virtual directory  
  4. */  
  5. function  destroyDir( $dir $virtual  = false) 
  6.      $ds  = DIRECTORY_SEPARATOR;  
  7.      $dir  =  $virtual  ?   realpath ( $dir ) :  $dir ;  
  8.      $dir  =  substr ( $dir , -1) ==  $ds  ?   substr ( $dir , 0, -1) :  $dir ;  
  9.      if  ( is_dir ( $dir ) &&  $handle  = opendir( $dir )) 
  10.     { 
  11.          while  ( $file  = readdir( $handle )) 
  12.         { 
  13.              if  ( $file  ==  '.'  ||  $file  ==  '..'
  14.             { 
  15.                  continue ;  
  16.             } 
  17.              elseif  ( is_dir ( $dir . $ds . $file )) 
  18.             { 
  19.                 destroyDir( $dir . $ds . $file );  
  20.             } 
  21.              else  
  22.             { 
  23.                 unlink( $dir . $ds . $file );  
  24.             } 
  25.         } 
  26.          closedir ( $handle );  
  27.          rmdir ( $dir );  
  28.          return  true;  
  29.     } 
  30.      else  
  31.     { 
  32.          return  false;  
  33.     } 

 

 

   7. PHP parsing JSON data

Like most popular Web services, such as Twitter, which provides data through open APIs, it always knows how to parse various transmission formats of API data, including JSON, XML, and so on.

  1. $json_string = '{"id":1,"name":"foo","email":" [email protected] ","interest":["wordpress","php"]} ' ;  
  2. $obj =json_decode( $json_string );  
  3. echo   $obj ->name;   //prints foo  
  4. echo   $obj ->interest[1];   //prints php  

 

 

   8. PHP parses XML data

  1. //xml string  
  2. $xml_string ="<?xml version= '1.0' ?>  
  3. <users> 
  4. <user id= '398'
  5. <name>Foo</name> 
  6. <email> [email protected] </name> 
  7. </user> 
  8. <user id= '867'
  9. <name>Foobar</name> 
  10. <email> [email protected] </name> 
  11. </user> 
  12. </users>";  
  13.  
  14. //load the xml string using simplexml  
  15. $xml  = simplexml_load_string( $xml_string );   
  16.  
  17. //loop through the each node of user  
  18. foreach  ( $xml ->user  as   $user
  19. //access attribute  
  20. echo   $user [ 'id' ],  ' ' ;  
  21. //subnodes are accessed by -> operator  
  22. echo   $user ->name,  ' ' ;  
  23. echo   $user ->email,  '<br />' ;  

 

 

   9. PHP Create Log Abbreviation

Create user-friendly log abbreviations.

  1. function  create_slug( $string ){ 
  2. $slug =preg_replace( '/[^A-Za-z0-9-]+/' '-' $string );  
  3. return   $slug ;  

 

 

   10. PHP obtains the real IP address of the client

This function will get the real IP address of the user, even if he uses a proxy server.

  1. function  getRealIpAddr() 
  2.      if  (!emptyempty( $_SERVER [ 'HTTP_CLIENT_IP' ])) 
  3.     { 
  4.          $ip = $_SERVER [ 'HTTP_CLIENT_IP' ];  
  5.     } 
  6.      elseif  (!emptyempty( $_SERVER [ 'HTTP_X_FORWARDED_FOR' ])) 
  7.      //to check ip is pass from proxy  
  8.     { 
  9.          $ip = $_SERVER [ 'HTTP_X_FORWARDED_FOR' ];  
  10.     } 
  11.      else  
  12.     { 
  13.          $ip = $_SERVER [ 'REMOTE_ADDR' ];  
  14.     } 
  15.      return   $ip ;  

 

 

   11. PHP mandatory file download

Provide users with mandatory file download function.

  1. /********************  
  2. *@file - path to file  
  3. */  
  4. function  force_download( $file
  5. if  ((isset( $file ))&&( file_exists ( $file ))) { 
  6. header( "Content-length: " . filesize ( $file ));  
  7. header( 'Content-Type: application/octet-stream' );  
  8. header( 'Content-Disposition: attachment;  filename="'  .   $file  .   '"' );  
  9. readfile( "$file" );  
  10. else  { 
  11. echo   "No file selected" ;  

 

 

   12. PHP creates tag cloud

  1. function  getCloud(  $data  =  array (),  $minFontSize  = 12,  $maxFontSize  = 30 ) 
  2. $minimumCount  = min(  array_values $data  ) );  
  3. $maximumCount  = max(  array_values $data  ) );  
  4. $spread  =  $maximumCount  -  $minimumCount ;  
  5. $cloudHTML  =  '' ;  
  6. $cloudTags  =  array ();   
  7.  
  8. $spread  == 0 &&  $spread  = 1;   
  9.  
  10. foreach $data   as   $tag  =>  $count  ) 
  11. $size  =  $minFontSize  + (  $count  -  $minimumCount  ) 
  12. * (  $maxFontSize  -  $minFontSize  ) /  $spread ;  
  13. $cloudTags [] =  '<a style="font-size: '  .   floor $size  ) .   'px'  
  14. '" href="#" title="''  .   $tag  .  
  15. '' returned a count of '  .   $count  .   '">'  
  16. . htmlspecialchars(  stripslashes $tag  ) ) .   '</a>' ;  
  17. }  
  18.  
  19. return  join(  "n" $cloudTags  ) .   "n" ;  
  20. /**************************  
  21. **** Sample usage ***/  
  22. $arr  = Array( 'Actionscript'  => 35,  'Adobe'  => 22,  'Array'  => 44,  'Background'  => 43, 
  23. 'Blur'  => 18,  'Canvas'  => 33,  'Class'  => 15,  'Color Palette'  => 11,  'Crop'  => 42, 
  24. 'Delimiter'  => 13,  'Depth'  => 34,  'Design'  => 8,  'Encode'  => 12,  'Encryption'  => 30, 
  25. 'Extract'  => 28,  'Filters'  => 42);  
  26. echo  getCloud( $arr , 12, 36);  

 

 

   13. PHP searches for the similarity of two strings

PHP provides a rarely used similar_text function, but this function is very useful for comparing two strings and returning the percentage of similarity.

  1. similar_text( $string1 $string2 $percent );  
  2. //$percent will have the percentage of similarity  

 

 

   14. PHP uses Gravatar general avatar in applications

As WordPress becomes more and more popular, Gravatar is also popular. Because Gravatar provides an easy-to-use API, it is also very convenient to incorporate it into applications.

  1. /******************  
  2. *@email - Email address to show gravatar for  
  3. *@size - size of gravatar  
  4. *@default - URL of default gravatar to use  
  5. *@rating - rating of Gravatar(G, PG, R, X)  
  6. */  
  7. function  show_gravatar( $email $size $default $rating
  8. echo   '<img src=" //www.gravatar.com/avatar.php?gravatar_id= ' .md5( $email ).  
  9. '&default=' . $default . '&size=' . $size . '&rating=' . $rating . '" width="' . $size .'px" 
  10. height= "'.$size.'px"  />';  

 

 

   15. PHP truncates text at character breakpoints

The so-called word break is the place where a word can be broken when changing lines. This function truncates the string at hyphenation.

  1. // Original PHP code by Chirp Internet: www.chirp.com.au  
  2. // Please acknowledge use of this code by including this header.  
  3. function  myTruncate( $string $limit $break = "." $pad = "..." ) { 
  4. // return with no change if string is shorter than $limit  
  5. if ( strlen ( $string ) <=  $limit
  6. return   $string ;   
  7.  
  8. // is $break present between $limit and the end of the string?  
  9. if (false !== ( $breakpoint  =  strpos ( $string $break $limit ))) { 
  10. if ( $breakpoint  <  strlen ( $string ) - 1) { 
  11. $string  =  substr ( $string , 0,  $breakpoint ) .   $pad ;  
  12. return   $string ;  
  13. /***** Example ****/  
  14. $short_string =myTruncate( $long_string , 100,  ' ' );  

 

 

   16. Zip compression of PHP files

  1. /* creates a compressed zip file */  
  2. function  create_zip( $files  =  array (), $destination  =  '' , $overwrite  = false) { 
  3. //if the zip file already exists and overwrite is false, return false  
  4. if ( file_exists ( $destination ) && ! $overwrite ) {  return  false;  } 
  5. //vars  
  6. $valid_files  =  array ();  
  7. //if files were passed in...  
  8. if ( is_array ( $files )) { 
  9. //cycle through each file  
  10. foreach ( $files   as   $file ) { 
  11. //make sure the file exists  
  12. if ( file_exists ( $file )) { 
  13. $valid_files [] =  $file ;  
  14. //if we have good files...  
  15. if ( count ( $valid_files )) { 
  16. //create the archive  
  17. $zip  =  new  ZipArchive();  
  18. if ( $zip ->open( $destination , $overwrite  ?  ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !==  true) { 
  19. return  false;  
  20. //add the files  
  21. foreach ( $valid_files   as   $file ) { 
  22. $zip ->addFile( $file , $file );  
  23. //debug  
  24. //echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status;    
  25.  
  26. //close the zip -- done!  
  27. $zip ->close();   
  28.  
  29. //check to make sure the file exists  
  30. return   file_exists ( $destination );  
  31. else  
  32. return  false;  
  33. /***** Example Usage ***/  
  34. $files = array ( 'file1.jpg' 'file2.jpg' 'file3.gif' );  
  35. create_zip( $files 'myzipfile.zip' , true);  

 

 

   17. PHP decompress Zip file

  1. /**********************  
  2. *@file - path to zip file  
  3. *@destination - destination directory for unzipped files  
  4. */  
  5. function  unzip_file( $file $destination ){ 
  6. // create object  
  7. $zip  =  new  ZipArchive() ;  
  8. // open archive  
  9. if  ( $zip ->open( $file ) !==  TRUE) { 
  10. die  (’Could not open archive’);  
  11. // extract contents to destination directory  
  12. $zip ->extractTo( $destination );  
  13. // close archive  
  14. $zip ->close();  
  15. echo   'Archive extracted to directory' ;  

 

 

   18. PHP presets http strings for URL addresses

 

Sometimes you need to accept the URL input in some forms, but users rarely add the //field. This code will add this field to the URL.

  1. if  (!preg_match( "/^(http|ftp):/" $_POST [ 'url' ])) { 
  2.     $_POST [ 'url' ] =  '//' . $_POST [ 'url' ];  

 

 

 

   19. PHP converts URL strings into hyperlinks

This function converts URL and E-mail address strings into clickable hyperlinks.

  1. function  makeClickableLinks( $text ) { 
  2. $text  =  eregi_replace ( '(((f|ht) {1}tp ://)[-a-zA-Z0-9@:%_+.~#?&//=]+)'
  3. '<a href="1">1</a>' $text );  
  4. $text  =  eregi_replace ( '([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)'
  5. '1<a href="//2">2</a>' $text );  
  6. $text  =  eregi_replace ( '([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})'
  7. '<a href="mailto:1">1</a>' $text );   
  8.  
  9. return   $text ;  

 

 

   20. PHP Resize Image

Creating image thumbnails takes a lot of time, and this code will help you understand the logic of thumbnails.

  1. /**********************  
  2. *@filename - path to the image  
  3. *@tmpname - temporary path to thumbnail  
  4. *@xmax - max width  
  5. *@ymax - max height  
  6. */  
  7. function  resize_image( $filename $tmpname $xmax $ymax
  8.      $ext  =  explode ( "." $filename );  
  9.      $ext  =  $ext [ count ( $ext )-1];    
  10.  
  11.      if ( $ext  ==  "jpg"  ||  $ext  ==  "jpeg"
  12.          $im  = imagecreatefromjpeg( $tmpname );  
  13.      elseif ( $ext  ==  "png"
  14.          $im  = imagecreatefrompng( $tmpname );  
  15.      elseif ( $ext  ==  "gif"
  16.          $im  = imagecreatefromgif( $tmpname );    
  17.  
  18.      $x  = imagesx( $im );  
  19.      $y  = imagesy( $im );    
  20.  
  21.      if ( $x  <=  $xmax  &&  $y  <=  $ymax
  22.          return   $im ;    
  23.  
  24.      if ( $x  >=  $y ) { 
  25.          $newx  =  $xmax ;  
  26.          $newy  =  $newx  *  $y  /  $x ;  
  27.     } 
  28.      else  { 
  29.          $newy  =  $ymax ;  
  30.          $newx  =  $x  /  $y  *  $newy ;  
  31.     }   
  32.  
  33.      $im2  = imagecreatetruecolor( $newx $newy );  
  34.     imagecopyresized( $im2 $im , 0, 0, 0, 0,  floor ( $newx ),  floor ( $newy ),  $x $y );  
  35.      return   $im2 ;  

 

 

   21. PHP detects ajax requests

Most JavaScript frameworks, such as jquery and Mootools, will send additional HTTP_X_REQUESTED_WITH header information when sending Ajax requests. The header is an Ajax request, so you can detect Ajax requests on the server side.

  1. if (!emptyempty( $_SERVER [ 'HTTP_X_REQUESTED_WITH' ]) &&  strtolower ( $_SERVER [ 'HTTP_X_REQUESTED_WITH' ]) ==  'xmlhttprequest' ){ 
  2.      //If AJAX Request Then  
  3. } else
  4. //something else  
label: Beijing website production High end website construction


Please contact our consultant

+86 10-60259772

Please provide your contact number. The project manager of shangpin China will contact you as soon as possible.