PHP
From Alessandro's Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Language
Syntax
if
if ( ( $A != "null" ) && (( $A === "true" ) || ( $A == "true" ) || ( $A <= 12 ) ) ) {
/* code code code */
}
else
{
/* code code code */
}
- abbreviation (as in C):
(something) ? (if true do this) : (else do this)
for / foreach
switch
switch ($something) {
case 0:
echo "something is 0";
break;
case "hello":
echo "something is $something";
break;
}
Strings
- joining strings:
$string1 . "string 2" . $_GLOBAL['string3'];
Array
- basic
Array("one", "two", "3" );
- with index:
Array( 1 => "one", 2 => "two", 3 => "3" );
- 2 dimensions
functions
- change file permissions
chmod($file,"0664");
- sleep seconds
sleep( 2 ); //sleep 2 seconds
- sleep nanoseconds
time_nanosleep(0, 200000000); //sleep 0.2 seconds
My algorithms
Cleaning strings for links
Funzione per ripulire i titoli degli articoli da mettere nelle url
/* reference dictionary */
« » ò ó á à è é ù ú ì í ñ · ç : . , ! “ ” ' ' € & ' @ % $ ?
171,187,242,243,225,224,232,233,249,250,236,237,241,183,231,58,46,44,33,145,146,147,148,128,38,39,64,37,36,63
function UrlizzaTit( $titoloUTF ) {
// Caratteri o stringhe da rimpiazzare col segno +
$toPlus = array(
chr(32),
chr(145),
chr(146),
chr(37),
chr(123),
chr(125),
chr(39),
chr(64),
chr(33),
chr(36),
chr(63),
";",
"[",
"]",
"(",
")",
"\n",
"-"
);
// Caratteri o stringhe da cancellare
$toNull = array(
"Il ",
"Lo ",
"lo ",
"da ",
" I ",
" i ",
" l' ",
chr(147),
chr(148),
chr(171),
chr(187),
chr(58),
chr(44),
chr(46)
);
$urlizzato1 = str_replace(chr(231),"c",
str_replace(chr(249),"u",
str_replace(chr(250),"u",
str_replace(chr(242),"o",
str_replace(chr(243),"o",
str_replace(chr(225),"a",
str_replace(chr(224),"a",
str_replace(chr(232),"e",
str_replace(chr(233),"e",
str_replace(chr(128),"euro+eur",
str_replace(chr(236),"i",
str_replace(chr(237),"i",
str_replace(chr(241),"n",
str_replace(chr(38),"and", $titoloUTF ))))))))))))));
$urlizzato2 = str_replace( $toNull, "" , $urlizzato1 );
$urlizzato = str_replace( $toPlus, "+" , $urlizzato2 );
return $urlizzato;
}
Others algorithms
simple glob() type replacement:
$files = preg_find('/./', $dir);
recursive?
$files = preg_find('/./', $dir, PREG_FIND_RECURSIVE);
pattern match? find all .php files:
$files = preg_find('/\.php$/D', $dir, PREG_FIND_RECURSIVE);
sorted alphabetically?
$files = preg_find('/\.php$/D', $dir, PREG_FIND_RECURSIVE|PREG_FIND_SORTKEYS);
sorted in by filesize, in descending order?
$files = preg_find('/./', $dir,
PREG_FIND_RECURSIVE|PREG_FIND_RETURNASSOC |PREG_FIND_SORTFILESIZE|PREG_FIND_SORTDESC);
$files=array_keys($files);
sorted by date modified?
$files = preg_find('/./', $dir,
PREG_FIND_RECURSIVE|PREG_FIND_RETURNASSOC |PREG_FIND_SORTMODIFIED);
$files=array_keys($files);
parse command line argument to _GET array
parse_str(implode('&', array_slice($argv, 1)), $_GET);
Server
XCache
- The eAccelerator and XCache PHP performance extensions are known to cause issues. If you're using either of those and are having problems, please disable them while you do your import. Add the following lines:
- install (debina)
apt-get install php5-xcache apt-get purge php-apc vi /etc/php5/conf.d/xcache.ini /etc/init.d/apache2 restart
php_value eaccelerator.enable 0
php_value xcache.cacher off
php_value xcache.optimizer off
- using xcache instead
[xcache.admin]
xcache.admin.enable_auth = Off
; Configure this to use admin pages
xcache.admin.user = ""
; xcache.admin.pass = "md5staffofhashfashdffsdfdfsfd"
xcache.size = 64M
xcache.var_size = 64M
xcache.cacher = On
xcache.stat = On
xcache.optimizer = On
xcache.coverager = Off
- admin gui :
cp -r /usr/sharexcache/admin/ /var/www/localhost/htdocs http://domain/XCacheAdmin/ /etc/init.d/apache2 restart
various
- "A PHP debugging and profiling extension"
xdebug