Temporarily Disable Flash in Firefox

Forefox Addon: How to Temporarily Disable Flash Player?
Is there any way to Temporarily Disable Flash Player in Firefox?

There is one website where manga scans are made delicious! Naruto, Bleach, One Piece, Claymore, Hana Kimi, Vampire Knight... it's all in there and more!
I always visit that website but they got these ads in Flash format, and they got all sorts of moving and flashing stuff. After seeing it several times, I came up with this question. Is there a way to turn it off and on?

Actually, I did rename the .DLL file used for Flash player and it stopped working, but I hate to have to do that everytime I use to visit that site,

Luckily, after googling for some answer, I found this two firefox extensions: FlashBlock and
AdBlock

FlashBlock does just what it's name suggests... This is great as long as you really don't want most flash to show up, but it does cause problems with some desired flash.

AdBlock will allow you to block the ad server who is responsible for the ads. Personally, I *love* AdBlock; I sometimes forget what webpages look like with ads...

What I like about AdBlock over FlashBlock is that it's only killing the advertising Flash files from ad servers that I've configured. I still get menus and other "wanted" flash content... just never any of the annoying flash ads. Whenever I come across a new advertising server, I block the iFrame with AdBlock, and never see the content again.

AdBlock is actually one of my favorite Firefox extension.

Just in case you were still using IE and want to disable flash , try this site...Works like a charm.

isset() vs strlen()

When working with strings and you need to check that the string is either of a certain length you’d understandably would want to use the strlen() function. This function is pretty quick since it’s operation does not perform any calculation but merely return the already known length of a string available in the zval structure (internal C struct used to store variables in PHP). However because strlen() is a function it is still somewhat slow because the function call requires several operations such as lowercase & hashtable lookup followed by the execution of said function. In some instance you can improve the speed of your code by using an isset() trick.

<?
if (strlen($foo) < 5) { echo "Foo is too short"; }
if (!isset(
$foo{5})) { echo "Foo is too short"; }
?>

Calling
isset() happens to be faster then strlen() because unlike strlen(), isset() is a language construct and not a function meaning that it’s execution does not require function lookups and lowercase. This means you have virtually no overhead on top of the actual code that determines the string’s length.

