Sunday, March 16, 2008

Whois Query using PHP


/*
** Function: whois_query (PHP)
** Desc: A little function to query some NIC databases.
** Example: see below
** Author: Jonas John
*/

function whois_query($domain)
{
// fix the domain name:
$domain = strtolower(trim($domain));
$domain = preg_replace('/^http:\/\//i', '', $domain);
$domain = preg_replace('/^www\./i', '', $domain);
$domain = explode('/', $domain);
$domain = trim($domain[0]);

// split the TLD from domain name
$_domain = explode('.', $domain);
$lst = count($_domain)-1;
$ext = $_domain[$lst];

// You find resources and lists
// like these on wikipedia:
//
// http://de.wikipedia.org/wiki/Whois
//
$servers = array(
"biz" => "whois.neulevel.biz",
"com" => "whois.internic.net",
"us" => "whois.nic.us",
"coop" => "whois.nic.coop",
"info" => "whois.nic.info",
"name" => "whois.nic.name",
"net" => "whois.internic.net",
"gov" => "whois.nic.gov",
"edu" => "whois.internic.net",
"mil" => "rs.internic.net",
"int" => "whois.iana.org",
"ac" => "whois.nic.ac",
"ae" => "whois.uaenic.ae",
"at" => "whois.ripe.net",
"au" => "whois.aunic.net",
"be" => "whois.dns.be",
"bg" => "whois.ripe.net",
"br" => "whois.registro.br",
"bz" => "whois.belizenic.bz",
"ca" => "whois.cira.ca",
"cc" => "whois.nic.cc",
"ch" => "whois.nic.ch",
"cl" => "whois.nic.cl",
"cn" => "whois.cnnic.net.cn",
"cz" => "whois.nic.cz",
"de" => "whois.nic.de",
"fr" => "whois.nic.fr",
"hu" => "whois.nic.hu",
"ie" => "whois.domainregistry.ie",
"il" => "whois.isoc.org.il",
"in" => "whois.ncst.ernet.in",
"ir" => "whois.nic.ir",
"mc" => "whois.ripe.net",
"to" => "whois.tonic.to",
"tv" => "whois.tv",
"ru" => "whois.ripn.net",
"org" => "whois.pir.org",
"aero" => "whois.information.aero",
"nl" => "whois.domain-registry.nl"
);

if (!isset($servers[$ext]))
{
die('Error: No matching nic server found!');
}

$nic_server = $servers[$ext];

$output = '';

// connect to whois server:
if ($conn = fsockopen ($nic_server, 43))
{
fputs($conn, $domain."\r\n");
while(!feof($conn))
{
$output .= fgets($conn,128);
}
fclose($conn);
}
else { die('Error: Could not connect to ' . $nic_server . '!'); }

return $output;
}

/*

---------------------
Some example queries:
---------------------

print whois_query('jonasjohn.de');
print whois_query('example.com');
*/

print whois_query('example.org');
?>

Thursday, March 6, 2008

Create Image Thumbnail on the fly

Today im not in the mood to explain more about this function but if you have any question, dont hesitate, just ask me in the comment section. Thanks.


function image_create_thumb($filename, $width, $height)
{
list($image["Width"], $image["Height"], $image["Type"]) = getimagesize($filename);


switch($image["Type"])
{
case IMG_JPG:
case IMG_JPEG:
$im_image = ImageCreateFromJPEG($filename);
break;
case IMG_GIF:
$im_image = ImageCreateFromGIF($filename);
break;
case IMG_PNG:
$im_image = ImageCreateFromPNG($filename);
break;
}

if($image["Width"] > $image["Height"])
{
$scale = $width / $image["Width"];
$thumb_width = $width;
$thumb_height = floor($image["Height"]*$scale);
}
else
{
$scale = $height / $image["Height"];
$thumb_height = $height;
$thumb_width = floor($image["Width"]*$scale);
}

$im_thumb = @ImageCreateTrueColor($thumb_width, $thumb_height) or die("Cannot Initialize new GD image stream");

ImageCopyResized($im_thumb, $im_image, 0, 0, 0, 0, $thumb_width, $thumb_height, $image["Width"], $image["Height"]);

ImageDestroy($im_image);
ImagePNG($im_thumb, $filename);
ImageDestroy($im_thumb);

return true;
}//image_create_thumb($filename, $width, $height)
?>

Wednesday, March 5, 2008

PHP Image Resizer

Today i give you a PHP tutorial about how to resize an image using PHP as your web programming language.

