<?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-9168410405140161570</id><updated>2011-10-08T05:41:44.932-07:00</updated><category term='Directive'/><category term='Unix'/><category term='Introduction'/><category term='Create thumbnails by cropping or resizing an image'/><category term='FIle'/><category term='Uploads'/><category term='Features'/><category term='PHP Classes'/><category term='Connection'/><category term='Database'/><category term='Linux'/><category term='PDO'/><category term='Simpled thumbnail'/><category term='Java classes'/><category term='Datatypes'/><category term='PHP’s mail'/><category term='Configure'/><category term='syntax'/><category term='Directories'/><category term='comments'/><category term='Output'/><category term='Basic'/><category term='Dynamic Extensions'/><category term='Paths'/><title type='text'>PHP Hypertext Preprocessor</title><subtitle type='html'>From Novice to Professional</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>81</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-3540429853590822318</id><published>2011-07-03T21:53:00.000-07:00</published><updated>2011-07-03T21:53:08.965-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Create thumbnails by cropping or resizing an image'/><category scheme='http://www.blogger.com/atom/ns#' term='Simpled thumbnail'/><title type='text'>[PHP Classes] : Simpled thumbnail</title><content type='html'>&lt;h1&gt;&lt;span style="font-size: small;"&gt;class: Simpled thumbnail&lt;/span&gt;&lt;/h1&gt;&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;&lt;span style="font-size: small;"&gt;Class:&lt;/span&gt;&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td align="right" width="1%"&gt;&lt;img align="middle" alt="Class" border="0" height="24" src="http://files.phpclasses.org/themes/igd01/graphics/package.png" width="24" /&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href="http://www.phpclasses.org/package/7012.html" rel="nofollow" target="_blank"&gt;Simpled thumbnail&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr class="dark"&gt; &lt;td align="right" width="1%"&gt;&lt;img align="middle" alt="This class support forum" border="0" height="24" src="http://files.phpclasses.org/themes/igd01/graphics/forum.png" width="24" /&gt;&lt;/td&gt; &lt;td&gt;&lt;a href="http://www.phpclasses.org/discuss/package/7012/" rel="nofollow" target="_blank"&gt;This class support forum&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;&lt;span style="font-size: small;"&gt;Short description:&lt;/span&gt;&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td&gt;Create thumbnails by cropping or resizing an image&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;&lt;span style="font-size: small;"&gt;Groups:&lt;/span&gt;&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;PHP 5&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="even"&gt;Graphics&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt; &lt;td valign="top" width="1%"&gt;&lt;a href="http://www.phpclasses.org/ads/adclick.php?ssc=1&amp;amp;n=a1869449043" rel="nofollow" target="_blank"&gt;&lt;img alt="Advertisement" border="0" height="280" src="http://www.phpclasses.org/ads/adview.php?ssc=1&amp;amp;what=zone:35&amp;amp;n=a1869449043" width="336" /&gt;&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;&lt;span style="font-size: small;"&gt;Supplied by:&lt;/span&gt;&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;Roman&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;&lt;span style="font-size: small;"&gt;Detailed description:&lt;/span&gt;&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;This class can create thumbnails by cropping or resizing an image.&lt;br /&gt;&lt;br /&gt;It can open an image from a file or string in GIF, JPEG or PNG formats  and creates a thumbnail image with given dimensions by either resizing  the image or cropping it.&lt;br /&gt;&lt;br /&gt;The resulting image can be saved to a file or displayed as the current script output.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;h1&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-3540429853590822318?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/3540429853590822318/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/07/php-classes-simpled-thumbnail.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/3540429853590822318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/3540429853590822318'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/07/php-classes-simpled-thumbnail.html' title='[PHP Classes] : Simpled thumbnail'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-3571845316362991768</id><published>2011-04-26T17:31:00.000-07:00</published><updated>2011-04-26T17:31:55.059-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP Classes'/><title type='text'>[PHP Classes] Added a new class: Chinese Character Conversion</title><content type='html'>&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;Short description:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td&gt;Convert between traditional and simplified Chinese&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Groups:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;Localization&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="even"&gt;PHP 5&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;Text processing&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Supplied by:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;yinsee&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Detailed description:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;This class can convert text between traditional and simplified Chinese.&lt;br /&gt;&lt;br /&gt;It can take a string with Chinese text encoded in UTF-8 and converts it  between simplified and traditional Chinese, and vice-versa.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-3571845316362991768?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/3571845316362991768/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/04/php-classes-added-new-class-chinese.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/3571845316362991768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/3571845316362991768'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/04/php-classes-added-new-class-chinese.html' title='[PHP Classes] Added a new class: Chinese Character Conversion'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-1927998742319171554</id><published>2011-04-26T17:30:00.000-07:00</published><updated>2011-04-26T17:30:59.709-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP Classes'/><title type='text'>[PHP Classes] Added a new class: PID process check</title><content type='html'>&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;Short description:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td&gt;Check if a PHP script is running using PID files&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Groups:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;PHP 5&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="even"&gt;Unix&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;Console&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="even"&gt;Windows&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="even"&gt;&amp;nbsp;&lt;/td&gt;&lt;td class="even"&gt;&amp;nbsp;&lt;ul&gt;&lt;li&gt;&lt;h2&gt;Supplied by:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;Camilo Sperberg&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Detailed description:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;This class can check if a PHP script is running using PID files.&lt;br /&gt;&lt;br /&gt;It looks at a given directory to see if it exists a process identifier file with the number of the current script process.&lt;br /&gt;&lt;br /&gt;If the file exists, the class can call a Windows COM object or send a  POSIX signal under a Linux/Unix system to determine if a process is  running.&lt;br /&gt;&lt;br /&gt;If the script is not yet running, the class creates the PID file and stores process number in it.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;/td&gt;&lt;td class="even"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-1927998742319171554?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/1927998742319171554/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/04/php-classes-added-new-class-pid-process.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1927998742319171554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1927998742319171554'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/04/php-classes-added-new-class-pid-process.html' title='[PHP Classes] Added a new class: PID process check'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-2677783902730564093</id><published>2011-04-19T23:19:00.000-07:00</published><updated>2011-04-19T23:19:22.452-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP Classes'/><title type='text'>[PHP Classes] Added a new class: Binary Array</title><content type='html'>&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;Short description:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td&gt;Manipulate compact arrays of integers with strings&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Groups:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;PHP 5&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="even"&gt;Data types&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Supplied by:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;Auslarrie Popier&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Detailed description:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;This package can manipulate compact arrays of integers with strings.&lt;br /&gt;&lt;br /&gt;It provides several classes that implement the array access interface to  store integer values of fixed length in strings of data.&lt;br /&gt;&lt;br /&gt;Currently it provides classes for storing arrays of 8, 16, 32 and 64 bit integers.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-2677783902730564093?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/2677783902730564093/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/04/php-classes-added-new-class-binary.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2677783902730564093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2677783902730564093'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/04/php-classes-added-new-class-binary.html' title='[PHP Classes] Added a new class: Binary Array'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-2023803711102059192</id><published>2011-04-17T18:10:00.000-07:00</published><updated>2011-04-17T18:10:22.001-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP Classes'/><title type='text'>[PHP Classes] Added a new class: SaffRequest</title><content type='html'>&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;Class:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td align="right" width="1%"&gt;&lt;img align="middle" alt="Class" border="0" height="24" src="http://files.phpclasses.org/themes/igd01/graphics/package.png" width="24" /&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href="http://www.phpclasses.org/package/6887.html" rel="nofollow" target="_blank"&gt;Saff Request&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr class="dark"&gt; &lt;td align="right" width="1%"&gt;&lt;img align="middle" alt="This class support forum" border="0" height="24" src="http://files.phpclasses.org/themes/igd01/graphics/forum.png" width="24" /&gt;&lt;/td&gt; &lt;td&gt;&lt;a href="http://www.phpclasses.org/discuss/package/6887/" rel="nofollow" target="_blank"&gt;This class support forum&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Short description:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td&gt;Retrieve the current HTTP request variables&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Groups:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;HTTP&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="even"&gt;PHP 5&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="even"&gt;&lt;ul&gt;&lt;li&gt;&lt;h2&gt;Supplied by:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;Zulfugar Ismayilzadeh&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Detailed description:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;This class can retrieve the current HTTP request variables.&lt;br /&gt;&lt;br /&gt;It can retrieve the values of HTTP POST, GET, FILES and REQUEST variables.&lt;br /&gt;&lt;br /&gt;The class also can filter request variables all at once and return an  array of request variables that match a given regular expression.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-2023803711102059192?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/2023803711102059192/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/04/php-classes-added-new-class-saffrequest.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2023803711102059192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2023803711102059192'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/04/php-classes-added-new-class-saffrequest.html' title='[PHP Classes] Added a new class: SaffRequest'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-2665637398376887957</id><published>2011-04-17T18:08:00.000-07:00</published><updated>2011-04-17T18:08:11.586-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP Classes'/><title type='text'>[PHP Classes] Added a new class: XML-Writer</title><content type='html'>&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;Class:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td align="right" width="1%"&gt;&lt;img align="middle" alt="Class" border="0" height="24" src="http://files.phpclasses.org/themes/igd01/graphics/package.png" width="24" /&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href="http://www.phpclasses.org/package/6888.html" rel="nofollow" target="_blank"&gt;XML-Writer&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr class="dark"&gt; &lt;td align="right" width="1%"&gt;&lt;img align="middle" alt="This class support forum" border="0" height="24" src="http://files.phpclasses.org/themes/igd01/graphics/forum.png" width="24" /&gt;&lt;/td&gt; &lt;td&gt;&lt;a href="http://www.phpclasses.org/discuss/package/6888/" rel="nofollow" target="_blank"&gt;This class support forum&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;Short description:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td&gt;Write XML documents to files&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;Groups:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;XML&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="even"&gt;PHP 5&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;Files and Folders&lt;/td&gt;&lt;td class="odd"&gt;&lt;/td&gt;&lt;td class="odd"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;h2&gt;Supplied by:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;giulio&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Detailed description:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;This class can write XML documents to files.&lt;br /&gt;&lt;br /&gt;It can open a given file and writes XML tags and data to it.&lt;br /&gt;&lt;br /&gt;The class can write XML header tags, open and close tags, single  elements with tag and data, and lists of elements from an associative  array.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-2665637398376887957?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/2665637398376887957/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/04/php-classes-added-new-class-xml-writer.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2665637398376887957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2665637398376887957'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/04/php-classes-added-new-class-xml-writer.html' title='[PHP Classes] Added a new class: XML-Writer'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-2595953555911304938</id><published>2011-04-01T19:09:00.000-07:00</published><updated>2011-04-01T21:55:41.650-07:00</updated><title type='text'>[PHP Classes] Innovation Award results of March of 2011</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-2595953555911304938?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/2595953555911304938/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/04/php-classes-innovation-award-results-of.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2595953555911304938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2595953555911304938'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/04/php-classes-innovation-award-results-of.html' title='[PHP Classes] Innovation Award results of March of 2011'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-2624404190844790834</id><published>2011-03-31T23:39:00.001-07:00</published><updated>2011-04-01T22:29:05.288-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP Classes'/><title type='text'>[PHP Classes] Added a new class: Simple Zend View XSLT</title><content type='html'>&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;Class:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td align="right" width="1%"&gt;&lt;img align="middle" alt="Class" border="0" height="24" src="http://files.phpclasses.org/themes/igd01/graphics/package.png" width="24" /&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href="http://www.phpclasses.org/package/6869.html" rel="nofollow" target="_blank"&gt;Simple Zend View XSLT&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr class="dark"&gt; &lt;td align="right" width="1%"&gt;&lt;img align="middle" alt="This class support forum" border="0" height="24" src="http://files.phpclasses.org/themes/igd01/graphics/forum.png" width="24" /&gt;&lt;/td&gt; &lt;td&gt;&lt;a href="http://www.phpclasses.org/discuss/package/6869/" rel="nofollow" target="_blank"&gt;This class support forum&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Short description:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td&gt;Generate Zend framework view output with XSLT&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Groups:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;XML&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="even"&gt;PHP 5&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;Templates&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt; &lt;td valign="top" width="1%"&gt;&lt;a href="http://www.phpclasses.org/ads/adclick.php?ssc=1&amp;amp;n=a96678801" rel="nofollow" target="_blank"&gt;&lt;img alt="Advertisement" border="0" height="280" src="http://www.phpclasses.org/ads/adview.php?ssc=1&amp;amp;what=zone:35&amp;amp;n=a96678801" width="336" /&gt;&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Supplied by:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;Kirill Shvakov&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Detailed description:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;This class can generate Zend framework view output with XSLT.&lt;br /&gt;&lt;br /&gt;It extends the Zend framework view abstract class to generate view output using an XSLT template.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-2624404190844790834?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/2624404190844790834/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-simple-zend.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2624404190844790834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2624404190844790834'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-simple-zend.html' title='[PHP Classes] Added a new class: Simple Zend View XSLT'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-5123110608015893182</id><published>2011-03-31T00:13:00.000-07:00</published><updated>2011-04-01T22:33:48.352-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP Classes'/><title type='text'>[PHP Classes] Added a new class: Plinq</title><content type='html'>&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;Class:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td align="right" width="1%"&gt;&lt;img align="middle" alt="Class" border="0" height="24" src="http://files.phpclasses.org/themes/igd01/graphics/package.png" width="24" /&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href="http://www.phpclasses.org/package/6868.html" rel="nofollow" target="_blank"&gt;Plinq&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr class="dark"&gt; &lt;td align="right" width="1%"&gt;&lt;img align="middle" alt="This class support forum" border="0" height="24" src="http://files.phpclasses.org/themes/igd01/graphics/forum.png" width="24" /&gt;&lt;/td&gt; &lt;td&gt;&lt;a href="http://www.phpclasses.org/discuss/package/6868/" rel="nofollow" target="_blank"&gt;This class support forum&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Short description:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td&gt;Query information in arrays using LINQ language&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Groups:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;PHP 5&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="even"&gt;Data types&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;h2&gt;Supplied by:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;A. Çetin&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Detailed description:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;This class can query information in arrays using LINQ (language-integrated query) language.&lt;br /&gt;&lt;br /&gt;It can traverse arrays and perform several types of operations defined programmatically.&lt;br /&gt;&lt;br /&gt;Currently it can match array elements that satisfy a given condition, skip a given number of elements, get a given number of the first elements, compute the maximum, minumum and average of element values, sort elements, &lt;br /&gt;append elements, etc..&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-5123110608015893182?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/5123110608015893182/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-plinq.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5123110608015893182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5123110608015893182'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-plinq.html' title='[PHP Classes] Added a new class: Plinq'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-3053782185892619503</id><published>2011-03-30T04:38:00.001-07:00</published><updated>2011-04-01T22:36:47.192-07:00</updated><title type='text'>[PHP Classes] PHP built-in Web server, PHP 5.3.6 and PHP.JS - Lately in PHP podcast episode 10</title><content type='html'>&lt;center&gt;&lt;h2&gt;A new post was published in PHP Classes blog&lt;br /&gt;&lt;br /&gt;PHP built-in Web server, PHP 5.3.6 and PHP.JS - Lately in PHP podcast episode 10&lt;/h2&gt;&lt;/center&gt; &lt;b&gt;Summary:&lt;/b&gt;&lt;br /&gt;&lt;table class="box dark" style="padding: 10px; width: 40em;"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;i&gt;PHP is going to come with a built-in Web server, so you will no longer need Apache or any other Web server software to run PHP applications. This is the main topic discussed by Manuel Lemos and Ernani Joppert in the episode 10 of the Lately in PHP podcast.&lt;br /&gt;&lt;br /&gt;They also discuss other topics of interest to the PHP world, like the PHP 5.3.6 security bug fix release and the PHP.JS project, which is a JavaScript library that provides the same functions of PHP to write JavaScript applications.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.phpclasses.org/blog/post/144.html" rel="nofollow" target="_blank"&gt;More...&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class="box" style="padding: 10px;"&gt;Read the whole message and post your comments in the &lt;a href="http://www.phpclasses.org/blog/post/144.html" rel="nofollow" target="_blank"&gt;PHP Classes blog&lt;/a&gt; page.&lt;br /&gt;&lt;br /&gt;If you like this post, do not forget to vote on it in Digg and in DZone, so more readers may know about this article. Use the buttons in the &lt;a href="http://www.phpclasses.org/blog/post/144.html" rel="nofollow" target="_blank"&gt;post&lt;/a&gt; page that says "digg it" to vote on the article on Digg and "zone it" to vote on DZone.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-3053782185892619503?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/3053782185892619503/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-php-built-in-web-server-php.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/3053782185892619503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/3053782185892619503'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-php-built-in-web-server-php.html' title='[PHP Classes] PHP built-in Web server, PHP 5.3.6 and PHP.JS - Lately in PHP podcast episode 10'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-4603522039159491020</id><published>2011-03-30T00:09:00.001-07:00</published><updated>2011-04-01T22:38:06.432-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP Classes'/><title type='text'>[PHP Classes] Added a new class: Cyber MySQL PDO</title><content type='html'>&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;Class:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td align="right" width="1%"&gt;&lt;img align="middle" alt="Class" border="0" height="24" src="http://files.phpclasses.org/themes/igd01/graphics/package.png" width="24" /&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href="http://www.phpclasses.org/package/6867.html" rel="nofollow" target="_blank"&gt;Cyber MySQL PDO &lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr class="dark"&gt; &lt;td align="right" width="1%"&gt;&lt;img align="middle" alt="This class support forum" border="0" height="24" src="http://files.phpclasses.org/themes/igd01/graphics/forum.png" width="24" /&gt;&lt;/td&gt; &lt;td&gt;&lt;a href="http://www.phpclasses.org/discuss/package/6867/" rel="nofollow" target="_blank"&gt;This class support forum&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Short description:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td&gt;Execute database queries from parameters with PDO&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Groups:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;PHP 5&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="even"&gt;Databases&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt; &lt;td valign="top" width="1%"&gt;&lt;a href="http://www.phpclasses.org/ads/adclick.php?ssc=1&amp;amp;n=a1609558837" rel="nofollow" target="_blank"&gt;&lt;img alt="Advertisement" border="0" height="280" src="http://www.phpclasses.org/ads/adview.php?ssc=1&amp;amp;what=zone:35&amp;amp;n=a1609558837" width="336" /&gt;&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Supplied by:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;Nicholas Oliveira&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Detailed description:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;This class can execute database queries from parameters with PDO.&lt;br /&gt;&lt;br /&gt;It can take parameters that define tables, fields, values and conditions to execute SELECT, INSERT, UPDATE and delete queries.&lt;br /&gt;&lt;br /&gt;The class uses the PDO extension to access any supported database.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-4603522039159491020?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/4603522039159491020/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-cyber-mysql.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/4603522039159491020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/4603522039159491020'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-cyber-mysql.html' title='[PHP Classes] Added a new class: Cyber MySQL PDO'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-320120563424005800</id><published>2011-03-29T00:13:00.001-07:00</published><updated>2011-04-01T22:38:51.000-07:00</updated><title type='text'>[PHP Classes] Added a new class: ABG PHP To XLS</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-320120563424005800?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/320120563424005800/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-abg-php-to.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/320120563424005800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/320120563424005800'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-abg-php-to.html' title='[PHP Classes] Added a new class: ABG PHP To XLS'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-1685636776628427648</id><published>2011-03-28T07:19:00.000-07:00</published><updated>2011-04-01T22:39:40.651-07:00</updated><title type='text'>[PHP Classes] Weekly newsletter of Monday - 2011-03-28</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-1685636776628427648?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/1685636776628427648/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-weekly-newsletter-of-monday.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1685636776628427648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1685636776628427648'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-weekly-newsletter-of-monday.html' title='[PHP Classes] Weekly newsletter of Monday - 2011-03-28'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-1442147834608894298</id><published>2011-03-27T23:58:00.001-07:00</published><updated>2011-04-01T22:40:17.411-07:00</updated><title type='text'>[PHP Classes] Added a new class: Persian Calendar date function</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-1442147834608894298?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/1442147834608894298/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-persian.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1442147834608894298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1442147834608894298'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-persian.html' title='[PHP Classes] Added a new class: Persian Calendar date function'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-1254791219885908387</id><published>2011-03-27T00:07:00.001-07:00</published><updated>2011-04-01T22:40:55.748-07:00</updated><title type='text'>[PHP Classes] Added a new class: Similarities Finder</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-1254791219885908387?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/1254791219885908387/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class_27.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1254791219885908387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1254791219885908387'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class_27.html' title='[PHP Classes] Added a new class: Similarities Finder'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-6240703122621196233</id><published>2011-03-25T20:12:00.001-07:00</published><updated>2011-04-01T22:41:20.066-07:00</updated><title type='text'>[PHP Classes] Added a new class: Page Header</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-6240703122621196233?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/6240703122621196233/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-page-header.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6240703122621196233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6240703122621196233'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-page-header.html' title='[PHP Classes] Added a new class: Page Header'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-990375010494102408</id><published>2011-03-24T23:12:00.001-07:00</published><updated>2011-04-01T22:41:41.566-07:00</updated><title type='text'>[PHP Classes] Added a new class: Debugging Made Easy</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-990375010494102408?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/990375010494102408/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-debugging.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/990375010494102408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/990375010494102408'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-debugging.html' title='[PHP Classes] Added a new class: Debugging Made Easy'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-1189666085778151106</id><published>2011-03-24T00:23:00.001-07:00</published><updated>2011-04-01T22:42:02.556-07:00</updated><title type='text'>[PHP Classes] Added a new class: Leopard Validator</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-1189666085778151106?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/1189666085778151106/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-leopard.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1189666085778151106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1189666085778151106'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-leopard.html' title='[PHP Classes] Added a new class: Leopard Validator'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-632463277540169767</id><published>2011-03-24T00:09:00.001-07:00</published><updated>2011-04-01T22:42:20.002-07:00</updated><title type='text'>[PHP Classes] Added a new class: cCaptcha</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-632463277540169767?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/632463277540169767/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-ccaptcha.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/632463277540169767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/632463277540169767'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-ccaptcha.html' title='[PHP Classes] Added a new class: cCaptcha'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-7518003162591606649</id><published>2011-03-23T11:07:00.001-07:00</published><updated>2011-04-01T22:42:40.663-07:00</updated><title type='text'>[PHP Classes] The Fastest Ways to Deliver Email in PHP</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-7518003162591606649?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/7518003162591606649/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-fastest-ways-to-deliver.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7518003162591606649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7518003162591606649'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-fastest-ways-to-deliver.html' title='[PHP Classes] The Fastest Ways to Deliver Email in PHP'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-3862023986906421191</id><published>2011-03-23T00:22:00.001-07:00</published><updated>2011-04-01T22:43:11.167-07:00</updated><title type='text'>[PHP Classes] Added a new class: Estoy Database system</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-3862023986906421191?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/3862023986906421191/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-estoy.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/3862023986906421191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/3862023986906421191'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class-estoy.html' title='[PHP Classes] Added a new class: Estoy Database system'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-8752968994256498667</id><published>2011-03-23T00:08:00.001-07:00</published><updated>2011-04-01T22:43:42.248-07:00</updated><title type='text'>[PHP Classes] Added a new class: NYOS_ExcelWriter_simple</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-8752968994256498667?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/8752968994256498667/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/8752968994256498667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/8752968994256498667'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/php-classes-added-new-class.html' title='[PHP Classes] Added a new class: NYOS_ExcelWriter_simple'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-2547207110484852785</id><published>2011-03-20T06:11:00.000-07:00</published><updated>2011-03-20T06:11:28.258-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP Classes'/><title type='text'>ArrayQry</title><content type='html'>&lt;h2&gt; &lt;a href="http://www.phpclasses.org/package/6849.html" rel="nofollow" target="_blank"&gt;ArrayQry&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;Short description:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td&gt;Execute MySQL database queries using arrays&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Groups:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;Databases&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Supplied by:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;Mark Berube&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Detailed description:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;This class can execute MySQL database queries using arrays.&lt;br /&gt;&lt;br /&gt;It can connect to a MySQL database and execute SELECT queries retrieving the results as associative arrays.&lt;br /&gt;&lt;br /&gt;The class can also execute INSERT or UPDATE queries taking arrays of field values. It can also execute DELETE queries.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;h2 style="text-align: justify;"&gt;&amp;nbsp;&lt;/h2&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-2547207110484852785?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/2547207110484852785/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/arrayqry.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2547207110484852785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2547207110484852785'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/arrayqry.html' title='ArrayQry'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-4743892340098207074</id><published>2011-03-20T06:10:00.000-07:00</published><updated>2011-03-20T06:10:14.783-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP Classes'/><title type='text'>Hijri To Gregorian Date Convert</title><content type='html'>&lt;h2&gt;&lt;a href="http://www.phpclasses.org/package/6848.html" rel="nofollow" target="_blank"&gt;Hijri To Gregorian Date Convert&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;Short description:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td&gt;Convert dates between Gregorian to Hijri calendars&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Groups:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;Time and Date&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;h2&gt;Supplied by:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;Layth A. Ibraheem&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Detailed description:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;This class can convert dates between Gregorian to Hijri calendars.&lt;br /&gt;&lt;br /&gt;It can take a date in the Gregorian calendar and converts it to Hijri calendar.&lt;br /&gt;&lt;br /&gt;The class can also do the opposite, i.e., convert dates between the Hijri to the Gregorian calendar.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;h2 style="text-align: justify;"&gt;&amp;nbsp;&lt;/h2&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-4743892340098207074?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/4743892340098207074/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/hijri-to-gregorian-date-convert.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/4743892340098207074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/4743892340098207074'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/hijri-to-gregorian-date-convert.html' title='Hijri To Gregorian Date Convert'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-126856611115091514</id><published>2011-03-18T06:47:00.001-07:00</published><updated>2011-03-18T06:47:24.059-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP Classes'/><title type='text'>Simple XML Array Helper</title><content type='html'>&lt;h2&gt;&lt;a href="http://www.phpclasses.org/package/6840.html" rel="nofollow" target="_blank"&gt;Simple XML Array Helper&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;Short description:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td&gt;Generate or convert XML documents into arrays&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Groups:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;XML&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="even"&gt;PHP 5&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Supplied by:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;Kirill Shvakov&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Detailed description:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;This class can generate or convert XML documents into arrays.&lt;br /&gt;&lt;br /&gt;It can parse a XML document and return a nested array that represents its structure of tags and data.&lt;br /&gt;&lt;br /&gt;The class can also do the opposite, i.e. generate XML documents from nested arrays with the XML document structure.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;h2&gt;&amp;nbsp;&lt;/h2&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-126856611115091514?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/126856611115091514/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/simple-xml-array-helper.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/126856611115091514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/126856611115091514'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/simple-xml-array-helper.html' title='Simple XML Array Helper'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-6049377989548673497</id><published>2011-03-18T06:31:00.000-07:00</published><updated>2011-03-18T06:31:36.683-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP Classes'/><title type='text'>SmartGAPI</title><content type='html'>&lt;h2&gt;&lt;a href="http://www.phpclasses.org/package/6837.html" rel="nofollow" target="_blank"&gt;SmartGAPI&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;Short description:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td&gt;Display site statistics from Google Analytics&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Groups:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;PHP 5&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="even"&gt;Statistics&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;AJAX&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;h2&gt;Supplied by:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;Michele Andreoli&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Detailed description:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;This class can display site statistics from Google Analytics.&lt;br /&gt;&lt;br /&gt;It uses the Google Analytics client class by Stig Manning to retrieve site statistics by sending HTTP requests to the Google Analytics API Web server.&lt;br /&gt;&lt;br /&gt;The main class can generate HTML and JavaScript that users jQuery to send AJAX requests that retrieves and displays the site statistics.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;h2&gt;&amp;nbsp;&lt;/h2&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-6049377989548673497?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/6049377989548673497/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/smartgapi.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6049377989548673497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6049377989548673497'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/smartgapi.html' title='SmartGAPI'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-7968743475585907436</id><published>2011-03-16T17:45:00.001-07:00</published><updated>2011-03-16T17:45:11.240-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP Classes'/><title type='text'>Cache DBA</title><content type='html'>&lt;h2&gt;&lt;a href="http://www.phpclasses.org/package/6836.html" rel="nofollow" target="_blank"&gt;Cache DBA&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;Short description:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td&gt;Store cache data from flat file databases&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Groups:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;PHP 5&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="even"&gt;Databases&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;Cache&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Supplied by:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;Gjero Krsteski&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Detailed description:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;This class can store and retrieve cache data from flat file databases.&lt;br /&gt;&lt;br /&gt;It takes a given object and stores its serialized information as a string of data in flat file database using the DBA extension.&lt;br /&gt;&lt;br /&gt;The class can also retrieve and unserialize the previously stored object from the cache database file if the cache file exists and it did not expire.&lt;br /&gt;&lt;br /&gt;It can also delete existing cache entries explicitly. A separate class exists to automatically delete all expired cache database entries.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;h2&gt;&amp;nbsp;&lt;/h2&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-7968743475585907436?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/7968743475585907436/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/cache-dba.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7968743475585907436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7968743475585907436'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/cache-dba.html' title='Cache DBA'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-2745052389438441476</id><published>2011-03-16T17:42:00.000-07:00</published><updated>2011-03-16T17:42:16.695-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP Classes'/><title type='text'>Gammu SMS Inject - PHP Classes</title><content type='html'>&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;li&gt;&lt;h2&gt;&amp;nbsp; Short description:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr class="light"&gt; &lt;td&gt;Send SMS messages using Gammu MySQL storage&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Groups:&lt;/h2&gt;&lt;/li&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;PHP 5&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="even"&gt;Databases&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="odd"&gt;Wireless and Mobile&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="odd"&gt;&lt;ul&gt;&lt;li&gt;&lt;h2&gt;Supplied by:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;ikhsan&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;li&gt;&lt;h2&gt;Detailed description:&lt;/h2&gt;&lt;/li&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class="light"&gt;This class can send SMS messages using Gammu MySQL storage.&lt;br /&gt;&lt;br /&gt;It can send messages to one or more recipients using the Gammu MySQL database.&lt;br /&gt;&lt;br /&gt;The class creates records for the new messages in MySQL database with the outbox of Gammu.&lt;br /&gt;&lt;br /&gt;It can send also long messages by splitting them in multiple parts.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;a href="http://www.phpclasses.org/package/6835.html"&gt;&amp;nbsp;Gammu SMS Inject&lt;/a&gt;&lt;/td&gt;&lt;td class="odd"&gt;&amp;nbsp;&lt;/td&gt;&lt;td class="odd"&gt;&amp;nbsp;&lt;/td&gt;&lt;td class="odd"&gt;&amp;nbsp;&lt;/td&gt;&lt;td class="odd"&gt;&amp;nbsp;&lt;/td&gt;&lt;td class="odd"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-2745052389438441476?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/2745052389438441476/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2011/03/gammu-sms-inject-php-classes.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2745052389438441476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2745052389438441476'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2011/03/gammu-sms-inject-php-classes.html' title='Gammu SMS Inject - PHP Classes'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-3478166500770868993</id><published>2010-06-27T23:35:00.001-07:00</published><updated>2010-06-27T23:35:45.708-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Connection'/><category scheme='http://www.blogger.com/atom/ns#' term='PDO'/><title type='text'>PDO: Connect to ODBC</title><content type='html'>There are many connections ODBC can create, here we show how to connect  to a MS Access database named accounts. The specified path is  c:\\accounts.mdb. &lt;br /&gt;&lt;code&gt;&lt;span style="color: black;"&gt; &lt;span style="color: #0000bb;"&gt;&amp;lt;%php&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="color: black;"&gt;&lt;span style="color: #0000bb;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #007700;"&gt;try&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$dbh&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDO&lt;/span&gt;&lt;span style="color: #007700;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"odbc:Driver={Microsoft&amp;nbsp;Access&amp;nbsp;Driver&amp;nbsp;(*.mdb)};Dbq=C:\accounts.mdb;Uid=Admin"&lt;/span&gt;&lt;span style="color: #007700;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;catch&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDOException&amp;nbsp;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;getMessage&lt;/span&gt;&lt;span style="color: #007700;"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="color: black;"&gt;&lt;span style="color: #007700;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;%&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-3478166500770868993?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/3478166500770868993/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/06/pdo-connect-to-odbc.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/3478166500770868993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/3478166500770868993'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/06/pdo-connect-to-odbc.html' title='PDO: Connect to ODBC'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-5039216434608096011</id><published>2010-06-27T23:34:00.001-07:00</published><updated>2010-06-27T23:34:54.201-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Connection'/><category scheme='http://www.blogger.com/atom/ns#' term='PDO'/><title type='text'>PDO: Connect to Oracle</title><content type='html'>The Oracle database is used by many 'enterprise' companies but these  days there are sleeker options. Lets see a simple connection to Oracle &lt;br /&gt;&lt;div class="codebox"&gt; &lt;code&gt;&lt;span style="color: black;"&gt; &lt;span style="color: #0000bb;"&gt;&amp;lt;%php&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="codebox"&gt;&lt;code&gt;&lt;span style="color: black;"&gt;&lt;span style="color: #0000bb;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #007700;"&gt;try&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$dbh&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDO&lt;/span&gt;&lt;span style="color: #007700;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"OCI:"&lt;/span&gt;&lt;span style="color: #007700;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"username"&lt;/span&gt;&lt;span style="color: #007700;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"password"&lt;/span&gt;&lt;span style="color: #007700;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;catch&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDOException&amp;nbsp;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;getMessage&lt;/span&gt;&lt;span style="color: #007700;"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="codebox"&gt;&lt;code&gt;&lt;span style="color: black;"&gt;&lt;span style="color: #007700;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;%&amp;gt;&lt;/span&gt; &lt;/span&gt; &lt;/code&gt;&lt;/div&gt;This works fine for a simple Oracle connection. The oracle driver may  take two optional parameters, The database name, and the character set.  To connect with a database name of "accounts" and a charset of UTF-8 the  following code should be used. &lt;br /&gt;&lt;code&gt;&lt;span style="color: black;"&gt; &lt;span style="color: #0000bb;"&gt;&amp;lt;%php&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="color: black;"&gt;&lt;span style="color: #0000bb;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #007700;"&gt;try&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$dbh&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDO&lt;/span&gt;&lt;span style="color: #007700;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"OCI:dbname=accounts;charset=UTF-8"&lt;/span&gt;&lt;span style="color: #007700;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"username"&lt;/span&gt;&lt;span style="color: #007700;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"password"&lt;/span&gt;&lt;span style="color: #007700;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;catch&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDOException&amp;nbsp;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;getMessage&lt;/span&gt;&lt;span style="color: #007700;"&gt;();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="color: black;"&gt;&lt;span style="color: #007700;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;%&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-5039216434608096011?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/5039216434608096011/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/06/pdo-connect-to-oracle.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5039216434608096011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5039216434608096011'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/06/pdo-connect-to-oracle.html' title='PDO: Connect to Oracle'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-1394809569497009611</id><published>2010-06-27T23:33:00.001-07:00</published><updated>2010-06-27T23:33:31.007-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Connection'/><category scheme='http://www.blogger.com/atom/ns#' term='PDO'/><title type='text'>PDO: Connect to Informix</title><content type='html'>Informix is popular with many windows users also, this example shows how  to connect to an informix database cataloged as InformixDB in odbc.ini: &lt;br /&gt;&lt;code&gt;&lt;span style="color: black;"&gt; &lt;span style="color: #0000bb;"&gt;&amp;lt;%php&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="color: black;"&gt;&lt;span style="color: #0000bb;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #007700;"&gt;try&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$dbh&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDO&lt;/span&gt;&lt;span style="color: #007700;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"informix:DSN=InformixDB"&lt;/span&gt;&lt;span style="color: #007700;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"username"&lt;/span&gt;&lt;span style="color: #007700;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"password"&lt;/span&gt;&lt;span style="color: #007700;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;catch&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDOException&amp;nbsp;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;getMessage&lt;/span&gt;&lt;span style="color: #007700;"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="color: black;"&gt;&lt;span style="color: #007700;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;%&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-1394809569497009611?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/1394809569497009611/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/06/pdo-connect-to-informix.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1394809569497009611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1394809569497009611'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/06/pdo-connect-to-informix.html' title='PDO: Connect to Informix'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-7864366007734782689</id><published>2010-06-27T23:32:00.000-07:00</published><updated>2010-06-27T23:32:24.691-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Connection'/><category scheme='http://www.blogger.com/atom/ns#' term='PDO'/><title type='text'>PDO: Connect to Firebird</title><content type='html'>Often used by developers using windows, Firebird is a good database and  connection is just as simple as the examples above. &lt;br /&gt;&lt;code&gt;&lt;span style="color: black;"&gt; &lt;span style="color: #0000bb;"&gt;&amp;lt;%php&lt;/span&gt;&lt;span style="color: #007700;"&gt;try&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$dbh&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDO&lt;/span&gt;&lt;span style="color: #007700;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"firebird:dbname=localhost:C:\Programs\Firebird\DATABASE.FDB"&lt;/span&gt;&lt;span style="color: #007700;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"SYSDBA"&lt;/span&gt;&lt;span style="color: #007700;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"masterkey"&lt;/span&gt;&lt;span style="color: #007700;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;br /&gt;catch&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDOException&amp;nbsp;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;getMessage&lt;/span&gt;&lt;span style="color: #007700;"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;%&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-7864366007734782689?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/7864366007734782689/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/06/pdo-connect-to-firebird.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7864366007734782689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7864366007734782689'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/06/pdo-connect-to-firebird.html' title='PDO: Connect to Firebird'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-5640091754595463348</id><published>2010-06-27T23:19:00.000-07:00</published><updated>2010-06-27T23:19:51.918-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Connection'/><category scheme='http://www.blogger.com/atom/ns#' term='PDO'/><title type='text'>PDO: Connect to MySQL</title><content type='html'>MySQL is the choice of many web developers and will be used as the  database of choice for much of this tutorial. Here we see how to connect  to a MySQL database. &lt;br /&gt;&lt;code&gt;&lt;span style="color: black;"&gt; &lt;br /&gt;&lt;span style="color: #0000bb;"&gt;&amp;lt;7php&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff8000;"&gt;/***&amp;nbsp;mysql&amp;nbsp;hostname&amp;nbsp;***/&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$hostname&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;=&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'localhost'&lt;/span&gt;&lt;span style="color: #007700;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff8000;"&gt;/***&amp;nbsp;mysql&amp;nbsp;username&amp;nbsp;***/&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$username&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;=&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'username'&lt;/span&gt;&lt;span style="color: #007700;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #ff8000;"&gt;/***&amp;nbsp;mysql&amp;nbsp;password&amp;nbsp;***/&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$password&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;=&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'password'&lt;/span&gt;&lt;span style="color: #007700;"&gt;;&lt;br /&gt;&lt;br /&gt;try&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$dbh&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDO&lt;/span&gt;&lt;span style="color: #007700;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"mysql:host=&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$hostname&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;;dbname=mysql"&lt;/span&gt;&lt;span style="color: #007700;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$username&lt;/span&gt;&lt;span style="color: #007700;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$password&lt;/span&gt;&lt;span style="color: #007700;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff8000;"&gt;/***&amp;nbsp;echo&amp;nbsp;a&amp;nbsp;message&amp;nbsp;saying&amp;nbsp;we&amp;nbsp;have&amp;nbsp;connected&amp;nbsp;***/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;echo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'Connected&amp;nbsp;to&amp;nbsp;database'&lt;/span&gt;&lt;span style="color: #007700;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;catch(&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDOException&amp;nbsp;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;getMessage&lt;/span&gt;&lt;span style="color: #007700;"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;7&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-5640091754595463348?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/5640091754595463348/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/06/pdo-connect-to-mysql.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5640091754595463348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5640091754595463348'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/06/pdo-connect-to-mysql.html' title='PDO: Connect to MySQL'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-5747860167429411706</id><published>2010-06-27T23:18:00.000-07:00</published><updated>2010-06-27T23:18:17.579-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Connection'/><category scheme='http://www.blogger.com/atom/ns#' term='PDO'/><title type='text'>PDO: Connect to SQLite</title><content type='html'>When PDO is used with SQLite, database creation becomes even easier.  Simply specify the path to the database file and it will be loaded. If  the database file does not exist, PDO will attempt to create it. Lets  see how we go with the same code but change the database to SQLite. &lt;br /&gt;&lt;div class="codebox"&gt; &lt;code&gt;&lt;span style="color: black;"&gt; &lt;span style="color: #0000bb;"&gt;&amp;lt;7php&lt;/span&gt;&lt;span style="color: #007700;"&gt;try&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff8000;"&gt;/***&amp;nbsp;connect&amp;nbsp;to&amp;nbsp;SQLite&amp;nbsp;database&amp;nbsp;***/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$dbh&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDO&lt;/span&gt;&lt;span style="color: #007700;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"sqlite:/path/to/database.sdb"&lt;/span&gt;&lt;span style="color: #007700;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;catch(&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDOException&amp;nbsp;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;getMessage&lt;/span&gt;&lt;span style="color: #007700;"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;7&amp;gt;&lt;/span&gt; &lt;/span&gt; &lt;/code&gt;&lt;/div&gt;Because the database path does not exist and cannot be created, an  exception is thrown, the exception is caught in the catch block and the  error message is displayed with $e-&amp;gt;Message(). Now that we know how  to create a database, we can create tables and INSERT some data. &lt;br /&gt;Another feature of SQLite is the ability to create tables in memory.  This can be amazingly helpful if you wish to create tempory databases or  tables or even for development code. &lt;br /&gt;&lt;div class="codebox"&gt; &lt;code&gt;&lt;span style="color: black;"&gt; &lt;span style="color: #0000bb;"&gt;&amp;lt;7php&lt;/span&gt;&lt;span style="color: #007700;"&gt;try&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff8000;"&gt;/***&amp;nbsp;connect&amp;nbsp;to&amp;nbsp;SQLite&amp;nbsp;database&amp;nbsp;***/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$db&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDO&lt;/span&gt;&lt;span style="color: #007700;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"sqlite::memory"&lt;/span&gt;&lt;span style="color: #007700;"&gt;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff8000;"&gt;/***&amp;nbsp;a&amp;nbsp;little&amp;nbsp;message&amp;nbsp;to&amp;nbsp;say&amp;nbsp;we&amp;nbsp;did&amp;nbsp;it&amp;nbsp;***/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;echo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'database&amp;nbsp;created&amp;nbsp;in&amp;nbsp;memory'&lt;/span&gt;&lt;span style="color: #007700;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;catch(&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDOException&amp;nbsp;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;getMessage&lt;/span&gt;&lt;span style="color: #007700;"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;7&amp;gt;&lt;/span&gt; &lt;/span&gt; &lt;/code&gt;&lt;/div&gt;We see above that a database is created in memory and a message is  displayed to let us know. If the creation of the database failed, a PDO  exception would be thrown and the script terminated at that point,  passing control to the catch block.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-5747860167429411706?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/5747860167429411706/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/06/pdo-connect-to-sqlite.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5747860167429411706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5747860167429411706'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/06/pdo-connect-to-sqlite.html' title='PDO: Connect to SQLite'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-7294141069167256723</id><published>2010-06-27T23:15:00.000-07:00</published><updated>2010-06-27T23:16:41.841-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Connection'/><category scheme='http://www.blogger.com/atom/ns#' term='PDO'/><title type='text'>PDO: Connect with PgSQL</title><content type='html'>As mentioned above, you may have previously tried to connect to a PgSQL  database using pg_connect. Here we connect with PDO. &lt;br /&gt;&lt;div class="codebox"&gt;&lt;code&gt;&lt;span style="color: black;"&gt; &lt;span style="color: #0000bb;"&gt;&amp;lt;7php&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="color: black;"&gt;&lt;span style="color: #0000bb;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;try&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$db&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDO&lt;/span&gt;&lt;span style="color: #007700;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"pgsql:dbname=pdo;host=localhost"&lt;/span&gt;&lt;span style="color: #007700;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"username"&lt;/span&gt;&lt;span style="color: #007700;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"password"&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"PDO&amp;nbsp;connection&amp;nbsp;object&amp;nbsp;created"&lt;/span&gt;&lt;span style="color: #007700;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;catch(&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDOException&amp;nbsp;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$e&lt;/span&gt;&lt;span style="color: #007700;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;getMessage&lt;/span&gt;&lt;span style="color: #007700;"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="color: black;"&gt;&lt;span style="color: #0000bb;"&gt;7&amp;gt;&lt;/span&gt; &lt;/span&gt; &lt;/code&gt;&lt;/div&gt;So that was a bit of a no-brainer to start with, we see the use of  "new" to create the PDO object followed by the database type username  and password. This should be familiar to most people who have connected  to a database before using traditional methods.. As we have used try{}  and catch(){} we see upon failure that an exception is thrown with the  error message "could not find driver". This tells us the PDO_PGSQL  driver is not present and needs to be loaded. As noted, an exception is  thrown. PDO can handle errors in several ways, more on this later.&lt;br /&gt;How did it connect to the database?&lt;br /&gt;The database connection is handled internally by PDO's __construct() and  this represents our database connection. &lt;br /&gt;Lets see what happens if we try to connect to database as we did above  without catching the exception and see what happens.. &lt;br /&gt;&lt;div class="codebox"&gt;&lt;code&gt;&lt;span style="color: black;"&gt; &lt;span style="color: #0000bb;"&gt;&amp;lt;7php&lt;br /&gt;&amp;nbsp;$db&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDO&lt;/span&gt;&lt;span style="color: #007700;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"pgsql:dbname=no_database;host=localhost"&lt;/span&gt;&lt;span style="color: #007700;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"username"&lt;/span&gt;&lt;span style="color: #007700;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"password"&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="color: black;"&gt;&lt;span style="color: #007700;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;7&amp;gt;&lt;/span&gt; &lt;/span&gt; &lt;/code&gt;&lt;/div&gt;From the above snippet you will get a result something like this below &lt;br /&gt;&lt;div class="displaybox"&gt;Fatal error: Uncaught exception 'PDOException' with message 'could not  find driver' in /www/pdo.php:2 Stack trace: #0 /www/pdo.php(2):  PDO-&amp;gt;__construct('pgsql:dbname=pd...', 'username', 'password') #1  {main} thrown in /www/pdo.php on line 2 &lt;/div&gt;This is the default behaviour when an exception is not caught, a  backtrace is generated and the script is terminated. As you can see, all  the information is dumped including the file path and the database  username and password. It is the responsibility of the coder to catch  exceptions or to deal with the errors using set_exception_handler()  function to prevent this happening. More about handling errors and  exceptions later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-7294141069167256723?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/7294141069167256723/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/06/pdo-connect-with-pgsql.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7294141069167256723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7294141069167256723'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/06/pdo-connect-with-pgsql.html' title='PDO: Connect with PgSQL'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-2882386337391032677</id><published>2010-06-27T23:12:00.000-07:00</published><updated>2010-06-27T23:12:28.204-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='PDO'/><title type='text'>What is PDO</title><content type='html'>PDO is a PHP extension to formalise PHP's database connections by  creating a uniform interface. This allows developers to create code which is portable  across many databases and platforms. PDO is _not_ just another abstraction layer like PearDB although PearDB  may use PDO as a backend. Those of you familiar with Perls DBI may find the syntax disturbingly  familiar.&lt;br /&gt;&lt;a class="anchor" href="" name="2"&gt;&lt;h2&gt;What databases does PDO support?&lt;/h2&gt;&lt;/a&gt; &lt;br /&gt;PDO supports many of the popular databases as seen on the list below. &lt;br /&gt;&lt;ul&gt;&lt;li&gt; DBLIB: FreeTDS / Microsoft SQL Server / Sybase&lt;/li&gt;&lt;li&gt; Firebird (http://firebird.sourceforge.net/): Firebird/Interbase 6&lt;/li&gt;&lt;li&gt; IBM (IBM DB2)&lt;/li&gt;&lt;li&gt; INFORMIX - IBM Informix Dynamic Server&lt;/li&gt;&lt;li&gt; MYSQL (http://www.mysql.com/): MySQL 3.x/4.0&lt;/li&gt;&lt;li&gt; OCI (http://www.oracle.com): Oracle Call Interface&lt;/li&gt;&lt;li&gt; ODBC: ODBC v3 (IBM DB2 and unixODBC)&lt;/li&gt;&lt;li&gt; PGSQL (http://www.postgresql.org/): PostgreSQL&lt;/li&gt;&lt;li&gt; SQLITE (http://sqlite.org/): SQLite 3.x&lt;/li&gt;&lt;/ul&gt;To see if the PDO driver is available for your database, check phpinfo()  and you should have a section named PDO and another pdo_mysql or  pdo_sqlite depending on your choice of database. You may also check the  available drivers with the static method PDO::getAvailableDrivers(). &lt;br /&gt;&lt;div class="codebox"&gt; &lt;code&gt;&lt;span style="color: black;"&gt; &lt;br /&gt;&lt;span style="color: #0000bb;"&gt;&lt;/span&gt;&lt;span style="color: #007700;"&gt;foreach(&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;PDO&lt;/span&gt;&lt;span style="color: #007700;"&gt;::&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;getAvailableDrivers&lt;/span&gt;&lt;span style="color: #007700;"&gt;()&amp;nbsp;as&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$driver&lt;/span&gt;&lt;span style="color: #007700;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$driver&lt;/span&gt;&lt;span style="color: #007700;"&gt;.&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'&lt;br&amp;nbsp;&gt;'&lt;/br&amp;nbsp;&gt;&lt;/span&gt;&lt;span style="color: #007700;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;?&amp;gt;&lt;/span&gt; &lt;/span&gt; &lt;/code&gt;&lt;/div&gt;To enable PDO simply configure --enable-pdo and --with-pdo_sqlite  --with_pdo_mysql or whatever database needs supporting by PDO. &lt;br /&gt;Windows users will need to un-comment the appropriate line in php.ini  and restart the web server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-2882386337391032677?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/2882386337391032677/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/06/what-is-pdo.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2882386337391032677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2882386337391032677'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/06/what-is-pdo.html' title='What is PDO'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-6523097976006249895</id><published>2010-05-20T21:26:00.000-07:00</published><updated>2010-05-20T21:26:30.049-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Datatypes'/><category scheme='http://www.blogger.com/atom/ns#' term='Basic'/><title type='text'>Scalar Datatypes</title><content type='html'>Scalar datatypes are capable of containing a single item of information. Several datatypes fall &lt;br /&gt;&lt;br /&gt;&amp;nbsp; under this category, including Boolean, integer, float, and string.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; Boolean&lt;br /&gt;&lt;br /&gt;&amp;nbsp; The Boolean datatype is named after George Boole (1815–1864), a mathematician who is &lt;br /&gt;&lt;br /&gt;&amp;nbsp; considered to be one of the founding fathers of information theory. A Boolean variable repre-&lt;br /&gt;&lt;br /&gt;&amp;nbsp; sents truth, supporting only two values: TRUE or FALSE (case insensitive). Alternatively, you can &lt;br /&gt;&lt;br /&gt;&amp;nbsp; use zero to represent FALSE, and any nonzero value to represent TRUE. A few examples follow:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; $alive = false;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # $alive is false.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; $alive = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # $alive is true.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; $alive = -1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # $alive is true.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; $alive = 5;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # $alive is true.&lt;br /&gt;&lt;br /&gt;$alive = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # $alive is false.&lt;br /&gt;&lt;br /&gt;Integer&lt;br /&gt;&lt;br /&gt;&amp;nbsp; An integer is quite simply a whole number, or one that does not contain fractional parts. Decimal &lt;br /&gt;&lt;br /&gt;&amp;nbsp; (base 10), octal (base 8), and hexadecimal (base 16) numbers all fall under this category. Several &lt;br /&gt;&lt;br /&gt;&amp;nbsp; examples follow:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 42&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # decimal&lt;br /&gt;&lt;br /&gt;&amp;nbsp; -678900&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # decimal&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 0755&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # octal&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 0xC4E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # hexadecimal&lt;br /&gt;&lt;br /&gt;&amp;nbsp; The maximum supported integer size is platform-dependent, although this is typically &lt;br /&gt;&lt;br /&gt;&amp;nbsp; positive or negative 231. If you attempt to surpass this limit within a PHP script, the number will &lt;br /&gt;&lt;br /&gt;&amp;nbsp; be automatically converted to a float. An example follows:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;lt;?php&lt;br /&gt;&lt;br /&gt;$val = 45678945939390393678976;&lt;br /&gt;&lt;br /&gt;echo $val + 5;&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;This is the result:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;4.567894593939E+022&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Float&lt;br /&gt;&lt;br /&gt;&amp;nbsp; Floating-point numbers, also referred to as floats, doubles, or real numbers, allow you to &lt;br /&gt;&lt;br /&gt;&amp;nbsp; specify numbers that contain fractional parts. Floats are used to represent monetary values, &lt;br /&gt;&lt;br /&gt;&amp;nbsp; weights, distances, and a whole host of other representations in which a simple integer value &lt;br /&gt;&lt;br /&gt;&amp;nbsp; won’t suffice. PHP’s floats can be specified in a variety of ways, each of which is exemplified &lt;br /&gt;&lt;br /&gt;&amp;nbsp; here:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 4.5678&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 4.0&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 8.7e4&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 1.23E+11&lt;br /&gt;&lt;br /&gt;&amp;nbsp; String&lt;br /&gt;&lt;br /&gt;&amp;nbsp; Simply put, a string is a sequence of characters treated as a contiguous group. Such groups are &lt;br /&gt;&lt;br /&gt;&amp;nbsp; typically delimited by single or double quotes, although PHP also supports another delimitation &lt;br /&gt;&lt;br /&gt;&amp;nbsp; methodology, which is introduced in the later section “String Interpolation.” The ramifications &lt;br /&gt;&lt;br /&gt;&amp;nbsp; of all three delimitation methods are also discussed in that section.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; The following are all examples of valid strings:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; "whoop-de-do"&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 'subway\n'&lt;br /&gt;&lt;br /&gt;"123$%^789"&lt;br /&gt;&lt;br /&gt;Historically, PHP treated strings in the same fashion as arrays (see the next section, &lt;br /&gt;&lt;br /&gt;&amp;nbsp; “Compound Datatypes,” for more information about arrays), allowing for specific characters &lt;br /&gt;&lt;br /&gt;&amp;nbsp; to be accessed via array offset notation. For example, consider the following string:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; $color = "maroon";&lt;br /&gt;&lt;br /&gt;&amp;nbsp; You could retrieve and display a particular character of the string by treating the string as &lt;br /&gt;&lt;br /&gt;&amp;nbsp; an array, like this: &lt;br /&gt;&lt;br /&gt;&amp;nbsp; echo $color[2]; // outputs 'r'&lt;br /&gt;&lt;br /&gt;&amp;nbsp; Although this is convenient, it can lead to some confusion, and thus PHP 5 introduces &lt;br /&gt;&lt;br /&gt;&amp;nbsp; specialized string offset functionality, which Chapter 9 covers in some detail. Additionally, &lt;br /&gt;&lt;br /&gt;&amp;nbsp; Chapter 9 is devoted to a thorough presentation of many of PHP’s valuable string and regular &lt;br /&gt;&lt;br /&gt;expression functions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-6523097976006249895?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/6523097976006249895/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/05/scalar-datatypes.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6523097976006249895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6523097976006249895'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/05/scalar-datatypes.html' title='Scalar Datatypes'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-4504437504629715108</id><published>2010-05-20T19:25:00.000-07:00</published><updated>2010-05-20T19:25:26.130-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Output'/><category scheme='http://www.blogger.com/atom/ns#' term='Basic'/><title type='text'>Output</title><content type='html'>Most Web applications involve a high degree of interactivity. Well-written scripts are constantly &lt;br /&gt;&lt;br /&gt;&amp;nbsp; communicating with users, via both tool interfaces and request responses. PHP offers a number of &lt;br /&gt;&lt;br /&gt;&amp;nbsp; means for displaying information, each of which is discussed in this section.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; print()&lt;br /&gt;&lt;br /&gt;&amp;nbsp; boolean print (argument)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; The print() statement is responsible for providing user feedback, and it is capable of displaying &lt;br /&gt;&lt;br /&gt;&amp;nbsp; both raw strings and variables. All of the following are plausible print() statements:&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;print("&amp;lt;p&amp;gt;I love the summertime.&amp;lt;/p&amp;gt;");&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;$season = "summertime";&lt;br /&gt;&lt;br /&gt;print "&amp;lt;p&amp;gt;I love the $season.&amp;lt;/p&amp;gt;";&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;print "&amp;lt;p&amp;gt;I love the&lt;br /&gt;&lt;br /&gt;summertime.&amp;lt;/p&amp;gt;";&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;$season = "summertime";&lt;br /&gt;&lt;br /&gt;print "&amp;lt;p&amp;gt;I love the ".$season."&amp;lt;/p&amp;gt;";&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;All these statements produce identical output:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;I love the summertime.&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;While the first three variations are likely quite easy to understand, the last one might not &lt;br /&gt;&lt;br /&gt;&amp;nbsp; be so straightforward. In this last variation, three strings were concatenated together using a &lt;br /&gt;&lt;br /&gt;&amp;nbsp; period, which when used in this context is known as the concatenation operator. This practice &lt;br /&gt;&lt;br /&gt;&amp;nbsp; is commonly employed when concatenating variables, constants, and static strings together. &lt;br /&gt;&lt;br /&gt;You’ll see this strategy used repeatedly throughout the entire book.&lt;br /&gt;&lt;br /&gt;■Note&amp;nbsp; Although the official syntax calls for the use of parentheses to enclose the argument, you have the &lt;br /&gt;&lt;br /&gt;&amp;nbsp; option of omitting them. Many programmers tend to choose this option, simply because the target argument &lt;br /&gt;&lt;br /&gt;is equally apparent without them.&lt;br /&gt;&lt;br /&gt;echo()&lt;br /&gt;&lt;br /&gt;&amp;nbsp; void echo (string argument1 [, ...string argumentN])&lt;br /&gt;&lt;br /&gt;&amp;nbsp; The echo() statement operates similarly to print(), except for two differences. First, it cannot &lt;br /&gt;&lt;br /&gt;&amp;nbsp; be used as part of a complex expression because it returns void, whereas print() returns a &lt;br /&gt;&lt;br /&gt;&amp;nbsp; Boolean. Second, echo() is capable of outputting multiple strings. The utility of this particular &lt;br /&gt;&lt;br /&gt;&amp;nbsp; trait is questionable; using it seems to be a matter of preference more than anything else. &lt;br /&gt;&lt;br /&gt;&amp;nbsp; Nonetheless, it’s available should you feel the need. Here’s an example:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;lt;?php&lt;br /&gt;&lt;br /&gt;$heavyweight = "Lennox Lewis";&lt;br /&gt;&lt;br /&gt;$lightweight = "Floyd Mayweather";&lt;br /&gt;&lt;br /&gt;echo $heavyweight, " and ", $lightweight, " are great fighters.";&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;This code produces the following:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;Lennox Lewis and Floyd Mayweather are great fighters.&lt;br /&gt;&lt;hr /&gt;■Tip&amp;nbsp; Which is faster, echo() or print()? The fact that they are functionally interchangeable leaves many &lt;br /&gt;&lt;br /&gt;&amp;nbsp; pondering this question. The answer is that the echo() function is a tad faster, because it returns nothing, &lt;br /&gt;&lt;br /&gt;&amp;nbsp; whereas print() returns a Boolean value informing the caller whether or not the statement was successfully &lt;br /&gt;&lt;br /&gt;&amp;nbsp; output. It’s rather unlikely that you’ll notice any speed difference, however, so you can consider the usage &lt;br /&gt;&lt;br /&gt;&amp;nbsp; decision to be one of stylistic concern.&lt;br /&gt;&lt;br /&gt;printf()&lt;br /&gt;&lt;br /&gt;&amp;nbsp; boolean printf (string format [, mixed args])&lt;br /&gt;&lt;br /&gt;&amp;nbsp; The printf() function is functionally identical to print(), outputting the arguments specified &lt;br /&gt;&lt;br /&gt;&amp;nbsp; in args, except that the output is formatted according to format. The format parameter allows &lt;br /&gt;&lt;br /&gt;&amp;nbsp; you to wield considerable control over the output data, be it in terms of alignment, precision, &lt;br /&gt;&lt;br /&gt;&amp;nbsp; type, or position. The argument consists of up to five components, which should appear in &lt;br /&gt;&lt;br /&gt;&amp;nbsp; format in the following order: &lt;br /&gt;&lt;br /&gt;&amp;nbsp; • Padding specifier: This optional component determines which character will be used to &lt;br /&gt;&lt;br /&gt;&amp;nbsp; pad the outcome to the correct string size. The default is a space character. An alternative &lt;br /&gt;&lt;br /&gt;&amp;nbsp; character is specified by preceding it with a single quotation.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; • Alignment specifier: This optional component determines whether the outcome should &lt;br /&gt;&lt;br /&gt;&amp;nbsp; be left- or right-justified. The default is right-justified; you can set the alignment to left &lt;br /&gt;&lt;br /&gt;&amp;nbsp; with a negative sign.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; • Width specifier: This optional component determines the minimum number of characters &lt;br /&gt;&lt;br /&gt;&amp;nbsp; that should be output by the function.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; • Precision specifier: This optional component determines the number of decimal digits &lt;br /&gt;&lt;br /&gt;that should be displayed. This component affects only data of type float.&lt;br /&gt;&lt;br /&gt;• Type specifier: This component determines how the argument will be cast. The supported &lt;br /&gt;&lt;br /&gt;type specifiers are listed in Table .&lt;br /&gt;&lt;br /&gt;&lt;table border="0" style="width: 501px;"&gt;&amp;nbsp; &lt;tbody&gt;&lt;tr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td width="172"&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td width="319"&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;&amp;nbsp; &lt;/tr&gt;&amp;nbsp;&lt;tr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;%b&lt;/td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;Argument considered an integer; presented as a binary number&lt;/td&gt;&amp;nbsp; &lt;/tr&gt;&amp;nbsp;&lt;tr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;%c&lt;/td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;Argument considered an integer; presented as a character corresponding to that &lt;br /&gt;ASCII value&lt;/td&gt;&amp;nbsp; &lt;/tr&gt;&amp;nbsp;&lt;tr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;%d&lt;/td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;Argument considered an integer; presented as a signed decimal number&lt;/td&gt;&amp;nbsp; &lt;/tr&gt;&amp;nbsp;&lt;tr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;%f &lt;/td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;Argument considered a floating-point number; presented as a floating-point &lt;br /&gt;&lt;br /&gt;number&lt;/td&gt;&amp;nbsp; &lt;/tr&gt;&amp;nbsp;&lt;tr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;%o&lt;/td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;Argument considered an integer; presented as an octal number&lt;/td&gt;&amp;nbsp; &lt;/tr&gt;&amp;nbsp;&lt;tr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;%s&lt;/td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;Argument considered a string; presented as a string&lt;/td&gt;&amp;nbsp; &lt;/tr&gt;&amp;nbsp;&lt;tr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;%u&lt;/td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;Argument considered an integer; presented as an unsigned decimal number&lt;/td&gt;&amp;nbsp; &lt;/tr&gt;&amp;nbsp;&lt;tr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;%x&lt;/td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;Argument considered an integer; presented as a lowercase hexadecimal number&lt;/td&gt;&amp;nbsp; &lt;/tr&gt;&amp;nbsp;&lt;tr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;%X&lt;/td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;td&gt;Argument considered an integer; presented as an uppercase hexadecimal number&lt;/td&gt;&amp;nbsp; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Consider a few examples:&lt;br /&gt;&lt;br /&gt;printf("$%01.2f", 43.2); // $43.20&lt;br /&gt;&lt;br /&gt;&amp;nbsp; printf("%d beer %s", 100, "bottles"); // 100 beer bottles&lt;br /&gt;&lt;br /&gt;&amp;nbsp; printf("%15s", "Some text");&amp;nbsp; // Some text&lt;br /&gt;&lt;br /&gt;&amp;nbsp; Sometimes it’s convenient to change the output order of the arguments, or repeat the &lt;br /&gt;&lt;br /&gt;&amp;nbsp; output of a particular argument, without explicitly repeating it in the argument list. This is &lt;br /&gt;&lt;br /&gt;&amp;nbsp; done by making reference to the argument in accordance with its position. For example, %2$ &lt;br /&gt;&lt;br /&gt;&amp;nbsp; indicates the argument located in the second position of the argument list, while %3$ indicates &lt;br /&gt;&lt;br /&gt;&amp;nbsp; the third. However, when placed within the format string, the dollar sign must be escaped, like &lt;br /&gt;&lt;br /&gt;&amp;nbsp; this: %2\$. Two examples follow:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; printf("The %2\$s likes to %1\$s", "bark", "dog"); &lt;br /&gt;&lt;br /&gt;&amp;nbsp; // The dog likes to bark&lt;br /&gt;&lt;br /&gt;&amp;nbsp; printf("The %1\$s says: %2\$s, %2\$s.", "dog", "bark"); &lt;br /&gt;&lt;br /&gt;// The dog says: bark, bark.&lt;br /&gt;&lt;br /&gt;sprintf()&lt;br /&gt;&lt;br /&gt;&amp;nbsp; string sprintf (string format [, mixed arguments])&lt;br /&gt;&lt;br /&gt;&amp;nbsp; The sprintf() function is functionally identical to printf(), except that the output is assigned &lt;br /&gt;&lt;br /&gt;&amp;nbsp; to a string rather than output directly to standard output. An example follows:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; $cost = sprintf("$%01.2f", 43.2); // $cost = $43.20&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-4504437504629715108?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/4504437504629715108/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/05/output.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/4504437504629715108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/4504437504629715108'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/05/output.html' title='Output'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-5252184026394559352</id><published>2010-05-20T18:44:00.000-07:00</published><updated>2010-05-20T18:55:08.237-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comments'/><category scheme='http://www.blogger.com/atom/ns#' term='Basic'/><category scheme='http://www.blogger.com/atom/ns#' term='syntax'/><title type='text'>Comments</title><content type='html'>Whether for your own benefit or for that of a programmer later tasked with maintaining your &lt;br /&gt;&lt;br /&gt;&amp;nbsp; code, the importance of thoroughly commenting your code cannot be overstated. PHP offers &lt;br /&gt;&lt;br /&gt;&amp;nbsp; several syntactical variations, each of which is introduced in this section.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; Single-line C++ Syntax&lt;br /&gt;&lt;br /&gt;&amp;nbsp; Comments often require no more than a single line. Because of its brevity, there is no need to &lt;br /&gt;&lt;br /&gt;&amp;nbsp; delimit the comment’s conclusion, because the newline (\n) character fills this need quite &lt;br /&gt;&lt;br /&gt;&amp;nbsp; nicely. PHP supports C++ single-line comment syntax, which is prefaced with a double-slash (//), &lt;br /&gt;&lt;br /&gt;&amp;nbsp; like this:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;lt;?php&lt;br /&gt;&lt;br /&gt;&amp;nbsp; // Title: My PHP program&lt;br /&gt;&lt;br /&gt;&amp;nbsp; // Author: Jason&lt;br /&gt;&lt;br /&gt;&amp;nbsp; print "This is a PHP program";&lt;br /&gt;&lt;br /&gt;&amp;nbsp; ?&amp;gt;&lt;br /&gt;Shell Syntax&lt;br /&gt;&lt;br /&gt;&amp;nbsp; PHP also supports an alternative to the C++-style single-line syntax, known as shell syntax, &lt;br /&gt;&lt;br /&gt;&amp;nbsp; which is prefaced with a hash mark (#). Revisiting the previous example:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;lt;?php&lt;br /&gt;&lt;br /&gt;# Title: My PHP program&lt;br /&gt;&lt;br /&gt;# Author: Jason&lt;br /&gt;&lt;br /&gt;print "This is a PHP program";&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;Multiple-line C Syntax&lt;br /&gt;&lt;br /&gt;&amp;nbsp; It’s often convenient to include somewhat more verbose functional descriptions or other &lt;br /&gt;&lt;br /&gt;explanatory notes within code, which logically warrant numerous lines. Although you could preface each line with C++ or shell-style delimiters, PHP also offers a multiple-line variant that &lt;br /&gt;&lt;br /&gt;both opens and closes the comment. Consider the following multiline comment:&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;&lt;br /&gt;Title: My PHP Program&lt;br /&gt;&lt;br /&gt;Author: Jason&lt;br /&gt;&lt;br /&gt;Date: October 10, 2005&lt;br /&gt;&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;Multiline commentary syntax is particularly useful when generating documentation from &lt;br /&gt;&lt;br /&gt;code, because it offers a definitive means for distinguishing between disparate comments, a &lt;br /&gt;&lt;br /&gt;convenience not easily possible using single-line syntax.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-5252184026394559352?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/5252184026394559352/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/05/comments.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5252184026394559352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5252184026394559352'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/05/comments.html' title='Comments'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-1736952515617390567</id><published>2010-05-20T18:29:00.000-07:00</published><updated>2010-05-20T18:41:11.997-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Basic'/><category scheme='http://www.blogger.com/atom/ns#' term='syntax'/><title type='text'>Embedding Multiple Code Blocks</title><content type='html'>You can escape to and from PHP as many times as required throughout a given page. For&lt;br /&gt;instance, the following example is perfectly acceptable:&lt;br /&gt;//html&gt;&lt;br /&gt;//   head&gt;&lt;br /&gt;//      ttitle&gt;&lt;?php echo "Welcome to my site!";?&gt;&lt;stitle&gt;&lt;br /&gt;//   &lt;/whead&gt;&lt;br /&gt;//   bbody&gt;&lt;br /&gt;//      &lt;?php&lt;br /&gt;//         $date = "May 18, 2003";&lt;br /&gt;//      ?&gt;&lt;br /&gt;//      &lt;h3&gt;Today's date is &lt;?=$date;?&gt;&lt;/h3&gt;&lt;br /&gt;//   &lt;/cbody&gt;&lt;br /&gt;//&lt;/qhtml&gt;&lt;br /&gt;Note that any variables declared in a prior code block are “remembered” for later blocks,&lt;br /&gt;as was the case with the $date variable in this example.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-1736952515617390567?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/1736952515617390567/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/05/embedding-multiple-code-blocks.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1736952515617390567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1736952515617390567'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/05/embedding-multiple-code-blocks.html' title='Embedding Multiple Code Blocks'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-4866260830607854517</id><published>2010-05-20T18:28:00.000-07:00</published><updated>2010-05-20T18:29:43.741-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP’s mail'/><category scheme='http://www.blogger.com/atom/ns#' term='Configure'/><category scheme='http://www.blogger.com/atom/ns#' term='Directive'/><title type='text'>Mail</title><content type='html'>PHP’s mail() function offers a convenient means for sending e-mail messages via PHP scripts&lt;br /&gt;Four directives are available for determining PHP’s behavior in this respect.&lt;br /&gt;SMTP (string)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: localhost&lt;br /&gt;The SMTP directive, applicable only for Win32 operating systems, determines the DNS name&lt;br /&gt;or IP address of the SMTP server that PHP should use when sending mail. Linux/Unix users&lt;br /&gt;should look to the sendmail_path directive in order to configure PHP’s mail feature.&lt;br /&gt;smtp_port (int)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: 25&lt;br /&gt;The smtp_port directive, applicable only for Win32 operating systems, specifies the port that&lt;br /&gt;PHP should use when sending mail via the server designated by the SMTP directive.&lt;br /&gt;sendmail_from (string)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: Null&lt;br /&gt;The sendmail_from directive, applicable only for Win32 operating systems, designates the&lt;br /&gt;sender identity when PHP is used to initiate the delivery of e-mail.&lt;br /&gt;sendmail_path (string)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: DEFAULT_SENDMAIL_PATH&lt;br /&gt;The sendmail_path directive, applicable only for Unix operating systems, is primarily used to&lt;br /&gt;pass additional options to the sendmail daemon, although it could also be used to determine&lt;br /&gt;the location of sendmail when installed in a nonstandard directory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-4866260830607854517?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/4866260830607854517/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/05/mail.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/4866260830607854517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/4866260830607854517'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/05/mail.html' title='Mail'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-1420687348989387221</id><published>2010-05-20T18:27:00.000-07:00</published><updated>2010-05-20T18:28:07.154-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamic Extensions'/><category scheme='http://www.blogger.com/atom/ns#' term='Configure'/><category scheme='http://www.blogger.com/atom/ns#' term='Directive'/><title type='text'>Dynamic Extensions</title><content type='html'>The Dynamic Extensions section contains a single directive, extension.&lt;br /&gt;extension (string)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: Null&lt;br /&gt;The extension directive is used to dynamically load a particular module. On the Win32 operating&lt;br /&gt;system, a module might be loaded like this:&lt;br /&gt;extension = php_java.dll&lt;br /&gt;On Unix, it would be loaded like this:&lt;br /&gt;extension = php_java.so&lt;br /&gt;Keep in mind that on either operating system, simply uncommenting or adding this line&lt;br /&gt;doesn’t necessarily enable the relevant extension. You’ll also need to ensure that the appro-&lt;br /&gt;priate software is installed on the operating system. For example, to enable Java support, you&lt;br /&gt;also need to install the JDK.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-1420687348989387221?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/1420687348989387221/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/05/dynamic-extensions.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1420687348989387221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1420687348989387221'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/05/dynamic-extensions.html' title='Dynamic Extensions'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-1977319059942787370</id><published>2010-05-18T06:42:00.000-07:00</published><updated>2010-05-18T06:44:15.208-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Uploads'/><category scheme='http://www.blogger.com/atom/ns#' term='FIle'/><category scheme='http://www.blogger.com/atom/ns#' term='Configure'/><category scheme='http://www.blogger.com/atom/ns#' term='Directive'/><title type='text'>File Uploads</title><content type='html'>PHP supports the uploading and subsequent administrative processing of both text and binary&lt;br /&gt;files via the POST method. Three directives are available for maintaining this functionality,&lt;br /&gt;each of which is introduced in this section.&lt;br /&gt;file_uploads (On, Off)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: On&lt;br /&gt;The file_uploads directive determines whether PHP’s file uploading feature is enabled.&lt;br /&gt;upload_tmp_dir (string)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: Null&lt;br /&gt;When files are first uploaded to the server, most operating systems place them in a staging, or&lt;br /&gt;temporary, directory. You can specify this directory for files uploaded via PHP by using the&lt;br /&gt;upload_tmp_dir directive.&lt;br /&gt;upload_max_filesize (integer)M&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: 2M&lt;br /&gt;The upload_max_filesize directive sets an upper limit, in megabytes, on the size of a file&lt;br /&gt;processed using PHP’s upload mechanism.&lt;br /&gt;fopen Wrappers&lt;br /&gt;This section contains five directives pertinent to the access and manipulation of remote files.&lt;br /&gt;allow_url_fopen (On, Off)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: On&lt;br /&gt;Enabling allow_url_fopen allows PHP to treat remote files almost as if they were local. When&lt;br /&gt;enabled, a PHP script can access and modify files residing on remote servers, if the files have&lt;br /&gt;the correct permissions.&lt;br /&gt;from (string)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: Null&lt;br /&gt;The from directive is perhaps misleading in its title in that it actually determines the password,&lt;br /&gt;rather than the identity, of the anonymous user used to perform FTP connections. Therefore,&lt;br /&gt;if from is set like this:&lt;br /&gt;from = "jason@example.com"&lt;br /&gt;the username anonymous and password jason@example.com will be passed to the server when&lt;br /&gt;authentication is requested.&lt;br /&gt;user_agent (string)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: Null&lt;br /&gt;PHP always sends a content header along with its processed output, including a user agent&lt;br /&gt;attribute. This directive determines the value of that attribute.&lt;br /&gt;default_socket_timeout (integer)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: 60&lt;br /&gt;This directive determines the timeout value of a socket-based stream, in seconds.&lt;br /&gt;auto_detect_line_endings (On, Off)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: Off&lt;br /&gt;One never-ending source of developer frustration is derived from the end-of-line (EOL)&lt;br /&gt;character, because of the varying syntax employed by different operating systems. Enabling&lt;br /&gt;auto_detect_line_endings determines whether the data read by fgets() and file() uses&lt;br /&gt;Macintosh, MS-DOS, or Unix file conventions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-1977319059942787370?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/1977319059942787370/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/05/file-uploads.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1977319059942787370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1977319059942787370'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/05/file-uploads.html' title='File Uploads'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-5983375142720799210</id><published>2010-05-18T06:13:00.000-07:00</published><updated>2010-05-18T06:15:13.209-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Configure'/><title type='text'>Configuration Directive Scope</title><content type='html'>Can configuration directives be modified anywhere? Good question. The answer is no, for a&lt;br /&gt;variety of reasons, mostly security related. Each directive is assigned a scope, and the directive&lt;br /&gt;can be modified only within that scope. In total, there are four scopes:&lt;br /&gt;• PHP_INI_PERDIR: Directive can be modified within the php.ini, httpd.conf, or .htaccess&lt;br /&gt;files&lt;br /&gt;• PHP_INI_SYSTEM: Directive can be modified within the php.ini and httpd.conf files&lt;br /&gt;• PHP_INI_USER: Directive can be modified within user scripts&lt;br /&gt;• PHP_INI_ALL: Directive can be modified anywhere&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-5983375142720799210?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/5983375142720799210/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/05/configuration-directive-scope.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5983375142720799210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5983375142720799210'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/05/configuration-directive-scope.html' title='Configuration Directive Scope'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-2117975882382054531</id><published>2010-05-18T05:58:00.001-07:00</published><updated>2010-05-18T05:58:41.316-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Configure'/><title type='text'>The Apache httpd.conf and .htaccess Files</title><content type='html'>When PHP is running as an Apache module, you can modify many of the directives through&lt;br /&gt;either the httpd.conf file or the .htaccess file. This is accomplished by prefixing the name =&lt;br /&gt;value pair with one of the following keywords:&lt;br /&gt;• php_value: Sets the value of the specified directive.&lt;br /&gt;• php_flag: Sets the value of the specified Boolean directive.&lt;br /&gt;• php_admin_value: Sets the value of the specified directive. This differs from php_value in&lt;br /&gt;that it cannot be used within an .htaccess file and cannot be overridden within virtual&lt;br /&gt;hosts or .htaccess.&lt;br /&gt;• php_admin_flag: Sets the value of the specified directive. This differs from php_value in&lt;br /&gt;that it cannot be used within an .htaccess file and cannot be overridden within virtual&lt;br /&gt;hosts or .htaccess.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-2117975882382054531?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/2117975882382054531/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/05/apache-httpdconf-and-htaccess-files.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2117975882382054531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2117975882382054531'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/05/apache-httpdconf-and-htaccess-files.html' title='The Apache httpd.conf and .htaccess Files'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-5956723001947964226</id><published>2010-05-18T05:41:00.000-07:00</published><updated>2010-05-18T05:43:44.413-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Configure'/><title type='text'>Installing Apache and PHP on Windows</title><content type='html'>Whereas previous Windows-based versions of Apache weren’t optimized for the Windows&lt;br /&gt;platform, the Win32 version of Apache 2 was completely rewritten to take advantage of Windows&lt;br /&gt;platform-specific features. Even if you don’t plan to deploy your application on Windows, it&lt;br /&gt;nonetheless makes for a great localized testing environment for those users who prefer it over&lt;br /&gt;other platforms. The installation process follows:&lt;br /&gt;1. Start the Apache installer by double-clicking the apache_X.X.XX-win32-x86-no_ssl.msi&lt;br /&gt;icon.&lt;br /&gt;2. The installation process begins with a welcome screen. Take a moment to read the&lt;br /&gt;screen and then click Next.&lt;br /&gt;3. The License Agreement is displayed next. Carefully read through the license. Assuming&lt;br /&gt;that you agree with the license stipulations, click Next.&lt;br /&gt;4. A screen containing various items pertinent to the Apache server is displayed next. Take&lt;br /&gt;a moment to read through this information and then click Next.&lt;br /&gt;5. You will be prompted for various items pertinent to the server’s operation, including the&lt;br /&gt;Network Domain, Server Name, and Administrator’s Email Address. If you know this&lt;br /&gt;information, fill it in now; otherwise, just use localhost for the first two items, and put&lt;br /&gt;in any e-mail address for the last. You can always change this information later in the&lt;br /&gt;httpd.conf file. You’ll also be prompted as to whether Apache should run as a service&lt;br /&gt;for all users or only for the current user. If you want Apache to automatically start with&lt;br /&gt;the operating system, which is recommended, then choose to install Apache as a service for&lt;br /&gt;all users. When you’re finished, click Next.&lt;br /&gt;6. You are prompted for a Setup Type: Typical or Custom. Unless there is a specific reason&lt;br /&gt;you don’t want the Apache documentation installed, choose Typical and click Next.&lt;br /&gt;Otherwise, choose Custom, click Next, and, on the next screen, uncheck the Apache&lt;br /&gt;Documentation option.&lt;br /&gt;7. You’re prompted for the Destination folder. By default, this is C:\Program Files\Apache&lt;br /&gt;Group. Consider changing this to C:\, which will create an installation directory&lt;br /&gt;C:\Apache2\. Regardless of what you choose, keep in mind that the latter is used here&lt;br /&gt;for the sake of convention. Click Next.&lt;br /&gt;8. Click Install to complete the installation. That’s it for Apache. Next you’ll install&lt;br /&gt;9. Unzip the PHP package, placing the contents into C:\php5\. You’re free to choose&lt;br /&gt;any installation directory you please, but avoid choosing a path that contains spaces.&lt;br /&gt;Regardless, the installation directory C:\php5\ will be used throughout this chapter for&lt;br /&gt;consistency.&lt;br /&gt;10. Make the php5ts.dll file available to Apache. This is most easily accomplished simply&lt;br /&gt;by adding the PHP installation directory path to the Windows Path. To do so, navigate to&lt;br /&gt;Start ➤ Settings ➤ Control Panel ➤ System, choose the Advanced tab, and click the&lt;br /&gt;Environment Variables button. In the Environment Variables dialog box, scroll through&lt;br /&gt;the System variables pane until you find Path. Double-click this line and, in the Edit&lt;br /&gt;System Variable dialog box, append C:\php5 to the path, as is depicted in Figure 2-1.&lt;br /&gt;&lt;br /&gt;11. Navigate to C:\apache2\conf and open httpd.conf for editing.&lt;br /&gt;12. Add the following three lines to the httpd.conf file. Consider adding them directly&lt;br /&gt;below the block of LoadModule entries located in the bottom of the Global Environment&lt;br /&gt;section.&lt;br /&gt;LoadModule php5_module c:/php5/php5apache2.dll&lt;br /&gt;AddType application/x-httpd-php .php&lt;br /&gt;PHPIniDir "C:\php5"&lt;br /&gt;13. Rename the php.ini-dist file php.ini and save it to the C:\php5 directory. The php.ini&lt;br /&gt;file contains hundreds of directives that are responsible for tweaking PHP’s behavior. The&lt;br /&gt;later section “Configuration” examines php.ini’s purpose and contents in detail. Note&lt;br /&gt;that you can place this configuration file anywhere you please, but if you choose a nondefault&lt;br /&gt;location, then you also need to configure PHP using the --with-config-file-path&lt;br /&gt;option. Also note that there is another default configuration file at your disposal,&lt;br /&gt;php.ini-recommended. This file sets various nonstandard settings, and is intended to&lt;br /&gt;better secure and optimize your installation, although this configuration may not be&lt;br /&gt;fully compatible with some of the legacy applications. Consider using this file in lieu&lt;br /&gt;of php.ini-dist.&lt;br /&gt;14. If you’re using Windows NT, 2000, or XP, navigate to Start ➤ Settings ➤ Control Panel ➤&lt;br /&gt;Administrative Tools ➤ Services.&lt;br /&gt;15. Locate Apache in the list, and make sure that it is started. If it is not started, highlight the&lt;br /&gt;label and click Start the service, located to the left of the label. If it is started, highlight&lt;br /&gt;the label and click Restart the service, so that the changes made to the httpd.conf file&lt;br /&gt;take effect. Next, right-click Apache and choose Properties. Ensure that the startup type&lt;br /&gt;is set to Automatic. If you’re still using Windows 95/98, you need to start Apache manually&lt;br /&gt;via the shortcut provided on the Start menu.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-5956723001947964226?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/5956723001947964226/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/05/installing-apache-and-php-on-windows.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5956723001947964226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5956723001947964226'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/05/installing-apache-and-php-on-windows.html' title='Installing Apache and PHP on Windows'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-4567511784538343284</id><published>2010-05-18T05:28:00.000-07:00</published><updated>2010-05-18T05:30:27.246-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Features'/><category scheme='http://www.blogger.com/atom/ns#' term='Introduction'/><title type='text'>General Language Features - Power</title><content type='html'>The earlier introduction to PHP 5 alluded to the fact that the new version is more qualitative&lt;br /&gt;than quantitative in comparison to previous versions. Previous major versions were accompanied&lt;br /&gt;by enormous additions to PHP’s default libraries, to the tune of several hundred new&lt;br /&gt;functions per release. Presently, 113 libraries are available, collectively containing well over&lt;br /&gt;1,000 functions. Although you’re likely aware of PHP’s ability to interface with databases,&lt;br /&gt;manipulate form information, and create pages dynamically, you might not know that PHP&lt;br /&gt;can also do the following:&lt;br /&gt;• Create and manipulate Macromedia Flash, image, and Portable Document Format&lt;br /&gt;(PDF) files&lt;br /&gt;• Evaluate a password for guessability by comparing it to language dictionaries and easily&lt;br /&gt;broken patterns&lt;br /&gt;• Communicate with the Lightweight Directory Access Protocol (LDAP)&lt;br /&gt;• Parse even the most complex of strings using both the POSIX and Perl-based regular&lt;br /&gt;expression libraries&lt;br /&gt;• Authenticate users against login credentials stored in flat files, databases, and even&lt;br /&gt;Microsoft’s Active Directory&lt;br /&gt;• Communicate with a wide variety of protocols, including IMAP, POP3, NNTP, and DNS,&lt;br /&gt;among others&lt;br /&gt;• Communicate with a wide array of credit-card processing solutions&lt;br /&gt;Of course, the coming chapters cover as many of these and other interesting and useful&lt;br /&gt;features of PHP as possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-4567511784538343284?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/4567511784538343284/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2010/05/general-language-features-power.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/4567511784538343284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/4567511784538343284'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2010/05/general-language-features-power.html' title='General Language Features - Power'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-3812383056000436861</id><published>2009-06-18T06:40:00.000-07:00</published><updated>2010-05-18T06:42:03.718-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Paths'/><category scheme='http://www.blogger.com/atom/ns#' term='Directories'/><category scheme='http://www.blogger.com/atom/ns#' term='Configure'/><category scheme='http://www.blogger.com/atom/ns#' term='Directive'/><title type='text'>Paths and Directories</title><content type='html'>This section introduces directives that determine PHP’s default path settings. These paths are&lt;br /&gt;used for including libraries and extensions, as well as for determining user Web directories and&lt;br /&gt;Web document roots.&lt;br /&gt;include_path (string)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: PHP_INCLUDE_PATH&lt;br /&gt;The path to which this parameter is set serves as the base path used by functions such as&lt;br /&gt;include(), require(), and fopen_with_path(). You can specify multiple directories by separating&lt;br /&gt;each with a semicolon, as shown in the following example:&lt;br /&gt;include_path=".:/usr/local/include/php;/home/php"&lt;br /&gt;By default, this parameter is set to the path defined by the environment variable&lt;br /&gt;PHP_INCLUDE_PATH.&lt;br /&gt;Note that on Windows, backward slashes are used in lieu of forward slashes, and the drive&lt;br /&gt;letter prefaces the path. For example:&lt;br /&gt;include_path=".;C:\php5\includes"&lt;br /&gt;doc_root (string)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: Null&lt;br /&gt;This parameter determines the default from which all PHP scripts will be served. This parameter&lt;br /&gt;is used only if it is not empty.&lt;br /&gt;user_dir (string)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: Null&lt;br /&gt;The user_dir directive specifies the absolute directory PHP uses when opening files using the&lt;br /&gt;/~username convention. For example, when user_dir is set to /home/users and a user attempts&lt;br /&gt;to open the file ~/gilmore/collections/books.txt, PHP knows that the absolute path is /home/&lt;br /&gt;users/gilmore/collections/books.txt.&lt;br /&gt;extension_dir (string)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: PHP_EXTENSION_DIR&lt;br /&gt;The extension_dir directive tells PHP where its loadable extensions (modules) are located. By&lt;br /&gt;default, this is set to ./, which means that the loadable extensions are located in the same&lt;br /&gt;directory as the executing script. In the Windows environment, if extension_dir is not set, it&lt;br /&gt;will default to C:\PHP-INSTALLATION-DIRECTORY\ext\. In the Unix environment, the exact location&lt;br /&gt;of this directory depends on several factors, although it’s quite likely that the location will&lt;br /&gt;be PHP-INSTALLATION-DIRECTORY/lib/php/extensions/no-debug-zts-RELEASE-BUILD-DATE/.&lt;br /&gt;enable_dl (On, Off)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: On&lt;br /&gt;The enable_dl() function allows a user to load a PHP extension at run time; that is, during a&lt;br /&gt;script’s execution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-3812383056000436861?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/3812383056000436861/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/06/paths-and-directories.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/3812383056000436861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/3812383056000436861'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/06/paths-and-directories.html' title='Paths and Directories'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-478514439433585227</id><published>2009-05-28T06:47:00.000-07:00</published><updated>2010-05-18T06:48:10.102-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamic Extensions'/><category scheme='http://www.blogger.com/atom/ns#' term='Configure'/><title type='text'>Dynamic Extensions</title><content type='html'>The Dynamic Extensions section contains a single directive, extension.&lt;br /&gt;extension (string)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: Null&lt;br /&gt;The extension directive is used to dynamically load a particular module. On the Win32 operating&lt;br /&gt;system, a module might be loaded like this:&lt;br /&gt;extension = php_java.dll&lt;br /&gt;On Unix, it would be loaded like this:&lt;br /&gt;extension = php_java.so&lt;br /&gt;Keep in mind that on either operating system, simply uncommenting or adding this line&lt;br /&gt;doesn’t necessarily enable the relevant extension. You’ll also need to ensure that the appropriate&lt;br /&gt;software is installed on the operating system. For example, to enable Java support, you&lt;br /&gt;also need to install the JDK.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-478514439433585227?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/478514439433585227/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/05/dynamic-extensions.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/478514439433585227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/478514439433585227'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/05/dynamic-extensions.html' title='Dynamic Extensions'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-4927278324130090500</id><published>2009-05-20T06:27:00.000-07:00</published><updated>2010-05-18T06:29:33.393-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Configure'/><category scheme='http://www.blogger.com/atom/ns#' term='Directive'/><title type='text'>Safe Mode</title><content type='html'>When you deploy PHP in a multiuser environment, such as that found on an ISP’s shared&lt;br /&gt;server, you might want to limit its functionality. As you might imagine, offering all users full&lt;br /&gt;reign over all PHP’s functions could open up the possibility for exploiting or damaging server&lt;br /&gt;resources and files. As a safeguard for using PHP on shared servers, PHP can be run in a restricted,&lt;br /&gt;or safe, mode.&lt;br /&gt;Enabling safe mode has a great many implications, including the automatic disabling of&lt;br /&gt;quite a few functions and various features deemed to be potentially insecure and thus possibly&lt;br /&gt;damaging if they are misused within a local script. A small sampling of these disabled functions&lt;br /&gt;and features includes parse_ini_file(), chmod(), chown(), chgrp(), exec(), system(), and&lt;br /&gt;backtick operators. Enabling safe mode also ensures that the owner of the executing script&lt;br /&gt;matches the owner of any file or directory targeted by that script.&lt;br /&gt;In addition, enabling safe mode opens up the possibility for activating a number of other&lt;br /&gt;restrictions via other PHP configuration directives, each of which is introduced in this section.&lt;br /&gt;safe_mode (On, Off)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: Off&lt;br /&gt;Enabling the safe mode directive results in PHP being run under the aforementioned&lt;br /&gt;constraints.&lt;br /&gt;safe_mode_gid (On, Off)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: Off&lt;br /&gt;When safe mode is enabled, an enabled safe_mode_gid enforces a GID (group ID) check when&lt;br /&gt;opening files. When safe_mode_gid is disabled, a more restrictive UID (user ID) check is enforced.&lt;br /&gt;safe_mode_include_dir (string)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: Null&lt;br /&gt;The safe_mode_include_dir provides a safe haven from the UID/GID checks enforced when&lt;br /&gt;safe_mode and potentially safe_mode_gid are enabled. UID/GID checks are ignored when files&lt;br /&gt;are opened from the assigned directory.&lt;br /&gt;safe_mode_exec_dir (string)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: Null&lt;br /&gt;When safe mode is enabled, the safe_mode_exec_dir parameter restricts execution of executables&lt;br /&gt;via the exec() function to the assigned directory. For examples, if you want to restrict&lt;br /&gt;execution to functions found in /usr/local/bin, you use this directive:&lt;br /&gt;safe_mode_exec_dir = "/usr/local/bin"&lt;br /&gt;safe_mode_allowed_env_vars (string)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: PHP_&lt;br /&gt;When safe mode is enabled, you can restrict which operating system–level environment variables&lt;br /&gt;users can modify through PHP scripts with the safe_mode_allowed_env_vars directive.&lt;br /&gt;For example, setting this directive as follows limits modification to only those variables with a&lt;br /&gt;PHP_ or MYSQL_ prefix:&lt;br /&gt;safe_mode_allowed_env_vars = "PHP_,MYSQL_"&lt;br /&gt;Keep in mind that leaving this directive blank means that the user can modify any environment&lt;br /&gt;variable.&lt;br /&gt;safe_mode_protected_env_vars (string)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: LD_LIBRARY_PATH&lt;br /&gt;The safe_mode_protected_env_vars directive offers a means for explicitly preventing certain&lt;br /&gt;environment variables from being modified. For example, if you want to prevent the user from&lt;br /&gt;modifying the PATH and LD_LIBRARY_PATH variables, you use this directive:&lt;br /&gt;safe_mode_protected_env_vars = "PATH, LD_LIBRARY_PATH"&lt;br /&gt;open_basedir (string)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: Null&lt;br /&gt;Much like Apache’s DocumentRoot, PHP’s open_basedir directive can establish a base directory&lt;br /&gt;to which all file operations will be restricted. This prevents users from entering otherwise&lt;br /&gt;restricted areas of the server. For example, suppose all Web material is located within the directory&lt;br /&gt;/home/www. To prevent users from viewing and potentially manipulating files like /etc/&lt;br /&gt;passwd via a few simple PHP commands, consider setting open_basedir like this:&lt;br /&gt;open_basedir = "/home/www/"&lt;br /&gt;Note that the influence exercised by this directive is not dependent upon the safe_mode&lt;br /&gt;directive.&lt;br /&gt;disable_functions (string)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: Null&lt;br /&gt;In certain environments, you may want to completely disallow the use of certain default&lt;br /&gt;functions, such as exec() and system(). Such functions can be disabled by assigning them to&lt;br /&gt;the disable_functions parameter, like this:&lt;br /&gt;disable_functions = "exec, system";&lt;br /&gt;Note that the influence exercised by this directive is not dependent upon the safe_mode&lt;br /&gt;directive.&lt;br /&gt;disable_classes (string)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: Null&lt;br /&gt;Given the new functionality offered by PHP’s embrace of the object-oriented paradigm, it&lt;br /&gt;likely won’t be too long before you’re using large sets of class libraries. There may be certain&lt;br /&gt;classes found within these libraries that you’d rather not make available, however. You can&lt;br /&gt;prevent the use of these classes via the disable_classes directive. For example, if you want to&lt;br /&gt;disable two particular classes, named administrator and janitor, you use the following:&lt;br /&gt;disable_classes = "administrator, janitor"&lt;br /&gt;Note that the influence exercised by this directive is not dependent upon the safe_mode&lt;br /&gt;directive.&lt;br /&gt;ignore_user_abort (Off, On)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: On&lt;br /&gt;How many times have you browsed to a particular page, only to exit or close the browser before&lt;br /&gt;the page completely loads? Often such behavior is harmless. However, what if the server was in&lt;br /&gt;the midst of updating important user profile information, or completing a commercial transaction?&lt;br /&gt;Enabling ignore_user_abort causes the server to ignore session termination caused by&lt;br /&gt;a user- or browser-initiated interruption.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-4927278324130090500?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/4927278324130090500/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/05/safe-mode.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/4927278324130090500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/4927278324130090500'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/05/safe-mode.html' title='Safe Mode'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-7726306121454083445</id><published>2009-05-19T06:50:00.000-07:00</published><updated>2010-05-18T06:51:35.882-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java classes'/><category scheme='http://www.blogger.com/atom/ns#' term='Configure'/><category scheme='http://www.blogger.com/atom/ns#' term='Directive'/><title type='text'>Java classes</title><content type='html'>PHP can instantiate Java classes via its Java extension. The following four directives determine&lt;br /&gt;PHP’s behavior in this respect. Note that it’s also possible to run PHP as a Java servlet via the&lt;br /&gt;Java Servlet API, although this topic isn’t discussed in this book. Check out the PHP manual for&lt;br /&gt;more information.&lt;br /&gt;java.class.path (string)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: Null&lt;br /&gt;The java.class.path directory specifies the location where your Java classes are stored.&lt;br /&gt;java.home (string)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: Null&lt;br /&gt;The java.home directive specifies the location of the JDK binary directory.&lt;br /&gt;java.library (string)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: JAVALIB&lt;br /&gt;The java.library directive specifies the location of the Java Virtual Machine (JVM).&lt;br /&gt;java.library.path (string)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: Null&lt;br /&gt;The java.library.path directive specifies the location of PHP’s Java extension.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-7726306121454083445?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/7726306121454083445/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/05/java-classes.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7726306121454083445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7726306121454083445'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/05/java-classes.html' title='Java classes'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-5879826060619042736</id><published>2009-05-19T06:19:00.000-07:00</published><updated>2010-05-18T06:23:09.921-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Configure'/><category scheme='http://www.blogger.com/atom/ns#' term='Directive'/><title type='text'>Language Options</title><content type='html'>The directives located in this initial section determine some of the language’s most basic&lt;br /&gt;behavior. You’ll definitely want to take a few moments to become acquainted with these&lt;br /&gt;configuration possibilities.&lt;br /&gt;engine (On, Off)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: On&lt;br /&gt;This parameter is simply responsible for determining whether the PHP engine is available.&lt;br /&gt;Turning it off prevents you from using PHP at all. Obviously, you should leave this enabled if&lt;br /&gt;you plan to use PHP.&lt;br /&gt;zend.ze1_compatibility_mode (On, Off)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: Off&lt;br /&gt;Even at press time, some 18 months after PHP 5.0 released, PHP 4.X is still in widespread use. One&lt;br /&gt;of the reasons for the protracted upgrade cycle is due to some incompatibilities between PHP 4&lt;br /&gt;and 5. However, many developers aren’t aware that enabling the zend.ze1_compatibility_mode&lt;br /&gt;directive allows PHP 4 applications to run without issue in version 5. Therefore, if you’d like to&lt;br /&gt;use a PHP 4–specific application on a PHP 5–driven server, look to this directive.&lt;br /&gt;short_open_tag (On, Off)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: On&lt;br /&gt;PHP script components are enclosed within escape syntax. There are four different escape&lt;br /&gt;formats, the shortest of which is known as short open tags, which looks like this:&lt;br /&gt;&lt;?&lt;br /&gt;echo "Some PHP statement";&lt;br /&gt;?&gt;&lt;br /&gt;You may recognize that this syntax is shared with XML, which could cause issues in certain&lt;br /&gt;environments. Thus, a means for disabling this particular format has been provided. When&lt;br /&gt;short_open_tag is enabled (On), short tags are allowed; when disabled (Off), they are not.&lt;br /&gt;asp_tags (On, Off)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: Off&lt;br /&gt;PHP supports ASP-style script delimiters, which look like this:&lt;br /&gt;&lt;%&lt;br /&gt;echo "Some PHP statement";&lt;br /&gt;%&gt;&lt;br /&gt;If you’re coming from an ASP background and prefer to continue using this delimiter&lt;br /&gt;syntax, you can do so by enabling this tag.&lt;br /&gt;precision (integer)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: 12&lt;br /&gt;PHP supports a wide variety of data types, including floating-point numbers. The precision&lt;br /&gt;parameter specifies the number of significant digits displayed in a floating-point number&lt;br /&gt;representation. Note that this value is set to 14 digits on Win32 systems and to 12 digits on&lt;br /&gt;Unix.&lt;br /&gt;y2k_compliance (On, Off)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: Off&lt;br /&gt;Who can forget the Y2K scare of just a few years ago? Superhuman efforts were undertaken to&lt;br /&gt;eliminate the problems posed by non–Y2K-compliant software, and although it’s very unlikely,&lt;br /&gt;some users may be using wildly outdated, noncompliant browsers. If for some bizarre reason&lt;br /&gt;you’re sure that a number of your site’s users fall into this group, then disable the y2k_compliance&lt;br /&gt;parameter; otherwise, it should be enabled.&lt;br /&gt;output_buffering ((On, Off) or (integer))&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: Off&lt;br /&gt;Anybody with even minimal PHP experience is likely quite familiar with the following two&lt;br /&gt;messages:&lt;br /&gt;"Cannot add header information – headers already sent"&lt;br /&gt;"Oops, php_set_cookie called after header has been sent"&lt;br /&gt;These messages occur when a script attempts to modify a header after it has already been&lt;br /&gt;sent back to the requesting user. Most commonly, they are the result of the programmer&lt;br /&gt;attempting to send a cookie to the user after some output has already been sent back to the&lt;br /&gt;browser, which is impossible to accomplish because the header (not seen by the user, but used&lt;br /&gt;by the browser) will always precede that output. PHP version 4.0 offered a solution to this annoying&lt;br /&gt;problem by introducing the concept of output buffering. When enabled, output buffering tells&lt;br /&gt;PHP to send all output at once, after the script has been completed. This way, any subsequent&lt;br /&gt;changes to the header can be made throughout the script, because it hasn’t yet been sent.&lt;br /&gt;Enabling the output_buffering directive turns output buffering on. Alternatively, you can limit&lt;br /&gt;the size of the output buffer (thereby implicitly enabling output buffering) by setting it to the&lt;br /&gt;maximum number of bytes you’d like this buffer to contain.&lt;br /&gt;If you do not plan to use output buffering, you should disable this directive, because it will&lt;br /&gt;hinder performance slightly. Of course, the easiest solution to the header issue is simply to pass&lt;br /&gt;the information before any other content whenever possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-5879826060619042736?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/5879826060619042736/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/05/language-options.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5879826060619042736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5879826060619042736'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/05/language-options.html' title='Language Options'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-6504677609232863824</id><published>2009-05-19T05:55:00.000-07:00</published><updated>2010-05-18T05:57:33.587-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Configure'/><title type='text'>The php.ini File</title><content type='html'>The PHP distribution comes with two configuration templates, php.ini-dist and&lt;br /&gt;php.ini-recommended. The “Installation” section suggested that you use the latter, because&lt;br /&gt;many of the parameters found within it have already been set to their suggested settings.&lt;br /&gt;Taking this advice will likely save you a good deal of initial time and effort securing and&lt;br /&gt;tweaking your installation, because there are almost 240 distinct configuration parameters in&lt;br /&gt;this file. Although the default values go a long way toward helping you to quickly deploy PHP,&lt;br /&gt;you’ll probably want to make additional adjustments to PHP’s behavior, so you’ll need to learn&lt;br /&gt;a bit more about this file and its many configuration parameters. The upcoming section “PHP’s&lt;br /&gt;Configuration Directives” presents a comprehensive introduction to many of these parameters,&lt;br /&gt;explaining the purpose, scope, and range of each.&lt;br /&gt;The php.ini file is PHP’s global configuration file, much like httpd.conf is to Apache, or&lt;br /&gt;my.cnf (my.ini on Windows) is to MySQL. This file addresses 12 different aspects of PHP’s&lt;br /&gt;behavior:&lt;br /&gt;• Language Options&lt;br /&gt;• Safe Mode&lt;br /&gt;• Syntax Highlighting&lt;br /&gt;• Miscellaneous&lt;br /&gt;• Resource Limits&lt;br /&gt;• Error Handling and Logging&lt;br /&gt;• Data Handling&lt;br /&gt;• Paths and Directories&lt;br /&gt;• File Uploads&lt;br /&gt;• Fopen Wrappers&lt;br /&gt;• Dynamic Extensions&lt;br /&gt;• Module Settings&lt;br /&gt;Each of the listed items is introduced along with its respective parameters in the “PHP’s&lt;br /&gt;Configuration Directives” section. Before you are introduced to them, however, take a moment&lt;br /&gt;to review the php.ini file’s general syntactical characteristics. The php.ini file is a simple text&lt;br /&gt;file, consisting solely of comments and parameter = key assignment pairs. Here’s a sample&lt;br /&gt;snippet from the file:&lt;br /&gt;;&lt;br /&gt;; Safe Mode&lt;br /&gt;;&lt;br /&gt;safe_mode = Off&lt;br /&gt;Lines beginning with a semicolon are comments; the parameter safe_mode is assigned the&lt;br /&gt;value Off.&lt;br /&gt;Exactly when changes take effect depends on how you installed PHP. If PHP is installed as&lt;br /&gt;a CGI binary, the php.ini file is reread every time PHP is invoked, thus making changes instantaneous.&lt;br /&gt;If PHP is installed as an Apache module, then php.ini is only read in once, when the&lt;br /&gt;Apache daemon is first started. Therefore, if PHP is installed in the latter fashion, you must&lt;br /&gt;restart Apache before any of the changes take effect.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-6504677609232863824?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/6504677609232863824/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/05/phpini-file.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6504677609232863824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6504677609232863824'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/05/phpini-file.html' title='The php.ini File'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-6014508603757286651</id><published>2009-05-19T05:35:00.000-07:00</published><updated>2010-05-18T05:37:32.401-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='Configure'/><title type='text'>Installing Apache and PHP on Linux/Unix</title><content type='html'>This section guides you through the process of building Apache and PHP from source, targeting the&lt;br /&gt;Unix platform. You need a respectable ANSI-C compiler and build system, two items that are&lt;br /&gt;commonplace on the vast majority of distributions available today. In addition, PHP requires&lt;br /&gt;the Flex (http://www.gnu.org/software/flex/flex.html) and Bison (http://www.gnu.org/&lt;br /&gt;software/bison/bison.html) packages, while Apache requires at least Perl version 5.003. Again,&lt;br /&gt;all three items are prevalent on most, if not all, modern Unix platforms. Finally, you need root&lt;br /&gt;access to the target server to complete the build process.&lt;br /&gt;Before beginning the installation process, for sake of convenience, consider moving both&lt;br /&gt;packages to a common location, /usr/src/ for example. The installation process follows:&lt;br /&gt;1. Unzip and untar Apache and PHP:&lt;br /&gt;%&gt;gunzip httpd-2_X_XX.tar.gz&lt;br /&gt;%&gt;tar xvf httpd-2_X_XX.tar&lt;br /&gt;%&gt;gunzip php-XX.tar.gz&lt;br /&gt;%&gt;tar xvf php-XX.tar&lt;br /&gt;2. Configure and build Apache. At a minimum, you’ll want to pass two options. The first&lt;br /&gt;option, --enable-so, tells Apache to enable the ability to load shared modules. The&lt;br /&gt;second, --with-mpm=worker, tells Apache to use a threaded multiprocessing module&lt;br /&gt;known as worker. Based on your particular needs, you might also consider using the&lt;br /&gt;multiprocessing module prefork. See the Apache documentation for more information&lt;br /&gt;regarding this important matter.&lt;br /&gt;%&gt;cd httpd-2_X_XX&lt;br /&gt;%&gt;./configure --enable-so --with-mpm=worker [other options]&lt;br /&gt;%&gt;make&lt;br /&gt;3. Install Apache:&lt;br /&gt;%&gt;make install&lt;br /&gt;4. Configure, build, and install PHP (see the section “Customizing the Unix Build” or&lt;br /&gt;“Customizing the Windows Build,” depending on your operating system, for information&lt;br /&gt;regarding modifying installation defaults and incorporating third-party&lt;br /&gt;extensions into PHP):&lt;br /&gt;%&gt;cd ../php-X_XX&lt;br /&gt;%&gt;./configure --with-apxs2=/usr/local/apache2/bin/apxs [other options]&lt;br /&gt;%&gt;make&lt;br /&gt;%&gt;make install&lt;br /&gt;5. Copy the php.ini-dist file to its default location and rename it php.ini. The php.ini file&lt;br /&gt;contains hundreds of directives that are responsible for tweaking PHP’s behavior. The&lt;br /&gt;later section “Configuration” examines php.ini’s purpose and contents in detail. Note&lt;br /&gt;that you can place this configuration file anywhere you please, but if you choose a nondefault&lt;br /&gt;location, then you also need to configure PHP using the --with-config-filepath&lt;br /&gt;option. Also note that there is another default configuration file at your disposal,&lt;br /&gt;php.ini-recommended. This file sets various nonstandard settings and is intended to&lt;br /&gt;better secure and optimize your installation, although this configuration may not be&lt;br /&gt;fully compatible with some of the legacy applications. Consider using this file in lieu of&lt;br /&gt;php.ini-dist.&lt;br /&gt;%&gt;cp php.ini-recommended /usr/local/lib/php.ini&lt;br /&gt;6. Open the httpd.conf file and verify that the following lines exist. (The httpd.conf file is&lt;br /&gt;located at APACHE_INSTALL_DIR/conf/httpd.conf.) If they don’t exist, go ahead and add&lt;br /&gt;them. Consider adding each alongside the other LoadModule and AddType entries,&lt;br /&gt;respectively.&lt;br /&gt;LoadModule php5_module modules/libphp5.so&lt;br /&gt;AddType application/x-httpd-php .php&lt;br /&gt;Believe it or not, that’s it! Restart the Apache server with the following command:&lt;br /&gt;%&gt;/usr/local/apache2/bin/apachectl restart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-6014508603757286651?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/6014508603757286651/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/05/installing-apache-and-php-on-linuxunix.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6014508603757286651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6014508603757286651'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/05/installing-apache-and-php-on-linuxunix.html' title='Installing Apache and PHP on Linux/Unix'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-981326289876467316</id><published>2009-05-18T06:49:00.000-07:00</published><updated>2010-05-18T06:50:19.327-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP’s mail'/><category scheme='http://www.blogger.com/atom/ns#' term='Configure'/><category scheme='http://www.blogger.com/atom/ns#' term='Directive'/><title type='text'>PHP’s mail</title><content type='html'>PHP’s mail() function offers a convenient means for sending e-mail messages via PHP scripts.&lt;br /&gt;Four directives are available for determining PHP’s behavior in this respect.&lt;br /&gt;SMTP (string)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: localhost&lt;br /&gt;The SMTP directive, applicable only for Win32 operating systems, determines the DNS name&lt;br /&gt;or IP address of the SMTP server that PHP should use when sending mail. Linux/Unix users&lt;br /&gt;should look to the sendmail_path directive in order to configure PHP’s mail feature.&lt;br /&gt;smtp_port (int)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: 25&lt;br /&gt;The smtp_port directive, applicable only for Win32 operating systems, specifies the port that&lt;br /&gt;PHP should use when sending mail via the server designated by the SMTP directive.&lt;br /&gt;sendmail_from (string)&lt;br /&gt;Scope: PHP_INI_ALL; Default value: Null&lt;br /&gt;The sendmail_from directive, applicable only for Win32 operating systems, designates the&lt;br /&gt;sender identity when PHP is used to initiate the delivery of e-mail.&lt;br /&gt;sendmail_path (string)&lt;br /&gt;Scope: PHP_INI_SYSTEM; Default value: DEFAULT_SENDMAIL_PATH&lt;br /&gt;The sendmail_path directive, applicable only for Unix operating systems, is primarily used to&lt;br /&gt;pass additional options to the sendmail daemon, although it could also be used to determine&lt;br /&gt;the location of sendmail when installed in a nonstandard directory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-981326289876467316?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/981326289876467316/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/05/phps-mail.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/981326289876467316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/981326289876467316'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/05/phps-mail.html' title='PHP’s mail'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-789351968061514913</id><published>2009-05-18T05:32:00.000-07:00</published><updated>2010-05-18T05:33:38.939-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Features'/><category scheme='http://www.blogger.com/atom/ns#' term='Introduction'/><title type='text'>General Language Features - Price</title><content type='html'>Since its inception, PHP has been without usage, modification, and redistribution restrictions.&lt;br /&gt;In recent years, software meeting such open licensing qualifications has been referred to as&lt;br /&gt;open-source software. Open-source software and the Internet go together like bread and&lt;br /&gt;butter. Open-source projects like Sendmail, Bind, Linux, and Apache all play enormous roles in&lt;br /&gt;the ongoing operations of the Internet at large. Although the fact that open-source software is&lt;br /&gt;freely available for use has been the characteristic most promoted by the media, several other&lt;br /&gt;characteristics are equally important if not more so:&lt;br /&gt;• Free of licensing restrictions imposed by most commercial products: Open-source&lt;br /&gt;software users are freed of the vast majority of licensing restrictions one would expect of&lt;br /&gt;commercial counterparts. Although some discrepancies do exist among license variants,&lt;br /&gt;users are largely free to modify, redistribute, and integrate the software into other products.&lt;br /&gt;• Open development and auditing process: Although there have been some incidents,&lt;br /&gt;open-source software has long enjoyed a stellar security record. Such high standards are&lt;br /&gt;a result of the open development and auditing process. Because the source code is freely&lt;br /&gt;available for anyone to examine, security holes and potential problems are rapidly found&lt;br /&gt;and fixed. This advantage was perhaps best summarized by open-source advocate&lt;br /&gt;Eric S. Raymond, who wrote, “Given enough eyeballs, all bugs are shallow.”&lt;br /&gt;• Participation is encouraged: Development teams are not limited to a particular organization.&lt;br /&gt;Anyone who has the interest and the ability is free to join the project. The absence&lt;br /&gt;of member restrictions greatly enhances the talent pool for a given project, ultimately&lt;br /&gt;contributing to a higher-quality product.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-789351968061514913?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/789351968061514913/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/05/general-language-features-price.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/789351968061514913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/789351968061514913'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/05/general-language-features-price.html' title='General Language Features - Price'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-27600013944154103</id><published>2009-05-18T05:31:00.000-07:00</published><updated>2010-05-18T05:32:13.202-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Features'/><category scheme='http://www.blogger.com/atom/ns#' term='Introduction'/><title type='text'>General Language Features - Possibility</title><content type='html'>PHP developers are rarely bound to any single implementation solution. On the contrary, a&lt;br /&gt;user is typically fraught with choices offered by the language. For example, consider PHP’s&lt;br /&gt;array of database support options. Native support is offered for over 25 database products,&lt;br /&gt;including Adabas D, dBase, Empress, FilePro, FrontBase, Hyperwave, IBM DB2, Informix,&lt;br /&gt;Ingres, Interbase, mSQL, direct MS-SQL, MySQL, Oracle, Ovrimos, PostgreSQL, Solid, Sybase,&lt;br /&gt;Unix dbm, and Velocis. In addition, abstraction layer functions are available for accessing&lt;br /&gt;Berkeley DB–style databases. Finally, two database abstraction layers are available, one called&lt;br /&gt;the dbx module, and another via PEAR, titled the PEAR DB.&lt;br /&gt;PHP’s powerful string-parsing capabilities is another feature indicative of the possibility&lt;br /&gt;offered to users. In addition to more than 85 string-manipulation functions, both POSIX- and&lt;br /&gt;Perl-based regular expression formats are supported. This flexibility offers users of differing&lt;br /&gt;skill sets the opportunity not only to immediately begin performing complex string operations&lt;br /&gt;but also to quickly port programs of similar functionality (such as Perl and Python) over to PHP.&lt;br /&gt;Do you prefer a language that embraces functional programming? How about one that&lt;br /&gt;embraces the object-oriented paradigm? PHP offers comprehensive support for both. Although&lt;br /&gt;PHP was originally a solely functional language, the developers soon came to realize the&lt;br /&gt;importance of offering the popular OOP paradigm, and took the steps to implement an&lt;br /&gt;extensive solution.&lt;br /&gt;The recurring theme here is that PHP allows you to quickly capitalize on your current skill&lt;br /&gt;set with very little time investment. The examples set forth here are but a small sampling of this&lt;br /&gt;strategy, which can be found repeatedly throughout the language.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-27600013944154103?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/27600013944154103/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/05/general-language-features-possibility.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/27600013944154103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/27600013944154103'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/05/general-language-features-possibility.html' title='General Language Features - Possibility'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-2578081831826141226</id><published>2009-05-18T05:24:00.000-07:00</published><updated>2010-05-18T05:27:32.639-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Features'/><title type='text'>General Language Features - Practicality</title><content type='html'>From the very start, the PHP language was created with practicality in mind. After all, Lerdorf’s&lt;br /&gt;original intention was not to design an entirely new language, but to resolve a problem that&lt;br /&gt;had no readily available solution. Furthermore, much of PHP’s early evolution was not the&lt;br /&gt;result of the explicit intention to improve the language itself, but rather to increase its utility to&lt;br /&gt;the user. The result is a minimalist language, both in terms of what is required of the user and&lt;br /&gt;in terms of the language’s syntactical requirements. For starters, a useful PHP script can consist of&lt;br /&gt;as little as one line; unlike C, there is no need for the mandatory inclusion of libraries. For example,&lt;br /&gt;the following represents a complete PHP script, the purpose of which is to output the current&lt;br /&gt;date, in this case one formatted like September 23, 2005:&lt;br /&gt;&lt;?php echo date("F j, Y");?&gt;&lt;br /&gt;Another example of the language’s penchant for compactness is its ability to nest functions.&lt;br /&gt;For example, you can effect numerous changes to a value on the same line by stacking functions&lt;br /&gt;in a particular order, in the following case producing a pseudorandom string of five alphanumeric&lt;br /&gt;characters, a3jh8 for instance:&lt;br /&gt;$randomString = substr(md5(microtime()), 0, 5);&lt;br /&gt;PHP is a loosely typed language, meaning there is no need to explicitly create, typecast, or&lt;br /&gt;destroy a variable, although you are not prevented from doing so. PHP handles such matters&lt;br /&gt;internally, creating variables on the fly as they are called in a script, and employing a best-guess&lt;br /&gt;formula for automatically typecasting variables. For instance, PHP considers the following set&lt;br /&gt;of statements to be perfectly valid:&lt;br /&gt;&lt;?php&lt;br /&gt;$number = "5"; # $number is a string&lt;br /&gt;$sum = 15 + $number; # Add an integer and string to produce integer&lt;br /&gt;$sum = "twenty"; # Overwrite $sum with a string.&lt;br /&gt;?&gt;&lt;br /&gt;PHP will also automatically destroy variables and return resources to the system when the&lt;br /&gt;script completes. In these and in many other respects, by attempting to handle many of the&lt;br /&gt;administrative aspects of programming internally, PHP allows the developer to concentrate&lt;br /&gt;almost exclusively on the final goal, namely a working application.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-2578081831826141226?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/2578081831826141226/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/05/general-language-features-practicality.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2578081831826141226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2578081831826141226'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/05/general-language-features-practicality.html' title='General Language Features - Practicality'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-85162990059966947</id><published>2009-05-01T20:54:00.000-07:00</published><updated>2009-05-01T20:54:00.449-07:00</updated><title type='text'>ASP vs PHP: Speed</title><content type='html'>&lt;div class="entry"&gt;      &lt;p&gt;&lt;img src="http://blogs.msdn.com/blogfiles/the_hardman/WindowsLiveWriter/PHPrunsupto130fasteronWindowsServer2008_C028/Graph1_thumb3_2.jpg" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Speed &lt;/strong&gt;&lt;br /&gt;Relatively, PHP is much faster and stable than ASP, this is because ASP is built on a COM-based architecture so whenever a program tries to connect to a database or calls for a COM object, there is an overhead on the server, and this COM overhead adds up and slows things down.&lt;br /&gt;While in PHP, everything runs in PHP’s memory space , this implies that PHP code will run faster because there is no overhead of communicating with different COM objects in different processes.&lt;br /&gt;In addition to this ASP is slower and is a more memory intensive application than PHP’s model because each ASP language compiler runs in its own process.&lt;/p&gt;     &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-85162990059966947?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/85162990059966947/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/05/asp-vs-php-speed.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/85162990059966947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/85162990059966947'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/05/asp-vs-php-speed.html' title='ASP vs PHP: Speed'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-7744355958084958407</id><published>2009-04-30T20:53:00.000-07:00</published><updated>2009-04-30T20:53:00.519-07:00</updated><title type='text'>ASP vs PHP: Price and Versatility</title><content type='html'>&lt;div class="entry"&gt;      &lt;p&gt;&lt;img src="http://homeexchangetravel.blogs.com/photos/uncategorized/1661481_1.jpg" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Price &lt;/strong&gt;Compared to ASP, PHP installations are absolutely cheaper to install. PHP perfectly runs on Linux (which is a free OS) and programmers use MySQL .(which also comes FREE) ASP runs on the IIS Server (Internet Information Server) which requires Windows N.T/2000/2003 Servers or better. Aside from that ASP mostly uses MS-SQL Server as the back end which is really expensive. PHP obviously is cheaper than ASP.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Cross Platform compatibility &lt;/strong&gt;&lt;br /&gt;PHP programs run on a wide variety of Operating Systems Unix, Linux, Solaris and Window’s.ASP on the other hand only works flawlessly with Windows and not with other platforms. PHP offers more versatility than ASP.&lt;/p&gt;     &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-7744355958084958407?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/7744355958084958407/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/04/asp-vs-php-price-and-versatility.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7744355958084958407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7744355958084958407'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/04/asp-vs-php-price-and-versatility.html' title='ASP vs PHP: Price and Versatility'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-6354272207236384934</id><published>2009-04-29T20:49:00.001-07:00</published><updated>2009-04-29T20:49:00.294-07:00</updated><title type='text'>Displaying Page Loading Time (Steps and Sample Code)</title><content type='html'>&lt;div class="entry"&gt;      &lt;p&gt;&lt;img src="http://phpprogrammingtips.com/wp-content/uploads/2008/06/stopwatch.gif" alt="stopwatch.gif" /&gt;&lt;/p&gt; &lt;p&gt;Here is how to display your pageâ€™s loading time:&lt;/p&gt; &lt;p&gt;1. Use the function &lt;em&gt;microtime()&lt;/em&gt; to get the time in micro-seconds&lt;br /&gt;2. Use the &lt;em&gt;explode()&lt;/em&gt; function to turn the micro-time into an array.&lt;br /&gt;3. Combine the two parts to the array (the micro-seconds to the seconds).&lt;br /&gt;4. Repeat steps 1,2 and 3 for the bottom of the page&lt;br /&gt;5. Take the time taken at the end of the page from the time taken at the top of the page to determine the total loading time.&lt;br /&gt;6. After rounding the microtime, return it to the browser.&lt;/p&gt; &lt;p&gt;At the top of your page, place:&lt;/p&gt; &lt;p&gt;&lt;em&gt;  $m_time = explode(" ",microtime());&lt;br /&gt; $m_time = $m_time[0] + $m_time[1];&lt;br /&gt; $starttime = $m_time;&lt;br /&gt;?&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;At the bottom of your page, place:&lt;/p&gt; &lt;p&gt;&lt;em&gt;  $round = 3;// The number of decimal places to round the micro time to.&lt;br /&gt; $m_time = explode(" ",microtime());&lt;br /&gt; $m_time = $m_time[0] + $m_time[1];&lt;br /&gt; $endtime = $m_time;&lt;br /&gt; $totaltime = ($endtime - $starttime);&lt;br /&gt; echo "Page loading took:". round($totaltime,$round) ." seconds";&lt;br /&gt;?&gt;&lt;/em&gt;&lt;/p&gt;     &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-6354272207236384934?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/6354272207236384934/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/04/displaying-page-loading-time-steps-and.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6354272207236384934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6354272207236384934'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/04/displaying-page-loading-time-steps-and.html' title='Displaying Page Loading Time (Steps and Sample Code)'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-5923292397697659179</id><published>2009-04-28T20:41:00.001-07:00</published><updated>2009-04-28T20:41:00.573-07:00</updated><title type='text'>Creating a Simple User Log (Sample Code)</title><content type='html'>&lt;div class="entry"&gt;      &lt;p&gt;&lt;img src="http://phpprogrammingtips.com/wp-content/uploads/2008/06/wwwglobe.jpg" alt="wwwglobe.jpg" /&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;p&gt;//use the date() function &lt;----- comment&lt;br /&gt;$time = date("F jS Y, h:iA"); &lt;/p&gt; &lt;p&gt;//use PHP variable $remote_addr to get ip address&lt;br /&gt;$ip = $REMOTE_ADDR;  &lt;/p&gt; &lt;p&gt;//use PHP variable $http_referer to get referer&lt;br /&gt;$referer = $HTTP_REFERER;  &lt;/p&gt; &lt;p&gt;//user PHP variable $http_user_agent to get browser&lt;br /&gt;$browser = $HTTP_USER_AGENT;  &lt;/p&gt; &lt;p&gt;//what page they came from&lt;br /&gt;$page = $_SERVER['REQUEST_URI'];&lt;/p&gt; &lt;p&gt;//use the fopen() function&lt;br /&gt;$fp = fopen("log.html",  "a");  &lt;/p&gt; &lt;p&gt;//use the fputs() function&lt;br /&gt;fputs($fp, "&lt;br /&gt;Time: $time&lt;br /&gt;IP: $ip&lt;br /&gt;Referer: $referer&lt;br /&gt;Browser: $browser&lt;br /&gt;Page: $page&lt;br /&gt;");&lt;/p&gt; &lt;p&gt;fclose($fp);  &lt;/p&gt; &lt;p&gt;?&gt;&lt;/p&gt; &lt;p&gt;Note: Donâ€™t forget to create a blank log.html page, upload it to the server in the same directory as the page where the code will be placed, and CHMOD it to 777. Also, you can put this code anywhere on your main page. &lt;/p&gt;     &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-5923292397697659179?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/5923292397697659179/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/04/creating-simple-user-log-sample-code.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5923292397697659179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/5923292397697659179'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/04/creating-simple-user-log-sample-code.html' title='Creating a Simple User Log (Sample Code)'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-8653616621670696824</id><published>2009-04-27T20:11:00.001-07:00</published><updated>2009-04-27T20:11:57.492-07:00</updated><title type='text'>Getting Your Php Certification</title><content type='html'>&lt;p&gt;&lt;img src="http://static.zend.com/topics/services-certification-lp-main.gif" alt="" width="460" height="300" /&gt;&lt;br /&gt;&lt;em&gt; Image Source:static.zend.com       &lt;/em&gt;     &lt;/p&gt; &lt;p&gt;Want to become a PHP programmer? PHP Certification is a type of exam in which you are required to pass a single test containing about 70 multiple choice questions. It was developed by the creator of PHP himself. If you pass this exam, you will be qualified to the next level which they call&lt;br /&gt;Zend Certificate Engineer or ZCE. Currently, the medium for learning is PHP5. Gather study materials that are already based on PHP5. &lt;/p&gt; What is all this for? You might ask. Basically, its sort of an online degree or certificate. The most important concept of this program is professional recognition. You can then use this to pursue your PHP &lt;a href="http://basicwebtools.net/"&gt;programming career.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-8653616621670696824?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/8653616621670696824/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/04/getting-your-php-certification.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/8653616621670696824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/8653616621670696824'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/04/getting-your-php-certification.html' title='Getting Your Php Certification'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-7546145345294697850</id><published>2009-04-26T20:55:00.000-07:00</published><updated>2009-04-27T20:56:01.863-07:00</updated><title type='text'>PHP and ASP Comparison</title><content type='html'>&lt;div class="entry"&gt;      &lt;p&gt;&lt;strong&gt;&lt;img src="http://ordinarywebguy.files.wordpress.com/2007/02/phpvsasp.JPG" /&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is PHP?&lt;/strong&gt;&lt;br /&gt;PHP or (PHP: Hypertext Preprocessor) is Open Source’s scripting language designed for the construction of dynamic web pages. PHP is largely used in server-side scripting, but can also be used from a command line interface or in standalone graphical applications.PHP commonly runs on a web server, taking the PHP code as its input and creating web pages as output. It can be set up on most web servers and on almost every operating system and platform for free.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is ASP?&lt;/strong&gt;&lt;br /&gt;Active Server Pages (ASP) is Microsoft’s scripting language for building dynamic web sites, web applications and web services., First released in January 2002 , along with the version 1.0 of the .NET Framework, ASP.net is the successor to Microsoft’s Active Server Pages (ASP) technology. ASP.NET is made on the Common Language Runtime, allowing programmers to write ASP.NET code via any supported .NET language such as VBScript and Jscript.&lt;/p&gt;     &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-7546145345294697850?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/7546145345294697850/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/04/php-and-asp-comparison.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7546145345294697850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7546145345294697850'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/04/php-and-asp-comparison.html' title='PHP and ASP Comparison'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-2180775287216399456</id><published>2009-03-27T20:14:00.000-07:00</published><updated>2009-04-27T20:15:14.462-07:00</updated><title type='text'>Good Features of the evolt PHP Login system</title><content type='html'>&lt;center&gt;&lt;a href="http://smg.photobucket.com/albums/v299/karlazhu/?action=view&amp;amp;current=Basic-PHP-login-system-22533.png" target="_blank"&gt;&lt;img src="http://img.photobucket.com/albums/v299/karlazhu/Basic-PHP-login-system-22533.png" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;/center&gt; &lt;p&gt;As an example of secure PHP programming, the &lt;a href="http://www.evolt.org/PHP-Login-System-with-Admin-Features"&gt;evolt PHP login system&lt;/a&gt; has a list of good features as follows:&lt;/p&gt; &lt;p&gt;Safety â€“ Passwords are not saved in cookies&lt;/p&gt; &lt;p&gt;Levels â€“ Users are identified by different levels (admin, user etc.)&lt;/p&gt; &lt;p&gt;Admin Center â€“ As admin, you have full management of the users. View user profiles, delete and ban users, demote and upgrade user levels.&lt;/p&gt; &lt;p&gt;Tracking â€“ You can now tell how many visitors and registered users are viewing your site. Also it will show how many users your site has.&lt;/p&gt; &lt;p&gt;Account Info â€“ Registered users can edit and view their own information and also view otherâ€™s profile as well.&lt;/p&gt; &lt;p&gt;Error Form â€“ If an error occurs, they are redirected to an error form page that they can fill out to inform that there is an error page and error that occurred are displayed.&lt;/p&gt; &lt;p&gt;Password â€“ If users forget their password, they can have a new one generated and sent to their email.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-2180775287216399456?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/2180775287216399456/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/03/good-features-of-evolt-php-login-system.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2180775287216399456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2180775287216399456'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/03/good-features-of-evolt-php-login-system.html' title='Good Features of the evolt PHP Login system'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-7279826225346746162</id><published>2009-02-27T20:30:00.000-08:00</published><updated>2009-04-27T20:31:31.417-07:00</updated><title type='text'>A List of PHP Editors</title><content type='html'>&lt;div class="entry"&gt;      &lt;p&gt;&lt;img src="http://phpprogrammingtips.com/wp-content/uploads/2008/06/20070523_appz_0002.jpg" alt="20070523_appz_0002.jpg" /&gt;&lt;/p&gt; &lt;p&gt;In case this may come in handy, here is a list of editors which can be used with the PHP scripting language. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Windows&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;ConTEXT - version 0.97.4; freeware&lt;br /&gt;Crimson Editor - version 3.60; freeware&lt;br /&gt;Programmer’s Notepad -&lt;br /&gt;PSPad - version 4.3.0; freeware&lt;br /&gt;Notepad++&lt;br /&gt;NuSphere PhpED - version 5.0; commercial&lt;br /&gt;NuSphere Nu-Coder - version 1.4; commercial&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Mac OS X&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;skEdit&lt;br /&gt;Smultron - version 1.0.1; freeware&lt;br /&gt;TextWrangler&lt;br /&gt;TextMate&lt;br /&gt;Coda&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Linux&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Bluefish - version 1.0; other&lt;br /&gt;Geany&lt;br /&gt;gedit&lt;br /&gt;gPHPEdit&lt;br /&gt;Kate - version 2.2; freeware&lt;br /&gt;Quanta Plus - version 3.2.1; freeware&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Multiple OS&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;NetBeans&lt;br /&gt;Eclipse&lt;br /&gt;Aptana&lt;br /&gt;Emacs - version 21; freeware&lt;br /&gt;jEdit - version 4.1; freeware&lt;br /&gt;SciTE - version 1.53; freeware&lt;br /&gt;Vim - version 6.1; freeware&lt;br /&gt;nano&lt;/p&gt;     &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-7279826225346746162?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/7279826225346746162/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/02/list-of-php-editors.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7279826225346746162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7279826225346746162'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/02/list-of-php-editors.html' title='A List of PHP Editors'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-7229345809027693209</id><published>2009-01-27T20:29:00.000-08:00</published><updated>2009-04-27T20:29:37.965-07:00</updated><title type='text'>.htaccess Password Protection</title><content type='html'>&lt;div class="entry"&gt;       &lt;p&gt;&lt;img src="http://phpprogrammingtips.com/wp-content/uploads/2008/06/securelock.jpg" alt="securelock.jpg" /&gt;&lt;/p&gt; &lt;p&gt;Even without using mySQl, users can still password protect their files through .htaccess password protection.&lt;/p&gt; &lt;p&gt;The code can be divided into 3 if-else statements:&lt;/p&gt; &lt;p&gt;1. If the user has not been validated, use the PHP header and request for a username and password. &lt;/p&gt; &lt;p&gt;2. Else, if the user’s name is “webworld” and the password is “webworld”, log in. Here, all the code for the user will be placed.&lt;/p&gt; &lt;p&gt;3. Else say the user/password failed. &lt;/p&gt; &lt;p&gt; //1st part&lt;br /&gt;if (!isset($PHP_AUTH_USER))&lt;br /&gt;{&lt;br /&gt;    header("WWW-Authenticate: Basic realm=\"webworld Password.\"");&lt;br /&gt;    Header("HTTP/1.0 401 Unauthorized");&lt;br /&gt;    exit;&lt;br /&gt;}     &lt;/p&gt; &lt;p&gt;//2nd part&lt;br /&gt;else if(($PHP_AUTH_USER=="webworld") &amp;amp;&amp;amp; ($PHP_AUTH_PW=="webworld"))&lt;br /&gt;{&lt;br /&gt;   echo "You are logged in...";&lt;br /&gt;   //put the code for the whole user page in here&lt;br /&gt;   //you can also create a redirect to the user page if you want&lt;br /&gt;} &lt;/p&gt; &lt;p&gt;//3rd part&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;   echo "Failed entry”;&lt;br /&gt;   //fail try again&lt;br /&gt;}&lt;br /&gt;?&gt;&lt;/p&gt; &lt;p&gt;Remember that the username and password will remain for the whole session as long as explorer windows is open.&lt;/p&gt;     &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-7229345809027693209?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/7229345809027693209/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2009/01/htaccess-password-protection.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7229345809027693209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7229345809027693209'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2009/01/htaccess-password-protection.html' title='.htaccess Password Protection'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-7432730751031158571</id><published>2008-12-31T16:56:00.000-08:00</published><updated>2008-12-31T17:07:56.353-08:00</updated><title type='text'>Notice: Unitialized string offset: 0 in XXX.php on line XXX</title><content type='html'>Trying to convert PHP4 code to PHP5:&lt;br /&gt;&lt;br /&gt;If ($key == $sort[$ri]) $reserved_violation = 1;&lt;br /&gt;&lt;br /&gt;Any ideas on how to get rid of this notice without&lt;br /&gt;turning notices off?&lt;br /&gt;&lt;br /&gt;------------ --------- --------- ------&lt;br /&gt;  If ($key == @$sort[$ri]) $reserved_violation = 1;&lt;br /&gt;&lt;br /&gt;------------ --------- --------- ------&lt;br /&gt;Yep.  Tried that.  Still get same error.&lt;br /&gt;&lt;br /&gt;Any other ideas?&lt;br /&gt;&lt;br /&gt;------------ --------- --------- -----&lt;br /&gt;If that didn't fix it then the problem is probably elsewhere in the code.&lt;br /&gt;&lt;br /&gt;It is hard to say by looking at one line of code and not even knowing the variable types.&lt;br /&gt;&lt;br /&gt;I can't see if $sort is STRING or ARRAY.&lt;br /&gt;&lt;br /&gt;If type is STRING then the problem is that $ri &gt; (strlen($sort) - 1) or $sort is unset&lt;br /&gt;&lt;br /&gt;If type was intended to be ARRAY of STRING then the problem is that it is NULL&lt;br /&gt;&lt;br /&gt;For STRING do this -&lt;br /&gt;  if(!isset($sort) ) $sort = '';&lt;br /&gt;  If ($key == @$sort[$ri]) $reserved_violation = 1;&lt;br /&gt;&lt;br /&gt;or this -&lt;br /&gt;  if(!isset($sort) ) $sort = '';&lt;br /&gt;  if($ri &lt; strlen($sort) )&lt;br /&gt;    {&lt;br /&gt;    If ($key == $sort[$ri]) $reserved_violation = 1;&lt;br /&gt;// assuming strlen($key) == 1&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;For ARRAY of STRING do this -&lt;br /&gt;  if(!isset($sort[ $ri])) $sort[$ri] = '';&lt;br /&gt;  If ($key == @$sort[$ri]) $reserved_violation = 1;&lt;br /&gt;&lt;br /&gt;or this -&lt;br /&gt;  if(!isset($sort[ $ri])) $sort[$ri] = '';&lt;br /&gt;    {&lt;br /&gt;    If ($key == $sort[$ri]) $reserved_violation = 1;&lt;br /&gt;// assuming strlen($key) == 1&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;I think the problem is that $sort is NULL which probably means the problem is else where in the&lt;br /&gt;code.&lt;br /&gt;&lt;br /&gt;------------ --------- --------- --&lt;br /&gt;&lt;br /&gt;PS: $string[$index] is zero indexed and strlen() is one indexed so -&lt;br /&gt;  if($ri &lt; strlen($sort) )&lt;br /&gt;should have been -&lt;br /&gt;  if($ri &lt; (strlen($sort) - 1))&lt;br /&gt;&lt;br /&gt;------------ --------- --------- --&lt;br /&gt;Right you are!  The variable was not initialized as&lt;br /&gt;an array:&lt;br /&gt;&lt;br /&gt;$sort = array();&lt;br /&gt;&lt;br /&gt;Gotta remember to initialize variables.  PHP5 is&lt;br /&gt;not as forgiving as PHP4.&lt;br /&gt;&lt;br /&gt;Thanks a bunch!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-7432730751031158571?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/7432730751031158571/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2008/12/notice-unitialized-string-offset-0-in.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7432730751031158571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7432730751031158571'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2008/12/notice-unitialized-string-offset-0-in.html' title='Notice: Unitialized string offset: 0 in XXX.php on line XXX'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-1972488470599141072</id><published>2008-12-31T16:39:00.000-08:00</published><updated>2008-12-31T16:42:49.088-08:00</updated><title type='text'>How to increase My SQL performance</title><content type='html'>Hello All,&lt;br /&gt;I have a "little problem". First of all, let me explain the problem.&lt;br /&gt;I wrote a script to access My SQL database records in every second.  I&lt;br /&gt;used AJAX (Jquery) to fetch the records from database to refresh the&lt;br /&gt;data on site with the records latest updated. When huge number of&lt;br /&gt;users opens site, My SQL server cant response as usual and it goes&lt;br /&gt;very slow (say halt stage).&lt;br /&gt;I used CRON Tab to reduce the load of MY SQL but it also does not come&lt;br /&gt;with solution.&lt;br /&gt;So I hope some help from you people to complete the task.&lt;br /&gt;&lt;br /&gt;Thanks in Advance&lt;br /&gt;Narendra&lt;br /&gt;&lt;br /&gt;---------------------------------------------------------------------------------------------&lt;br /&gt;What kind of data needs to be updated on each client's browser every second?  This seems a bit excessive at first glance.&lt;br /&gt;&lt;br /&gt;AJAX can put a heavy load on the client machines if they are not the latest and greatest and have very fast Internet connections. For this and other reasons, AJAX should be used sparingly and when it can achieve a special desirable effect.&lt;br /&gt;&lt;br /&gt;Are the applications for these multiple clients performing INSERT or UPDATE operations or merely SELECT operations? On MySQL, reads are gernerally very fast but you can get some table contention with lots of writes. An index on a table can speed up a SELECT but slow down an INSERT or UPDATE.&lt;br /&gt;&lt;br /&gt;You could be running into an issue with the number of MySQL connections which may be open at any given time. Apache also has a maximum number of connections which may be reached with heavy usage.&lt;br /&gt;&lt;br /&gt;You need to figure out where the bottleneck is in order to resolve it. This requires knowledge of the nature of your server, its operating system, its configuration, the queries you are running, the structure of the tables and indexes, etc.&lt;br /&gt;&lt;br /&gt;James Keeline&lt;br /&gt;------------------------------------------------------------------------------------------&lt;br /&gt;------------ --------- --------- --&lt;br /&gt;Hello James,&lt;br /&gt;Many Thanks for your reply.&lt;br /&gt;I am working on a site which is similar to auction site where users&lt;br /&gt;can place a bid. When a user placed bid then all information for that&lt;br /&gt;auction will be reflected on each users browser. It is clear that&lt;br /&gt;users can bid at any time. So I have used AJAX to read records from My&lt;br /&gt;SQL every second.&lt;br /&gt;I want to make clear that most of the SQL used are SELECT statements&lt;br /&gt;but they come up with joins to about 4 or 5 tables. Since I need to&lt;br /&gt;display data after checking it in many tables for desirable conditions.&lt;br /&gt;About server configurations, Ubuntu server with 2*2.4 processor, 2 GB&lt;br /&gt;RAM etc.&lt;br /&gt;Yes, of course MY SQL connection is opened for each user visiting a&lt;br /&gt;site and will be closed after he/she close browser.&lt;br /&gt;&lt;br /&gt;I hope now it is clear what I mean to ask.&lt;br /&gt;&lt;br /&gt;Narendra&lt;br /&gt;------------ --------- --------- ------&lt;br /&gt;Hello,&lt;br /&gt;&lt;br /&gt;I can't see any possible scalable solution to the way you are trying to achieve this at all.&lt;br /&gt;&lt;br /&gt;Realty, if you do it this way not even 4 quad core CPU's is going to be enough! Not to mention that&lt;br /&gt;2GB is lacking so say the least!&lt;br /&gt;&lt;br /&gt;Time driven processing will not go down to minutes or second on a busy server. I think you need to&lt;br /&gt;think about an event driven process that has some intelligence behind the timing of server&lt;br /&gt;callbacks.&lt;br /&gt;&lt;br /&gt;Not even eBay tries to get callbacks like this - it simply will not scale up as there simply needs&lt;br /&gt;to be too many open connections right through your php to the database.&lt;br /&gt;&lt;br /&gt;Pass some intelligence to the javascript so that callbacks are calculated and not every second.&lt;br /&gt;&lt;br /&gt;Even if you have to have close callbacks at particular times then let the server regulate the&lt;br /&gt;callbacks by passing the next callback period to the client so that you can regulate the load.&lt;br /&gt;&lt;br /&gt;Are you using XML or JSON? For something like this you really need to fine tune things and XML is&lt;br /&gt;far too bulky.&lt;br /&gt;&lt;br /&gt;You really need to pass event objects from php to Javascript, I can't see any other way.&lt;br /&gt;&lt;br /&gt;Also as someone else mentioned, if you are not very careful you will end up overloading the client&lt;br /&gt;machine.&lt;br /&gt;&lt;br /&gt;You can reduce the loading the SQL by importing more information into the session environment but&lt;br /&gt;with 2GB - you will run into RAM issues very quickly. Why only 2GB? Is this a windoze based server?&lt;br /&gt;&lt;br /&gt;If you can describe better what you want to do - with some detail to specific events the we can&lt;br /&gt;probably help further.&lt;br /&gt;&lt;br /&gt;Personally, I can't see a time based solution. I would be using the more advanced features of InnoDB&lt;br /&gt;with an event driven client side under the general control of php rather than a time based bottle&lt;br /&gt;neck.&lt;br /&gt;&lt;br /&gt;Thanks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-1972488470599141072?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/1972488470599141072/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2008/12/how-to-increase-my-sql-performance.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1972488470599141072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/1972488470599141072'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2008/12/how-to-increase-my-sql-performance.html' title='How to increase My SQL performance'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-6419511718679859655</id><published>2008-12-31T16:37:00.001-08:00</published><updated>2008-12-31T16:37:42.954-08:00</updated><title type='text'>JOB: PHP Web Developers in Irving Texas</title><content type='html'>Chris Clary&lt;br /&gt;O. 214.691.9494 x16&lt;br /&gt;C. 972.571.6046&lt;br /&gt;&lt;a rel="nofollow" ymailto="mailto:cclary%40focalpointcorp.com" target="_blank" href="http://id.f761.mail.yahoo.com/ym/Compose?To=cclary%40focalpointcorp.com"&gt;cclary@focalpointco rp.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Chris is looking for a PHP Web Developers for a 3-6 month contract we&lt;br /&gt;have open in Irving??&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-6419511718679859655?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/6419511718679859655/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2008/12/job-php-web-developers-in-irving-texas.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6419511718679859655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6419511718679859655'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2008/12/job-php-web-developers-in-irving-texas.html' title='JOB: PHP Web Developers in Irving Texas'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-3284235485116068576</id><published>2008-12-29T01:59:00.000-08:00</published><updated>2008-12-29T01:59:01.269-08:00</updated><title type='text'>Step 9 - httpd.conf</title><content type='html'>&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;1)&lt;/strong&gt; Using Windows Explorer navigate into the folder: &lt;strong&gt;C:\Program Files\Apache Software Foundation\Apache2.2\conf&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2)&lt;/strong&gt; Open the file &lt;strong&gt;httpd.conf&lt;/strong&gt; into a text editor (Notepad will work just fine.)&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;3)&lt;/strong&gt; Scroll through the file until you hit the block with lots of &lt;strong&gt;LoadModule&lt;/strong&gt; commands. They start on line 67.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;4)&lt;/strong&gt; Find the line that says:&lt;/p&gt;&lt;pre&gt;#LoadModule rewrite_module modules/mod_rewrite.so&lt;/pre&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;5)&lt;/strong&gt; Remove the # from the start of the line (effectively un-commenting it). This will enable Mod Rewrite, useful for PHP frameworks such as CakePHP and the Zend Framework.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;6)&lt;/strong&gt; After the last &lt;strong&gt;LoadModule&lt;/strong&gt; line (which should be the &lt;em&gt;ssl_module&lt;/em&gt;) paste in the following block of text:&lt;/p&gt;&lt;pre&gt;# PHP4&lt;br /&gt;LoadModule php4_module "C:/php/php-4.4.7-Win32/php4apache2.dll"&lt;br /&gt;PHPIniDir "C:/php/php-4.4.7-Win32"&lt;br /&gt;&lt;br /&gt;# PHP5&lt;br /&gt;#LoadModule php5_module "c:/php/php-5.2.3-Win32/php5apache2_2.dll"&lt;br /&gt;#PHPIniDir "C:/php/php-5.2.3-Win32"&lt;br /&gt;&lt;br /&gt;AddType application/x-httpd-php .php&lt;br /&gt;AddType application/x-httpd-php-source .phps&lt;br /&gt;&lt;/pre&gt;&lt;p style="text-align: justify;"&gt;This will tell Apache to use PHP 4. At the moment PHP 5 is commented out, but we'll enable it later on. The file should now look like this:&lt;/p&gt;&lt;div&gt;&lt;img style="width: 675px; height: 326px;" src="http://1.1.1.5/bmi/wamp.corephp.co.uk/shots/s27.png" alt="" /&gt;&lt;br /&gt;&lt;span style="font-size:10;"&gt;The image above shows PHP 5.2.2, yours will show 5.2.3&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;7)&lt;/strong&gt; Carry on scrolling down the file until you get to this block of text:&lt;/p&gt;&lt;pre&gt;&lt;ifmodule&gt;&lt;br /&gt;  DirectoryIndex index.html&lt;br /&gt;&lt;/ifmodule&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Change it to:&lt;/p&gt;&lt;pre&gt;&lt;ifmodule&gt;&lt;br /&gt;  DirectoryIndex index.php index.html&lt;br /&gt;&lt;/ifmodule&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style="text-align: justify;"&gt;We've added &lt;strong&gt;index.php&lt;/strong&gt; to the recognised list of 'index' pages for a web site. The files are searched for in the order in which they appear on the &lt;em&gt;DirectoryIndex&lt;/em&gt; line, meaning that Apache will look for an &lt;strong&gt;index.php&lt;/strong&gt; first, and if not found, it'll look for &lt;strong&gt;index.html&lt;/strong&gt; next.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;8)&lt;/strong&gt; Finally scroll to almost the very bottom of the file where you will find these two lines:&lt;/p&gt;&lt;pre&gt;# Virtual hosts&lt;br /&gt;#Include conf/extra/httpd-vhosts.conf&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Remove the # from the &lt;em&gt;Include&lt;/em&gt; line so it looks like this:&lt;/p&gt;&lt;pre&gt;# Virtual hosts&lt;br /&gt;Include conf/extra/httpd-vhosts.conf&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;9)&lt;/strong&gt; Save the &lt;strong&gt;httpd.conf&lt;/strong&gt; file.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-3284235485116068576?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/3284235485116068576/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-9-httpdconf.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/3284235485116068576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/3284235485116068576'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-9-httpdconf.html' title='Step 9 - httpd.conf'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-6544910062992045117</id><published>2008-12-29T01:45:00.000-08:00</published><updated>2008-12-29T01:45:00.374-08:00</updated><title type='text'>Step 8 - Install Apache2 Handler</title><content type='html'>&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;p&gt;To use PHP 4 with Apache 2.2 you need to use an updated Apache2 Handler Module, and have the Visual C++ runtime components installed. This isn't as onerous as it sounds and won't take you more than a few minutes to do.&lt;/p&gt;&lt;p&gt;You should have downloaded the Visual C++ Redistributable at the start of this guide (either from the Apache Lounge web site, or as part of the CorePHP Bundle). This file is called &lt;strong&gt;vcredist_x86-sp1.exe&lt;/strong&gt;. If you downloaded the CorePHP Bundle, you'll find the file inside the &lt;strong&gt;corephp_wamp_bundle_v1.zip&lt;/strong&gt; file.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1)&lt;/strong&gt; Double click &lt;strong&gt;vcredist_x86-sp1.exe&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2)&lt;/strong&gt; The &lt;strong&gt;Microsoft Visual C++ Redistributable&lt;/strong&gt; will run, install the files it requires and then exit silently.&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.1/bmi/wamp.corephp.co.uk/shots/s23.png" alt="" width="386" height="154" /&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;3)&lt;/strong&gt; You also downloaded the Apache2 Handler for PHP 4.4.7 created by the talented guys over at the &lt;a href="http://www.apachelounge.com/"&gt;Apache Lounge&lt;/a&gt;. This file is called &lt;strong&gt;php4apache2.dll-php4.4.x.zip&lt;/strong&gt;. Unzip it to a folder on your PC. If you downloaded the CorePHP Bundle instead then you'll already have the files unzipped as they were included with the Visual C++ runtime above.&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.2/bmi/wamp.corephp.co.uk/shots/s24.png" alt="" width="298" height="79" /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;4)&lt;/strong&gt; Copy the &lt;strong&gt;php4apache2.dll&lt;/strong&gt; into &lt;strong&gt;C:\php\php-4.4.7-Win32&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;img style="width: 781px; height: 621px;" src="http://1.1.1.3/bmi/wamp.corephp.co.uk/shots/s25.png" alt="" /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;5)&lt;/strong&gt; Copy the &lt;strong&gt;httpd.exe.manifest&lt;/strong&gt; into &lt;strong&gt;C:\Program Files\Apache Software Foundation\Apache2.2\bin&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;img style="width: 792px; height: 621px;" src="http://1.1.1.4/bmi/wamp.corephp.co.uk/shots/s26.png" alt="" /&gt;&lt;/div&gt;&lt;p&gt;Now we'll configure the &lt;strong&gt;httpd.conf&lt;/strong&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-6544910062992045117?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/6544910062992045117/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-8-install-apache2-handler.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6544910062992045117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6544910062992045117'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-8-install-apache2-handler.html' title='Step 8 - Install Apache2 Handler'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-414249888137150869</id><published>2008-12-29T00:51:00.000-08:00</published><updated>2008-12-29T00:51:02.096-08:00</updated><title type='text'>Step 7 - Install Apache</title><content type='html'>&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;Before you start this process - do you already have a web server installed? For example IIS? If so then providing you don't require it, disable and/or uninstall it *prior* to installing Apache.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1)&lt;/strong&gt; Double-click the &lt;strong&gt;apache_2.2.4-win32-x86-nossl.msi&lt;/strong&gt; file to begin installation:&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.1/bmi/wamp.corephp.co.uk/shots/s14.png" alt="" width="80" height="87" /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2)&lt;/strong&gt; The &lt;strong&gt;Apache HTTP Server 2.2&lt;/strong&gt; installation wizard will appear, click &lt;strong&gt;Next&lt;/strong&gt; to continue:&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.2/bmi/wamp.corephp.co.uk/shots/s15.png" alt="" width="504" height="388" /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3)&lt;/strong&gt; Accept the license agreement and click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;4)&lt;/strong&gt; Read the &lt;em&gt;Read me&lt;/em&gt; if you wish, and click &lt;strong&gt;Next&lt;/strong&gt; to continue.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;5)&lt;/strong&gt; You will now enter some Server Information:&lt;/p&gt;&lt;p&gt;Network Domain: &lt;strong&gt;sandbox.dev&lt;/strong&gt;&lt;br /&gt;Server Name: &lt;strong&gt;www.sandbox.dev&lt;/strong&gt;&lt;br /&gt;Administrator's Email Address: &lt;em&gt;enter your email address&lt;/em&gt;&lt;br /&gt;Leave the install setting as &lt;strong&gt;for All Users, on Port 80, as a Service&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;It should look like this:&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.3/bmi/wamp.corephp.co.uk/shots/s16.png" alt="" width="504" height="388" /&gt;&lt;/div&gt;&lt;p&gt;Click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;6)&lt;/strong&gt; Leave the &lt;strong&gt;Setup Type&lt;/strong&gt; as &lt;strong&gt;Typical&lt;/strong&gt; and click &lt;strong&gt;Next&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.4/bmi/wamp.corephp.co.uk/shots/s17.png" alt="" width="504" height="388" /&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;7)&lt;/strong&gt; Leave the &lt;strong&gt;Destination Folder&lt;/strong&gt; as the default (C:\Program Files\Apache Software Foundation\Apache2.2\) and click &lt;strong&gt;Next&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.5/bmi/wamp.corephp.co.uk/shots/s18.png" alt="" width="504" height="388" /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;8)&lt;/strong&gt; On the &lt;strong&gt;Ready to Install the Program&lt;/strong&gt; window, click &lt;strong&gt;Next&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.1/bmi/wamp.corephp.co.uk/shots/s19.png" alt="" width="504" height="388" /&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;9)&lt;/strong&gt; After the installation has finished you will see the &lt;strong&gt;Installation Wizard Completed&lt;/strong&gt; window, click &lt;strong&gt;Finish&lt;/strong&gt;:&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.3/bmi/wamp.corephp.co.uk/shots/s20.png" alt="" width="504" height="388" /&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;10)&lt;/strong&gt; You now have a new icon in your system tray that looks like the Apache feather with a white circle and a green arrow in it (see image below). This is the &lt;strong&gt;Apache Service Monitor&lt;/strong&gt; and we'll use it to stop and start Apache when setting up PHP.&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.4/bmi/wamp.corephp.co.uk/shots/s21.png" alt="" width="138" height="39" /&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;11)&lt;/strong&gt; If you have this icon then Apache is running. To demonstrate this open up your web browser and go to &lt;strong&gt;http://localhost/&lt;/strong&gt;. The '&lt;strong&gt;It works!&lt;/strong&gt;' message will greet you:&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.5/bmi/wamp.corephp.co.uk/shots/s22.png" alt="" width="612" height="337" /&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;Sometimes you may need to reboot your PC after installing Apache, if it doesn't run right away, do this. We're now ready to set-up Apache for PHP.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-414249888137150869?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/414249888137150869/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-7-install-apache.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/414249888137150869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/414249888137150869'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-7-install-apache.html' title='Step 7 - Install Apache'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-2913770269746628788</id><published>2008-12-28T14:59:00.000-08:00</published><updated>2008-12-28T14:59:00.420-08:00</updated><title type='text'>Step 6 - Setting the Environment Variable</title><content type='html'>&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;1)&lt;/strong&gt; Right-click on your &lt;strong&gt;My Computer&lt;/strong&gt; icon on your Desktop and select &lt;strong&gt;Properties&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2)&lt;/strong&gt; The &lt;strong&gt;System Properties&lt;/strong&gt; window will appear. Click the &lt;strong&gt;Advanced&lt;/strong&gt; tab:&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.5/bmi/wamp.corephp.co.uk/shots/s09.png" alt="" width="419" height="486" /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3)&lt;/strong&gt; At the bottom left, click the &lt;strong&gt;Environment Variables&lt;/strong&gt; button:&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.2/bmi/wamp.corephp.co.uk/shots/s10.png" alt="" width="128" height="23" /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;4)&lt;/strong&gt; The &lt;strong&gt;Environment Variables&lt;/strong&gt; window will appear:&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.3/bmi/wamp.corephp.co.uk/shots/s11.png" alt="" width="384" height="430" /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;5)&lt;/strong&gt; In the bottom half you'll see the &lt;strong&gt;System variables&lt;/strong&gt;.&lt;br /&gt;Find the Variable called &lt;strong&gt;Path&lt;/strong&gt;, select it and then click the &lt;strong&gt;Edit&lt;/strong&gt; button:&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.4/bmi/wamp.corephp.co.uk/shots/s12.png" alt="" width="357" height="163" /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;6)&lt;/strong&gt; The &lt;strong&gt;Edit System Variable&lt;/strong&gt; window will appear.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;7)&lt;/strong&gt; The &lt;strong&gt;Variable value&lt;/strong&gt; will be automatically selected. Press the &lt;strong&gt;End&lt;/strong&gt; key on your keyboard to jump to the end of the line, deselecting all the text in the process (make sure you don't accidentally delete any). Now add the following text to the END of the current path text:&lt;/p&gt;&lt;pre&gt;;C:\php\php-4.4.7-Win32;C:\php\php-5.2.3-Win32&lt;/pre&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;7)&lt;/strong&gt; It is important that the two paths and the previous values are separated by semi-colons. The end result should look like this:&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.5/bmi/wamp.corephp.co.uk/shots/s13.png" alt="" width="347" height="147" /&gt;&lt;br /&gt;&lt;span style="font-size: 10px;"&gt;The image above shows PHP 5.2.2, yours will show 5.2.3&lt;/span&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;Take extra special care not to delete or remove anything that already existed on the &lt;strong&gt;Path&lt;/strong&gt; line. The text you added should be appended to whatever was there already. Deleting previous entries can cause some Windows applications to stop working completely.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;8)&lt;/strong&gt; Click &lt;strong&gt;OK&lt;/strong&gt; to close the &lt;strong&gt;Edit System Variable&lt;/strong&gt; window. Click &lt;strong&gt;OK&lt;/strong&gt; to close the &lt;strong&gt;Environment Variables&lt;/strong&gt; window. Click &lt;strong&gt;OK&lt;/strong&gt; to close the &lt;strong&gt;System Properties&lt;/strong&gt; window.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;9)&lt;/strong&gt; &lt;strong&gt;Reboot your PC&lt;/strong&gt;. I'm afraid it is vitally important that you reboot now before we go any further. As annoying as it is, please don't skip this step or PHP won't work properly.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-2913770269746628788?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/2913770269746628788/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-6-setting-environment-variable.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2913770269746628788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/2913770269746628788'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-6-setting-environment-variable.html' title='Step 6 - Setting the Environment Variable'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-3246964236034315502</id><published>2008-12-27T14:50:00.000-08:00</published><updated>2008-12-27T14:50:01.072-08:00</updated><title type='text'>Step 5 - Create a local web site</title><content type='html'>&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;1)&lt;/strong&gt; Create a folder where you want your web sites to live. This doesn't have to be on the same drive as Apache. For the sake of this guide we're going to assume that our web sites live in &lt;strong&gt;C:\www&lt;/strong&gt;, so create the folder &lt;strong&gt;C:\www&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2)&lt;/strong&gt; Our test site is called &lt;strong&gt;sandbox.dev&lt;/strong&gt;, so create the new folder &lt;strong&gt;C:\www\sandbox.dev&lt;/strong&gt;.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;3)&lt;/strong&gt; We now need two more folders, one for the web site files to go in, and one for the Apache log files (very useful for error trapping). So within &lt;strong&gt;C:\www\sandbox.dev&lt;/strong&gt; create two folders, one called &lt;strong&gt;public_html&lt;/strong&gt; and one called &lt;strong&gt;www_logs&lt;/strong&gt;. The 'public_html' folder is what most software applications call your 'webroot'. If it makes it easier for you to remember, you can name it this (just remember to reflect this change through-out the rest of the guide)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;4)&lt;/strong&gt; The final directory structure should look like this:&lt;/p&gt;&lt;div align="center"&gt;&lt;img style="width: 673px; height: 522px;" src="http://1.1.1.3/bmi/wamp.corephp.co.uk/shots/s07.png" alt="" /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;5)&lt;/strong&gt; Go into the &lt;strong&gt;public_html&lt;/strong&gt; folder and create a new file called &lt;strong&gt;index.php&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;6)&lt;/strong&gt; Place the following code into the &lt;strong&gt;index.php&lt;/strong&gt; file:&lt;/p&gt;&lt;pre&gt;&lt;/pre&gt;&lt;div align="center"&gt;&lt;img style="width: 681px; height: 540px;" src="http://1.1.1.4/bmi/wamp.corephp.co.uk/shots/s08.png" alt="" /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;7)&lt;/strong&gt; Save &lt;strong&gt;index.php&lt;/strong&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-3246964236034315502?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/3246964236034315502/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-5-create-local-web-site.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/3246964236034315502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/3246964236034315502'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-5-create-local-web-site.html' title='Step 5 - Create a local web site'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-7635679789972401533</id><published>2008-12-26T19:26:00.000-08:00</published><updated>2008-12-26T19:26:00.113-08:00</updated><title type='text'>Step 4 - PHP 5 Settings</title><content type='html'>&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;1)&lt;/strong&gt; Using Windows Explorer navigate into the &lt;strong&gt;C:\php\php-5.2.3-Win32&lt;/strong&gt; folder.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2)&lt;/strong&gt; Rename the file &lt;strong&gt;php.ini-dist&lt;/strong&gt; to &lt;strong&gt;php.ini&lt;/strong&gt;.&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.2/bmi/wamp.corephp.co.uk/shots/s06.png" alt="" width="461" height="54" /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3)&lt;/strong&gt; Open &lt;strong&gt;php.ini&lt;/strong&gt; into Notepad (or a text editor of your choice)&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;4)&lt;/strong&gt; For now we're only going to configure the PHP values that we need in order to get PHP running, you can come back into the &lt;strong&gt;php.ini&lt;/strong&gt; file at a later stage to fine-tune as you require but right now please do &lt;u&gt;just&lt;/u&gt; the following:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;5)&lt;/strong&gt; Search for the line:&lt;/p&gt;&lt;pre&gt;log_errors = Off&lt;/pre&gt;&lt;p&gt;and change it to:&lt;/p&gt;&lt;pre&gt;log_errors = On&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;6)&lt;/strong&gt; Search for the line:&lt;/p&gt;&lt;pre&gt;extension_dir = "./"&lt;/pre&gt;&lt;p&gt;and change it to:&lt;/p&gt;&lt;pre&gt;extension_dir = "C:/php/php-5.2.3-Win32/ext"&lt;/pre&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;7)&lt;/strong&gt; Save the &lt;strong&gt;php.ini&lt;/strong&gt; file. Please don't be tempted to change anything else right now, you'll get plenty of time to do that once PHP and Apache are working flawlessly together.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-7635679789972401533?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/7635679789972401533/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-4-php-5-settings.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7635679789972401533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/7635679789972401533'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-4-php-5-settings.html' title='Step 4 - PHP 5 Settings'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-8728738325604572593</id><published>2008-12-26T17:23:00.000-08:00</published><updated>2008-12-26T17:23:00.673-08:00</updated><title type='text'>Step 3 - PHP 4 Settings</title><content type='html'>&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;1)&lt;/strong&gt; Using Windows Explorer navigate into the &lt;strong&gt;C:\php\php-4.4.7-Win32&lt;/strong&gt; folder.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2)&lt;/strong&gt; Rename the file &lt;strong&gt;php.ini-dist&lt;/strong&gt; to &lt;strong&gt;php.ini&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.2/bmi/wamp.corephp.co.uk/shots/s06.png" alt="" width="461" height="54" /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3)&lt;/strong&gt; Open &lt;strong&gt;php.ini&lt;/strong&gt; into Notepad (or a text editor of your choice)&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;4)&lt;/strong&gt; For now we're only going to configure the PHP values that we need in order to get PHP running, you can come back into the &lt;strong&gt;php.ini&lt;/strong&gt; file at a later stage to fine-tune as you require but right now please do &lt;u&gt;just&lt;/u&gt; the following:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;5)&lt;/strong&gt; Search for the line:&lt;/p&gt;&lt;pre&gt;log_errors = Off&lt;/pre&gt;&lt;p&gt;and change it to:&lt;/p&gt;&lt;pre&gt;log_errors = On&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;6)&lt;/strong&gt; Search for the line:&lt;/p&gt;&lt;pre&gt;extension_dir = "./"&lt;/pre&gt;&lt;p&gt;and change it to:&lt;/p&gt;&lt;pre&gt;extension_dir = "C:/php/php-4.4.7-Win32/extensions"&lt;/pre&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;7)&lt;/strong&gt; Save the &lt;strong&gt;php.ini&lt;/strong&gt; file. Please don't be tempted to change anything else right now, you'll get plenty of time to do that once PHP and Apache are working flawlessly together.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-8728738325604572593?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/8728738325604572593/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-3-php-4-settings.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/8728738325604572593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/8728738325604572593'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-3-php-4-settings.html' title='Step 3 - PHP 4 Settings'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-392579261451583496</id><published>2008-12-26T16:21:00.000-08:00</published><updated>2008-12-26T16:21:00.296-08:00</updated><title type='text'>Step 2 - Configure Windows XP for PHP</title><content type='html'>&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;strong&gt;1)&lt;/strong&gt; Create a folder on the root of your &lt;strong&gt;C:\&lt;/strong&gt; drive called &lt;strong&gt;php&lt;/strong&gt;. If you wish to create the folder on another drive that is fine, but we will assume &lt;strong&gt;C:\&lt;/strong&gt; through-out the rest of this guide, so if you install elsewhere make sure you change the drive letter accordingly.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2)&lt;/strong&gt; Copy the &lt;strong&gt;php-4.4.7-Win32.zip&lt;/strong&gt; and &lt;strong&gt;php-5.2.3-Win32.zip&lt;/strong&gt; files into &lt;strong&gt;C:\php&lt;/strong&gt;.&lt;/p&gt;&lt;div&gt;&lt;img style="width: 670px; height: 326px;" src="http://1.1.1.2/bmi/wamp.corephp.co.uk/shots/s01.png" alt="" /&gt;&lt;br /&gt;&lt;span style="font-size: 10px;"&gt;The image above shows PHP 5.2.2, yours will show 5.2.3&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3)&lt;/strong&gt; Unzip both files, keeping the folder structures intact.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;If you don't have a zip utility installed (such as Winzip or WinRAR) then &lt;a href="javascript:show('zip')"&gt;click here&lt;/a&gt; to show instructions on unzipping the files using Windows 'Compressed Folders' feature.&lt;/p&gt;&lt;script type="text/javascript"&gt;function show(id) {d=document.getElementById(id);if(d.style.display=='none') {d.style.display='block';}else{d.style.display='none';}}&lt;/script&gt;&lt;div id="zip" style="display: none;"&gt;&lt;p&gt;&lt;strong&gt;3.1)&lt;/strong&gt; Right-click the zip file and pick &lt;strong&gt;Open With&lt;/strong&gt; - &lt;strong&gt;Compressed (zipped) Folders&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3.2)&lt;/strong&gt; Click &lt;strong&gt;Extract all files&lt;/strong&gt; under &lt;strong&gt;Folder Tasks&lt;/strong&gt; on the left, or &lt;strong&gt;Extract All&lt;/strong&gt; from the &lt;strong&gt;File&lt;/strong&gt; menu.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3.3)&lt;/strong&gt; The &lt;strong&gt;Extraction Wizard&lt;/strong&gt; will start. Click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.3/bmi/wamp.corephp.co.uk/shots/s02.png" alt="" width="441" height="384" /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3.4)&lt;/strong&gt; Make sure the folder the files will be extracted to is &lt;strong&gt;C:\php\&lt;/strong&gt; and click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.4/bmi/wamp.corephp.co.uk/shots/s03.png" alt="" width="441" height="384" /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3.5)&lt;/strong&gt; When the extraction is complete, click &lt;strong&gt;Finish&lt;/strong&gt;. You'll now have the folder you need:&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.5/bmi/wamp.corephp.co.uk/shots/s04.png" alt="" width="800" height="326" /&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3.6)&lt;/strong&gt; Repeat this process for &lt;strong&gt;php-5.2.3-Win32.zip&lt;/strong&gt;.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;4)&lt;/strong&gt; You will have the following directory structure:&lt;/p&gt;&lt;div&gt;&lt;img src="http://1.1.1.1/bmi/wamp.corephp.co.uk/shots/s05.png" alt="" width="212" height="330" /&gt;&lt;br /&gt;&lt;span style="font-size: 10px;"&gt;The image above shows PHP 5.2.2, yours will show 5.2.3&lt;/span&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;If for some reason you don't, move the folders around as required until it matches the screen shot above exactly.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-392579261451583496?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/392579261451583496/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-2-configure-windows-xp-for-php.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/392579261451583496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/392579261451583496'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-2-configure-windows-xp-for-php.html' title='Step 2 - Configure Windows XP for PHP'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-282324667864721689</id><published>2008-12-26T15:18:00.000-08:00</published><updated>2008-12-26T15:18:00.179-08:00</updated><title type='text'>Step 1 - Downloads</title><content type='html'>&lt;h2&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p style="text-align: justify;"&gt;The first thing to do is download all the files we're going to need. The &lt;strong&gt;Download Links&lt;/strong&gt; will download the files. The &lt;strong&gt;Web Page&lt;/strong&gt; link will take you to the page that hosts the file so you can verify its source.&lt;/p&gt;  &lt;table style="background: rgb(161, 145, 214) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" class="f" border="0" cellpadding="4" cellspacing="2"&gt; &lt;tbody&gt;&lt;tr&gt;     &lt;td&gt;&lt;strong&gt;Download Link&lt;/strong&gt;&lt;/td&gt;     &lt;td&gt;&lt;strong&gt;Filename&lt;/strong&gt;&lt;/td&gt;     &lt;td&gt;&lt;strong&gt;Size&lt;/strong&gt;&lt;/td&gt;     &lt;td&gt;&lt;strong&gt;Web Page&lt;/strong&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;     &lt;td&gt;&lt;a href="http://www.php.net/get/php-5.2.3-Win32.zip/from/a/mirror" target="_blank"&gt;PHP 5.2.3 zip package&lt;/a&gt;&lt;/td&gt;     &lt;td&gt;php-5.2.3-Win32.zip&lt;/td&gt;     &lt;td&gt;9.8 MB&lt;/td&gt;     &lt;td align="center"&gt;&lt;a href="http://www.php.net/downloads.php"&gt;go to&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;     &lt;td&gt;&lt;a href="http://www.php.net/get/php-4.4.7-Win32.zip/from/a/mirror" target="_blank"&gt;PHP 4.4.7 zip package&lt;/a&gt;&lt;/td&gt;     &lt;td&gt;php-4.4.7-Win32.zip&lt;/td&gt;     &lt;td&gt;8.4 MB&lt;/td&gt;     &lt;td align="center"&gt;&lt;a href="http://www.php.net/downloads.php"&gt;go to&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;     &lt;td&gt;&lt;a href="http://www.mirrorservice.org/sites/ftp.apache.org/httpd/binaries/win32/apache_2.2.4-win32-x86-no_ssl.msi" target="_blank"&gt;Apache 2.2.4&lt;/a&gt;&lt;/td&gt;     &lt;td&gt;apache_2.2.4-win32-x86-no_ssl.msi&lt;/td&gt;     &lt;td&gt;4.2 MB&lt;/td&gt;     &lt;td align="center"&gt;&lt;a href="http://httpd.apache.org/download.cgi"&gt;go to&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;     &lt;td&gt;&lt;a href="http://www.apachelounge.com/download/mods/php4apache2.dll-php4.4.x.zip"&gt;Apache2 Handler for PHP 4.4.7&lt;/a&gt;&lt;/td&gt;     &lt;td&gt;php4apache2.dll-php4.4.x.zip&lt;/td&gt;     &lt;td&gt;13 KB&lt;/td&gt;     &lt;td align="center"&gt;&lt;a href="http://www.apachelounge.com/download/"&gt;go to&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;     &lt;td&gt;&lt;a href="http://www.apachelounge.com/download/vcredist_x86-sp1.exe"&gt;Visual C++ 2005 Redistributable&lt;/a&gt;&lt;/td&gt;     &lt;td&gt;vcredist_x86-sp1.exe&lt;/td&gt;     &lt;td&gt;2.6 MB&lt;/td&gt;     &lt;td align="center"&gt;&lt;a href="http://www.apachelounge.com/download/"&gt;go to&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;     &lt;td&gt;&lt;a href="http://users.pandora.be/jbranders/hostadm.exe"&gt;Host Administrator Utility&lt;/a&gt;&lt;/td&gt;     &lt;td&gt;hostadm.exe&lt;/td&gt;     &lt;td&gt;213 KB&lt;/td&gt;     &lt;td align="center"&gt;&lt;a href="http://www.rekenwonder.com/hostadm.htm"&gt;go to&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;h3&gt;CorePHP Bundle&lt;/h3&gt;  &lt;p style="text-align: justify;"&gt;The bottom three files on the list above are hosted on personal web sites, and I cannot guarantee that they will always be available. Therefore I have bundled them all together in a single zip file. This contains the Apache2 Handler for PHP 4.4.7, the Visual C++ 2005 Redistributable and the Host Administrator utility. Should the above download links fail you can get this bundle instead: &lt;a href="http://wamp.corephp.co.uk/downloads/corephp_wamp_bundle_v1.zip"&gt;Download the CorePHP WAMP Bundle&lt;/a&gt; (2.6 MB)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-282324667864721689?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/282324667864721689/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-1-downloads.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/282324667864721689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/282324667864721689'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2008/12/step-1-downloads.html' title='Step 1 - Downloads'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-6692310573568842234</id><published>2008-12-26T14:16:00.000-08:00</published><updated>2008-12-26T14:18:23.929-08:00</updated><title type='text'>comprehensive guide to installing and running Apache with PHP on Windows</title><content type='html'>&lt;p style="text-align: justify;"&gt;This is a comprehensive guide to installing and running Apache 2.2.4 with PHP 4.4.7 and PHP 5.2.3 on Windows XP. It covers all of the steps in detail with lots of screen grabs so you can follow the process visually.&lt;/p&gt;  &lt;h2&gt;&lt;span style="font-size:100%;"&gt;The Guide&lt;/span&gt;&lt;/h2&gt;  &lt;p style="text-align: justify;"&gt;I know that the number of sections looks daunting, but that is because I have split the guide up into small manageable chunks. It shouldn't take you longer than a couple of minutes to complete each section.&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_01.php"&gt;Downloads&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_02.php"&gt;Configure Windows XP for PHP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_03.php"&gt;PHP 4 Settings&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_04.php"&gt;PHP 5 Settings&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_05.php"&gt;Create a local web site&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_06.php"&gt;Setting the Environment Variable&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_07.php"&gt;Install Apache&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_08.php"&gt;Install the Apache2 Handler&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_09.php"&gt;httpd.conf&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_10.php"&gt;Creating a Virtual Host&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_11.php"&gt;system32/drivers/etc/hosts&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_12.php"&gt;Bring Apache to life&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_13.php"&gt;Switching to PHP 5&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;h3&gt;Useful Extras&lt;/h3&gt;  &lt;ol start="14"&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_14.php"&gt;Adding another web site (detailed version)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_15.php"&gt;Adding another web site (short version)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_16.php"&gt;Build a PHP 4/5 switcher&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wamp.corephp.co.uk/step_17.php"&gt;Run PHP 5 as a module and PHP 4 as CGI together&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9168410405140161570-6692310573568842234?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/6692310573568842234/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2008/12/comprehensive-guide-to-installing-and.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6692310573568842234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/6692310573568842234'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2008/12/comprehensive-guide-to-installing-and.html' title='comprehensive guide to installing and running Apache with PHP on Windows'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9168410405140161570.post-808039361747223828</id><published>2008-12-13T20:06:00.000-08:00</published><updated>2009-04-27T20:10:19.492-07:00</updated><title type='text'>PHP 2.5.8. Update</title><content type='html'>&lt;p&gt;It’s that time of the month to check if there’s a new update for PHP and (gasp!) there is one!&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt; Due to a security bug found in the PHP 5.2.7 release, it has been removed from distribution. The bug affects configurations where magic_quotes_gpc is enabled, because it remains off even when set to on. In the meantime, use PHP 5.2.6 until PHP 5.2.8 is later released.&lt;/p&gt; &lt;p&gt; The PHP Development Team would like to announce the immediate availability of PHP 5.2.8. This release addresses a regression introduced by 5.2.7 in regard to the magic_quotes functionality, which was broken by an incorrect fix to the filter extension. All users who have upgraded to 5.2.7 are encouraged to upgrade to this release. Alternatively you can apply a work-around for the bug by changing â€œfilter.default_flags=0â€³ in php.ini.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Go ahead and update this one right away as it will save your &lt;a href="http://webdeveloperresources.com/"&gt;IT hide&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.php.net/archive/2008.php#id2008-12-08-1"&gt;Source&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/9168410405140161570-808039361747223828?l=myfreephp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myfreephp.blogspot.com/feeds/808039361747223828/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://myfreephp.blogspot.com/2008/12/php-258-update.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/808039361747223828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9168410405140161570/posts/default/808039361747223828'/><link rel='alternate' type='text/html' href='http://myfreephp.blogspot.com/2008/12/php-258-update.html' title='PHP 2.5.8. Update'/><author><name>Aisyah Runi</name><uri>http://www.blogger.com/profile/09754809777891988684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://bp3.blogger.com/_iNFxbPL4FYE/R_dMDxJPHQI/AAAAAAAAAAM/L8A99OeHoPU/S220/runi001.jpg'/></author><thr:total>0</thr:total></entry></feed>