How to optimize your php codes

  1. If a method can be static, declare it static. Speed improvement is by a factor of 4.
  2. echo is faster than print.
  3. Use echo's multiple parameters instead of string concatenation.
  4. Set the maxvalue for your for-loops before and not in the loop.
  5. Unset your variables to free memory, especially large arrays.
  6. Avoid magic like __get, __set, __autoload
  7. require_once() is expensive
  8. Use full paths in includes and requires, less time spent on resolving the OS paths.
  9. If you need to find out the time when the script started executing, $_SERVER[’REQUEST_TIME’] is preferred to time()
  10. See if you can use strncasecmp, strpbrk and stripos instead of regex
  11. str_replace is faster than preg_replace, but strtr is faster than str_replace by a factor of 4
  12. If the function, such as string replacement function, accepts both arrays and single characters as arguments, and if your argument list is not too long, consider writing a few redundant replacement statements, passing one character at a time, instead of one line of code that accepts arrays as search and replace arguments.
  13. It's better to use switch statements than multi if, else if, statements.
  14. Error suppression with @ is very slow.
  15. Turn on apache's mod_deflate
  16. Close your database connections when you're done with them
  17. $row[’id’] is 7 times faster than $row[id]
  18. Error messages are expensive
  19. Do not use functions inside of for loop, such as for ($x=0; $x <>
  20. Incrementing a local variable in a method is the fastest. Nearly the same as calling a local variable in a function.
  21. Incrementing a global variable is 2 times slow than a local var.
  22. Incrementing an object property (eg. $this->prop++) is 3 times slower than a local variable.
  23. Incrementing an undefined local variable is 9-10 times slower than a pre-initialized one.
  24. Just declaring a global variable without using it in a function also slows things down (by about the same amount as incrementing a local var). PHP probably does a check to see if the global exists.
  25. Method invocation appears to be independent of the number of methods defined in the class because I added 10 more methods to the test class (before and after the test method) with no change in performance.
  26. Methods in derived classes run faster than ones defined in the base class.
  27. A function call with one parameter and an empty function body takes about the same time as doing 7-8 $localvar++ operations. A similar method call is of course about 15 $localvar++ operations.
  28. Surrounding your string by ' instead of " will make things interpret a little faster since php looks for variables inside "..." but not inside '...'. Of course you can only do this when you don't need to have variables in the string.
  29. When echoing strings it's faster to separate them by comma instead of dot. Note: This only works with echo, which is a function that can take several strings as arguments.
  30. A PHP script will be served at least 2-10 times slower than a static HTML page by Apache. Try to use more static HTML pages and fewer scripts.
  31. Your PHP scripts are recompiled every time unless the scripts are cached. Install a PHP caching product to typically increase performance by 25-100% by removing compile times.
  32. Cache as much as possible. Use memcached - memcached is a high-performance memory object caching system intended to speed up dynamic web applications by alleviating database load. OP code caches are useful so that your script does not have to be compiled on every request
  33. When working with strings and you need to check that the string is either of a certain length you'd understandably would want to use the strlen() function. This function is pretty quick since it's operation does not perform any calculation but merely return the already known length of a string available in the zval structure (internal C struct used to store variables in PHP). However because strlen() is a function it is still somewhat slow because the function call requires several operations such as lowercase & hashtable lookup followed by the execution of said function. In some instance you can improve the speed of your code by using an isset() trick.
    Ex.
    if (strlen($foo) < 5) { echo "Foo is too short"; }
    vs.
    if (!isset($foo{5})) { echo "Foo is too short"; }
    Calling isset() happens to be faster then strlen() because unlike strlen(), isset() is a language construct and not a function meaning that it's execution does not require function lookups and lowercase. This means you have virtually no overhead on top of the actual code that determines the string's length.
    more about isset() vs strlen() here
  34. When incrementing or decrementing the value of the variable $i++ happens to be a tad slower then ++$i. This is something PHP specific and does not apply to other languages, so don't go modifying your C or Java code thinking it'll suddenly become faster, it won't. ++$i happens to be faster in PHP because instead of 4 opcodes used for $i++ you only need 3. Post incrementation actually causes in the creation of a temporary var that is then incremented. While pre-incrementation increases the original value directly. This is one of the optimization that opcode optimized like Zend's PHP optimizer. It is a still a good idea to keep in mind since not all opcode optimizers perform this optimization and there are plenty of ISPs and servers running without an opcode optimizer.
  35. Not everything has to be OOP, often it is too much overhead, each method and object call consumes a lot of memory.
  36. Do not implement every data structure as a class, arrays are useful, too
  37. Don't split methods too much, think, which code you will really re-use
  38. You can always split the code of a method later, when needed
  39. Make use of the countless predefined functions
  40. If you have very time consuming functions in your code, consider writing them as C extensions
  41. Profile your code. A profiler shows you, which parts of your code consumes how many time. The Xdebug debugger already contains a profiler. Profiling shows you the bottlenecks in overview
  42. mod_gzip which is available as an Apache module compresses your data on the fly and can reduce the data to transfer up to 80%
  43. Excellent Article about optimizing php by John Lim

Disclamer: This was article wasn't really mine, someone emailed this to me and I just found it useful.

$HTTP_SERVER_VARS

Basic surfer information variables (from HTTP_SERVER_VARS)
<?php
$surfer_info
[ip] $HTTP_SERVER_VARS["REMOTE_ADDR"];
// $surfer_info[real_ip] will only contain something if the surfer used a transparent proxy
$surfer_info[real_ip] $HTTP_SERVER_VARS["X_FORWARDED_FOR"];
$surfer_info[port] $HTTP_SERVER_VARS["REMOTE_PORT"];
$surfer_info[browser_lang] $HTTP_SERVER_VARS["HTTP_ACCEPT_LANGUAGE"];
$surfer_info[user_agent] $HTTP_SERVER_VARS["HTTP_USER_AGENT"];
$surfer_info[request_path] $HTTP_SERVER_VARS["PATH_INFO"];
$surfer_info[request_query] $HTTP_SERVER_VARS["QUERY_STRING"];
$surfer_info[request_method] $HTTP_SERVER_VARS["REQUEST_METHOD"];
$surfer_info[http_referrer] $HTTP_SERVER_VARS["HTTP_REFERER"];
?>

It is just a row of variables, - it is up to you to decide how they are useful to your script and how to integrate them.
But if you want to see something happening any way, add

print_r($surfer_info);
to the bottom of the script (but before the closing ?>). Doing so will cause the script to show you what information the variables picked up.

Cross browser compatibility

BROWSERSHOTS.ORG
I use this site everytime i check my design. You can choose from a lot of browsers too. This site is amazing.

How the site works:
Browsershots makes screenshots of your web design in different browsers. It is a free open-source online service created by Johann C. Rocholl. When you submit your web address, it will be added to the job queue. A number of distributed computers will open your website in their browser. Then they will make screenshots and upload them to the central server where you can see the result.

Detecting Mobile Browsers in PHP

I used the following block of code to redirect  site to a page when it is been accessed via mobile phone browser and to another page when it is accessed  via desktop browsers. This is tested in  ie, firefox, netscape, opera, chrome and some mobile phone browser simulator. This works well for me.
<?
$site1
"http://coffeeandpaste.blogspot.com/";
$site2 "http://monkeetech.blogspot.com/";

$BrowserSplit explode("/",$HTTP_SERVER_VARS["HTTP_USER_AGENT"]);
$Machine $BrowserSplit[0];

if($Machine == "Opera" || $Machine == "Mozilla") {
header("location: $site1");
}
else {
header("location: $site2");
}
?>

The Windows-versus-Linux server face-off

San Francisco - Linux certainly has established itself as a prominent server OS these days, pushing Unix into the background. But the open source OS shares the stage with commercial software giant Microsoft, which remains a dominant player with Windows Server.

Gartner research published this month found the server OS market shaping up as a battle between Windows Server and Linux. Gartner in other research also has found both OSes on a growth track in terms of revenue. "There still seems to be plenty of robust interest in deploying on Windows, but Linux is still very key," says Gartner analyst George Weiss.

[ The InfoWorld Test Center rates Windows Server 2008. | Why Linux is greener than Windows Server. | Has Linux killed OpenSolaris? ]

A lot of Linux usage is in Web server applications, but it's become increasingly common in mission-critical applications, Weiss notes. But "I don't have an indicator that says Linux is chewing up the market for Windows," he adds.

Other forms of Unix continue to fade away in what is becoming a two-OS choice for IT. "The key here is that really Linux and Windows are moving away from the pack here and it's becoming a two-horse race," says Jim Zemlin, executive director of the Linux Foundation.

Both Linux and Windows Server see datacenter growth
Regarding migration of current workloads, 43 percent of respondents in a Gartner survey at a Linux-oriented conference anticipated migrating mostly from Unix to Linux, 13 percent said they would migrate mostly from Windows to Linux, and only 4 percent said they would switch off Linux to go to Windows. Twenty-one percent had no plans to migrate workloads.

Gartner expects IT organizations to shift their focus to more-complex Linux deployments and continue a trend of migration from Unix. Gartner found that 52 percent of respondents anticipate that the total workload of their Linux server environment will increase moderately in 2008; another 25 percent said there would be a substantial increase. Only 5 percent anticipated moderate decrease, while 4 percent expected a substantial decrease in Linux workloads for this year. Respondents were three times more likely to migrate workloads from Unix to Linux than from Windows to Linux.

Although Linux growth is strong, so is that of Windows Server, according to Gartner's research. Linux was ranked by 39 percent of respondents as the OS expected to have the most growth in their datacenters during the next five years. Windows was a close second, ranked as the OS with the most growth potential by 35 percent of respondents at the Linux-oriented conference.

Based on Gartner's annual estimates for worldwide server shipment revenues, both Windows Server and Linux will increase. Windows Server sales will move from about $20 billion last year to roughly $22 billion in 2012; Linux will grow from about $9 billion last year to $12 billion in three years. But because Linux is often provided at no cost (with vendors making revenues from support contracts and other services), those numbers may not be comparable.

Roy Schestowitz, an ardent supporter of Linux and ardent opponent of Microsoft who runs the Boycott Novell Web site, argues that Linux gets shortchanged in surveys on market share because only "sold" OSes are counted -- and often just those sold as part of server hardware by major companies such as Dell Computer, Hewlett-Packard, and IBM.

Is it really a race?
With both OSes growing, should IT be thinking of Linux and Windows Server as either/or propositions? No.

Linux provider Red Hat sees heterogeneity ruling the day, with users deploying both Linux and Windows Server. Linux already has a large base in Web deployments but is expected to move into high-end database and enterprise application deployments, says Nick Carr, Red Hat's marketing director. Windows, meanwhile, has a large base as a server for Exchange Server, SQL Server, and file and print deployments, he notes.

"Nobody has a sort of homogeneous world anymore," Carr notes. "People tend to think that one grows at the expense of the other but that's not what's happening at the moment." That's why Red Hat and Microsoft recently agreed to let Red Hat Linux users run Windows servers in virtual machines and let Windows Server users run Red Hat Linux in VMs. "Increasingly, such servers that run in mixed environments rely on virtualization," notes Linux proponent Schestowitz.

CRIS Camera Services is an example of the mixed Linux-Windows Server environment that will keep both OSes in demand. At CRIS, Linux gets the nod for running PHP, MySQL, and Apache software, says Josh Treadwell, the company's IT director. But it relies on Windows Server for its Microsoft Dynamics and SharePoint applications. And its use of Windows Server benefits from the wide availability of Windows training certifications. "We have found college education circles around Microsoft languages," he says, noting there is no central certification for Linux.

The cost question
Possible reasons for moving to Linux include antipathy toward Microsoft and the perception that Linux is cheaper in terms of license fees, says Gartner's Weiss. Linux has an inside track with startups as well as with larger ventures such as Google, he notes -- two environments where cost or "anyone but Microsoft" concerns are key.

But the Linux financial advantage may not be real, Weiss says. When adding up the numbers for Linux deployments in a larger scalable environment, he does not see much difference among Linux, Unix, and Windows once you factor in the costs to achieve high availability, implement a global file system, and get technical support. Also, equipment expenses are a wash between Linux and Windows, he says: "Windows and Linux can run on the same hardware."

The Linux Foundation's Zemlin argues that Linux is in fact cheaper to use than Windows. One reason is the lack of licensing costs for Linux. Another is that Linux runs across a much wider variety of systems than the predominantly Intel x86-based Windows platform, he says, so you get an economy of scale across a mix of hardware. In addition to x86 serves and blades, both of which run Windows, Zemlin notes that Linux runs on mainframes, IBM Power systems, and other Unix-oriented hardware. "Linux can be a very cost-effective common denominator among these systems, he contends.

Some organizations may see cost savings from running free, unsupported Linux distros, but Gartner's Weiss says that is foolishly dangerous. A major outage or security breach without immediate access to a Linux support provider can easily wipe out any money saved from relying only on yourself. (Windows Server support is also needed, and it too requires paying a support provider.)
[source]

Passing JavaScript variables to PHP

JavaScript is mainly used as a client side scripting language, while PHP is a server side technology. Unlike Java or ASP.Net, PHP doesn't have tools to make it work client side. That is why you need to combine JavaScript and PHP scripts to develop powerful web-applications.

One of the frequent problems is defining visitor’s screen resolution using JavaScript tools and passing this data to PHP-script. The following script provides solution for this problem:

<script type=&qout;text/javascript&qout;>

width = screen.width;
height = screen.height;

if (width > 0 && height >0) {
window.location.href = &qout;http://localhost/main.php?width=&qout; + width + &qout;&height=&qout; + height;
} else
exit();

</script>


Copy and paste this code snippet in the text editor, save it as index.htm and run it in your browser. After this code has been executed, a user is automatically redirected to the main.php page where screen resolution is displayed in the browser window.

The main.php looks as follows:

<?php
echo &qout;<h1>Screen Resolution:</h1>&qout;;
echo &qout;Width : &qout;.$_GET['width'].&qout;<br>&qout;;
echo &qout;Height : &qout;.$_GET['height'].&qout;<br>&qout;;
?>


As you can see, passing JavaScript variables in PHP is similar to sending data using GET method.

[source]

single-quote( ' ) vs double-quote ( " ) in PHP

Difference between single-quote( ' ) and double-quote ( " ) strings in php

Briefly:
In double-quoted strings, variables are replaced by their values:
PHP Code:
$word = "Hello".
echo "$word there!"

The above code will output:
Hello there!

Doing the same with single quotes:
PHP Code:
$word = "Hello".
echo '$word there!'

...will print:
$word there!

Using single quotes where possible, will be slightly more efficient to process, because PHP doesn't have to search single quoted strings for variables.

PHP Arrays

PHP Arrays provide a way to group together many variables such that they can be referenced and manipulated using a single variable. An array is, in many ways, a self-contained list of variables.

Once an array has been created items can be added, removed and modified, sorted and much more. The items in an array can be of any variable type, and an array can contain any mixture of data types - it is not necessary to have each element in the array of the same type.

Elements of an array are accessed using a key. There are two types of array, and the type of key that is used to access an array element dictates the array type. In a numerical key array, elements are accessed by specifying the numerical position of the item in the array. The first item in an array is element 0, the second is element 1 and so on. The second type of array is the associative array where a name is given to each element, and that name is used to access the corresponding array element.

Advantages of Using Functions

Functions are basically named scripts that can be called upon from any other script to perform a specifc task. Values (known as arguments) can be passed into a function so that they can be used in the function script, and functions can, in turn, return results to the location from which they were called.

What are the advantages of using functions?
Debugging is easier
It is easier to understand the logic involved in the program
Testing is easier
Recursive call is possible
Irrelevant details in the user point of view are hidden in functions
Functions are helpful in generalizing the program

Differences between constants and variables

1. Constants do not have a dollar sign ($) before them;
2. Constants may only be defined using the define() function, not by simple assignment;
3. Constants may be defined and accessed anywhere without regard to variable scoping rules;
4. Constants may not be redefined or undefined once they have been set; and
5. Constants may only evaluate to scalar values.

$_GET vs $_POST in PHP Forms

All information sent from a form with a GET method is visible to others and has a limit on the amount of information to send (100 max char). Whereas the $_POST variable, the information sent from the form with POST method is invisble to others and has no limits on the amount of information to send.

require() vs include() in PHP

require() and include() are identical in every way except how they handle failure. include() produces a Warning while require() results in a Fatal Error. In other words, don’t hesitate to use require() if you want a missing file to halt processing of the page. include() does not behave this way, the script will continue regardless. Be sure to have an appropriate include_path setting as well.

What does !important mean in CSS?

This means that the styles are applied in order as they are read by the browser. The first style is applied and then the second and so on. What this means is that if a style appears at the top of a style sheet and then is changed lower down in the document, the second instance of that style will be the one applied, not the first.

For example, in the following style sheet, the div text will be black, even though the first style property applied is red:

div { color: red; }
div { color: black; }


The !important rule is a way to make your CSS cascade but also have the rules you feel are most crucial always be applied. A rule that has the !important property will always be applied no matter where that rule appears in the CSS document. So if you wanted to make sure that a property always applied, you would add the !important property to the tag. So, to make the div text always red, in the above example, you would write:

div { color: red !important; }
div { color: black; }


However, the !important rule was also put in place to help Web page users cope with style sheets that might make pages difficult for them to use or read. Typically, if a user defines a style sheet to view Web pages with, that style sheet will be over-ruled by the Web page author's style sheet. But if the user marks a style as !important, that style will overrule the Web page author's style sheet, even if the author marks their rule as !important.

This is a change from CSS1 to CSS2. In CSS1, author !important rules took precedence over user !important rules. CSS2 changed this to make the user's style sheet have precedence.

Javascript onclick return false does not work in IE6, IE7

Workaroud:

Instead of:

onclick="yourFunction(); return false;"

Use this:

onclick="yourFunction(); event.returnValue=false; return false;"

Coffeeandpase Blogger: A Heavy Downloader

I was on a download-spree for a while.
Every time i saw a product a few ideas popped into my head
and i wanted to download it immediately so i could make use of it in the future.
But fact is, i didn't use any of all those crappy products,
i just kept lurking around to find new ideas to chew on (which made me keep downloading shit). I even got top one bandwidth user in my previous company.

So i sat down, read a lot of useful threads on the net, noted a few things, did some brainstorming, and now i'm FINALLY about to launch my first little project. Still finalizing it right now, I will update this post once it's launched.

A simple advice for those heavy downloader pipz:
DO NOT WASTE YOUR TIME DOWNLOADING THE LATEST CRAP!
READ SOME USEFUL THREADS, GET AN IDEA OF WHAT YOU WANT TO DO,
DO SOME BRAINSTORMING, AND THEN, IF YOU STILL THINK YOU NEED A TOOL, GET IT, BUT USE IT!

Where is php.ini?

The quick way to find out (assuming php4.3+) is

bash-2.05a$ php -r "phpinfo();" | grep Configuration
Configuration File (php.ini) Path => /etc
Configuration

If you can't do that (because you are using pre 4.3, for shame!) then try the <?php phpinfo() ?> script

Make a face

MONOFACE
It just happened that I dropped by into this very cool, funny site.
Make a face, just click on  face, nose, eyes,lips and find what you like the face to be.
Below is mine and it's so damn freak.

Turn your photo into a cartoon

I was asked by a friend a while ago on what application I use and how did I make my picture turned into a cartoon. So I think it would be nice if I post it in my blog and have him access it here so that I can have more traffic. Some SEO experiments, lol.
The picture above is made in Adobe Photoshop.

Retrieving Japanese Text from MySQL using PHP

Our client's website is a multi-language website including Japanese and English.
It was working well until I was asked to develop a simple database ap for the site.
I have run into this problem.
When I try to retrieve the data from MySql using PHP. The data become "??????".(Question Marks)
* The data inside have Japanese and English. 
  So my db and table is defined as CHARSET=utf8 COLLATE=utf8_unicode_ci
* It display in the mySQL administration tools without any problem.
* It display normally in phpMyAdmin(web browser) too.
I know many developers also have run into this problem, so here's the block of code that did the trick for me.
Put this  after the database connection.
mysql_query("SET NAMES 'utf8'")

CSS Play: Experiments with CSS

cssplay.co.uk
A perfect place if you want to experiment with CSS.
I couldn’t find anything applicable, pretty enough, but i found great ideas i used to play with css properties and stuff I couldnt’t believe is possible with plain CSS elements styling.

New Online MD5 Hash Cracker!

GDataOnline.com is a fully functional MD5 hash cracker built with over 5.73 million unique entries. Its not meant to crack every possible word, but it'll crack any word from Swedish to Japanese and cars to anime. Give it a whirl, and if you wish, submit a word or two!

PNG Alpha Transparency Fix in IE

If you are a web designer, you know that PNG image rocks for its fine alpha transparency support. But lacking of support on IE6 and below, probably has made you sick for seeking some fixes.

Some made it to work with the use of javascipt and some with PHP.
But this guy made it in pure CSS.
visit this link for step-by-step instructions:
http://www.pluitsolutions.com/2007/11/18/png-image-fix-for-ie/

Validate email address using Javascript

In forms when using email ID fields it is a good idea to use client side validation along with your programming language validation. The following example shows how you can validate an email address for a form. The script is cross browser compatibe (works for all browsers).

<script language = "Javascript">
/**
* DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
*/

function echeck(str) {

var at="@"
var dot="."
var lat=str.indexOf(at)
var lstr=str.length
var ldot=str.indexOf(dot)
if (str.indexOf(at)==-1){

alert("Invalid E-mail ID")
return false
}

if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
alert("Invalid E-mail ID")
return false
}

if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
alert("Invalid E-mail ID")
return false
}

if (str.indexOf(at,(lat+1))!=-1){
alert("Invalid E-mail ID")
return false
}

if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
alert("Invalid E-mail ID")
return false
}

if (str.indexOf(dot,(lat+2))==-1){
alert("Invalid E-mail ID")
return false
}

if (str.indexOf(" ")!=-1){
alert("Invalid E-mail ID")
return false
}

return true
}