function resize_jpg($inputFilename, $new_side){
$imagedata = getimagesize($inputFilename);
$w = $imagedata[0];
$h = $imagedata[1];

if ($h > $w) {
$new_w = ($new_side / $h) * $w;
$new_h = $new_side;
} else {
$new_h = ($new_side / $w) * $h;
$new_w = $new_side;
}

$im2 = ImageCreateTrueColor($new_w, $new_h);
$image = ImageCreateFromJpeg($inputFilename);
imagecopyResampled ($im2, $image, 0, 0, 0, 0, $new_w, $new_h, $imagedata[0], $imagedata[1]);
return $im2;
}

Maybe this image resizing code using PHP is not the best of all but at least, it'll help you to do your job =)

Tuesday, March 4, 2008

Retrieve data from $_GET array

$q = explode("&",$_SERVER["QUERY_STRING"]);
foreach ($q as $qi)
{
if ($qi != "")
{
$qa = explode("=",$qi);
list ($key, $val) = $qa;
if ($val)
$$key = urldecode($val);
}
}

This code is similar to previous code but this one is for $_GET global variables. Good luck with your programming !!

Monday, March 3, 2008

Retrieve data from $_POST array

/**
* Retrieve PHP Post variable
*/
reset ($_POST);
while (list ($key, $val) = each ($_POST))
{
if ($val){
addslashes($val);
$$key = $val;
$_SESSION['data_advertiser'][$key] = $val;
}
}

so let say you have $_POST['name']. After this code to access this variable , what you have to do is just use $name instead of $_POST['name'] !!! so easy right?

Friday, February 29, 2008

Bux.to

Today, I dont want to talk about ajax or javascript whatsoever but i want to talk about PTC or Paid to Click programs. I know that there a lot of scam programs out there but it's not that all of them are scam. There are a few PZTC that really pay their users such as Bux.to

You should try take a look at Bux.to. It's not so difficult to join and you can earn a little money from there. Click Here

Tuesday, February 26, 2008

Common HTTP Response Codes

Before I told you about the problems that can occur if we working on local files. You can view it here at HTTP Response 200 or 0?

Today, I'll give you the common HTTP response code that we can easily found in ajax environnement.

200 OK This response code is returned if the document or file in question is found and served correctly.

304 not modified - This response code returned if a browser has indicated that it has a local, cached copy, and the server's copy has not changed from this cached copy.

401 Unauthorized - This reponse code id generated if the request in question requires authorization to access the requested document.

403 Forbidden - This response code is returned if the requested document does not have proper permissions to be accessed by the requestor.

404 Not Found - This response code is sent back if the file that is attempting to be accessed cound not be found

500 Internal Server Error - This code will be returned if the server that is being contacted has a problem

503 Service Unavailable - This response code is generated if the server is too overwhelmed to handle the request

What is DOM Document Object Module in Javascript.

In short, it's the tree structure of a given document. Let see an example of a DOM structure.












If we want to see the graphical DOM representation of this code.













resources : http://www.w3.org/TR/DOM-Level-2-Core/introduction.html

HTTP Response 200 or 0?

var xmlhttp;

if(window.ActiveXObject){
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
xmlhttp = new XMLHttpRequest();
}

function makerequest(serverPage, objID){
var obj = document.getElementById(objID);
var url = serverPage+"?weight="+document.getElementById('weight').value;
xmlhttp.open("GET", url);
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4){
if(xmlhttp.status == 200){
obj.value = xmlhttp.responseText;
}
}
}

xmlhttp.send(null);
}

Look like a normal ajax request right? but do you believe that this code
won't work if you are sending the request to a local file? try me. =)

The fact is, if you are working on local files, use
xmlhttp.status == 0 instead of xmlhttp.status == 200


But my solution to put both code together so that we can connect to whatever file we want.

This is my solution.


var xmlhttp;

if(window.ActiveXObject){
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
xmlhttp = new XMLHttpRequest();
}

function makerequest(serverPage, objID){
var obj = document.getElementById(objID);
var url = serverPage+"?weight="+document.getElementById('weight').value;
xmlhttp.open("GET", url);
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4){
if(xmlhttp.status == 200 || xmlhttp.status == 0){
obj.value = xmlhttp.responseText;
}
}
}

xmlhttp.send(null);
}


Saturday, February 23, 2008

Javascript (ajax) Framework

There are various javascript framework that you can choose depending on what you're working on. If you want to make special effects like drag and drop, sliding effect etc you could choose script.aculo.us library. But to be able to work on this library, you must include prototype framework. You can search in google to download these libraries.

But i realize that jQuery framework is more powerful framework. I dont know what you think about this..

In the next post, i'll commence the tutorial !!