Некоторые PHP функций

Некоторые PHP функций
function seo_url($string, $seperator='-') {
    $string = strtolower($string);
    $string = preg_replace("/[^a-z0-9_\\s-]/", $seperator, $string);
    $string = preg_replace("/[\\s-]+/", " ", $string);
    $string = preg_replace("/[\\s_]/", $seperator, $string);
    return $string;
}

Делает из \”Privet Ivan\” => \”privet-ivan\”

function detect_encoding($string) {  
  static $list = array('utf-8', 'windows-1251');
  
  foreach ($list as $item) {
     $sample = iconv($item, $item, $string);
     if (md5($sample) == md5($string))
       return $item;
   }
   return null;
}

Функция детектит кодировку

function full_url()
{
    $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
    $protocol = substr(strtolower($_SERVER["SERVER_PROTOCOL"]), 0, strpos(strtolower($_SERVER["SERVER_PROTOCOL"]), "/")) . $s;
    $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
    return $protocol . "://" . $_SERVER['SERVER_NAME'] . $port . $_SERVER['REQUEST_URI'];
}

Разберает урл на протокол имя сервера порта и сам запрос

<?php
$host = $_SERVER['HTTP_HOST'];
preg_match("/[^\\.\\/]+\\.[^\\.\\/]+$/", $host, $matches);
echo "domain name is: {$matches[0]}\\n";
?>

Получает имя домена

echo json_decode(str_replace('%u', '\\\\u', json_encode($str_from_js)));

Преобразовует символы Юникода в виде «%uXXXX» в UTF-8

И на закусь некоторые правила htaccess:

.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]
# http://domain/about -> http://domain/about.php
--------------------------------------------------
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
# http://domain/about -> http://domain/index.php?q=about

Полезные функции PHP

Полезные функции PHP

Простой способ реализации списка структуры папок

$path = "/home/user/public/foldername/";
$dir_handle = @opendir($path) or die("Unable to open $path");

while ($file = readdir($dir_handle)) {
    if($file == "." || $file == ".." || $file == "index.php" )
        continue;
        echo "<a href=\\"$file\\">$file</a><br />";
    }
closedir($dir_handle);

Создание защищенной паролем страницы

<?
$username = "someuser";
$password = "somepassword";

if ($_POST['txtUsername'] != $username || $_POST['txtPassword'] != $password) {?>
<h1>Login</h1>
<form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
      <p><label for="txtUsername">Username:</label>
      <br><input type="text" title="Enter your Username" name="txtUsername"></p>

      <p><label for="txtpassword">Password:</label>
      <br><input type="password" title="Enter your password" name="txtPassword"></p>
  <p><input type="submit" name="Submit" value="Login"></p>
</form>
<?} else {?>
    <p>This is the protected page. Your private content goes here.</p>
<?}?>

Искать файлы, используя шаблоны

$files = glob('*.php');
print_r($files);
/* Выдаст что-то типа:
Array
(
    [0] => phptest.php
    [1] => pi.php
    [2] => post_output.php
    [3] => test.php
)
*/

Сериализация

// a complex array
$myvar = array(
    'hello',
    42,
    array(1,'two'),
    'apple'
);

// convert to a string
$string = serialize($myvar);

echo $string;
/* prints
a:4:{i:0;s:5:"hello";i:1;i:42;i:2;a:2:{i:0;i:1;i:1;s:3:"two";}i:3;s:5:"apple";}
*/

// you can reproduce the original variable
$newvar = unserialize($string);

print_r($newvar);
/* prints
Array
(
    [0] => hello
    [1] => 42
    [2] => Array
        (
            [0] => 1
            [1] => two
        )

    [3] => apple
)
*/