function ValidateForm(){
var emailID=document.frmSample.txtEmail

if ((emailID.value==null)||(emailID.value=="")){
alert("Please Enter your Email ID")
emailID.focus()
return false
}
if (echeck(emailID.value)==false){
emailID.value=""
emailID.focus()
return false
}
return true
}
</script>

<form name="frmSample" method="post" action="#" onSubmit="return ValidateForm()">
<p>Enter an Email Address :<input type="text" name="txtEmail"></p>
<p><input type="submit" name="Submit" value="Submit"></p>
</form>


source

PHPMailer: SMTP Authentication

Most of the hosting providers today disable anonymous user on their server or do not allow to send mail through script without SMTP authentication to stop the spamming from their servers. In such cases, you have to use SMTP authentication to send mail through PHP, ASP, or ASP.Net script. Below is the sample SMTP authentication script to send mail through PHP script using PHPMailer:

<?php
require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP(); // send via SMTP
$mail->Host = "smtp.domain.com"; // SMTP servers
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "email@domain.com"; // SMTP username

$mail->Password = "password"; // SMTP password

$mail->From = "email@domain.com";
$mail->FromName = "Name";
$mail->AddAddress("Recipient@emailaddress.com","Name");
$mail->AddReplyTo("yourname@domain.com","Your Name");

