PHP: Сниппеты (полезные фрагменты)

PHP сниппеты – это полезные строки PHP кода, которые можно применить при разработке. Коллекция готовых полезных функций и коротких сниппетов, которые направлены на решения конкретных задач. Не ищите дальше, просто скопируйте и вставьте эти полезные фрагменты в свои проекты. Эти сниппеты полезны, если вы регулярно разрабатываете приложения PHP, сохраните страницу в закладках для дальнейшего использования.

Файлы: Режимы открытия файлов

if(is_file('bbb.txt'))
{
  echo 'Можете не сомневаться, bbb.txt - это файл';
}
if(is_dir('/tmp'))
  echo 'действительно, /tmp - это каталог';
if(is_writable('db.dbf'))
  echo 'в db.dbf писать можно';

Файлы: Последние изменения

echo 'Изменён: '.date('d.m.Y H:i:s',filemtime($file)).'<br>';
echo 'Последнее обращение: '.date('d.m.Y H:i:s',fileatime($file)).'<br>';

Файлы: Количество строк в файле

$kol_vo = count(file('test.txt'));
echo 'Количество ссылок в файле: '.$kol_vo.'<br>';

Файлы: Копируем файл (что, куда)

copy('123.jpg','images/123.jpg');


if(copy('Z:/home/site/www/file.txt', 'Z:/home/site/www/file2.txt'))
{
  echo 'Копирование успешно выполнено';
}
else{
  echo "Ошибка при копировании";
}

Файлы: Открываю файл и записываю в него

$nomer = fopen('nomer.txt', 'w+');
fwrite($nomer, 1+"$nomer");
fclose($nomer);

Файлы: Подсчитываем количество строк в файле

$file=file("my_file.txt");
$count=count($file);
echo $count; 

Файлы: Добавляем новую строку в конец файла

$open=fopen("my_file.txt","a");
fwrite($open,"новая строкаrn");
fclose($open); 

Файлы: Очищаем файл и добавляем в него строку, если файл не существует, то он создаётся

$open=fopen("my_file.txt","w+");
fwrite($open,"строкаrn");
fclose($open); 

Файлы: Удаляем нужную строку из файла

$line="1"; # строка, которую нужно удалить

$file=file("my_file.txt");
$open=fopen("my_file.txt","w");

for($i=0;$i<count($file);$i++)
{
if(($i+1)!=$line){fwrite($open,$file[$i]);}
}

fclose($open); 

Файлы: Заменяем нужную строку в файле

$line="1"; # строка, которую нужно изменить
$replace="ля ля ля"; # на что нужно изменить

$file=file("my_file.txt");
$open=fopen("my_file.txt","w");

for($i=0;$i<count($file);$i++)
{
if(($i+1)!=$line){fwrite($open,$file[$i]);}
else{fwrite($open,$replace."rn");}
}

fclose($open); 

Файлы: Читаем весь файл построчно

$file = fopen('test.txt', 'r');
while(!feof($file))
{ 
  $line = fgets($file);
  echo $line.'<br>';
}

Файлы: Вставить файл, если он есть

if(file_exists('footer.html'))
{
  include ('footer.html');
}

Файлы: Читаем первую строку из файла

$file = fopen('test.txt', 'r');
$line = fgets($file); 

Файлы: Читаем первые 5 символов из файла

$line = fgets($file, 5); 

Файлы: Файл одной строкой

$line = file_get_contents('test.txt', 1);

Файлы: Выводим первые 10 строк из файла

$oneLine = fopen('test.txt', 'r');
for($i = 1; $i <= 10; $i++)
{
$line = fgets($oneLine); //читаю первую строку
echo "$i. $line<br>";
}

Файлы: Читаем нужную строку из файла

$f = file('test.txt');
$stroka = $f[1];
echo $stroka;

Файлы: Удаляем файл

unlink('1.txt');

Файлы: Проверяем существование файла

if(!file_exists('test.txt'))
{
  echo 'Файл test.txt не найден';
}
else{
  echo 'Файл test.txt обнаружен';
}
if (file_exists('example.png')) {
    // File exists
}

Файлы: Размер файла

$filesize = filesize($file);
echo "–азмер файла: $filesize байт.<br>";

Файлы: Тип файла

$filetype = filetype($file);
echo "Тип файла: $filetype<br>";

Файлы: Путь до каталога, имя и расширение файла

$pathinfo = pathinfo($file);
echo '<pre>';
var_dump($pathinfo); //массив
echo '</pre>';

Файлы: Удаляем строку из файла по значению

$file = 'list.txt'; 
$string = 'Ёто строка, которую надо удалить'; 
$ftmp = fopen('tmp.txt', 'w'); 
$f = fopen($file, 'r'); 
while (!feof($f)) { 
    $str = fgets($f); 
    if ($str != $string) 
        fwrite($ftmp, $str); 
} 
fclose($f); 
fclose($ftmp); 
rename ('tmp.txt', $f);
$string = 'удаляемая строка'; 
$file = file('text.txt');  
for ($i=0;$i<count($file);$i++) 
{  
  if(trim($file[$i])==$string) unset($file[$i]); 
} 
print_r($file); 
$h = fopen('text.txt',"w"); 
fwrite($h, implode("",$file)); 
fclose($h);

Файлы: Удаляем строку из файла по номеру строки

$line=2; # строка, которую нужно удалить 
$file=file('file.txt'); 
$open=fopen('file.txt','w'); 
for($i=0;$i<count($file);$i++) 
{ 
if(($i+1)!=$line){fwrite($open,$file[$i]);} 
} 
fclose($open); 

Файлы: Записываем данные в третью строку файла

$z = '12345';
$array=file('file.txt','w');
$array[2]=$z; // записываю в третью строку массива переменную
$f=fopen('file.txt');
for ($i=0; $i&lt;count($array); $i++) 
{
fputs($f,$array[$i]);
}
fclose($f);

Файлы: Удаляем из файла по одной строке

$file=file('file.txt');
unset($file[0]);
$fp=fopen('file.txt','w'); 
fputs($fp,implode("",$file)); 
fclose($fp);

Файлы: Считываем из файла первые 5 строк

$file=file("text.txt"); # будем считывать строки с файла text.txt
$strings="5"; # количество считываемых строк

for($i=0;$i<$strings;$i++)
{
$string.=$file[$i];
}

echo $string; 

Файлы: Считываем из файла последние 5 строк

$file=file("text.txt"); # будем считывать строки с файла text.txt
$strings="5"; # количество считываемых строк

