21 practical codes of PHP
1. PHP can read random strings
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;}
2. PHP generates a 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;}
3. PHP encoded email address
function encode_email($email=' info@domain.com ', $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;}
4. PHP verifies the email address
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);}elsereturn true; elsereturn false;}
5. PHP lists directory contents
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);}}}
6. PHP Destroy 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;}}
7. PHP parsing JSON data
$json_string='{"id":1,"name":"foo","email":" foo@foobar.com ","interest":["wordpress","php"]} ';$obj=json_decode($json_string);echo $obj->name; //prints fooecho $obj->interest[1]; //prints php
8. PHP parses XML data
//xml string$xml_string="<?xml version='1.0'?><users><user id='398'><name>Foo</name><email> foo@bar.com </name></user><user id='867'><name>Foobar</name><email> foobar@foo.com </name></user></users>"; //load the xml string using simplexml$xml = simplexml_load_string($xml_string); //loop through the each node of userforeach ($xml->user as $user){//access attributeecho $user['id'], ' ';//subnodes are accessed by -> operatorecho $user->name, ' ';echo $user->email, '<br />';}
9. PHP Create Log Abbreviation
function create_slug($string){$slug=preg_replace('/[^A-Za-z0-9-]+/', '-', $string);return $slug;}
10. PHP obtains the real IP address of the client
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;}
11. PHP mandatory file download
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";}}
12. PHP creates tag cloud
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";} $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);
13. PHP searches for the similarity of two strings
similar_text($string1, $string2, $percent);//$ percent will have the percentage of similarity
14. PHP uses Gravatar general avatar in applications
function show_gravatar($email, $size, $default, $rating){echo '<img src=" https://www.gravatar.com/avatar.php?gravatar_id= '.md5($email).'& default='.$ default.'& size='.$ size.'& rating='.$ rating.' " width="'.$ size.' px"height="'.$ size.' px" />';}
15. PHP truncates text at character breakpoints
// 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 $limitif(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;} $short_string=myTruncate($long_string, 100, ' ');
16. Zip compression of PHP files
function create_zip($files = array(),$destination = '',$overwrite = false) {//if the zip file already exists and overwrite is false, return falseif(file_exists($destination) && !$overwrite) { return false; }//vars$valid_files = array();// if files were passed in... if(is_array($files)) {//cycle through each fileforeach($files as $file) {//make sure the file existsif(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 filesforeach($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 existsreturn file_exists($destination);} else{return false;}} $files=array('file1.jpg', 'file2.jpg', 'file3.gif'); create_zip($files, 'myzipfile.zip', true);
17. PHP decompress Zip file
function unzip_file($file, $destination){// create object$zip = new ZipArchive() ;// open archiveif ($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';}
18. PHP presets http strings for URL addresses
if (!preg_match("/^(http|ftp):/", $_POST['url'])) {$_POST['url'] = 'https://'.$_POST['url'];}
19. PHP converts URL strings into hyperlinks
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="https://\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;}
20. PHP Resize Image
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;}
21. PHP detects ajax requests
if(!emptyempty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){//If AJAX Request Then}else{//something else}