$mail->WordWrap = 50; // set word wrap

$mail->IsHTML(true); // send as HTML

$mail->Subject = "Here is the subject";
$mail->Body = "This is the HTML body";
$mail->AltBody = "This is the text-only body";

if(!$mail->Send())
{
echo "Message was not sent";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}

echo "Message has been sent";

?>


For more info about the PHPMailer Class, visit phpmailer.codeworxtech.com

Firefox adds a vertical whitespace gap

I was having this problem a while ago where I want to add a flash <object> inside a table td, in IE and Chrome it displays just fine but Firefox insists on putting a very small (about 3px) amount of whitespace after it. I already add css margin zero, padding zero, etc unto it but still no good. I was thinking that it's a bug in Firefox but shame on me, after wandering on the web, going to some forums, googling, chatting for some advice, I found out that the only thing I have missed is to put the css "display:block" on my <object> tag.

They said that it's because image(<img>) or object(<object>) is being considered inline-level, as where like text it rests on a baseline. You need to make them block-level:
<td><object style='display:block;'>...</td>
or
<td><img style='display:block;'>...</td>

Their explanation wasn't really clear for me but as long as it works then I'm already fine with that.
Hehe, noob jud..

Creating PDF using PHP

Portable Document Format (PDF) is an open file format created and controlled by Adobe Systems.
PDF files are very useful for data reporting. bcoz now every system having a pdf file reader.