for($i=count($file)-$strings;$i<count($file);$i++)
{
$string.=$file[$i];
}

echo $string; 

Файлы: Ищем в файле file.txt слово привет

$word="привет"; # искомое
$file="file.txt"; # имя файла, в котором будем искать слово привет

$open=fopen($file,"r");
while(!feof($open)) $search.=fgets($open,1024);
fclose($open);

if(eregi(strtolower($word),strtolower($search)))
{
echo "Слово ".$word." - найдено";
}

else
{
echo "Слово ".$word." - не найдено";
}

Файлы: Вставляем новые данные на 5 строку, а саму 5 строку передвигаем на 6

$file="base.txt"; # файл, в которой добавляем нужную нам строку
$line="5"; # строка, на которую вставляем новые данные
$data="новая строка"; # данные новой строки

$array=file($file);

$open=fopen($file,"w");
while(list($num,$string)=each($array))
{
if(($num+1)==$line) fwrite($open,$data."rn");
fwrite($open,$string);
}
fclose($open);

Файлы: Выводим случайную фразу (строку) из файла

$file="base.txt"; # имя файла, где хранятся фразы

$array=file($file);
echo $array[rand(0,count($array)-1)];

Файлы: Как узнать имя файла скрипта и размер файла

 echo filesize($_SERVER['SCRIPT_FILENAME']).' байт';

Файлы: Получить или изменить время доступа или модификации файла

Существенно, что touch создаст файл, если он не существует:

$filename = 'input.txt';
$mtime = filemtime($filename); //получить время изменения файла
touch($filename,
time(), //установить время изменения в текущее
fileatime($filename)); //оставить время доступа неизменным

Файлы: Скачать файл скриптом

