<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-35586588</id><updated>2011-10-05T02:06:25.470+05:30</updated><category term='dusman'/><category term='पीएचपी'/><category term='php referances'/><category term='ओउत्पुत buffering'/><category term='php developer links'/><category term='फ्प'/><category term='FCKeditor'/><category term='Ranthambore National Park'/><category term='php site links'/><category term='php'/><category term='address book'/><category term='Pyar ko ho jane do'/><category term='email virus'/><category term='virus'/><category term='php links'/><category term='anti virus'/><category term='php help links'/><title type='text'>sanjeev's blog</title><subtitle type='html'>Welcome to my blog</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sanjeev-naroliya.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sanjeev-naroliya.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>blogmaster</name><uri>http://www.blogger.com/profile/15039947374065931235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-35586588.post-8313595543542566397</id><published>2007-06-15T14:52:00.001+05:30</published><updated>2007-06-15T14:52:48.741+05:30</updated><title type='text'>To address potential duplicate content penalties in Google</title><content type='html'>An easy step that can help avoid potential ranking loss from duplicate&lt;br /&gt;content reprimands is to make sure there aren't four or five different&lt;br /&gt;URLs navigating to the same page. Google views these two domains below&lt;br /&gt;as separate entities and if the content is exact, they can take&lt;br /&gt;punitive measures against the offending site.&lt;br /&gt;&lt;br /&gt;mysite.com&lt;br /&gt;http://www.mysite.com&lt;br /&gt;&lt;br /&gt;To address potential duplicate content penalties, manipulate&lt;br /&gt;your.htaccess file and redirect  secondary domains to the preferred&lt;br /&gt;listing. This means every time a web user enters the mysite.com&lt;br /&gt;address without the preferred prefix, they are redirected to the&lt;br /&gt;correct domain.&lt;br /&gt;&lt;br /&gt;Add the following code to your .htaccess file (change the "mysite" to&lt;br /&gt;your domain):&lt;br /&gt;&lt;br /&gt;RewriteEngine on&lt;br /&gt;RewriteCond %{HTTP_HOST} ^mysite.com&lt;br /&gt;RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=permanent,L]&lt;br /&gt;&lt;br /&gt;Keep on Promoting&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35586588-8313595543542566397?l=sanjeev-naroliya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanjeev-naroliya.blogspot.com/feeds/8313595543542566397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/06/to-address-potential-duplicate-content.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/8313595543542566397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/8313595543542566397'/><link rel='alternate' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/06/to-address-potential-duplicate-content.html' title='To address potential duplicate content penalties in Google'/><author><name>blogmaster</name><uri>http://www.blogger.com/profile/15039947374065931235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35586588.post-7230374938716522943</id><published>2007-05-25T12:42:00.000+05:30</published><updated>2007-05-25T14:18:51.894+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='dusman'/><category scheme='http://www.blogger.com/atom/ns#' term='Pyar ko ho jane do'/><title type='text'>Pyar ko ho jane do - Kumar Sanu, Lata Mangeskar - Movie Dusman - 1996</title><content type='html'>i like this song very much, sing by kumar sanu and lata mangeskar for dusman movie. you can listen this song here: &lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#000000" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td&gt;&lt;embed quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" bgcolor="#000" width="328" height="94" src="http://static.esnips.com/images/widgets/flash/esnips_player.swf" flashvars="theTheme=blue&amp;autoPlay=no&amp;theFile=http://www.esnips.com//nsdoc/40d2b2fb-6546-43d5-a9c9-feaa224386cb&amp;theName=Pyar ko ho jane do&amp;thePlayerURL=http://static.esnips.com/images/widgets/flash/mp3WidgetPlayer.swf"&gt;&lt;/embed&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table cellpadding="2" style="font-family:Verdana, Arial, Helvetica, sans-serif; padding-left:2px; color:#FFFFFF; text-decoration:none ; ; font-size:10px; font-weight:bold"&gt;&lt;tr&gt;&lt;td&gt;&lt;a style="color:#FFFFFF; text-decoration:none " href="http://www.esnips.com/CreateWidgetAction.ns?type=0&amp;objectid=40d2b2fb-6546-43d5-a9c9-feaa224386cb"&gt;     Get this widget &lt;/a&gt;&lt;/td&gt;&lt;td style="font-size:7px; font-weight:normal;"&gt;|&lt;/td&gt;&lt;td&gt;&lt;a align="center" style="color:#FFFFFF; text-decoration:none" href="http://www.esnips.com//selectedfile/emaildoc/40d2b2fb-6546-43d5-a9c9-feaa224386cb"&gt;     Share &lt;/a&gt;&lt;/td&gt;&lt;td style="font-size:7px; font-weight:normal;"&gt;|&lt;/td&gt;&lt;td align="center"&gt;&lt;a align="center" style="color:#FFFFFF; text-decoration:none " href="http://www.esnips.com/doc/40d2b2fb-6546-43d5-a9c9-feaa224386cb/Pyar-ko-ho-jane-do/?widget=flash_player_esnips_blue"&gt;     Track details  &lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Click here to watch: &lt;br /&gt;&lt;br /&gt;&lt;embed quality="high" scale="noscale" name="FLVPlayer" salign="LT" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" height="300" width="400" src="http://www.esnips.com//3rd/flvplayer/esnips_flvplayer12.swf" flashvars="linkfromdisplay=true&amp;amp;height=300&amp;amp;width=400&amp;amp;xmlURL=http://www.esnips.com//flashxml/1/b0eda3ed-0f44-42d1-94e6-8e184c5a31d6&amp;amp;autostart=false&amp;amp;image=http://www.esnips.com//imageable/medium/b0eda3ed-0f44-42d1-94e6-8e184c5a31d6/?du=a52f856f-8b7c-44c2-8823-9115800a775e&amp;amp;uu=beaba488-ffdc-4924-baf3-3b06441ce283&amp;amp;dt=1159266902000&amp;amp;fu=c8527230-8565-40b3-8ce8-a42008044a14"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35586588-7230374938716522943?l=sanjeev-naroliya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.esnips.com/doc/40d2b2fb-6546-43d5-a9c9-feaa224386cb/Pyar-ko-ho-jane-do' title='Pyar ko ho jane do - Kumar Sanu, Lata Mangeskar - Movie Dusman - 1996'/><link rel='replies' type='application/atom+xml' href='http://sanjeev-naroliya.blogspot.com/feeds/7230374938716522943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/05/pyar-ko-ho-jane-do-kumar-sanu-lata.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/7230374938716522943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/7230374938716522943'/><link rel='alternate' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/05/pyar-ko-ho-jane-do-kumar-sanu-lata.html' title='Pyar ko ho jane do - Kumar Sanu, Lata Mangeskar - Movie Dusman - 1996'/><author><name>blogmaster</name><uri>http://www.blogger.com/profile/15039947374065931235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35586588.post-448599229045562933</id><published>2007-05-10T15:17:00.000+05:30</published><updated>2007-05-10T17:50:49.236+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='php site links'/><category scheme='http://www.blogger.com/atom/ns#' term='php developer links'/><category scheme='http://www.blogger.com/atom/ns#' term='php links'/><category scheme='http://www.blogger.com/atom/ns#' term='php referances'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='php help links'/><title type='text'>Usefull PHP Links &amp; Referances</title><content type='html'>&lt;p&gt; On these sites you will find tutorials, articles, example scripts, PHP related tools, jobs, web hosting services, etc.&lt;/p&gt;&lt;a name="companies"&gt;&lt;/a&gt;&lt;h4&gt;PHP Support Companies&lt;/h4&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.mayflower.de/category/category.php?CatID=8&amp;lang=de"&gt;ThinkPHP.de&lt;/a&gt;&lt;br /&gt;  A German and international PHP support company providing  full PHP support (single incidents, on-call duty), software  development, training, and performance measurements. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.zend.com/"&gt;Zend Technologies&lt;/a&gt;&lt;br /&gt;  Zend Technologies supports the PHP community and promotes  PHP adoption. Founded by the authors of the  &lt;a href="http://www.zend.com/products/zend_engine"&gt;Zend Engine&lt;/a&gt;  and members of the PHP Group, Zend offers both free and commercial  solutions for PHP. &lt;/li&gt;&lt;/ul&gt;&lt;a name="associations"&gt;&lt;/a&gt;&lt;h4&gt;Professional PHP Associations&lt;/h4&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.afup.org/"&gt;AFUP.org&lt;/a&gt;&lt;br /&gt;  (Association Fran&amp;ccedil;aise des Utilisateurs de PHP) :   The AFUP was created to answer the growing need from  companies to have one unique place for PHP solutions. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.phpquebec.org/"&gt;PHP Qu&amp;eacute;bec&lt;/a&gt;&lt;br /&gt;  PHP Qu&amp;eacute;bec promotes PHP for professional users in Qu&amp;eacute;bec, Canada.  Every month, companies hold sessions about their use of PHP,   their customer cases and their solutions. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.nyphp.org/"&gt;New York PHP&lt;/a&gt;&lt;br /&gt;  International community supporting PHP adoption, projects and  development. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.prophp.com.br/"&gt;Grupo de Profissionais PHP - Brasil&lt;/a&gt;&lt;br /&gt;  The ProPHP was created to support PHP adoption, improve its usage   and group all of our brazilian PHP Professionals, promoting conferences,  zines and much more. &lt;/li&gt;&lt;/ul&gt;&lt;a name="news"&gt;&lt;/a&gt;&lt;h4&gt;PHP News&lt;/h4&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.planet-php.net/"&gt;Planet PHP&lt;/a&gt;&lt;br /&gt;  Latest news aggregated from PHP related weblogs. &lt;/li&gt; &lt;li&gt;&lt;a href="http://devzone.zend.com/public/view/tag/Weekly_Summaries"&gt;Weekly Summaries&lt;/a&gt;&lt;br /&gt;  Summary of Internal PHP happenings, brought to you by Zend.com &lt;/li&gt;&lt;/ul&gt;&lt;a name="links"&gt;&lt;/a&gt;&lt;h4&gt;PHP Link Catalogs&lt;/h4&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://dmoz.org/Computers/Programming/Languages/PHP/"&gt;dmoz.org&lt;/a&gt;&lt;br /&gt;  The PHP category in the Open Directory Project. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.hotscripts.com/PHP/"&gt;HotScripts.com&lt;/a&gt;&lt;br /&gt;  PHP Books, Magazine Articles, Communities, Scripts and Programs, Softwares,  Tips &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.linuxguruz.com/"&gt;LinuxGuruz.com&lt;/a&gt;&lt;br /&gt;  Many Links and Tutorials, Articles and FAQ about Linux, Apache Web Server,  HTML, PHP, MySQL ... and lots more &lt;/li&gt; &lt;li&gt;&lt;a href="http://phplens.com/phpeverywhere/"&gt;PHP Everywhere&lt;/a&gt;&lt;br /&gt;  Links and news about PHP and related technologies. &lt;/li&gt; &lt;li&gt;&lt;a href="http://php.resourceindex.com/"&gt;PHP Resource Index&lt;/a&gt;&lt;br /&gt;  Hundreds of PHP resources, categorized and searchable &lt;/li&gt;&lt;/ul&gt;&lt;a name="faq"&gt;&lt;/a&gt;&lt;h4&gt;PHP FAQ sites&lt;/h4&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.alt-php-faq.org/"&gt;alt-php-faq.org&lt;/a&gt;&lt;br /&gt;  A big faq and some links about PHP and SQL &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.php-faq.de/"&gt;de.comp.lang.php FAQ&lt;/a&gt;&lt;br /&gt;  Excellent german language FAQ about PHP &lt;/li&gt; &lt;li&gt;&lt;a href="http://php.faqts.com/"&gt;PHP Knowledge Base&lt;/a&gt;&lt;br /&gt;  A growing collection of PHP related information in a searchable  question and answer format. &lt;/li&gt;&lt;/ul&gt;&lt;a name="complex"&gt;&lt;/a&gt;&lt;h4&gt;Complex PHP Related Sites&lt;/h4&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://codewalkers.com/"&gt;Codewalkers&lt;/a&gt;&lt;br /&gt;  A community site dedicated to PHP developers. Includes forums, tutorials,  and user submitted code. Home of the PHP Coding Contest. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.devshed.com/c/b/PHP/"&gt;Developers Shed&lt;/a&gt;&lt;br /&gt;  A good set of articles introducing various PHP concepts &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.devnetwork.net/"&gt;PHP Developers' network&lt;/a&gt;&lt;br /&gt;  The PHP Developers' Network was founded to provide the PHP Community with  a set of solid sites that work together to promote the PHP language and   provide a large resource for the community as a whole. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.phpfreaks.com/"&gt;PHP Freaks&lt;/a&gt;&lt;br /&gt;  PHP Learning Center site. &lt;/li&gt; &lt;li&gt;&lt;a href="http://devzone.zend.com/"&gt;Zend.com DevZone&lt;/a&gt;&lt;br /&gt;  A community site for developers of all levels, including a code  gallery, applications, tips, forums, tutorials and more. &lt;/li&gt;&lt;/ul&gt;&lt;a name="scripts"&gt;&lt;/a&gt;&lt;h4&gt;PHP Scripts and Programs&lt;/h4&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://freshmeat.net/browse/183/"&gt;freshmeat.net PHP Projects&lt;/a&gt;&lt;br /&gt;  A huge number of projects, both commercial and open source &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.nexen.net/component/option,com_nexen_v2/Itemid,234/"&gt;Nexen's  script library&lt;/a&gt;&lt;br /&gt;An exhaustive collection of PHP scripts,  with over 800 useful functions (French). &lt;/li&gt; &lt;li&gt;&lt;a href="http://sourceforge.net/softwaremap/trove_list.php?form_cat=183"&gt;PHP  projects at SourceForge&lt;/a&gt;&lt;br /&gt;  A great number of open source PHP projects actively developed &lt;/li&gt; &lt;li&gt;&lt;a href="http://px.sklar.com/"&gt;PX - PHP Code Exchange&lt;/a&gt;&lt;br /&gt;  The PHP Code Exchange is a great place to start. Here you'll find many  example scripts and useful functions, organized for easy finding. Includes  a search function &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.phpclasses.org/"&gt;The PHP Classes Repository&lt;/a&gt;&lt;br /&gt;  Useful PHP classes in a categorized listing &lt;/li&gt;&lt;/ul&gt;&lt;a name="magazines"&gt;&lt;/a&gt;&lt;h4&gt;PHP Magazines&lt;/h4&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.phparch.com/"&gt;php|architect&lt;/a&gt;&lt;br /&gt;  The first monthly English magazine about PHP, distributed in PDF format &lt;/li&gt; &lt;li&gt;&lt;a href="http://phpmagazin.de/"&gt;PHP Magazin&lt;/a&gt;&lt;br /&gt;  The Software &amp;amp; Support Verlag, based in Frankfurt,  Germany, has now published a magazine on PHP as a   tribute to the steadily growing German PHP community (in German). &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.php-mag.net/"&gt;PHP Magazine&lt;/a&gt;&lt;br /&gt;  An English edition of the magazine mentioned above. The PHP Magazine  is published bimonthly and aimed at professional PHP users. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.phptunisie.net/formation/home/1/1/"&gt;PHP Tunisie Magazine&lt;/a&gt;&lt;br /&gt;  PHP Tunisie Magazine is a monthly French speaking magazine, distributed in PDF format  and dedicated to PHP and its related technologies. It's edited by the Tunisian PHP  users group. &lt;/li&gt;&lt;/ul&gt;&lt;a name="videos"&gt;&lt;/a&gt;&lt;h4&gt;PHP Video and audio&lt;/h4&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://conf.phpquebec.org/main.php/en/dvd2003/main"&gt;DVD PHP Qu&amp;eacute;bec&lt;/a&gt;&lt;br /&gt;  The PHP Qu&amp;eacute;bec DVD was shot during the Montr&amp;eacute;al sessions, in 2003.  It gathers 6 hours of advanced technics sessions, subtitled in French  and English. &lt;/li&gt; &lt;li&gt;&lt;a href="http://conf.phpquebec.org/main.php/en/cdrom2004/main"&gt;CD-ROM PHP Qu&amp;eacute;bec&lt;/a&gt;&lt;br /&gt;  The PHP Qu&amp;eacute;bec CD-ROM was recorded during the Montr&amp;eacute;al sessions, in 2004.  It gathers 21 hours of advanced technics sessions in audio format, with the slides. &lt;/li&gt;&lt;/ul&gt;&lt;a name="tutorials"&gt;&lt;/a&gt;&lt;h4&gt;PHP Tutorials&lt;/h4&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.melonfire.com/community/columns/trog/archives.php?category=PHP"&gt;Melonfire&lt;/a&gt;&lt;br /&gt;  A series of PHP tutorials for novices &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.onlamp.com/php/"&gt;ONLamp&lt;/a&gt;&lt;br /&gt;  Great collection of tutorials from O'Reilly &lt;/li&gt; &lt;li&gt;&lt;a href="http://devzone.zend.com/public/view/tag/tutorials"&gt;Zend.com DevZone&lt;/a&gt;&lt;br /&gt;  The tutorials section on the Zend.com developer zone &lt;/li&gt; &lt;li&gt;&lt;a href="http://www-128.ibm.com/developerworks/opensource/top-projects/php.html"&gt;IBM PHP tutorials&lt;/a&gt;&lt;br /&gt;  Use PHP and other open source tools to develop applications for IBM Information Management servers. &lt;/li&gt;&lt;/ul&gt;&lt;a name="setup"&gt;&lt;/a&gt;&lt;h4&gt;PHP Setup and Authoring Tools&lt;/h4&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.hotscripts.com/PHP/Software_and_Servers/Installation_Kits/"&gt;List of installation kits&lt;/a&gt;&lt;br /&gt;  An extensive list of installation kits setting up servers and PHP for you in minutes. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.midnighthax.com/phpeditors.php"&gt;PHP Editors List&lt;/a&gt;&lt;br /&gt;  A comprehensive list of editors you can use to edit PHP programs &lt;/li&gt;&lt;/ul&gt;&lt;a name="commercialtools"&gt;&lt;/a&gt;&lt;h4&gt;Companies that provide commercial tools for PHP&lt;/h4&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.activestate.com/solutions/php/"&gt;ActiveState&lt;/a&gt;&lt;br /&gt;  ActiveState, a division of Sophos, produces Komodo, a professional  integrated development environment (IDE) for open source languages. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.ioncube.com/"&gt;ionCube&lt;/a&gt;&lt;br /&gt;  ionCube produces PHP development and end-user tools, including the popular  free PHP Accelerator and affordable encoding solutions for code protection. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.adobe.com/"&gt;Macromedia&lt;/a&gt;&lt;br /&gt;  Macromedia created Dreamweaver MX, a rapid web application development  tool supporting PHP. &lt;/li&gt;  &lt;li&gt;&lt;a href="http://www.maguma.com/"&gt;Maguma&lt;/a&gt;&lt;br /&gt;  Maguma produces an IDE with debugging to speed up the development of  PHP enabled websites and applications. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.sourceguardian.com/"&gt;SourceGuardian&lt;/a&gt;&lt;br /&gt;  SourceGuardian produces tools to help commercial developers distribute their  scripts safely including the popular SourceGuardian Pro for encrypting and  obfuscating PHP source code. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.nusphere.com/products/index.htm"&gt;NuSphere&lt;/a&gt;&lt;br /&gt;  NuSphere delivers products and services that allow companies to deploy  reliable, cost-effective database-driven Internet applications and sites. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.waterproof.fr/"&gt;WaterProof&lt;/a&gt;&lt;br /&gt;  WaterProof produce PHPEdit, an IDE mainly targetted to PHP development with  integrated debugger and tools to speed up and enhance quality of your php  projects. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.zend.com/store/"&gt;Zend Technologies, Inc.&lt;/a&gt;&lt;br /&gt;  Zend Technologies, Inc. provides tools to Develop, Protect and Scale your  PHP Applications. &lt;/li&gt;&lt;/ul&gt;&lt;a name="accelerators"&gt;&lt;/a&gt;&lt;h4&gt;PHP Accelerators&lt;/h4&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://pecl.php.net/package/APC"&gt;APC&lt;/a&gt;&lt;br /&gt;  Alternative PHP Cache, Free open source accelerator available from Community  Connect. &lt;/li&gt; &lt;li&gt;&lt;a href="http://eaccelerator.net/"&gt;EAccelerator&lt;/a&gt;&lt;br /&gt;   A fork of Turck MMCache. &lt;/li&gt; &lt;li&gt;&lt;a href="http://php-accelerator.co.uk/"&gt;ionCube PHP Accelerator&lt;/a&gt;&lt;br /&gt;  A free accelerator available from ionCube. &lt;/li&gt; &lt;li&gt;&lt;a href="http://turck-mmcache.sourceforge.net/"&gt;Turck MMCache for PHP&lt;/a&gt;&lt;br /&gt;  Free open source accelerator, optimizer, encoder and dynamic content cache from TurckSoft. &lt;/li&gt; &lt;li&gt;&lt;a href="http://www.zend.com/products/zend_platform"&gt;Zend Accelerator&lt;/a&gt;&lt;br /&gt;  Commercial accelerator available from Zend Technologies, Inc. &lt;/li&gt;&lt;/ul&gt;&lt;a name="merchandise"&gt;&lt;/a&gt;&lt;h4&gt;PHP Merchandise&lt;/h4&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.cafepress.com/buy/php/"&gt;PHP projects' merchandise&lt;/a&gt;&lt;br /&gt;  A search result page with various PHP related projects' shops (not all results are necessarily PHP related!) &lt;/li&gt;&lt;/ul&gt;&lt;a name="nonenglish"&gt;&lt;/a&gt;&lt;h4&gt;Non-English PHP Sites&lt;/h4&gt;&lt;ul&gt; &lt;li&gt;  &lt;strong&gt;Bosnian&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.php.co.ba"&gt;PHP.co.ba&lt;/a&gt;&lt;br /&gt;    Bosnian site with PHP and SQL manual, tutorials, scripts,    forum, mailing list, tools, books...   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;Brazilian&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://phpbrasil.com/"&gt;PHPBrasil.com&lt;/a&gt;&lt;br /&gt;    Brazilian PHP portal with many links and information   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;Chinese&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.phpe.net/"&gt;Exceed PHP&lt;/a&gt;&lt;br /&gt;    Open Source site with PHP, MySQL and Apache tutorials, articles    and scripts   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;Croatian&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://php.com.hr/"&gt;PHP.com.hr (Croatian PHP community)&lt;/a&gt;&lt;br /&gt;    Croatian site with news, source code, manuals, beginners guides, forums,    questions &amp;amp; answers, on-line help for programmers, polls, tools, etc.   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;Czech Republic&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://php.vrana.cz/"&gt;PHP tricks&lt;/a&gt;&lt;br /&gt;    Weblog about PHP programming   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;Dutch&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://php.startpagina.nl/"&gt;Pagina&lt;/a&gt;&lt;br /&gt;    A Dutch PHP portal that lists a lot of PHP links, including free hosting   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;Estonian&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://php.center.ee/"&gt;PHP Center&lt;/a&gt;&lt;br /&gt;    The biggest Estonian portal site with tutorials, manual translations,    discussion board, chat room, link collection, news, etc.   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;French&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.nexen.net/"&gt;Nexen.net&lt;/a&gt;&lt;br /&gt;    Home of PHP French documentation, with comprehensive    technical information, and all PHP related news   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.phpdebutant.org/"&gt;phpdebutant&lt;/a&gt;&lt;br /&gt;    Apprendre le PHP par l'exemple, facilement et simplement.    R&amp;eacute;serv&amp;eacute; d'abord aux d&amp;eacute;butants.   &lt;/li&gt;&lt;!-- Web site does not respond   &lt;li&gt;&lt;a href="http://www.phpfr.org/"&gt;phpfr&lt;/a&gt;&lt;br /&gt;    Le site de r&amp;eacute;f&amp;eacute;rence sur PHP en France!   &lt;/li&gt;--&gt;   &lt;li&gt;&lt;a href="http://www.phpfrance.com/"&gt;phpfrance&lt;/a&gt;&lt;br /&gt;    Pour tout savoir sur le PHP, en fran&amp;ccedil;ais. Vous trouverez    un tutorial, des exemples, des astuces, toute la documentation    n&amp;eacute;cessaire, ainsi que des forums pour poser des questions.   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.phpindex.com/"&gt;PHPIndex&lt;/a&gt;&lt;br /&gt;    A French gateway to PHP related contents   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.phpscripts-fr.net/"&gt;PHPscripts-fr&lt;/a&gt;&lt;br /&gt;    More than 500 PHP applications, listed and sorted   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.phpsecure.info/"&gt;phpsecure.info&lt;/a&gt;&lt;br /&gt; Everyday PHP applicatoins advisories, bugs and vulnerabilities.   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.phpteam.net/"&gt;phpTeam&lt;/a&gt;&lt;br /&gt;    Site traitant du PHP pour les professionels (php et flash,    mysql, postgresql, pear,...)   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://faqfclphp.free.fr/"&gt;FAQ of the French PHP newsgroup&lt;/a&gt; :    &lt;a href="news://fr.comp.lang.php"&gt;fr.comp.lang.php&lt;/a&gt;&lt;br /&gt;    (was: fr.comp.infosystemes.www.auteurs.php)   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;German&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.phpbar.de/"&gt;php::bar&lt;/a&gt;&lt;br /&gt;    PHP related wiki   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.php-center.de/"&gt;PHP Center&lt;/a&gt;&lt;br /&gt;    German speaking portal site with tutorials, tips and    tricks, job advertisements, articles and more   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.php-homepage.de/"&gt;PHP-Homepage&lt;/a&gt;&lt;br /&gt;    German site about PHP with scripts, tips, forums,    MyGuestBook, articles, news and more   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.dynamicwebpages.de/"&gt;DynamicWebpages&lt;/a&gt;&lt;br /&gt;    German site with installation guides, tips &amp;amp; scripts, BestOfGML,    WhoIsWho - a view on german PHP-cracks, german manual,    book reviews, links and more   &lt;/li&gt;&lt;!--service is gone...   &lt;li&gt;&lt;a href="http://www.nohn.org/"&gt;PHPCrawler&lt;/a&gt;&lt;br /&gt;    Searchengine over German PHP-sites with webaccess to newsgroups   &lt;/li&gt;   --&gt;   &lt;li&gt;&lt;a href="http://www.phpwelt.de/"&gt;PHPWelt&lt;/a&gt;&lt;br /&gt;    A German website using PHP to offer free services, a    huge script-archive, free scripts, tutorials and many more   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://develnet.org/"&gt;develnet.org&lt;/a&gt;&lt;br /&gt;    Some German tutorials about PHP   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.selfphp.info/"&gt;SelfPHP&lt;/a&gt;&lt;br /&gt;    German function reference for PHP like SelfHTML for HTML   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.phpgtk.de/"&gt;phpGTK.de&lt;/a&gt;&lt;br /&gt;    German site about PHPGTK   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.php-resource.de/"&gt;php-resource.de&lt;/a&gt;&lt;br /&gt;    This german php community gives you everything you need. A large    script-archive, lots of tutorials and a qualified moderated forum that    answers nearly all your question   &lt;/li&gt;&lt;!--dead domain as 2007/02/07 &lt;li&gt;&lt;a href="http://www.phpreferenz.de/workshops.html"&gt;www.phpreferenz.de&lt;/a&gt;&lt;br /&gt;    Free printable workshops for PHP newcomers   &lt;/li&gt;   --&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;Hungarian&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://php.lap.hu/"&gt;PHP.lap.hu&lt;/a&gt;&lt;br /&gt;    Starting point for Hungarian and International PHP sites   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://weblabor.hu/"&gt;Weblabor&lt;/a&gt;&lt;br /&gt;    Fresh news, articles, links and mailing lists from the    world of web development and PHP   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;Italian&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://php.html.it/"&gt;php.html.it&lt;/a&gt;&lt;br /&gt;    The biggest Italian speaking source for PHP: daily updated links    to scripts, articles, tutorials and many other resources.   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.tutorials.it/"&gt;Tutorials.it&lt;/a&gt;&lt;br /&gt;    An Italian site that provides a variety of developer tutorials,    with a small PHP section   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.phpcenter.it/"&gt;PHPcenter.it&lt;/a&gt;&lt;br /&gt;    An Italian-language PHP site that features a variety of projects, reviews,    courses, tutorials and other resources   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.risorse.net/php/"&gt;Risorse.net&lt;/a&gt;&lt;br /&gt;    Section of an Italian site that provides tutorials about PHP,    hundreds of scripts, books and a list of free and pay webhosts    which support PHP   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;Norwegian&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;    PHP@sindrem.com (&lt;a href="http://www.sindrem.com"&gt;http://www.sindrem.com&lt;/a&gt;)&lt;br /&gt;    Norwegian site for newbies and intermediates. Installation help     and scripts.   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;Persian&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.iranphp.net/"&gt;IranPHP.net&lt;/a&gt;&lt;br /&gt;    A site about PHP for Iranians, with news and forums.   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;Polish&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://php.pl"&gt;php.pl&lt;/a&gt;&lt;br /&gt;    Daily updated website with articles, translations, the    biggest PHP Polish forum, dedicated IRC server, legal    information section, etc.   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;Portuguese&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.php-pt.com/"&gt;portuguese php users group&lt;/a&gt;&lt;br /&gt;    The site intends to help, support, and guide all portuguese php users.   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt;&lt;!--dead domain 2007/02/07    &lt;li&gt;&lt;a href="http://www.cidadela.org/php/"&gt;Cidadela&lt;/a&gt;&lt;br /&gt;    The PHP section of Cidadela provides articles, tutorials,    a help forum, and an Application Market.   &lt;/li&gt;--&gt; &lt;li&gt;  &lt;strong&gt;Romanian&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.phpromania.net/"&gt;PHPromania.net&lt;/a&gt;&lt;br /&gt; Romanian PHP Community, articles, tutorials, online discussions and forums.   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;Russian&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://phpclub.net/"&gt;phpclub.net&lt;/a&gt;&lt;br /&gt;    International PHPClub community based in Russia. Forums,    articles, lessons, consulting.   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://php.net.ua/"&gt;php.net.ua&lt;/a&gt;&lt;br /&gt;    PHP in Russian. Full Russian documentation.   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;Spanish&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.programacion.com/php/"&gt;PHP en Castellano&lt;/a&gt;&lt;br /&gt;    Spanish PHP community. Articles, tutorials, courses,    source code, forums, and more about PHP.   &lt;/li&gt;   &lt;li&gt;&lt;a href="http://zonaphp.com/"&gt;zonaphp.com&lt;/a&gt;&lt;br /&gt;    News and tutorials   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;  &lt;strong&gt;Swedish&lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.phpportalen.net/"&gt;phpportalen.net&lt;/a&gt;&lt;br /&gt;    A Swedish PHP portal with articles, news, forums and much more   &lt;/li&gt;  &lt;/ul&gt; &lt;/li&gt;&lt;/ul&gt;&lt;hr /&gt;&lt;a name="jobs"&gt;&lt;/a&gt;&lt;h1&gt;Developers and Job Opportunities&lt;/h1&gt;&lt;p&gt;Here's a list of sites with that publish PHP-related job listings:&lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.dice.com/"&gt;dice.com&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.getafreelancer.com"&gt;getafreelancer.com&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.gnujobs.com/"&gt;gnujobs.com&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://hotjobs.yahoo.com"&gt;hotjobs.com&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.jobs.com/"&gt;Jobs.com&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://mojolin.com/"&gt;Mojolin&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.monster.com/"&gt;Monster.com&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.php-freelancers.com/"&gt;php-freelancers.com&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.phpcareer.com/"&gt;phpcareer.com&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.totalfreelance.com/"&gt;totalfreelance.com&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://careers.yahoo.com/"&gt;Yahoo! Careers&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.zend.com/jobs/index.php"&gt;Zend.com PHP Jobs&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; For a more exhaustive list of job search sites on the web, take a look at &lt;a href="http://www.dmoz.org/Business/Employment/Job_Search/"&gt;dmoz.org's Job Search listings&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35586588-448599229045562933?l=sanjeev-naroliya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanjeev-naroliya.blogspot.com/feeds/448599229045562933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/05/usefull-php-links.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/448599229045562933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/448599229045562933'/><link rel='alternate' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/05/usefull-php-links.html' title='Usefull PHP Links &amp; Referances'/><author><name>blogmaster</name><uri>http://www.blogger.com/profile/15039947374065931235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35586588.post-457580778018561149</id><published>2007-04-26T11:12:00.000+05:30</published><updated>2007-04-26T11:14:39.674+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='virus'/><category scheme='http://www.blogger.com/atom/ns#' term='anti virus'/><category scheme='http://www.blogger.com/atom/ns#' term='email virus'/><category scheme='http://www.blogger.com/atom/ns#' term='address book'/><title type='text'>HOW TO ENSURE THAT VIRUS DOES NOT SPREAD THRU YOUR ADDRESS BOOK</title><content type='html'>As you may know, when/if a worm virus gets into your computer it headsstraight for your email address book, and sends itself to everyone in there, thus infecting all your friends and associates.&lt;br /&gt;&lt;br /&gt;This trick won't keep the virus from getting into your computer, butit will stop the virus from using your address book to spread further,and it will alert you to the fact that the worm has entered into your system.&lt;br /&gt;&lt;br /&gt;Here's what you do:&lt;br /&gt;&lt;br /&gt;First, open your address book and click on "New Contact," just as youwould do if you were adding a new friend to your list of emailaddresses.&lt;br /&gt;&lt;br /&gt;In the window where you would type your friend's first name, type in "A".&lt;br /&gt;&lt;br /&gt;For the screen name or email address, type &lt;a href="mailto:AAAAAAA@A"&gt;AAAAAAA@A&lt;/a&gt;....&lt;br /&gt;&lt;br /&gt;Save and Close the new entry.&lt;br /&gt;&lt;br /&gt;Now, here's what you've done and why it works:&lt;br /&gt;&lt;br /&gt;The "name" "A" will be placed at the top of your address book as entry#1.&lt;br /&gt;&lt;br /&gt;This will be where the worm will start in an effort to send itself toall your friends. But, when it tries to send itself to AAAAAAA@A...,it will be undeliverable because of the phony email address youentered. If the first attempt fails (which it will because of the phony address), the worm goes no further and your friends will not beinfected.&lt;br /&gt;&lt;br /&gt;Here's the second great advantage of this method:If an email cannot be delivered, you will be notified of this in yourInbox almost immediately as a Mailer Daemon. Hence, if you ever get anemai! l telling you that an email addressed to AAAAAAA@A... could not bedelivered, you know right away that you have the worm/virus in yoursystem. You can then take steps to get rid of it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35586588-457580778018561149?l=sanjeev-naroliya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanjeev-naroliya.blogspot.com/feeds/457580778018561149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/04/how-to-ensure-that-virus-does-not.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/457580778018561149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/457580778018561149'/><link rel='alternate' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/04/how-to-ensure-that-virus-does-not.html' title='HOW TO ENSURE THAT VIRUS DOES NOT SPREAD THRU YOUR ADDRESS BOOK'/><author><name>blogmaster</name><uri>http://www.blogger.com/profile/15039947374065931235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35586588.post-3350525098449890674</id><published>2007-04-21T12:45:00.000+05:30</published><updated>2007-04-21T12:50:46.333+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='FCKeditor'/><category scheme='http://www.blogger.com/atom/ns#' term='पीएचपी'/><title type='text'>PHP Integration to FCKeditor</title><content type='html'>PHP Integration to FCKeditor:&lt;br /&gt;&lt;br /&gt;It is very easy to use FCKeditor in your PHP web pages. All the&lt;br /&gt;integration files are available in the official distributed package.&lt;br /&gt;Just follow these steps.&lt;br /&gt;&lt;br /&gt;Step 1&lt;br /&gt;&lt;br /&gt;Suppose that the editor is installed in the /FCKeditor/ path of your&lt;br /&gt;web site. The first thing to do is to include the "PHP Integration&lt;br /&gt;Module" file in the top of your page, just like this:&lt;br /&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;include("FCKeditor/fckeditor.php");&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;Step 2&lt;br /&gt;&lt;br /&gt;Now the FCKeditor is available and ready to use. So, just insert the&lt;br /&gt;following code in your page to create an instance of the editor&lt;br /&gt;(usually inside a FORM):&lt;br /&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;$oFCKeditor = new FCKeditor('FCKeditor1');&lt;br /&gt;$oFCKeditor-&gt;BasePath = '/FCKeditor/';&lt;br /&gt;$oFCKeditor-&gt;Value = 'Default text in editor';&lt;br /&gt;$oFCKeditor-&gt;Create();&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;"FCKeditor1" is the name used to post the editor data on forms.&lt;br /&gt;&lt;br /&gt;Step 3&lt;br /&gt;&lt;br /&gt;The editor is now ready to be used. Just open the page in your browser&lt;br /&gt;to see it at work.&lt;br /&gt;&lt;br /&gt;The complete sample&lt;br /&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;include("FCKeditor/fckeditor.php") ;&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;   &lt;form action="savedata.php" method="post"&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;$oFCKeditor = new FCKeditor('FCKeditor1') ;&lt;br /&gt;$oFCKeditor-&gt;BasePath = '/FCKeditor/';&lt;br /&gt;$oFCKeditor-&gt;Value = 'Default text in editor';&lt;br /&gt;$oFCKeditor-&gt;Create() ;&lt;br /&gt;?&gt;&lt;br /&gt;     &lt;br&gt;&lt;br /&gt;     &lt;input type="submit" value="Submit"&gt;&lt;br /&gt;   &lt;/form&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Handling the posted data&lt;br /&gt;&lt;br /&gt;The editor instance just created will behave like a normal &lt;INPUT&gt;&lt;br /&gt;field in a form. It will use the name you've used when creating it (in&lt;br /&gt;the above sample, "FCKeditor1").&lt;br /&gt;&lt;br /&gt;So, to retrieve its value you can do something like this:&lt;br /&gt;&lt;br /&gt;$sValue = stripslashes( $_POST['FCKeditor1'] ) ;&lt;br /&gt;&lt;br /&gt;Samples&lt;br /&gt;&lt;br /&gt;You can find some samples on how to use the editor in the "_samples/&lt;br /&gt;php" directory of the distributed package.&lt;br /&gt;&lt;br /&gt;Other info&lt;br /&gt;&lt;br /&gt;If you want to retrieve the resulting HTML instead of outputting it&lt;br /&gt;directly to the browser (for example if you're using it in a template&lt;br /&gt;engine such as Smarty), you can call the "CreateHtml" method instead:&lt;br /&gt;&lt;br /&gt;$output = $oFCKeditor-&gt;CreateHtml() ;&lt;br /&gt;&lt;br /&gt;   *&lt;br /&gt;&lt;br /&gt;     To change the size of the editor in the page, insert the&lt;br /&gt;following code before calling the Create() or CreateHtml() methods:&lt;br /&gt;&lt;br /&gt;$oFCKeditor-&gt;Width  = '100%' ;&lt;br /&gt;$oFCKeditor-&gt;Height = '200' ;&lt;br /&gt;&lt;br /&gt;and just change the values to your needs.&lt;br /&gt;&lt;br /&gt;   * To modify configuration settings in a separate file outside the&lt;br /&gt;editor's directory, add them to the Config property of the editor&lt;br /&gt;object:&lt;br /&gt;&lt;br /&gt;$oFCKeditor-&gt;Config['CustomConfigurationsPath'] = '/myconfig.js' ;&lt;br /&gt;&lt;br /&gt;   *&lt;br /&gt;&lt;br /&gt;     To set the path for saving uploaded files uncomment the&lt;br /&gt;following line in /FCKeditor/editor/filemanager/browser/default/&lt;br /&gt;connectors/php/config.php.&lt;br /&gt;   *&lt;br /&gt;&lt;br /&gt;     (do the same in /FCKeditor/editor/filemanager/upload/php/&lt;br /&gt;config.php, at least in version 2.3)&lt;br /&gt;&lt;br /&gt;// $Config['UserFilesPath'] = '/UserFiles/' ;&lt;br /&gt;&lt;br /&gt;   *&lt;br /&gt;&lt;br /&gt;     Depending on your version, you may also need to set&lt;br /&gt;$Config['Enabled'] to true in /FCKeditor/editor/filemanager/browser/&lt;br /&gt;default/connectors/php/config.php.&lt;br /&gt;   *&lt;br /&gt;&lt;br /&gt;     (do the same in /FCKeditor/editor/filemanager/upload/php/&lt;br /&gt;config.php, at least in version 2.3)&lt;br /&gt;&lt;br /&gt;// SECURITY: You must explicitly enable this "connector". (Set it to&lt;br /&gt;"true").&lt;br /&gt;$Config['Enabled'] = true ;&lt;br /&gt;&lt;br /&gt;Note: Set the permission of the upload directory properly. You should&lt;br /&gt;also uncomment the settings of LinkBrowserURL and the ImageBrowserURL&lt;br /&gt;in the /FCKeditor_2.0fc/fckconfig.js file for the browsing and&lt;br /&gt;uploading function to work properly.&lt;br /&gt;&lt;br /&gt;Also set _FileBrowserLanguage and _QuickUploadLanguage to php in the&lt;br /&gt;fckconfig.js file.&lt;br /&gt;&lt;br /&gt;var _FileBrowserLanguage        = 'php' ;&lt;br /&gt;var _QuickUploadLanguage        = 'php' ;&lt;br /&gt;&lt;br /&gt;See Built-in File Browser for more information.&lt;br /&gt;&lt;br /&gt;Important Note for PHP with Safe Mode activated: You'll have to&lt;br /&gt;create /UserFiles/File, /UserFiles/Flash, /UserFiles/Image and /&lt;br /&gt;UserFiles/Media in order for the filebrowser to work. Of course,&lt;br /&gt;you'll also have to set the correct permissions for these directories.&lt;br /&gt;Furthermore, don't use the "Create new folder" button. The folder&lt;br /&gt;would be created but couldn't be used (Safe Mode restriction).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35586588-3350525098449890674?l=sanjeev-naroliya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanjeev-naroliya.blogspot.com/feeds/3350525098449890674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/04/php-integration-to-fckeditor.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/3350525098449890674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/3350525098449890674'/><link rel='alternate' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/04/php-integration-to-fckeditor.html' title='PHP Integration to FCKeditor'/><author><name>blogmaster</name><uri>http://www.blogger.com/profile/15039947374065931235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35586588.post-63810509107254463</id><published>2007-04-21T12:37:00.000+05:30</published><updated>2007-04-21T12:45:31.316+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='फ्प'/><category scheme='http://www.blogger.com/atom/ns#' term='ओउत्पुत buffering'/><title type='text'>PHP output buffering</title><content type='html'>The output buffering functions of php aren't well known (yet), but are&lt;br /&gt;nevertheless extremely useful. These functions give you more control&lt;br /&gt;over the output generated by your scripts than you would normally&lt;br /&gt;have, and in some cases, this control is essential. Not only do you&lt;br /&gt;have control over when, where, and why your output is displayed, but&lt;br /&gt;you can also control how the output is handled. In this tutorial I&lt;br /&gt;hope to cover the general idea behind output buffering, as well as a&lt;br /&gt;few common uses.&lt;br /&gt;&lt;br /&gt;Lets begin with a common problem, and an easy way to fix it. Some of&lt;br /&gt;you may notice this common mistake, because a lot of the people new to&lt;br /&gt;php have made it:&lt;br /&gt;&lt;br /&gt;PHP Example: (!)&lt;br /&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;echo "You will now be directed to google.com...\n";&lt;br /&gt;header("Location: &lt;span style="text-decoration: underline;"&gt;http://sanjeev-naroliya.blogspot.com/&lt;/span&gt;&lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.google.com/" target="_blank"&gt;&lt;/a&gt;");&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;Those of you who know your way around php a bit will know that you&lt;br /&gt;cannot use the header() function after there is any output. Output in&lt;br /&gt;this script begins with "". The script above would result in an error&lt;br /&gt;of "cannot add header information, headers already sent". Here is how&lt;br /&gt;to use the output buffering functions to get around this problem:&lt;br /&gt;&lt;br /&gt;PHP Example: (!)&lt;br /&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;//start output buffering&lt;br /&gt;ob_start();&lt;br /&gt;?&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;echo "You will now be directed to google.com...\n";&lt;br /&gt;header("Location: &lt;span style="text-decoration: underline;"&gt;http://sanjeev-naroliya.blogspot.com/&lt;/span&gt;&lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.google.com/" target="_blank"&gt;&lt;/a&gt;");&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;//send the contents of the buffer to the browser&lt;br /&gt;ob_end_flush();&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Please do not take this example literally as a way to get around the&lt;br /&gt;&lt;script&gt;&lt;!-- D(["mb","error, it\'d be much easier to just move the header() function to the\u003cbr /\&gt;top, or use a meta refresh, but it\'s the principle that I would like\u003cbr /\&gt;you to grasp. Lets break this down into small peices.\u003cbr /\&gt;ob_start();\u003cbr /\&gt;This function opens up a new buffer. All output of the script will be\u003cbr /\&gt;put into this buffer, so that you may act upon it later. Think of this\u003cbr /\&gt;like a giant string in which all of the output of your script will be\u003cbr /\&gt;appended to. In the previous example, the output would be &amp;quot;You will\u003cbr /\&gt;now be directed to google.com...&amp;quot;.\u003cbr /\&gt;\u003cbr /\&gt;at the end you see the ob_end_flush() function. This function is used\u003cbr /\&gt;to \'flush\' (send) data to the browser, and to close the buffer.\u003cbr /\&gt;\u003cbr /\&gt;As you have noticed, you cannot do much with these two functions\u003cbr /\&gt;alone. Now comes the fun part. The Output Buffering API in php comes\u003cbr /\&gt;with some nice functions to give you a lot of control over the way you\u003cbr /\&gt;handle your scripts, Read on if you want to check these out in\u003cbr /\&gt;detail.\u003cbr /\&gt;\u003cbr /\&gt;I think the best way to teach more about output buffering would be to\u003cbr /\&gt;show you examples and explain them later. Many people will be able to\u003cbr /\&gt;identify what the code is supposed to do before even reading the\u003cbr /\&gt;explanations, output buffering is just that easy. Lets begin:\u003cbr /\&gt;\u003cbr /\&gt;PHP Example: (!)\u003cbr /\&gt;\u003cbr /\&gt;&lt;?php\u003cbr /\&gt;//start output buffering\u003cbr /\&gt;ob_start();\u003cbr /\&gt;//call the get_database_content function\u003cbr /\&gt;get_database_content();\u003cbr /\&gt;//call the page_end function\u003cbr /\&gt;page_end();\u003cbr /\&gt;\u003cbr /\&gt;function get_database_content() {\u003cbr /\&gt;mysql_connect(\'some host\',\'user\',\'pass\');\u003cbr /\&gt;$query \u003d mysql_query(&amp;quot;SELECT * FROM users WHERE userid\u003d\'12\'&amp;quot;);\u003cbr /\&gt;     while( $thingy \u003d $mysql_fetch_array($query) ) {\u003cbr /\&gt;          echo $thingy;\u003cbr /\&gt;     }\u003cbr /\&gt;}\u003cbr /\&gt;\u003cbr /\&gt;function page_end() {\u003cbr /\&gt;     if(mysql_error() &gt; 0) {\u003cbr /\&gt;          ob_end_clean();\u003cbr /\&gt;          echo &amp;quot;ERROR: &amp;quot;.mysql_error();\u003cbr /\&gt;",1] );  //--&gt;&lt;/script&gt;error, it'd be much easier to just move the header() function to the&lt;br /&gt;top, or use a meta refresh, but it's the principle that I would like&lt;br /&gt;you to grasp. Lets break this down into small peices.&lt;br /&gt;ob_start();&lt;br /&gt;This function opens up a new buffer. All output of the script will be&lt;br /&gt;put into this buffer, so that you may act upon it later. Think of this&lt;br /&gt;like a giant string in which all of the output of your script will be&lt;br /&gt;appended to. In the previous example, the output would be "You will&lt;br /&gt;now be directed to google.com...".&lt;br /&gt;&lt;br /&gt;at the end you see the ob_end_flush() function. This function is used&lt;br /&gt;to 'flush' (send) data to the browser, and to close the buffer.&lt;br /&gt;&lt;br /&gt;As you have noticed, you cannot do much with these two functions&lt;br /&gt;alone. Now comes the fun part. The Output Buffering API in php comes&lt;br /&gt;with some nice functions to give you a lot of control over the way you&lt;br /&gt;handle your scripts, Read on if you want to check these out in&lt;br /&gt;detail.&lt;br /&gt;&lt;br /&gt;I think the best way to teach more about output buffering would be to&lt;br /&gt;show you examples and explain them later. Many people will be able to&lt;br /&gt;identify what the code is supposed to do before even reading the&lt;br /&gt;explanations, output buffering is just that easy. Lets begin:&lt;br /&gt;&lt;br /&gt;PHP Example: (!)&lt;br /&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;//start output buffering&lt;br /&gt;ob_start();&lt;br /&gt;//call the get_database_content function&lt;br /&gt;get_database_content();&lt;br /&gt;//call the page_end function&lt;br /&gt;page_end();&lt;br /&gt;&lt;br /&gt;function get_database_content() {&lt;br /&gt;mysql_connect('some host','user','pass');&lt;br /&gt;$query = mysql_query("SELECT * FROM users WHERE userid='12'");&lt;br /&gt;    while( $thingy = $mysql_fetch_array($query) ) {&lt;br /&gt;         echo $thingy;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function page_end() {&lt;br /&gt;    if(mysql_error() &gt; 0) {&lt;br /&gt;         ob_end_clean();&lt;br /&gt;         echo "ERROR: ".mysql_error();&lt;br /&gt;&lt;script&gt;&lt;!-- D(["mb","     } else {\u003cbr /\&gt;          ob_end_flush();\u003cbr /\&gt;     }\u003cbr /\&gt;}\u003cbr /\&gt;\u003cbr /\&gt;?&gt;\u003cbr /\&gt;\u003cbr /\&gt;\u003cbr /\&gt;In this example a buffer is opened with ob_start, and then functions\u003cbr /\&gt;are called to control the output. get_database_content will connect to\u003cbr /\&gt;a database and echo some data, and then page_end will check to see if\u003cbr /\&gt;all went well. If there was an error while using the database, the\u003cbr /\&gt;buffer is cleared, and an error message is displayed. If all went\u003cbr /\&gt;well, the buffer is sent to the browser with ob_end_flush().\u003cbr /\&gt;\u003cbr /\&gt;PHP Example: (!)\u003cbr /\&gt;\u003cbr /\&gt;ob_end_clean();\u003cbr /\&gt;\u003cbr /\&gt;\u003cbr /\&gt;The ob_end_clean function empties (hence \'clean\') and then closes the\u003cbr /\&gt;buffer without sending the content to the browser.\u003cbr /\&gt;\u003cbr /\&gt;Here is another example, introducing two new functions.\u003cbr /\&gt;\u003cbr /\&gt;PHP Example: (!)\u003cbr /\&gt;\u003cbr /\&gt;&lt;?php\u003cbr /\&gt;//start output buffering\u003cbr /\&gt;ob_start();\u003cbr /\&gt;//call the get_database_content function\u003cbr /\&gt;get_database_content();\u003cbr /\&gt;//call the page_end function\u003cbr /\&gt;page_end();\u003cbr /\&gt;\u003cbr /\&gt;function get_database_content() {\u003cbr /\&gt;mysql_connect(\'some host\',\'user\',\'pass\');\u003cbr /\&gt;$query \u003d mysql_query(&amp;quot;SELECT * FROM users WHERE userid\u003d\'12\'&amp;quot;);\u003cbr /\&gt;     while( $thingy \u003d $mysql_fetch_array($query) ) {\u003cbr /\&gt;          echo $thingy;\u003cbr /\&gt;     }\u003cbr /\&gt;}\u003cbr /\&gt;\u003cbr /\&gt;function page_end() {\u003cbr /\&gt;     if(mysql_error &gt; 0){\u003cbr /\&gt;          ob_clean();\u003cbr /\&gt;          echo &amp;quot;ERROR: &amp;quot;.mysql_error();\u003cbr /\&gt;          ob_flush();\u003cbr /\&gt;     } else {\u003cbr /\&gt;          ob_flush();\u003cbr /\&gt;     }\u003cbr /\&gt;}\u003cbr /\&gt;ob_end_clean();\u003cbr /\&gt;?&gt;\u003cbr /\&gt;\u003cbr /\&gt;\u003cbr /\&gt;This example is basically same as the last, except it uses ob_flush\u003cbr /\&gt;and ob_clean. ob_flush will send the contents of the buffer to the\u003cbr /\&gt;browser and empty the buffer, but will not close the buffer. ob_clean\u003cbr /\&gt;will empty the contents of the buffer without sending the output to\u003cbr /\&gt;",1] );  //--&gt;&lt;/script&gt;     } else {&lt;br /&gt;         ob_end_flush();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In this example a buffer is opened with ob_start, and then functions&lt;br /&gt;are called to control the output. get_database_content will connect to&lt;br /&gt;a database and echo some data, and then page_end will check to see if&lt;br /&gt;all went well. If there was an error while using the database, the&lt;br /&gt;buffer is cleared, and an error message is displayed. If all went&lt;br /&gt;well, the buffer is sent to the browser with ob_end_flush().&lt;br /&gt;&lt;br /&gt;PHP Example: (!)&lt;br /&gt;&lt;br /&gt;ob_end_clean();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The ob_end_clean function empties (hence 'clean') and then closes the&lt;br /&gt;buffer without sending the content to the browser.&lt;br /&gt;&lt;br /&gt;Here is another example, introducing two new functions.&lt;br /&gt;&lt;br /&gt;PHP Example: (!)&lt;br /&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;//start output buffering&lt;br /&gt;ob_start();&lt;br /&gt;//call the get_database_content function&lt;br /&gt;get_database_content();&lt;br /&gt;//call the page_end function&lt;br /&gt;page_end();&lt;br /&gt;&lt;br /&gt;function get_database_content() {&lt;br /&gt;mysql_connect('some host','user','pass');&lt;br /&gt;$query = mysql_query("SELECT * FROM users WHERE userid='12'");&lt;br /&gt;    while( $thingy = $mysql_fetch_array($query) ) {&lt;br /&gt;         echo $thingy;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function page_end() {&lt;br /&gt;    if(mysql_error &gt; 0){&lt;br /&gt;         ob_clean();&lt;br /&gt;         echo "ERROR: ".mysql_error();&lt;br /&gt;         ob_flush();&lt;br /&gt;    } else {&lt;br /&gt;         ob_flush();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;ob_end_clean();&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This example is basically same as the last, except it uses ob_flush&lt;br /&gt;and ob_clean. ob_flush will send the contents of the buffer to the&lt;br /&gt;browser and empty the buffer, but will not close the buffer. ob_clean&lt;br /&gt;will empty the contents of the buffer without sending the output to&lt;br /&gt;&lt;script&gt;&lt;!-- D(["mb","the browser. It also does not close the buffer. At the end the buffer\u003cbr /\&gt;is closed with ob_end_clean.\u003cbr /\&gt;\u003cbr /\&gt;Another function which you will use often while using output buffering\u003cbr /\&gt;is ob_get_contents. Let\'s take a look at some example code:\u003cbr /\&gt;\u003cbr /\&gt;PHP Example: (!)\u003cbr /\&gt;\u003cbr /\&gt;&lt;?php\u003cbr /\&gt;//start output buffering\u003cbr /\&gt;ob_start();\u003cbr /\&gt;echo &amp;quot;wwooooo&amp;quot;;\u003cbr /\&gt;echo &amp;quot;hoo!&amp;quot;;\u003cbr /\&gt;ob_flush();\u003cbr /\&gt;//call the get_database_contents function\u003cbr /\&gt;get_database_contents();\u003cbr /\&gt;//call the page_end function\u003cbr /\&gt;page_end();\u003cbr /\&gt;\u003cbr /\&gt;function get_database_content() {\u003cbr /\&gt;mysql_connect(\'some host\',\'user\',\'pass\');\u003cbr /\&gt;$query \u003d mysql_query(&amp;quot;SELECT * FROM users WHERE userid\u003d\'12\'&amp;quot;);\u003cbr /\&gt;     while( $thingy \u003d $mysql_fetch_array($query) ) {\u003cbr /\&gt;          echo $thingy;\u003cbr /\&gt;     }\u003cbr /\&gt;}\u003cbr /\&gt;\u003cbr /\&gt;function page_end(){\u003cbr /\&gt;$stuff \u003d ob_get_contents();\u003cbr /\&gt;$file \u003d fopen(&amp;quot;data.txt&amp;quot;,&amp;quot;w&amp;quot;);\u003cbr /\&gt;fwrite($file, $stuff);\u003cbr /\&gt;fclose($file);\u003cbr /\&gt;}\u003cbr /\&gt;ob_end_clean();\u003cbr /\&gt;?&gt;\u003cbr /\&gt;\u003cbr /\&gt;\u003cbr /\&gt;As you can see, ob_get_contents returns the content of the buffer. If\u003cbr /\&gt;there is no buffer open, ob_get_contents will return false. There are\u003cbr /\&gt;a few more functions that I won\'t go into detail over, which I will\u003cbr /\&gt;list below, with a brief explanation.\u003cbr /\&gt;\u003cbr /\&gt;flush\u003cbr /\&gt;This function will try to put all output in the buffer to the browser.\u003cbr /\&gt;ob_implicit_flush\u003cbr /\&gt;This function turns explicit flushing on or off, if no flag is given\u003cbr /\&gt;as a parameter it will default as on. With ob_implicit_flush the\u003cbr /\&gt;buffer will be flushed after each call to output, and explicitly\u003cbr /\&gt;calling flush() is no longer needed.\u003cbr /\&gt;ob_get_length\u003cbr /\&gt;This will return the length of the output buffer, or false if there is\u003cbr /\&gt;no active buffer.\u003cbr /\&gt;ob_get_level\u003cbr /\&gt;This function returns the nesting level of the output buffering\u003cbr /\&gt;mechanism. meaning, it will return the level of nested output\u003cbr /\&gt;buffering, if you have more than one open buffer.\u003cbr /\&gt;",1] );  //--&gt;&lt;/script&gt;the browser. It also does not close the buffer. At the end the buffer&lt;br /&gt;is closed with ob_end_clean.&lt;br /&gt;&lt;br /&gt;Another function which you will use often while using output buffering&lt;br /&gt;is ob_get_contents. Let's take a look at some example code:&lt;br /&gt;&lt;br /&gt;PHP Example: (!)&lt;br /&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;//start output buffering&lt;br /&gt;ob_start();&lt;br /&gt;echo "wwooooo";&lt;br /&gt;echo "hoo!";&lt;br /&gt;ob_flush();&lt;br /&gt;//call the get_database_contents function&lt;br /&gt;get_database_contents();&lt;br /&gt;//call the page_end function&lt;br /&gt;page_end();&lt;br /&gt;&lt;br /&gt;function get_database_content() {&lt;br /&gt;mysql_connect('some host','user','pass');&lt;br /&gt;$query = mysql_query("SELECT * FROM users WHERE userid='12'");&lt;br /&gt;    while( $thingy = $mysql_fetch_array($query) ) {&lt;br /&gt;         echo $thingy;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function page_end(){&lt;br /&gt;$stuff = ob_get_contents();&lt;br /&gt;$file = fopen("data.txt","w");&lt;br /&gt;fwrite($file, $stuff);&lt;br /&gt;fclose($file);&lt;br /&gt;}&lt;br /&gt;ob_end_clean();&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As you can see, ob_get_contents returns the content of the buffer. If&lt;br /&gt;there is no buffer open, ob_get_contents will return false. There are&lt;br /&gt;a few more functions that I won't go into detail over, which I will&lt;br /&gt;list below, with a brief explanation.&lt;br /&gt;&lt;br /&gt;flush&lt;br /&gt;This function will try to put all output in the buffer to the browser.&lt;br /&gt;ob_implicit_flush&lt;br /&gt;This function turns explicit flushing on or off, if no flag is given&lt;br /&gt;as a parameter it will default as on. With ob_implicit_flush the&lt;br /&gt;buffer will be flushed after each call to output, and explicitly&lt;br /&gt;calling flush() is no longer needed.&lt;br /&gt;ob_get_length&lt;br /&gt;This will return the length of the output buffer, or false if there is&lt;br /&gt;no active buffer.&lt;br /&gt;ob_get_level&lt;br /&gt;This function returns the nesting level of the output buffering&lt;br /&gt;mechanism. meaning, it will return the level of nested output&lt;br /&gt;buffering, if you have more than one open buffer.&lt;br /&gt;&lt;script&gt;&lt;!-- D(["mb","ob_get_status\u003cbr /\&gt;This function returns an array of either the status of currenly open\u003cbr /\&gt;buffers or FALSE.\u003cbr /\&gt;NOTE: this function is EXPERIMENTAL. The name and functionality can be\u003cbr /\&gt;changed in future versions of php, or it could be dropped altogether.\u003cbr /\&gt;\u003cbr /\&gt;There is really only one more area of interest I would like to hit on\u003cbr /\&gt;output buffering, and that is ob_gzhandler. You can read about it on\u003cbr /\&gt;the next page. Ob_gzhandler is (in my opinion) the best part of output\u003cbr /\&gt;buffering. Read on.\u003cbr /\&gt;\u003cbr /\&gt;Ob_gzhandler can be used to automatically compress data before it is\u003cbr /\&gt;sent to the browser, decreasing loading time, on browsers which\u003cbr /\&gt;support it (the function will determine which type of compression your\u003cbr /\&gt;browser can handle: gzip, deflate, or none at all). This is an\u003cbr /\&gt;extremely useful function for any website which uses large amounts of\u003cbr /\&gt;dynamic data. A quick example:\u003cbr /\&gt;\u003cbr /\&gt;PHP Example: (!)\u003cbr /\&gt;\u003cbr /\&gt;&lt;?php\u003cbr /\&gt;//start output buffering with the ob_gzhandler callback\u003cbr /\&gt;ob_start(&amp;quot;ob_gzhandler&amp;quot;);\u003cbr /\&gt;echo &amp;quot;this data is compressed.&amp;quot;;\u003cbr /\&gt;ob_end_flush();\u003cbr /\&gt;?&gt;\u003cbr /\&gt;\u003cbr /\&gt;\u003cbr /\&gt;A small warning: although your server will have less bandwidth being\u003cbr /\&gt;used, the CPU load will be drastically increased.\u003cbr /\&gt;\u003cbr /\&gt;\u003cbr /\&gt;Thanks &amp; Regards\u003cbr /\&gt;Prabhash Vhoudhary\u003cbr /\&gt;Software Developer(PHP)\u003cbr /\&gt;\u003cbr /\&gt;\u003cbr /\&gt;--~--~---------~--~----~------\u003cwbr /\&gt;------~-------~--~----~\u003cbr /\&gt;You received this message because you are subscribed to the Google Groups &amp;quot;phpprogrammers&amp;quot; group.\u003cbr /\&gt;To post to this group, send email to \u003ca onclick\u003d\"return top.js.OpenExtLink(window,event,this)\" href\u003d\"mailto:phpprogrammers@googlegroups.com\"\&gt;phpprogrammers@googlegroups\u003cwbr /\&gt;.com\u003c/a\&gt;\u003cbr /\&gt;To unsubscribe from this group, send email to \u003ca onclick\u003d\"return top.js.OpenExtLink(window,event,this)\" href\u003d\"mailto:phpprogrammers-unsubscribe@googlegroups.com\"\&gt;phpprogrammers-unsubscribe\u003cwbr /\&gt;@googlegroups.com\u003c/a\&gt;\u003cbr /\&gt;For more options, visit this group at \u003ca onclick\u003d\"return top.js.OpenExtLink(window,event,this)\" href\u003d\"http://groups.google.com/group/phpprogrammers?hl\u003den\" target\u003d_blank\&gt;http://groups.google.com/group\u003cwbr /\&gt;/phpprogrammers?hl\u003den\u003c/a\&gt;\u003cbr /\&gt;-~----------~----~----~----~--\u003cwbr /\&gt;----~----~------~--~---\u003cbr /\&gt;\u003cbr /\&gt;\u003c/div\&gt;",0] );  //--&gt;&lt;/script&gt;ob_get_status&lt;br /&gt;This function returns an array of either the status of currenly open&lt;br /&gt;buffers or FALSE.&lt;br /&gt;NOTE: this function is EXPERIMENTAL. The name and functionality can be&lt;br /&gt;changed in future versions of php, or it could be dropped altogether.&lt;br /&gt;&lt;br /&gt;There is really only one more area of interest I would like to hit on&lt;br /&gt;output buffering, and that is ob_gzhandler. You can read about it on&lt;br /&gt;the next page. Ob_gzhandler is (in my opinion) the best part of output&lt;br /&gt;buffering. Read on.&lt;br /&gt;&lt;br /&gt;Ob_gzhandler can be used to automatically compress data before it is&lt;br /&gt;sent to the browser, decreasing loading time, on browsers which&lt;br /&gt;support it (the function will determine which type of compression your&lt;br /&gt;browser can handle: gzip, deflate, or none at all). This is an&lt;br /&gt;extremely useful function for any website which uses large amounts of&lt;br /&gt;dynamic data. A quick example:&lt;br /&gt;&lt;br /&gt;PHP Example: (!)&lt;br /&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;//start output buffering with the ob_gzhandler callback&lt;br /&gt;ob_start("ob_gzhandler");&lt;br /&gt;echo "this data is compressed.";&lt;br /&gt;ob_end_flush();&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A small warning: although your server will have less bandwidth being&lt;br /&gt;used, the CPU load will be drastically increased।&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35586588-63810509107254463?l=sanjeev-naroliya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanjeev-naroliya.blogspot.com/feeds/63810509107254463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/04/php-output-buffering.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/63810509107254463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/63810509107254463'/><link rel='alternate' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/04/php-output-buffering.html' title='PHP output buffering'/><author><name>blogmaster</name><uri>http://www.blogger.com/profile/15039947374065931235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35586588.post-4443201637086747076</id><published>2007-04-12T00:45:00.000+05:30</published><updated>2007-04-12T00:57:10.076+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ranthambore National Park'/><title type='text'>Our visit to Ranthambore National Park on 25 december 2006</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_z6F498YAEPE/Rh004TNHH3I/AAAAAAAAASU/K8sI4w5_IMc/s1600-h/Image%28173%29.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_z6F498YAEPE/Rh004TNHH3I/AAAAAAAAASU/K8sI4w5_IMc/s400/Image%28173%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5052252498812149618" border="0" /&gt;going in the park,  long  quee ah!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35586588-4443201637086747076?l=sanjeev-naroliya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanjeev-naroliya.blogspot.com/feeds/4443201637086747076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/04/our-visit-to-ranthambore-national-park_11.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/4443201637086747076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/4443201637086747076'/><link rel='alternate' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/04/our-visit-to-ranthambore-national-park_11.html' title='Our visit to Ranthambore National Park on 25 december 2006'/><author><name>blogmaster</name><uri>http://www.blogger.com/profile/15039947374065931235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_z6F498YAEPE/Rh004TNHH3I/AAAAAAAAASU/K8sI4w5_IMc/s72-c/Image%28173%29.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35586588.post-3401609359479797517</id><published>2007-04-12T00:37:00.000+05:30</published><updated>2007-04-12T00:43:10.556+05:30</updated><title type='text'>Our visit to Ranthambore National Park on 25 december 2006</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_z6F498YAEPE/Rh0zNTNHH1I/AAAAAAAAASI/ajh_ApPOBwA/s1600-h/Image%28200%29.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_z6F498YAEPE/Rh0zNTNHH1I/AAAAAAAAASI/ajh_ApPOBwA/s400/Image%28200%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5052250660566146898" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35586588-3401609359479797517?l=sanjeev-naroliya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanjeev-naroliya.blogspot.com/feeds/3401609359479797517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/04/our-visit-to-ranthambore-national-park.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/3401609359479797517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/3401609359479797517'/><link rel='alternate' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/04/our-visit-to-ranthambore-national-park.html' title='Our visit to Ranthambore National Park on 25 december 2006'/><author><name>blogmaster</name><uri>http://www.blogger.com/profile/15039947374065931235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_z6F498YAEPE/Rh0zNTNHH1I/AAAAAAAAASI/ajh_ApPOBwA/s72-c/Image%28200%29.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35586588.post-4361859687136755019</id><published>2007-04-07T11:01:00.000+05:30</published><updated>2007-04-07T11:12:12.411+05:30</updated><title type='text'>google strange search results</title><content type='html'>i just want to share this search term, &lt;a href="http://www.google.com/search?q=http"&gt;click here&lt;/a&gt; n &lt;a href="http://www.google.com/search?q=www"&gt;here &lt;/a&gt;to see the worlds most famous websites in single search term.&lt;br /&gt;&lt;br /&gt;i know this for a long time and thinking to share it but always forget to do so. now its here...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35586588-4361859687136755019?l=sanjeev-naroliya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanjeev-naroliya.blogspot.com/feeds/4361859687136755019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/04/google-strange-search-results.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/4361859687136755019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/4361859687136755019'/><link rel='alternate' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2007/04/google-strange-search-results.html' title='google strange search results'/><author><name>blogmaster</name><uri>http://www.blogger.com/profile/15039947374065931235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35586588.post-116081594698989514</id><published>2006-10-14T14:19:00.000+05:30</published><updated>2006-10-14T14:22:26.996+05:30</updated><title type='text'>bike rental information for jaipur</title><content type='html'>im putting this information here because there is no information on the net for bike rental in jaipur, i collect this information for some of my friends, hope other people find this usefull too.&lt;br /&gt;&lt;br /&gt; &lt;p class="MsoNormal"&gt;The Bike Rental information for Jaipur.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Company: Kinetic Rent A Bike&lt;/p&gt;    &lt;p class="MsoNormal"&gt;Address: M. I. Road, Opp Ajmeri Gate.&lt;/p&gt;    &lt;p class="MsoNormal"&gt;Contact Person: Mr. Amit&lt;/p&gt;    &lt;p class="MsoNormal"&gt;Mobile No.:&lt;span style=""&gt;  &lt;/span&gt;98295-99756, 93525-63864&lt;/p&gt;    &lt;p class="MsoNormal"&gt;Landline No.: 0141-5112961&lt;/p&gt;    &lt;p class="MsoNormal"&gt;For bike rental, you have a Driving License, a Address Proof, a Security Deposit Of Rs. 1000.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35586588-116081594698989514?l=sanjeev-naroliya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanjeev-naroliya.blogspot.com/feeds/116081594698989514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2006/10/bike-rental-information-for-jaipur.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/116081594698989514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/116081594698989514'/><link rel='alternate' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2006/10/bike-rental-information-for-jaipur.html' title='bike rental information for jaipur'/><author><name>blogmaster</name><uri>http://www.blogger.com/profile/15039947374065931235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35586588.post-116011469948081793</id><published>2006-10-06T11:21:00.000+05:30</published><updated>2006-10-06T17:34:27.320+05:30</updated><title type='text'>first entry</title><content type='html'>i am thinking for a long time that i should write a little note every day working on my blog, but as time did not allow me to do so, so here we go, these day im working on a new project, its a web based php mysql project for UK number plates sell and purchase system, i work out the basic logices for the project, so im now little comfertable about this.&lt;br /&gt;&lt;br /&gt;today i got the song "Pal Bar Mai Ye Kaya Ho Gaya, Ye Mai Gayi Wo Man Gaya" of Swami movie from my friend kunal, i am searching this song for a long time, its a great song, great lyrics and music, lata ji signs it very prefectionly, if you need this song let me know i will mail you.&lt;br /&gt;&lt;br /&gt;also i find a great open source tool, this will install a tool bar in IE from this you can convert any webpage to PDF, you can find it here: &lt;a href="http://www.pdfforge.org/" rel="nofollow"&gt;http://www.pdfforge.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;are you like Regular Expressions? but did not find any good tutorails yet, you can find it &lt;a href="http://www.sitepoint.com/blogs/2006/09/26/the-joy-of-regular-expressions-1/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35586588-116011469948081793?l=sanjeev-naroliya.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sanjeev-naroliya.blogspot.com/feeds/116011469948081793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2006/10/first-entry.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/116011469948081793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35586588/posts/default/116011469948081793'/><link rel='alternate' type='text/html' href='http://sanjeev-naroliya.blogspot.com/2006/10/first-entry.html' title='first entry'/><author><name>blogmaster</name><uri>http://www.blogger.com/profile/15039947374065931235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