The PDF functions in PHP can create PDF files using the PDFlib library created by Thomas Merz.
All of the functions in PDFlib and the PHP module have identical function names and parameters.


Using HTML2PDF we can convert html page to pdf.

HTML2PDF is a simple HTML to PDF tool which can quickly and easily convert thousands of HTML pages into PDF reports.

HTML2PDF (include PDFcamp + DocConverter COM) is the easiest way to convert your web pages and DOC, RTF, TXT, PPT, XLS files into PDF documents, HTML2PDF quickly and accurately transforms well-formed HTML, DOC, RTF, TXT, PPT, XLS files into PDF files, the HTML2PDF supports both server and client sides, the end-user doesn't need any software (Adobe Acrobat and Reader NOT required).

HTML2PDF (include PDFcamp + DocConverter COM) offers you the flexibility and speed you need to convert multiple HTML, DOC, RTF, TXT, PPT, XLS files into PDF format. Whatever the reason, pdf files can be created directly from MS Internet Explorer (or at background) and even emailed to a recipient/recipients simultaneously.

HTML2PDF Features:

* HTML2PDF can create page headers, footers and page numbers
* HTML2PDF can convert HTML, DOC, RTF, TXT, PPT, XLS files to PDF files on the fly
* HTML2PDF supports adjust paper orientation and size to accommodate HTML documents
* HTML2PDF supports nested tables
* HTML2PDF supports all elements in HTML document, include asp, cgi, css, Java Applets, flash, cookie etc.
* HTML2PDF supports dynamic page breaks with headers and footers
* HTML2PDF supports convert a URL or local file to PDF file
* HTML2PDF can convert .doc/.html/.rtf/.txt/.xls etc files to PDF files from a Command Line Tool, this Tool without any user intervention
* HTML2PDF supports command line operation (for manual use or inclusion in scripts)

