Twenty one PHP lifesaving codes
/************** *@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 protected] ' , $linkText = 'Contact Us' , $attrs = 'class="emailencoder"' ) { // remplazar aroba y puntos = str_replace ( '@' , '@' , ); = str_replace ( '.' , '.' , ); = str_split ( , 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 ( 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( , $test_mx = false) { if ( eregi ( "^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})$" , )) if ( $test_mx ) { list( $username , $domain ) = split( "@" , ); 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( , $size , $default , $rating ) { echo '<img src=" //www.gravatar.com/avatar.php?gravatar_id= ' .md5( ). '&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 { //something else } label: Beijing website production High end website construction