How to convert number to words in PHP

For example you need to convert a particular amount number into a word, let say

55892 – “fifty five thousand eight hundred ninety two”

To achieve this we can use below given code:

$ones = array(
” one”,
” two”,
” three”,
” four”,
” five”,
” six”,
” seven”,
” eight”,
” nine”,
” ten”,
” eleven”,
” twelve”,
” thirteen”,
” fourteen”,
” fifteen”,
” sixteen”,
” seventeen”,
” eighteen”,
” nineteen”
$tens = array(
” twenty”,
” thirty”,
” forty”,
” fifty”,
” sixty”,
” seventy”,
” eighty”,
” ninety”
$triplets = array(
” thousand”,
” million”,
” billion”,
” trillion”,
” quadrillion”,
” quintillion”,
” sextillion”,
” septillion”,
” octillion”,
” nonillion”
// recursive fn, converts three digits per pass
function convertTri($num, $tri) {
global $ones, $tens, $triplets;
// chunk the number, …rxyy
$r = (int) ($num / 1000);
$x = ($num / 100) % 10;
$y = $num % 100;
// init the output string
$str = “”;
// do hundreds
if ($x > 0)
$str = $ones[$x] . ” hundred”;
// do ones and tens
if ($y < 20)
$str .= $ones[$y];
$str .= $tens[(int) ($y / 10)] . $ones[$y % 10];
// add triplet modifier only if there
// is some output to be modified…
if ($str != “”)
$str .= $triplets[$tri];
// continue recursing?
if ($r > 0)
return convertTri($r, $tri+1).$str;
return $str;
// returns the number as an anglicized string
function convertNum($num) {
$num = (int) $num; // make sure it’s an integer
if ($num < 0)
return “negative”.convertTri(-$num, 0);
if ($num == 0)
return “zero”;
return convertTri($num, 0);
// Returns an integer in -10^9 .. 10^9
// with log distribution
function makeLogRand() {
$sign = mt_rand(0,1)*2 – 1;
$val = randThousand() * 1000000
+ randThousand() * 1000
+ randThousand();
$scale = mt_rand(-9,0);
return $sign * (int) ($val * pow(10.0, $scale));
// example of usage
echo “-5564 : “.convertNum(-5564).”<br>”;
echo “55892 : “.convertNum(55892);


Session based flash messages

Quite a while ago, I grew tired of trying to come up with new and creative ways to display simple, one-time messages to users without crazy amounts of code for something that was frequently as trivial as “Saved!”.

Sessions are the obvious solution, however, without a single function that could both generate, AND display the messages, it still wasn’t any better.  And as usual, where there’s a will, and some code- there’s a way!

Before we get started, make sure that a session is started, otherwise a) no message will be displayed, and b) super fun headers already sent messages.

//Ensure that a session exists (just in case)
if( !session_id() )

//Actual function

 * Function to create and display error and success messages
 * @access public
 * @param string session name
 * @param string message
 * @param string display class
 * @return string message
function flash( $name = '', $message = '', $class = 'success fadeout-message' )
    //We can only do something if the name isn't empty
    if( !empty( $name ) )
        //No message, create it
        if( !empty( $message ) &amp;& empty( $_SESSION[$name] ) )
            if( !empty( $_SESSION[$name] ) )
                unset( $_SESSION[$name] );
            if( !empty( $_SESSION[$name.'_class'] ) )
                unset( $_SESSION[$name.'_class'] );

            $_SESSION[$name] = $message;
            $_SESSION[$name.'_class'] = $class;
        //Message exists, display it
        elseif( !empty( $_SESSION[$name] ) &amp;& empty( $message ) )
            $class = !empty( $_SESSION[$name.'_class'] ) ? $_SESSION[$name.'_class'] : 'success';
            echo '
.$class.‘” id=”msg-flash”>’.$_SESSION[$name].

//Set the first flash message with default class
flash( 'example_message', 'This content will show up on example2.php' );

//Set the second flash with an error class
flash( 'example_class', 'This content will show up on example2.php with the error class', 'error' );
//Displaying the messages
<?php flash( 'example_message' ); ?>
<?php flash( 'example_class' ); ?>

You can download the source from here


Extras: Addicted Upcoming

Remove index.php from url in Codeigniter using .htaccess


CodeIgniter is one of the best and popular php framework available today. Sometimes we need to remove the default index.php that appears in the url of codeigniter application, so that the url becomes more clean and SEO friendly. With the help of .htaccess file it’s very easy to do so.
Paste the following code into your .htaccess file which is on root folder of website, it will remove default index.php from the url:


RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]



Setup HMVC with Codeigniter 3.0


Follow below steps to setup HMVC in codeigniter(CI):

1. Download zip from above URL and copy them into application folder of CI

2. Rewrite HTACCESS

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

3. Create folder called “modules” in application folder i.e. application/modules

4. Create a folder of particular module in modules folder. For e.g. application/modules/admin

5. Create controllers, models and views folder in particular module. For e.g.  in application/modules/admin module

6. Create controller file controllers folder of particular module. For e.g.  application/modules/admin/controllers/Admin.php


defined(‘BASEPATH’) OR exit(‘No direct script access allowed’);

class Admin extends CI_Controller {

    public function index() {




7. Following will be the structure:


That’s it…

Extras: Addicted Upcoming

Easy SMTP email settings for WordPress


If you are facing problems with wp_mail function in sending emails, the solution is to use an SMTP server rather than relying on the webserver.

WordPress’s email function wp_mail is essentially a wrapper for phpmailer, a popular email class for PHP. WordPress has a little known action hook when phpmailer is initialized, phpmailer_init. This allows you to establish the phpmailer instance as using SMTP.

Here is a code snippet example with comments for each setting to configure WordPress to sent SMTP email:

 * This function will connect wp_mail to your authenticated
 * SMTP server. This improves reliability of wp_mail, and 
 * avoids many potential problems.
add_action( 'phpmailer_init', 'send_smtp_email' );

function send_smtp_email( $phpmailer ) {

	// Define that we are sending with SMTP

	// The hostname of the mail server
	$phpmailer->Host = "";

	// Use SMTP authentication (true|false)
	$phpmailer->SMTPAuth = true;

	// SMTP port number - likely to be 25, 465 or 587
	$phpmailer->Port = "587";

	// Username to use for SMTP authentication
	$phpmailer->Username = "yourusername";

	// Password to use for SMTP authentication
	$phpmailer->Password = "yourpassword";

	// Encryption system to use - ssl or tls
	$phpmailer->SMTPSecure = "tls";

	$phpmailer->From = "";
	$phpmailer->FromName = "Your Name";

To use this snippet, you will need to adjust the settings according to your email service requirements. Check with your host.

The snippet, once configured, can be added to your theme’s functions.php file.

How to send email using PHPMailer


First, download PHPMailer using the direct link below:

After you have downloaded the file, unzip and extract it to your public_html. After unzipping the file we have public_html/PHPMailer_5.2.0. Next you will need to edit your web pages to use the PHPMailer code.

Add the PHPMailer code to your site:


$mail = new PHPMailer();

$mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = ""; // specify main and backup server
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "USERNAME"; // SMTP username
$mail->Password = "PASSWORD"; // SMTP password

$mail->From = "";
$mail->FromName = "Mailer";
$mail->AddAddress("", "Josh Adams");
$mail->AddAddress(""); // name is optional
$mail->AddReplyTo("", "Information");

$mail->WordWrap = 50; // set word wrap to 50 characters
$mail->AddAttachment("/var/tmp/file.tar.gz"); // add attachments
$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // optional name
$mail->IsHTML(true); // set email format to HTML

$mail->Subject = "Here is the subject";
$mail->Body = "This is the HTML message body <b>in bold!</b>";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";

echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;

echo "Message has been sent";

That’s it.