How convert a HTML, DOC, RTF, TXT, PPT, XLS files to PDF files with DocConverter COM?

Step 1:
Please download and install the PDFcamp (PDF Writer) software,
http://www.verypdf.com/pdfcamp/pdfcamp_setup.exe

Step 2:
Please download and register the DocConverter COM software,
http://www.toppdf.com/pdfcamp/doc2pdf_com_trial.zip
Please register the pdfout.dll file in your system, for example,
~~~~~~~~~~~
regsvr32 pdfout.dll
~~~~~~~~~~~

Step 3:
Please run the html2pdf.exe software from the Command Line Window to try, the html2pdf.exe software is included in the DocConverter COM package,

For example:
html2pdf.exe "http://www.yahoo.com" "c:\yahoo.pdf"
html2pdf.exe "http://www.google.com/search?sourceid=navclient&ie=UTF-8&oe=UTF-8&q=pdf" "c:\google.pdf"
html2pdf.exe "C:\example.doc" "C:\example.pdf"
html2pdf.exe "C:\example.xls" "C:\example.pdf"


Now You have converted HTML, DOC, RTF, TXT, PPT, XLS files to PDF documents.

Step 5:
Now, you can call the html2pdf.exe software from your Delphi, C++, VB, BCB etc. applications.

HTML2PDF - Converting your HTML, DOC, RTF, TXT, PPT, XLS files to PDFs has never been easier! Combine several of your HTML, DOC, RTF, TXT, PPT, XLS files into a single PDF file. Convert a HTML file into a PDF file, or convert ANY file format to PDF file!

