Jan 19 2009

Install APC for PHP on Linux

APC is the Alternative PHP Cache, which is a free, open, and robust framework for caching and optimizing PHP intermediate code. What this means is that APC reads your PHP files, parses them into a more efficient binary format and then caches them in memory so that each request for your PHP files and PHP library files can be fed from the parsed cache. This will generally lead to a speed increase when serving a PHP site, especially one with a lot of library files. This post looks at how to install APC for PHP on Linux. The Linux distribution I used was CentOS 5, but it should be fairly similar for most distros.

Read more …

Dec 18 2008

IE ignores custom error pages

if you use php to create custom error pages (such as header('HTTP/1.1 500 Internal Server Error');) Internet Explorer ignores you custom page unless it is at least 512 (or sometimes 1024 bytes)

IE ignores custom error pages that are less than 512 (or from what i've read 1024) bytes.

just place this before any output on your custom error page--- and be sure that your custom error page includes proper html tags (it must have a </body> for this specific example to work)

<?php
// set your custom error header --- example --- header('HTTP/1.1 503 Service Unavailable');

function padding($html){
return (
$padding=1024-ob_get_length()) > 0 ? str_replace('</body>','<!--'. ($padding>8?str_repeat(' ',$padding-8) :null ).'-->'."\n".'</body>',$html) : $html;
}

ob_start('padding');
?>

and then place this somewhere within the html error page output

<!-- ---- -->

that will auto-adjust to pad the file to 1024 bytes to override the default Internet Explorer error pages.

You can use below script to show the image file for public access, but public don’t have direct access to the file itself. Because its located outside of the public folder.

<?php
/* Read local file from /home/bar */
$localfile = file_get_contents("/home/userX/foo.jpg");

echo $localfile;
?>

Use below scripts :

mysql_insert_id() example

<?php
$link
= mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!
$link) {
die(
'Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
?>

Dec 17 2008

How to fetch data(s) using mysql_fetch_assoc ?

mysql_fetch_assoc — Fetch a result row as an associative array

<?php

$conn

= mysql_connect("localhost", "mysql_user", "mysql_password");

if (!

$conn) {
echo
"Unable to connect to DB: " . mysql_error();
exit;
}

if (!

mysql_select_db("mydbname")) {
echo
"Unable to select mydbname: " . mysql_error();
exit;
}

$sql = "SELECT id as userid, fullname, userstatus
FROM   sometable
WHERE  userstatus = 1"
;

$result = mysql_query($sql);

if (!

$result) {
echo
"Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}

if (

mysql_num_rows($result) == 0) {
echo
"No rows found, nothing to print so am exiting";
exit;
}

// While a row of data exists, put that row in $row as an associative array
// Note: If you're expecting just one row, no need to use a loop
// Note: If you put extract($row); inside the following loop, you'll
//       then create $userid, $fullname, and $userstatus


while ($row = mysql_fetch_assoc($result)) {
echo
$row["userid"];
echo
$row["fullname"];
echo
$row["userstatus"];
}

mysql_free_result($result);

?>