-
simplified Chinese character -
Simplified Chinese English
Shangpin China Joins Hands with Beisheng Internet to Create a New Chapter in Website Construction
[Produced by Beijing website] Twenty one section of PHP lifesaving code
1. PHP can read random strings
-
/************** -
*@length - length of random string (must be a multiple of 2) -
**************/ -
function readable_random_string( $length = 6){ -
$conso = array ( "b" , "c" , "d" , "f" , "g" , "h" , "j" , "k" , "l" , -
"m" , "n" , "p" , "r" , "s" , "t" , "v" , "w" , "x" , "y" , "z" ); -
$vocal = array ( "a" , "e" , "i" , "o" , "u" ); -
$password = "" ; -
srand ((double)microtime()*1000000); -
$max = $length /2; -
for ( $i =1; $i <= $max ; $i ++) -
{ -
$password .= $conso [rand(0,19)]; -
$password .= $vocal [rand(0,4)]; -
} -
return $password ; -
}
-
/************* -
*@l - length of random string -
*/ -
function generate_rand( $l ){ -
$c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" ; -
srand((double)microtime()*1000000); -
for ( $i =0; $i < $l ; $i ++) { -
$rand .= $c [rand()% strlen ( $c )]; -
} -
return $rand ; -
}
-
function encode_email( $email = ' [email protected] ' , $linkText = 'Contact Us' , $attrs = 'class="emailencoder"' ) -
{ -
// remplazar aroba y puntos -
$email = str_replace ( '@' , '@' , $email ); -
$email = str_replace ( '.' , '.' , $email ); -
$email = str_split ( $email , 5); -
-
$linkText = str_replace ( '@' , '@' , $linkText ); -
$linkText = str_replace ( '.' , '.' , $linkText ); -
$linkText = str_split ( $linkText , 5); -
-
$part1 = '<a href="ma' ; -
$part2 = 'ilto:' ; -
$part3 = '" ' . $attrs . ' >' ; -
$part4 = '</a>' ; -
-
$encoded = '<script type="text/javascript">' ; -
$encoded .= "document.write('$part1');" ; -
$encoded .= "document.write('$part2');" ; -
foreach ( $email as $e ) -
{ -
$encoded .= "document.write('$e');" ; -
} -
$encoded .= "document.write('$part3');" ; -
foreach ( $linkText as $l ) -
{ -
$encoded .= "document.write('$l');" ; -
} -
$encoded .= "document.write('$part4');" ; -
$encoded .= '</script>' ; -
-
return $encoded ; -
}
-
function is_valid_email( $email , $test_mx = false) -
{ -
if ( eregi ( "^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})$" , $email )) -
if ( $test_mx ) -
{ -
list( $username , $domain ) = split( "@" , $email ); -
return getmxrr ( $domain , $mxrecords ); -
} -
else -
return true; -
else -
return false; -
}
-
function list_files( $dir ) -
{ -
if ( is_dir ( $dir )) -
{ -
if ( $handle = opendir( $dir )) -
{ -
while (( $file = readdir( $handle )) !== false) -
{ -
if ( $file != "." && $file != ".." && $file != "Thumbs.db" ) -
{ -
echo '<a target="_blank" href="' . $dir . $file . '">' . $file . '</a><br>' . "n" ; -
} -
} -
closedir ( $handle ); -
} -
} -
}
-
/***** -
*@dir - Directory to destroy -
*@virtual[optional]- whether a virtual directory -
*/ -
function destroyDir( $dir , $virtual = false) -
{ -
$ds = DIRECTORY_SEPARATOR; -
$dir = $virtual ? realpath ( $dir ) : $dir ; -
$dir = substr ( $dir , -1) == $ds ? substr ( $dir , 0, -1) : $dir ; -
if ( is_dir ( $dir ) && $handle = opendir( $dir )) -
{ -
while ( $file = readdir( $handle )) -
{ -
if ( $file == '.' || $file == '..' ) -
{ -
continue ; -
} -
elseif ( is_dir ( $dir . $ds . $file )) -
{ -
destroyDir( $dir . $ds . $file ); -
} -
else -
{ -
unlink( $dir . $ds . $file ); -
} -
} -
closedir ( $handle ); -
rmdir ( $dir ); -
return true; -
} -
else -
{ -
return false; -
} -
}
-
$json_string = '{"id":1,"name":"foo","email":" [email protected] ","interest":["wordpress","php"]} ' ; -
$obj =json_decode( $json_string ); -
echo $obj ->name; //prints foo -
echo $obj ->interest[1]; //prints php
-
//xml string -
$xml_string ="<?xml version= '1.0' ?> -
<users> -
<user id= '398' > -
<name>Foo</name> -
<email> [email protected] </name> -
</user> -
<user id= '867' > -
<name>Foobar</name> -
<email> [email protected] </name> -
</user> -
</users>"; -
-
//load the xml string using simplexml -
$xml = simplexml_load_string( $xml_string ); -
-
//loop through the each node of user -
foreach ( $xml ->user as $user ) -
{ -
//access attribute -
echo $user [ 'id' ], ' ' ; -
//subnodes are accessed by -> operator -
echo $user ->name, ' ' ; -
echo $user ->email, '<br />' ; -
}
-
function create_slug( $string ){ -
$slug =preg_replace( '/[^A-Za-z0-9-]+/' , '-' , $string ); -
return $slug ; -
}
-
function getRealIpAddr() -
{ -
if (!emptyempty( $_SERVER [ 'HTTP_CLIENT_IP' ])) -
{ -
$ip = $_SERVER [ 'HTTP_CLIENT_IP' ]; -
} -
elseif (!emptyempty( $_SERVER [ 'HTTP_X_FORWARDED_FOR' ])) -
//to check ip is pass from proxy -
{ -
$ip = $_SERVER [ 'HTTP_X_FORWARDED_FOR' ]; -
} -
else -
{ -
$ip = $_SERVER [ 'REMOTE_ADDR' ]; -
} -
return $ip ; -
}
-
/******************** -
*@file - path to file -
*/ -
function force_download( $file ) -
{ -
if ((isset( $file ))&&( file_exists ( $file ))) { -
header( "Content-length: " . filesize ( $file )); -
header( 'Content-Type: application/octet-stream' ); -
header( 'Content-Disposition: attachment; filename="' . $file . '"' ); -
readfile( "$file" ); -
} else { -
echo "No file selected" ; -
} -
}
-
function getCloud( $data = array (), $minFontSize = 12, $maxFontSize = 30 ) -
{ -
$minimumCount = min( array_values ( $data ) ); -
$maximumCount = max( array_values ( $data ) ); -
$spread = $maximumCount - $minimumCount ; -
$cloudHTML = '' ; -
$cloudTags = array (); -
-
$spread == 0 && $spread = 1; -
-
foreach ( $data as $tag => $count ) -
{ -
$size = $minFontSize + ( $count - $minimumCount ) -
* ( $maxFontSize - $minFontSize ) / $spread ; -
$cloudTags [] = '<a style="font-size: ' . floor ( $size ) . 'px' -
. '" href="#" title="'' . $tag . -
'' returned a count of ' . $count . '">' -
. htmlspecialchars( stripslashes ( $tag ) ) . '</a>' ; -
} -
-
return join( "n" , $cloudTags ) . "n" ; -
} -
/************************** -
**** Sample usage ***/ -
$arr = Array( 'Actionscript' => 35, 'Adobe' => 22, 'Array' => 44, 'Background' => 43, -
'Blur' => 18, 'Canvas' => 33, 'Class' => 15, 'Color Palette' => 11, 'Crop' => 42, -
'Delimiter' => 13, 'Depth' => 34, 'Design' => 8, 'Encode' => 12, 'Encryption' => 30, -
'Extract' => 28, 'Filters' => 42); -
echo getCloud( $arr , 12, 36);
-
similar_text( $string1 , $string2 , $percent ); -
//$percent will have the percentage of similarity
-
/****************** -
*@email - Email address to show gravatar for -
*@size - size of gravatar -
*@default - URL of default gravatar to use -
*@rating - rating of Gravatar(G, PG, R, X) -
*/ -
function show_gravatar( $email , $size , $default , $rating ) -
{ -
echo '<img src=" //www.gravatar.com/avatar.php?gravatar_id= ' .md5( $email ). -
'&default=' . $default . '&size=' . $size . '&rating=' . $rating . '" width="' . $size .'px" -
height= "'.$size.'px" />'; -
}
-
// Original PHP code by Chirp Internet: www.chirp.com.au -
// Please acknowledge use of this code by including this header. -
function myTruncate( $string , $limit , $break = "." , $pad = "..." ) { -
// return with no change if string is shorter than $limit -
if ( strlen ( $string ) <= $limit ) -
return $string ; -
-
// is $break present between $limit and the end of the string? -
if (false !== ( $breakpoint = strpos ( $string , $break , $limit ))) { -
if ( $breakpoint < strlen ( $string ) - 1) { -
$string = substr ( $string , 0, $breakpoint ) . $pad ; -
} -
} -
return $string ; -
} -
/***** Example ****/ -
$short_string =myTruncate( $long_string , 100, ' ' );
-
/* creates a compressed zip file */ -
function create_zip( $files = array (), $destination = '' , $overwrite = false) { -
//if the zip file already exists and overwrite is false, return false -
if ( file_exists ( $destination ) && ! $overwrite ) { return false; } -
//vars -
$valid_files = array (); -
//if files were passed in... -
if ( is_array ( $files )) { -
//cycle through each file -
foreach ( $files as $file ) { -
//make sure the file exists -
if ( file_exists ( $file )) { -
$valid_files [] = $file ; -
} -
} -
} -
//if we have good files... -
if ( count ( $valid_files )) { -
//create the archive -
$zip = new ZipArchive(); -
if ( $zip ->open( $destination , $overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { -
return false; -
} -
//add the files -
foreach ( $valid_files as $file ) { -
$zip ->addFile( $file , $file ); -
} -
//debug -
//echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status; -
-
//close the zip -- done! -
$zip ->close(); -
-
//check to make sure the file exists -
return file_exists ( $destination ); -
} -
else -
{ -
return false; -
} -
} -
/***** Example Usage ***/ -
$files = array ( 'file1.jpg' , 'file2.jpg' , 'file3.gif' ); -
create_zip( $files , 'myzipfile.zip' , true);
-
/********************** -
*@file - path to zip file -
*@destination - destination directory for unzipped files -
*/ -
function unzip_file( $file , $destination ){ -
// create object -
$zip = new ZipArchive() ; -
// open archive -
if ( $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' ; -
}
-
if (!preg_match( "/^(http|ftp):/" , $_POST [ 'url' ])) { -
$_POST [ 'url' ] = '//' . $_POST [ 'url' ]; -
}
-
function makeClickableLinks( $text ) { -
$text = eregi_replace ( '(((f|ht) {1}tp ://)[-a-zA-Z0-9@:%_+.~#?&//=]+)' , -
'<a href="1">1</a>' , $text ); -
$text = eregi_replace ( '([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)' , -
'1<a href="//2">2</a>' , $text ); -
$text = eregi_replace ( '([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})' , -
'<a href="mailto:1">1</a>' , $text ); -
-
return $text ; -
}
-
/********************** -
*@filename - path to the image -
*@tmpname - temporary path to thumbnail -
*@xmax - max width -
*@ymax - max height -
*/ -
function resize_image( $filename , $tmpname , $xmax , $ymax ) -
{ -
$ext = explode ( "." , $filename ); -
$ext = $ext [ count ( $ext )-1]; -
-
if ( $ext == "jpg" || $ext == "jpeg" ) -
$im = imagecreatefromjpeg( $tmpname ); -
elseif ( $ext == "png" ) -
$im = imagecreatefrompng( $tmpname ); -
elseif ( $ext == "gif" ) -
$im = imagecreatefromgif( $tmpname ); -
-
$x = imagesx( $im ); -
$y = imagesy( $im ); -
-
if ( $x <= $xmax && $y <= $ymax ) -
return $im ; -
-
if ( $x >= $y ) { -
$newx = $xmax ; -
$newy = $newx * $y / $x ; -
} -
else { -
$newy = $ymax ; -
$newx = $x / $y * $newy ; -
} -
-
$im2 = imagecreatetruecolor( $newx , $newy ); -
imagecopyresized( $im2 , $im , 0, 0, 0, 0, floor ( $newx ), floor ( $newy ), $x , $y ); -
return $im2 ; -
}
-
if (!emptyempty( $_SERVER [ 'HTTP_X_REQUESTED_WITH' ]) && strtolower ( $_SERVER [ 'HTTP_X_REQUESTED_WITH' ]) == 'xmlhttprequest' ){ -
//If AJAX Request Then -
} else Source Statement: This article is original or edited by Shangpin China's editors. If it needs to be reproduced, please indicate that it is from Shangpin China. The above contents (including pictures and words) are from the Internet. If there is any infringement, please contact us in time (010-60259772).
Station building process
-
Website requirements -
Website planning scheme -
Page design style -
Confirm delivery for use -
Data entry optimization -
Program design and development -
Follow up service -
contact number 010-60259772
Hot tags
-
Website construction -
Food website construction -
WeChat applet development -
Applet development -
Wuxi website construction -
Website construction of research institute -
Shenyang website construction -
Langfang website construction -
Zhengzhou website construction -
Construction of wedding photography website -
Mobile terminal website construction -
University website production -
Tianjin website construction -
Education website construction -
Brand website construction -
Government website construction -
Beijing website construction -
Website Design -
Website production
Latest articles
-
Website construction scheme: Fresh makeup aesthetics website Type: website construction 2025-03-13 -
Enterprise website construction plan: create a new business card for the network and open the digital future Type: website construction 2025-03-11 -
High end website production solution Type: website construction 2025-02-18
Recommended News
-
How to Solve the Problem of Website Compatibility in Enterprise Website Design In enterprise website design, different browsers have different parsing methods for CSS styles, which results in 2020-10-25 -
Which website designs attract users to browse? Let's have a look When developing and designing websites, remember to be intuitive and not let visitors lose their way. Creative website design 2023-04-20 -
Three preparations after the completion of website construction As we all know, the work after the new station is launched is a piece of cake for the veteran of building the station, but for those who just stepped into this 2022-04-29 -
Development Status of Online Banking in China Compared with the development of online banking in developed countries, the development of online banking in China is slow. But, with me 2015-10-14 -
Website design concept What is the concept of website design? It is the positioning of the website, which is different from the theme. The concept is not only 2015-07-08 -
Appreciation of several classic website designs Today, let Shangpin China Website Design Company share with you some classic website designs: the first one: webpage 2016-04-28
Make an appointment with a professional consultant to communicate!
Disclaimer
Communicate with professional consultants now!
-
National Service Hotline 400-700-4979 -
Beijing Service Hotline 010-60259772
Disclaimer