PHP
@php
Datestamps
<?php
//mktime(hour,minute,second,month,day,year)
echo date("Y/m/d", mktime(0,0,0,11,11,2011));
//2011/11/11
?>
Turn off error reporting
<?php
error_reporting(0)
?>
Check if domain resolves
<?php
checkdnsrr($host)
?>
Authenticating users
<?php
session_start();
// Check for session injection
if (isset($_REQUEST['_SESSION'])) {
session_destroy();
die('');
} elseif (isset($_SESSION['HTTP_USER_AGENT'])) {
if ($_SESSION['HTTP_USER_AGENT'] != md5($_SERVER['HTTP_USER_AGENT'])) {
session_destroy();
die('');
}
}
// At end of page, let's regenerate the session ID
if(isset($_SESSION['username'])) {
session_regenerate_id(TRUE);
}
?>
Run a server instance with a script
Requires PHP >= 5.4 - http://php.net/manual/en/features.commandline.webserver.php
::
php -S localhost:8000 router.php
Validation
Numeric validation
<?php
is_int($var)
is_numeric($var)
?>
Export to CSV
<?php
header("Expires: 0");
header("Cache-control: private");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Description: File Transfer");
header("Content-Type: text/csv");
header("Content-disposition: attachment; filename=rawlogs.csv");
?>
Get filename
<?php
$FILE_NAME = basename($_SERVER["PHP_SELF"]);
?>
Return multiple values
<?php
function mult() {
return array(0, 1);
}
list ($zero, $one) = mult();
?>
Create an array of objects
<?php
$allCars=array();
$result = mysql_query($SQL);
while ($rowInfo = mysql_fetch_assoc($result))
{
$tempCar=new Car();
$tempCar->setMake($rowInfo['car_make']);
$tempCar->setModel($rowInfo['car_model']);
$tempCar->setColor($rowInfo['car_color']);
$allCars[]=$tempCar;
}
?>
Include PEAR (Dreamhost)
<?php
//Include my PEAR path
set_include_path("." . PATH_SEPARATOR . ($UserDir = dirname($_SERVER['DOCUMENT_ROOT'])) . "/pear/php" . PATH_SEPARATOR . get_include_path());
?>
Scrape $_GET parameters
If mod_rewrite or some other mechanism is preventing the filling of the $_GET array, use this:
<?php
parse_str($_SERVER['QUERY_STRING'], $_GET);
?>
Convert command line arguments into GET variables
<?php
parse_str(implode('&', array_slice($argv, 1)), $_GET);
?>
Get PHP config info
::
# Get configuration (like phpinfo())
php -i
# Get location of php.ini
php --ini
Redirect to a different URL
<?php
header("Location: http://www.example.com/");
?>
Syntax cheatsheet
<?php
if ($blah == 0) {
// code
} elseif ($blah == 1) {
// code
} else {
// code
}
$arr = array(1, 2, 3, 4);
foreach ($arr as $value) {
print $value;
}
switch ($blah) {
case 0:
// code
break;
case 1:
// code
break;
default:
// code
break;
function foo () {
return 0;
}
?>