But f you want a simplier method to create PDF file without doing the above installations on your server to use PDF function in your scripts, then use FPDF.

FPDF is a PHP class which allows to generate PDF files with pure PHP, that is to say without using the PDFlib library. F from FPDF stands for Free: you may use it for any kind of usage and modify it to suit your needs.

Advantages: high level functions. Here is a list of its main features:

* Choice of measure unit, page format and margins
* Page header and footer management
* Automatic page break
* Automatic line break and text justification
* Image support (JPEG and PNG)
* Colors
* Links
* TrueType, Type1 and encoding support
* Page compression

FPDF requires no extension (except zlib to activate compression) and works with PHP4 and PHP5.

What languages can I use?
The class can produce documents in many languages other than the Western European ones: Central European, Cyrillic, Greek, Baltic and Thai, provided you own TrueType or Type1 fonts with the desired character set. Chinese, Japanese and Korean are supported too.

What about performance?
Of course, the generation speed of the document is less than with PDFlib. However, the performance penalty keeps very reasonable and suits in most cases, unless your documents are particularly complex or heavy.

Here, we are going to see on converting HTML 2 PDF using PHP. we would be seeing how to use some free open source PHP scripts to accomplish this file conversion.

FPDF: The PDF Generator

The first and the main base for this file conversion is FPDF library. FPDF is a pure PHP class to generate PDF files on the fly. Let us start the PDF generation with a simple Hello world display.

