Разделы
Veselov CV | vvShop © 2008 – 2018
Контакты
email: igor@veselov.sumy.ua
skype: utz0r2
» » функции

Некоторые 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 ^(.*)$ .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= [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
)
*/
Вверх