Скачать файл скриптом (скачивается файл data.zip из папки на сервере folder, но пользователь не видит пути к файлу. В нашем случае для домена domain.com это путь http://domain.com/folder/file.zip. Также не стоит забывать о возможности защиты папок от просмотра с помощью файла .htaccess):

 $filename = 'data.zip';  //имя файла для скачивания
 $filefolder = 'folder/'; //имя папки
 $filesize = filesize($filefolder.$filename);
 header('HTTP/1.1 200 OK');
 header('Connection: close');
 header('Content-Type: application/octet-stream');
 header('Accept-Ranges: bytes');
 header('Content-Disposition: attachment; filename='.$filename);
 header('Content-Length: '.$filesize);
 readfile($filefolder.$filename);

Файлы: Замена (модификация) строк во множестве текстовых файлов

Если файлы лежат в папке, которую можно задать указанием пути и маски, удобна функция preg_replace_callback (здесь мы делаем большими все латинские буквы в файлах *.txt из текущей папки скрипта):

foreach (glob("./*.txt") as $filename) {
 $file = file_get_contents($filename);
 file_put_contents ($filename, 
preg_replace_callback("/([a-zA-Z]+)/",
              function ($matches) { return strtoupper($matches[0]); },
              $file));
}

Файлы: Прочитать содержимое файла построчно

$file = fopen(__FILE__, 'r');
while ($line = fgets($file)) {
$line = rtrim($line);
echo htmlspecialchars($line)."<br>n";
}

Файлы: Вывести файл в браузер

При этом выводе мы дополнительно игнорируем пустые строки:

$file = fopen('input.txt', 'r');
while (!feof($file)) { 
 $line = rtrim(fgets($file));
 if ($line) echo (htmlspecialchars($line)."<br>n");
}

Файлы: Переименовать файл

 rename('input.txt', 'output.txt');

Файлы: Безопасно создать временный файл с уникальным именем

 $f = tmpfile();
 //работа с файлом $f:
 fwrite ($f, 'abracadabra');
 fseek ($f, 0);
 echo fread ($f, 1024);
 fclose($f); //будет удалён при закрытии

Cравнение: Операции сравнения

если if ложно, то выполняется elseif или следующий if

если все if ложны, то выполняется else

Cравнение: Id

if(!empty($url_id[2]))
{
  $id = $url_id[2];

  if(!ereg("^[0-9]+$", $id)) 
  {
    header('Location: /404');
    exit();
  }
}

Cравнение: Проверка форм

if(isset($_POST['submit']))
{
  echo 'Кнопка нажата';
}

Cравнение: Ошибки

if(!empty($ups))
{
  $ups = '<b>'.$ups.'</b>';
  echo $ups;
}

Cравнение: Не ошибки

if(!empty($oke))
{
  $oke = '<b>'.$oke.'</b>';
  echo $oke;
}

Cравнение: Логин

if(!empty($_POST['login']))
{
    $login = trim($_POST['login']);

    if(!ereg("^[A-za-z0-9]+$", $login)) 
    {
        $ups .= 'Вводите логин английскими буквами или цифрами<br>';
    }
    elseif(strlen($login) < 2) 
    {
        $ups .= 'Логин короче 2-х символов ('.strlen($login).')<br>';
    }
    elseif(strlen($login) > 255) 
    {
        $ups .= 'Логин длинее 255-ти символов ('.strlen($login).')<br>';
    }
}
else{
    $ups .= 'Введите логин<br>';
}

Cравнение: Email

if(!empty($_POST['email']))
{
    $email = strtolower(trim($_POST['email']));

    if(!preg_match("/^([a-z,0-9])+@([a-z,0-9])+(.([a-z,0-9])+)+$/", $email)) 
    {
        $ups .= 'Неверный формат e-mail<br>';
    }
    elseif(strlen($email) < 7) 
    {
        $ups .= 'E-mail короче 7-ми символов ('.strlen($email).')<br>';
    }
    elseif(strlen($email) > 50) 
    {
        $ups .= 'E-mail длинее 50-ти символов ('.strlen($email).')<br>';
    }
}
else{
    $ups .= 'Введите e-mail<br>';
}

Cравнение: Телефон

if(!empty($_POST['tel']))
{
    $tel = trim($_POST['tel']);

    if(!ereg("^[0-9' + -]+$", $tel)) 
    {
        $ups .= 'Вводите номер домашнего телефона только цифрами<br>';
    }
    elseif(strlen($tel) < 7) 
    {
        $ups .= 'Номер домашнего телефона короче 7-ми символов ('.strlen($tel).')<br>';
    }
    elseif(strlen($tel) > 15) 
    {
        $ups .= 'Номер домашнего телефона длинее 15-ти символов ('.strlen($tel).')<br>';
    }
}

Cравнение: Мобильный

if(!empty($_POST['telmob']))
{
    $telmob = trim($_POST['telmob']);

    if(!ereg("^[0-9' + -]+$", $telmob)) 
    {
        $ups .= 'Вводите номер мобильного телефона только цифрами<br>';
    }
    elseif(strlen($telmob) < 7) 
    {
        $ups .= 'Номер мобильного телефона короче 7-ми символов ('.strlen($telmob).')<br>';
    }
    elseif(strlen($telmob) > 17) 
    {
        $ups .= 'Номер мобильного телефона длинее 17-ти символов ('.strlen($telmob).')<br>';
    }
}

Cравнение: Пароль

if(!empty($_POST['pass']))
{
    $pass = trim($_POST['pass']);
    $pass2 = trim($_POST['pass2']);

    if(!ereg("^[A-Za-z0-9'-]+$", $pass)) 
    {
        $ups .= 'Вводите пароль английскими буквами и/или цифрами<br>';
    }
    elseif(strlen($pass) < 6) 
    {
        $ups .= 'Пароль короче 6-ти символов<br>';
    }
    elseif(strlen($pass) > 17) 
    {
        $ups .= 'Пароль длинее 17-ти символов<br>';
    }
}
else{
    $ups .= 'Введите пароль<br>';
}
if($_POST['pass'] != $_POST['pass2'])
{
    $ups .= 'Пароли не совпадают<br>';
    $pass = '';
    $pass2 = '';
}

Cравнение: Антиспам

if(empty($_POST['robot']))
{
    $ups .= 'Поставьте птичку, что Вы не робот<br>';
}
else{
    $robot = 'checked="checked"';
}

Cравнение: Проверка сайта

elseif(!preg_match("/^[a-z,0-9]+.[a-z,0-9]+$/", $site))
elseif(!ereg("^[a-z,0-9.' -]+$", $site))

Cравнение: Switch

// выполняю действие в зависимости от значения переменной
  $rezjim = 'Включить';

  switch($rezjim)
  {
    case 'Включить': //случай
    echo ''; //действие
    break;

    case 'Выключить': //случай
    echo ''; //действие
    break;

    default: //иной случай
    echo 'Выберите действие'; //действие
    break;
  }
$action = 'JUMP';

switch ($action) {
  case 'JUMP':
    echo "Мне нравится прыгать.<br>";
  case 'SWEEM':
    echo "Я люблю плавать.<br>";
  case 'FLY':
    echo "Хотел бы я научиться летать.<br>";
}

Массивы: Создаём массив $array (каждый ключ будет равняться номеру строки в файле)

$file=file("my_file.txt");
print_r($file); 

Массивы: Используем в качестве разделителя :: (два двоеточия)

$string="Вася::Петров::25::";
$array=explode("::",$string);
echo "Имя: ".$array[0].", фамилия: ".$array[1].", возраст:   ".$array[2]; 

Массивы: Случайно перемешать элементы массива

Для этой цели, как и для многих других типовых действий с массивами, в PHP есть готовые функции:

 $items = array (1,2,3,4,5);
 shuffle ($items);
 print_r ($items);

Массивы: Определяем в какой стране живёт посетитель

$host=gethostbyaddr($REMOTE_ADDR);

$countrys=array(
ru => Россия,
ua => Украина,
kz => Казахстан
);
$array=array_reverse(explode(".",$host));

if(!empty($countrys[$array[0]]))
echo "Ваша страна: ".$countrys[$array[0]];

else echo "Откуда Вы пришли - я не знаю :(";

Массивы: Вставка новых элементов в массив

$names = array();
array_push($names, 'David', 'John');

Массивы: Удалить элемент из массива

unset($names['David']);
// or...
unset($names[0]);

Массивы: Переиндексируйте значения после удаления элемента

$names = array_values($names);

Массивы: Обратить массив

$reversed = array_reverse($names);

Массивы: Объедините два или более массива

$merged = array_merge($arr1, $arr2);

Массивы: Вернуть только ключи массива

$keys = array_keys(array('name' => 'David', 'age' => 28));

Массивы: Сортировать массив

sort($names);

Массивы: Отсортируйте массив в обратном порядке, реверс

rsort($names);

Массивы: Проверяем, существует ли элемент в массиве

if (in_array('David', $names)) {
    // item exists
}

Массивы: Проверьте, существует ли ключ в массиве

if (array_key_exists('name', array('name' => 'David', 'age' => 28))) {
    // key exists
}

Массивы: Подсчитайте количество элементов в массиве

count($names);

Массивы: Преобразовать список, разделенный запятыми, в массив

$array = explode(',', 'david,john,warren,tracy');

Массивы: Объединяем 3 файла в один массив, а именно в $new_array

$files=array(
"file1.txt", # первый файл
"file2.txt", # второй файл
"file3.txt" # третий файл
);

for($i=0;$i<count($files);$i++)
{
$array[]=file($files[$i]);
}

while(list(,$result)=each($array))
{
for($i=0;$i<count($result);$i++)
{
$new_array[]=$result[$i];
}
}

print_r($new_array); #выводим массив

Массивы: Массив сокращённый

$streets = array("Вязов", "Дубов", "Авеню"); // отсчёт с нуля
$streets = array(12 => "Вязов", "Дубов", "Авеню"); // отсчёт с 12
$streets = array("V" => "Вязов",
         "D" => "Дубов",
         "A" => "Авеню");

$years = range(2001, 2010); // тут 10 массивов, см. ниже
$years[0] = 2001
$years[1] = 2002
...
$years[9] = 2010

Массивы: Вывод элементов массивов

echo "<pre>";
var_dump($castomers);
echo "</pre>";

Массивы: Красивый вывод элементов массивов

echo "<pre>";
print_r($castomers);
echo "</pre>";

Массивы: Перебор элементов массива вручную

current($имя_массива) возвращает текущее значение элемента масива, не перемещая указатель
next($имя_массива) перемещает указатель вперЄд на один элемент
previous($имя_массива) перемещает указательназад на один элемент
end($имя_массива) перемещает указатель в конец массива
reset($имя_массива) перемещает указатель в начало массива

Массивы: Данные из конца массива

$count_sites = end($file_list_sites);

Массивы: Проход по массиву

foreach($имя_массива as $ключ => $значение) //после прохода указатель возвращается в начало
{
   набор операторов;
}

Пример прохода по массиву:

foreach($_SERVER as $key => $value) //информация о сервере
{
echo "<p>$key<br>$value</p>";
}

$serverURL = foreach($_SERVER_NAME as $key => $value);

Массивы: Преобразование текстовой строки в массив

$str = "это: новый: дом";
$test = explode(":", $str);
print_r($str);
print_r($test);

Массивы: Преобразование массива в текстовую строку

$str = array("красный", "синий", "зеленый");
$test = implode(";", $str);
print_r($str);
print_r($test);

Массивы: Преобразование массива в переменные

$str = array("red" => "красный", "blue" => "синий");
extract($str);
echo "$red";
echo "$blue";

Массивы: Преобразование переменных в массив

$color1 = "красный";
$color2 = "синий";
$a = "фиолет";
$b = "оранж";
$arrayIn = array("a", "b");
$arrayOut = compact("color1", "color2", $arrayIn);

// результат обработки
// $arrayOut[color1] = красный
// $arrayOut[color2] = синий
// $arrayOut[a] = фиолет
// $arrayOut[b] = оранж

Массивы: Разбиение массива

$test = array("крас", "зел", "син", "роз");
$sab = array_slice($test, 1, 2); // элемент с которого начинается разбиение, 2 - количество элементов

// результат обработки
// [0] => зел
// [1] => син

Массивы: Сравнение массивов

if(!in_array($userfile[1], $files_type))
{
  $ups .= '«загружаемый формат не поддерживается<br>';
}

Массивы: Объединение массивов

$big = array_merge($массив1, $массив2, ...);

Массивы: Суммирование массивов

$sum = array_sum($имя_массива);

Массивы: Удаление повторяющихся элементов

$delete = array_unique($имя_массива);

Массивы: Перестановка ключей и значений в массиве

// иммется массив
$1['r'] = red
$1['b'] = bl

// перестановка
$pere = array_flip($test);

// результат обработки
// $1['red'] = r
// $1['bl'] = b

Массивы: Многомерный массив (массив массивов)

$food['vegetable']['apple'] = 1.25;

Массивы: Создание многомерного массива

$food = array(
  "vegetable" => array("potato" => 1.00, "onion" => .50),
  "fruit" => array("orange" => 2.50, "apple" => 2.00),

Массивы: Информация об имени текущего запущенного сценария

echo $_SERVER['PHP_SELF']; // путь до запущенного файла (без адреса сайта)

Массивы: Информация о сервере

foreach($_SERVER as $key => $value) 
{
  echo "<p><b>$key</b><br>$value</p>";
}

Массивы: Урл сервера (url сайта)

echo $_SERVER['SERVER_NAME'];

Массивы: Адрес до страницы без урла сайта

echo $_SERVER['SCRIPT_NAME'];

Переменные: Возможные удобные сокращения

$r = 'результат';
$i = 'вставить или записать';
$u = 'обновить';
$d = 'удалить';
$t = 'время';
$e = 'ошибка';
$s = 'строка';
$n = 'номер';
$ups = 'ошибки';
$oke = 'не ошибки';
$st = 'старт';
$en = 'финиш';
$arr = 'массив';
$t = 'время';
$st = microtime(); // стартовое время
$et = microtime(); // конечное время
$url_p = 'урл страницы';
$url_i = 'урл картинки';

Переменные: Удалить переменную

$ade = __; 
// или
unset($ade, $ade1, $ade2);

Переменные: Константы

define("RATE", 2850);
echo RATE; // вывод константы

Папки: Проверяю существование каталога

if(is_dir("cashe"))
{
}

Папки: Выводим содержимое папки c:/windows:

$dir="c:/windows"; # папка, которую нужно прочитать

if($OpenDir=opendir($dir))
{
while(($file=readdir($OpenDir)) !== false)
if($file != "." && $file != "..")
echo $file."<br>";
}

else echo "нет прав";

Папки: Создаю папку

mkdir("cashe");
chmod("cashe", 0777);

Папки: Создаю папку для сайта

if(is_dir("$www_site")) 
{
  echo "ѕапка $www_site уже существует.<br>";
}
else{
  mkdir("$www_site");
  echo "ѕапка $www_site создана.<br>";
}

Папки: Удаляю папку

rmdir("cashe");

Папки: Путь до каталога, имя и расширение файла

$pathinfo = pathinfo("$file");
echo "<pre>";
var_dump($pathinfo); // массив
echo "</pre>";

Формы: Атрибуты

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">

<form action="" method="post" enctype="multipart/form-data">

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

<form action="" method="post">

Формы: Поля

<input id="inp" type="text" name="user" value="<?php echo $_POST['user'];?>" />

<input id="inp" type="password" name="pass" value="<?php echo $_POST['pass'];?>" />

<input name="submit" type="submit" value="Войти"/>

<input type="hidden" name="user" value="5" />

<input name="userfile" type="file" size="70"></p>

Формы: Обработка

empty() - пустой
isset() - установлено

$user = $_POST['user'];
$user = $_GET['user'];

if(isset($user))
{ 
  $user = addslashes($user);
  $user = htmlspecialchars($user); // заменяем спецсимволы на их HTML-мнемоники
  $user = stripslashes($user); // вырезаем знак обратного слеша
  $user = str_replace("/","",$user);  // вырезаем слеш
  $user = str_replace(".","",$user);   // вырезаем точки
  $user = str_replace("`","",$user);  // вырезаем обратную кавычку
}

// или

if(isset($user))
{ 
  if (preg_match("/[0-9a-z_]/i", $user)) 
  {
  // действия над именем
  } 
  else { echo "Вы не ввели имя!";  } 
}

Формы: Проверка

if(isset($_POST['submit']))
{
  echo "<p><b id=1>Вопрос добавлен в базу</b></p>";
}

Формы: Ошибки

if(!empty($ups))
{
  $ups = '<b id="0">'.$ups.'</b>';
  echo $ups;
}

Формы: Не ошибки

if(!empty($oke))
{
  $oke = '<b id="1">'.$oke.'</b>';
  echo $oke;
}

Формы: Отправка на e-mail

mail("mail@mail.com", "тема письма", $message,
 "From: webmaster@$SERVER_NAMErn"
."Reply-To: webmaster@$SERVER_NAMErn"
."X-Mailer: PHP/" . phpversion());

$ip = $_SERVER['SERVER_ADDR'];

$text = 'текст письма';
$sub = 'тема письма';
$name = 'имя отправителя';
$email = 'емаил отправителя';
$cms_email = 'емаил админа сайта';

if(empty($ups))
{
  $text = str_replace("n",'<br>',$text);//замена

  $mes = "<a href=http://".$_SERVER['HTTP_HOST'].">".$_SERVER['HTTP_HOST']."</a>
  Пишет: $name<br><br>
  $text<br><br>";

  $sub = '=?utf-8?B?'.base64_encode($sub).'?=';

  $un = strtoupper(uniqid(time()));

  $headers  = "From:$email<$email>n";
  $headers .= "Subject:$subn";
  $headers .= "X-Mailer:PHPMail Tooln";
  $headers .= "Reply-To:$emailn";
  $headers .= "Mime-Version:1.0n";
  $headers .= "Content-Type:multipart/mixed;";
  $headers .= "boundary="----------".$un.""nn";
  $headers .= "------------".$un."nContent-Type:text/html; charset="utf-8"n";
  $headers .= "Content-Transfer-Encoding:quoted-printablenn$mesnn";

  //$verify = mail($cms_email, $sub, '', $headers); 

  if($verify == true)
  {
    $oke .= 'Письмо отправлено<br>';
  }
  else{
    $ups .= 'Глобальная ошибка! Письмо не отправлено, напишите на '.$cms_email.'<br>';
  }
}

Формы: Получите значение из параметров URL

// index.php?name=david
echo $_GET['name'];

Формы: Проверьте, существует ли переменная запроса

if (isset($_GET['name'])) {
    // exists
}

Формы: Отправить данные формы в PHP-скрипт, HTML-файл

<form action="login.php" method="post">
    Username: <input type="text" name="username"><br>
    Password: <input type="password" name="password"><br>
    <input type="submit">
</form>

login.php:

$user = $_POST['username'];
$pass = $_POST['password'];
echo 'Your username is '  . $user . ' and your password is ' . $pass . '.';

Сессии: Открываю сессию

session_start();
$_SESSION['username'] = $name;
echo 'Здравствуйте, '.$_SESSION['username']."<br>";
print_r($_SESSION);

Сессии: Передаю сессии на другую страницу

session_start();
echo $_SESSION['username'].' , Вы не забыты!';

Сессии: Разрегистрирую сеансовую переменную и уничтожаю сессию

session_start();
unset ($_SESSION['add_site']);// сброс
session_destroy(); // уничтожаю сессию

Сессии: Этот фрагмент создаст новый сеанс

Сеансы действуют как файлы cookie, но хранятся на сервере, а не на компьютере клиента:

session_start();
$_SESSION['name'] = 'David';

Сессии: Освободите все переменные сеанса

session_unset();

Сессии: Уничтожьте все переменные сеанса

session_destroy();

Текстовые строки: Удаляет пробелы

$step = trim($step) // удаляет пробелы в начале и в конце строки
$step = ltrim($step) // удаляет пробелы в начале строки
$step = rtrim($step) // удаляет пробелы в конце строки

Текстовые строки: Замена нескольких пробелов на один

$string="Здесь много лишних пробелов!";
$string=ereg_replace(" +"," ",$string);
echo $string; 

Текстовые строки: Удаление лишних пробелов по-левому и правому боку текста

$string=" Текст с лишними пробелами по бокам. ";
$string=trim($string);
echo $string; 

Текстовые строки: Удаление лишних пробелов по-левому боку текста

$string=" Текст с лишними пробелами по бокам.";
$string=ltrim($string);
echo $string; 

Текстовые строки: Удаление лишних пробелов по-правому боку текста

$string="Текст с лишними пробелами по бокам. ";
$string=rtrim($string);
echo $string; 

Текстовые строки: Удаление всех тэгов

$string="<b>мой жирный текст</b>";
$string=strip_tags($string);
echo $string; 

Текстовые строки: Удаление всех тэгов, кроме <b> и <i>:

$string="<h1>большой текст</h1> <b><i>текст</i></b>";
$string=strip_tags($string,"<b><i>");
echo $string; 

Текстовые строки: Количество символов в строке

// считаем при помощи strlen количество символов в строке
$count = strlen($text);

Текстовые строки: Преобразует в нижний регистр

// преобразует строку в нижний регистр
strtolower();

Текстовые строки: Вырезаем первые 10 символов из строки

$line = substr($line,0,10);

Текстовые строки: Вырезаем всю оставшуюся часть строки после 10 символа

$line = substr($line,9);

Текстовые строки: Находим позицию буквы Д в строке

$line = strpos($line, 'Д');

Текстовые строки: Проверяю строку

$string = 'Сисадмин';
echo "$string<p>";
if(ereg("^С[а-я]*", $string))
{
  echo 'Строка начинается с буквы С';
}

Текстовые строки: Заменяем %text%

Например на слово хорошее, строгий регистр, т.е. заменится только %text%, но не %TexT%:

$string="Сегодня у меня %text% настроение.";
$string=str_replace("%text%","хорошее",$string);
echo $string; 

Например на слово плохое, нестрогий регистр, т.е. заменится %Text%, %TEXT%, %TexT%, %tExT%:

$string="Сегодня у меня %Text% настроение.";
$string=eregi_replace("%text%","плохое",$string);
echo $string; 

Текстовые строки: Проверяем, есть ли в тексте определенное слово

Проверяем, есть ли в тексте слово привет, нестрогий регистр, т.е. ищется и ПриВеТ, и ПРИВЕТ и приВЕТ и т.д.:

$string="Всем привет, как делишки? :)";

if(eregi("привет",$string))
{
# если слово найдено, то
# выполняется эта часть кода
}

else
{
# если слово не найдено, то
# выполняется эта часть кода
} 

Проверяем, есть ли в тексте слово хорошо, строгий регистр, т.е. ищется только слово хорошо:

$string="пусть всё будет хорошо";

if(ereg("хорошо",$string))
{
# если слово найдено, то
# выполняется эта часть кода
}

else
{
# если слово не найдено, то
# выполняется эта часть кода
} 

Проверяем, есть ли в тексте символ @:

$string="Меня зовут В@сей";

if(strstr($string,"@"))
{
# если символ найден, то
# выполняется эта часть кода
}

else
{
# если символ не найден, то
# выполняется эта часть кода
} 

Текстовые строки: Кодирум текст в crc32

$string="всем привет";
$string=crc32($string);
echo $string; 

Текстовые строки: Кодирум текст в md5

$string="всем пока";
$string=md5($string);
echo $string; 

Текстовые строки: Заменяем [b] на <b> и [/b] на </b>

$string="<b>как делишки?</b>";
$string=htmlspecialchars($string);
echo $string; 

Текстовые строки: Считываем первые 10 символов из текста

$string="мне нравится программировать на...";
$string=substr($string,0,10);
echo $string; 

Текстовые строки: Считываем первые 6 слов из текста

$words="6"; # количество считываемых слов
$string="Сегодня я забрёл на хороший сайт. Адрес не скажу!!! :)";
$array=explode(" ",$string);
for($i=0;$i<$words;$i++)
{
$new_string.=$array[$i]." ";
}
$string=trim($new_string);
echo $string; 

Текстовые строки: Определяем количество символов в тексте

$string="Мой дядя самых честных правил.";
$symbols=strlen($string);
echo $symbols; 

Текстовые строки: Заменяем все буквы в тексте на маленькие

$string="ВоЛнОоБрАзНыЙ ТеКсТ";
$string=strtolower($string);
echo $string; 

Текстовые строки: Заменяем все буквы в тексте на большие

$string="Давайже жить дружно.";
$string=strtoupper($string);
echo $string; 

Текстовые строки: Меняем все буквы в тексте на маленькие и делаем самую первую букву заглавной

$string="ура! Тётя Ася приехала";
$string=ucfirst(strtolower($string));
echo $string; 

Текстовые строки: Избавиться от пустых строк в тексте

 function removeEmptyLines ($string) {
return preg_replace("/(^[rn]*|[rn]+)[st]*[rn]+/", "n", trim($string));
 }
 $s = 
 "   За мусор       енный

 t
 т

екстrnrn";
 echo '<pre>'.removeEmptyLines($s).'</pre>';

Текстовые строки: Удалить из строки или текста все лишние разделители

Удалить из строки или текста все лишние разделители, в том числе, между словами (обратите внимание, что этот код также вытянет изначально многострочный текст в одну строку, иногда это удобно):

function trimall ($string) { 
return preg_replace("/s+/"," ",trim($string));
 }
 $s = 
 "   За мусор       енный

 t
 т

екстrnrn";
 echo '<pre>'.trimall($s).'</pre>';

Текстовые строки: Заменить текст в строке

str_replace('Apple', 'Orange', 'My favourite fruit is an Apple.');

Текстовые строки: Заменить несколько слов в строке

str_replace(array('fruit', 'Apple'), array('Vegetable', 'Carrot'), 'My favourite fruit is an Apple.');

Текстовые строки: Содержит ли строка определенное слово

if (strpos('My name is David.', 'David') !== false) {
    // String contains David
}

Текстовые строки: Разное

$line = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'; // задаем текстовое значение переменной
$pos = strpos($line, 'КЛМН'); // находим позицию где начинается отрезок нужных символов
$pos = $pos + strlen('КЛМН'); // находим позицию где заканчивается отрезок нужных символов
$a = substr($line,$pos); // вырезаем часть строки
echo($a); // выводим результат

Загрузка: Имя файла

// имя файла до его отправки на сервер, например, pict.gif
$_FILES['filename']['name']

Загрузка: Размер принятого файла в байтах

$_FILES['filename']['size']

Загрузка: Тип принятого файла

// MIME-тип принятого файла (если браузер смог его определить), например: image/gif, image/png, image/jpeg, text/html
$_FILES['filename']['type']

Загрузка: Имя файла во временном каталоге

// содержит имя файла во временном каталоге, например: /tmp/phpV3b3qY
$_FILES['filename']['tmp_name']

Циклы: Синтаксис

while(условие)
{
  действие
}
for(иницмализация; условие; делать после прохода)
{
  действие
}

Циклы: Повторяю строку три раза

for($i = 1; $i <= 3; $i++)
{
echo "$i. Привет!<br>";
}

// или так

for($i = 1; $i <= "3. Привет!"; $i++)
{
echo "$i. Привет!<br>";
}

Random: Инициализация генератора случайных чисел

srand(1288);
for($i=0; $i<5;$i++){
    echo rand();
    echo "<br>";
}
echo rand();
echo rand(1,100); // Выдаем случайное число от 1 до 100

mt_rand()

Random: Случайная строка из файла

$ourFile = fopen('blocks/text1.php', 'r');
for($i = 0; $s = fgets($ourFile, 10000); $i++) 
{
  if(mt_rand(0, $i) == 0) $line = $s;
}
echo $line;

Random: Случайное число

function PassSalt($n=3)
{
  $key = '';
  $pattern = '1234567890abcdefghijklmnopqrstuvwxyz,*_-=+';
  $counter = strlen($pattern)-1;
  for($i=0; $i<$n; $i++)
  {
    $key .= $pattern{rand(0,$counter)};
  }
  return $key;
}
$HeshPass = PassSalt();

Random: Случайный пароль

//Символы, которые будут использоваться в пароле
$chars = "qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP"; 
// Количество символов в пароле
$max = 17; 
// Определяем количество символов в $chars 
$size = strlen($chars)-1; 
// Определяем пустую переменную, в которую и будем записывать символы
$active = null; 
// Создаём пароль
while($max--) 
$active .= $chars[rand(0, $size)]; 
// Выводим созданный пароль
echo $active;

Random: Счётчик для случайной рекламы

session_start();
if($_SESSION['n'] <= 3)
{
  $_SESSION['n']++;
  $n = $_SESSION['n'];
}

if ($n == 1) {echo 'реклама 1';}
if ($n == 2) {echo 'реклама 2';}
if ($n == 3) {echo 'реклама 3';}
if ($n == 4) {echo 'реклама 4';}

Базы данных: Соединение

$db_host = 'localhost';
$db_base = 'база_данных';
$db_user = 'имя_пользователя';
$db_pass = 'пароль';

$db = mysql_connect($db_host, $db_user, $db_pass) or die ('Ошибка! Сервер не отвечает');
$select_db = mysql_select_db($db_base, $db) or die ('Ошибка! База данных не отвечает');
echo 'Соединение с БД установлено';

mysql_close($db);

Базы данных: Заменить кодировку

$stroka = iconv('UTF-8', 'WINDOWS-1251', $win_stroka); // в первых кавычках исходная кодировка, во вторых — целевая, потом переменная с кодируемым текстом

Базы данных: Выбрать из таблицы

$r = mysql_query("SELECT name, email FROM users WHERE name='$name'", $db) or die ($err);
$rn++;
$row = mysql_fetch_array($r);

echo $row['name'];

while($row = mysql_fetch_array($r))
{
  echo '<p>'.$row['name'].'</p>';
}

Базы данных: Посчитать количество полей

$rows = mysql_num_rows($r);

// или так

$r = mysql_query("SELECT COUNT(*) FROM users", $db) or die ($err);
$row = mysql_fetch_array($r);
echo $row[0];

Базы данных: Дополнительные параметры запросов

ORDER BY id // сортировать по id
LIMIT 1 // сколько вывести результатов
DESC // сортировать в обратном порядке
ORDER BY RAND() // случайный выбор - не использовать - нагрузка на сервер

Базы данных: Записать данные в таблицу

$i = mysql_query("INSERT INTO users (name, login) VALUES ('Дима', 'Dima')", $db);
$rn++;

if($i == true)
{
  $oke .= 'Данные записаны<br>';
}
else{
  $ups .= 'Ошибка, данные не записаны<br>';
  exit('<b id=0>Ошибка, данные не записаны</b><br>');
}

Базы данных: Обновить данные в таблице

$u = mysql_query("UPDATE users SET name='$name', login='$login' WHERE id='$id'", $db);
$rn++;

if($u == true)
{
  $oke .= 'Данные обновлены<br>';
}
else{
  $ups .= 'Ошибка, данные не обновлены<br>';
}

Базы данных: Удалить строку из таблицы

$d = mysql_query("DELETE FROM users WHERE id='$id'");
$rn++;

if($d == true)
{
  $oke .= 'Пользователь удалён<br>';
}
else{
  $ups .= 'Пользователь не удалён<br>';
}

Базы данных: Поиск в таблице

$r = mysql_query("SELECT * FROM tovar WHERE cat='$cat' AND MATCH(text) AGAINST('$word')", $db) or die ($err);
$rn++;

Базы данных: Выбрать вчерашние комментарии

$r = mysql_query("SELECT comment, DATE_SUB(CURDATE(), INTERVAL 1 DAY) FROM comments", $db) or die ($err);

Базы данных: Вывод ошибок

$u = mysql_query("UPDATE users SET name='$name' WHERE id='$id'", $db) or die(mysql_error());

Базы данных: Создать БД

$sql = 'CREATE DATABASE `new_db`';

mysql_query('CREATE TABLE `konkurs` ('
    . ' `id` INT(10) NOT NULL AUTO_INCREMENT, '
    . ' `name` VARCHAR(21) NOT NULL, '
    . ' `login` VARCHAR(21) NOT NULL, '
    . ' `email` VARCHAR(41) NOT NULL, '
    . ' PRIMARY KEY (`id`)'
    . ' )';

Базы данных: Удалить таблицу из БД

$sql = 'DROP TABLE `users`';

Базы данных: Уничтожить всю БД

$sql = 'CREATE DATABASE `new_db`';

Базы данных: Очистить всю таблицу

<?php
if(!empty($submit))
{
  $c = mysql_query("SELECT * TRUNCATE users", $db) or die ($err);
  if($c == true)
  {
    $oke .= 'Таблица users очищена';
  }
  else{
    $ups .= 'Ошибка, таблица users не очищена';
  }
}
?>

<form action="" method="post">
<input type="submit" name="submit" value="Очистить таблицу" />
</form>

Cтраница сгенерирована за

define('ST_T', microtime());
printf('Страница сгенерирована за %.5f сек', microtime()-ST_T);

Include

include('config.php');
include($_SERVER['DOCUMENT_ROOT'].'config.php');

Вывод всех ошибок, даже если их нет

ini_set('display_errors',1);
error_reporting(E_ALL);

Защита от прямого открытия

if($_SERVER['SCRIPT_NAME'] == '/tema/header.php')
{
  header('Location: /');
}

Обновить страницу

header('Refresh:3; URL=admin.php');
header('Refresh:0');
header('Location: /');

Счётчик

<?php
session_start();
session_register("a");
$a=@$a+1;
echo $a;
?>

<form method="get" action="question-006.php">
<input value="продолжить" type="submit">
</form>

Редирект

echo "<meta http-equiv='Refresh' content='0; URL=page.php'>";
exit();
<script>window.location.href="right.php" target="blank";</script>
<meta http-equiv='Refresh' content='0; URL=page.php'>

редирект через...

echo "<script>setTimeout('document.location="test.php"',3000);</script>";
<script>setTimeout('document.location="add_site.php"',3000);</script>
<script>setTimeout('document.location="javascript:history.back()"',3000);</script>

Обновить окно

echo "<button onClick="location.reload()">Обновить</button>";
echo "<p><button onClick=document.location.href='list_users.php'>Обновить</button></p>";
<script>document.location="page.php";</script>
<script>location.reload()</script>
<button onClick="location.reload()">Обновить</button>
<a href="javascript:location.reload()">Обновить</a>

Закрыть окно

header("Refresh:3; URL=window_close.php");
<body onload=window.close()>
<button onClick="window.close()">Закрыть</button>

Назад

<a href="javascript:history.back()">Назад</a>

Таймер

<script>setTimeout("имя_функции()",1000);</script>
<script>setTimeout("window.close()",3000);</script>

Кеш

echo "<meta http-equiv='Expires' content='Mon, 26 Jul 1997 05:00:00 GMT' />
<meta http-equiv='Pragma' content='no-cache' />";
nocache_headers();
sleep(10);

Ошибки

// ошибки
if(!empty($ups))
{
  $ups = '<b id="u">'.$ups.'</b>';
  echo $ups;
}
// не ошибки
if(!empty($oke))
{
  $oke = '<b id="o">'.$oke.'</b>';
  echo $oke;
}

Константы

define("RATE", 2850);
echo RATE; // вывод константы

Устанавливаем Cookie на один час

// устанавливаем Cookie 'test' со значением 'Hello' на один час
print_r($_COOKIE);
setcookie("test","Hello",time() + 3600);

// при следующем запросе скрипта выводит 'Hello':
echo @$_COOKIE['test'];

setcookie("mm_login", $_SESSION['login'], time() + 3600, "/"); // на час
setcookie("mm_login", $_SESSION['login'], time() - 3600, "/"); // удаление

setcookie("mm_login", $_SESSION['login'], time() + 2592000, "/"); // на месяц
setcookie("zoo_cookie", $row["cookie"], time() + 15000000, "/", ".my-site.by");

Дата: Вывод

echo date('j M Y');
$date = date('Y.m.d');
$time = date('H:i:s');

$date = date('Y.m.d H:i:s');

microtime();

Дата: Получить текущую дату в строковом формате

$date = date('Y-m-d H:i:s');
echo $date;

Дата: Получить дату по метке времени

$date = date('Y-m-d H:i:s', $timestamp);
echo $date;

Дата: Вывести сегодняшний день недели на русском

 $w = Array('Вс','Пн','Вт','Ср','Чт','Пт','Сб');
 echo $w[date('w')];

Дата: Показать текущие дату и время на сервере

 echo date('d.m.Y, H:i');

Конвертируем текст с кодировком windows-1251 в кодировку koi8-r:

$string="хорошая сегодня погода, верно?";
$string=convert_cyr_string($string,"w","k");

echo $string;

# w: windows-1251 
# k: koi8-r 
# i: iso8859-5
# a: x-cp866
# m: x-mac-cyrillic 

Получаем ASCII код, символа @:

$string=ord("@");
echo $string; 

Присваиваем переменной символ, ASCII кодом:

$string=chr("64"); # @
echo $string; 

Проверяем, существует ли функция imagecreate():

$function="imagecreate"; # имя функции, которую будем проверять

if(function_exists($function))
{
echo "Функция ".$function."() - существует";
}

else
{
echo "Функция ".$function."() - не существует";
}

Проверяем, подключена ли библиотека GD:

$extension="gd"; # имя библиотеки

if(extension_loaded($extension))
{
echo "Библиотека ".$extension." - подключена";
}

else
{
echo "Библиотека ".$extension." - не подключена";
}

Показываем версию php интерпретатора:

echo phpversion();

Убираем ограничение времени на выполнения скрипта:

set_time_limit(0);

Показываем на экран монитора операционную систему, в которой работает php интерпретатор:

$os=explode(" ",php_uname());
$os=$os[0];
echo "Наша операционная система - ".$os;

Округляем десятичное число 8.4 по правилам математики:

$numeric="8.3"; # число
$numeric=round($numeric);
echo $numeric;

Округляем число 20.2347823947 до трёх знаков после точки:

$numeric="20.2347823947"; # число
$numeric=round($numeric,3);
echo $numeric;

Определяем из трёх чисел самое большое:

$max=max(2,13,9); # числа, через запятую
echo "Самое большое число: ".$max;

Определяем из трёх чисел самое меньшее:

$min=min(42,12,84); # числа, через запятую
echo "Самое меньшее число: ".$min;

Выводим случайное число от 0 до 100:

$rand=rand(0,100);
echo "Случайное число: ".$rand;

Определяем является-ли значение числом:

$string="55"; # значение

if(is_numeric($string)) {echo "число";}
else {echo "не число";}

Кодируем текст в base64:

$string="MyName"; # кодируемое
$encoded=base64_encode($string);

echo $encoded
// TXlOYW1l

Раскодируем текст из base64:

$string="TXlOYW1l"; # раскодируемое
$decoded=base64_decode($string);

echo $decoded
// MyName

Избегайте HTML-сущностей и кавычек:

htmlentities($text, ENT_QUOTES, "UTF-8");

Расшифровка HTML-сущностей:

html_entity_decode($text);`

Создайте хэш пароля:

$hash = password_hash('your_password', PASSWORD_DEFAULT);

Проверьте свои хешированные пароли:

if (password_verify('your_password', $hash)) {
    // hash is valid
}

Этот фрагмент будет перенаправлять на новую страницу:

header("Location: http://example.com/newpage.php");

Получите IP-адрес клиента:

if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}

Этот фрагмент получит содержимое файла с помощью cURL:

$url = 'http://example.com/file.json';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($curl);
curl_close($curl);

Использование PHP file_get_contents:

$result = file_get_contents('file.json');

Этот фрагмент получит файл JSON и расшифрует его:

$string = file_get_contents('file.json');
$json = json_decode($string, true);
// $json['name'] etc...

Кодировать массив PHP в JSON:

$array = array('name' => 'David', 'age' => 27);
$string = json_encode($array);
echo $string; // { "name" : "David", "age" : 27 }

Подключитесь к серверу memcached:

$memcached = new Memcached();
$memcached->addServer('127.0.0.1', 11211);

Установить элемент:

$memcached->set('name', 'David');

Получить предмет:

$memcached->get('name');

Отправить электронное письмо:

$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "rn" . 'Reply-To: webmaster@example.com' . "rn" . 'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);

Отображение времени выполнения скриптов:

$time_start = microtime(true); 
// Your scripts here...
echo 'Total execution time in seconds: ' . (microtime(true) - $time_start);

Этот фрагмент получит полный URL-адрес веб-сайта (замените HTTP на HTTPS, если сайт поддерживает SSL):

$url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

Этот фрагмент отформатирует ваш номер запятой:

$num = number_format(1000); 
echo $num; // 1,000

Форматировать число с десятичными знаками:

$num = number_format(1000.12, 2); 
echo $num; // 1,000.12

Разархивируйте файл на вашем сервере:

$zip = new ZipArchive;
$file = $zip->open('file.zip');
if ($file) {
    $zip->extractTo('/extract_path/');
    $zip->close();
    echo 'Archive extracted!';
}

Обнаружение мобильного устройства:

if (preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up.browser|up.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"])) {
    // Is mobile...
}

Посмотреть все настройки PHP на сервере:

 phpinfo();

Посмотреть все серверные переменные:

 foreach ($_SERVER as $k=>$v) echo "n<br><b>$k=</b>".$v;

Определить IP-адрес посетителя:

 echo getenv('REMOTE_ADDR');

Генерировать случайные числа, например, целые в заданных пределах, от 1 до 100 включительно:

 echo rand(1,100);

Генерировать вещественные случайные числа:

 echo mt_rand() / mt_getrandmax();

Получим вещественные равномерно распределённые числа от 0 до 1. Ну а масштабировать в любой другой диапазон легко, например, в [-5;5]:

 $a0 = mt_rand() / mt_getrandmax();
 $min = -5;
 $max = 5;
 $a = $min + $a0*($max-$min);
 echo $a;

Сканировать папку на сервере:

 $array = scandir('.');
 //здесь сканируется текущая папка (ссылка на неё - одной точкой)
 echo '<pre>';
 print_r($array);
 echo '</pre>';

Отобразить чужой сайт, документ:

 echo file_get_contents('http://google.com');

Показать пользователю адрес своего сайта:

 echo 'Вы находитесь на сайте '.$_SERVER['HTTP_HOST'];

Понравилось? Расскажи другим :)


[xxvv.ru © 2022] [К администрации ресурса не могут быть обращены претензии по поводу любого ущерба или вреда, понесенного в результате использования программного продукта, самого ресурса или размещенной на ресурсе информации. Пользователь использует ресурс исключительно на свой страх и риск.]

Обратная связь