PHP Code:

AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
?>


To generate a pdf file, first we need to include library file fpdf.php. Then we need to create an FPDF object using the default constructor FPDF(). This constructor can be passed three values namely page orientation (portrait or landscape), measure unit, and page size (A4, A5, etc.,). By default pages are in A4 portrait and the measure unit is millimeter. It could have been specified explicitly with:

PHP Code:
$pdf=new FPDF('P','mm','A4');

It is possible to use landscape (L), other page formats (such as Letter and Legal) and measure units (pt, cm, in).

Then we have added a page to our pdf document with AddPage(). The origin is at the upper-left corner and the current position is by default placed at 1 cm from the borders; the margins can be changed with the function SetMargins().

To print a text, we need to first select a font with SetFont(). Let us select Arial bold 16:

PHP Code:
$pdf->SetFont('Arial','B',16);

We use Cell() function to output a text. A cell is a rectangular area, possibly framed, which contains some text. It is output at the current position. We specify its dimensions, its text (centered or aligned), if borders should be drawn, and where the current position moves after it (to the right, below or to the beginning of the next line). To add a frame, we would do this:

PHP Code:
$pdf->Cell(40,10,'Hello World !',1);

Finally, the document is closed and sent to the browser with Output(). We could have saved it in a file by passing the desired file name.

There are lot more functions in FPDF.

Need more info? click
here.


HTML2FPDF: The Converter

HTML2FPDF is a PHP Class library that uses the FPDF class library to convert HTML files to PDF files. This library consist of three classes namely PDF, HTML2FPDF and FPDF (modified FPDF class). The class PDF extends the class HTML2FPDF that extends the class FPDF.

Now let us see, how to convert a sample html page into a PDF file using HTML2FPDF Library. The html page contains a table that lists a few nations with their corresponding national flags. Below is the code for the conversion.

PHP Code:
AddPage();
$fp = fopen("sample.html","r");
$strContent = fread($fp, filesize("sample.html"));
fclose($fp);
$pdf->WriteHTML($strContent);
$pdf->Output("sample.pdf");
echo "PDF file is generated successfully!";
?>



First, we need to include the html2fpdf.php file that contains the HTML2FPDF class and an object is created using the constructor HTML2FPDF(). Then a new page is added to the pdf document using the function AddPage(). The html contents are read from the sample.html file using file functions. Then the html contents are written in to the pdf format using WriteHTML() function. The above sample code with the sample html file and images and the html2fpdf class libraries can be downloaded
here.

The HTML2FPDF class library will be working best with the XHTML 1.0. Also the class does not support all the features available with HTML. To know the supported HTML tags and other features, Please refer
HTML 2 (F)PDF Project.

Insert Images to Excel Spreadsheets with PHP on Linux

Have you ever faced a situation when you need to manipulate Excel spreadsheets(ex. insert or embed pictures) with PHP on the server that is running Linux (so COM is not an option)? With Open XML and PHPExcel you can do that now. :)!

PHPExcel uses OpenXML which is compatible only in OpenOffice3.0 which would not show any embeded images on your spreadsheet. I don't know if there's a workaround for this but I think if there are plugin for openoffice to work with Office2007 then it should make it work. yah..maybe.

BTW, this library works in windows too...

Download PHPExcel Library here.
Simlified tutorial here.

Note:
Make sure zend.ze1_compatibility_mode is disabled in your php.ini. This is turned on by default in Linux LAMMP, I almost give up on this class until I found out that sh*t.