$array
(каждый ключ будет равняться номеру строки в файле)::
(два двоеточия)$new_array
c:/windows
:<b>
и <i>
:%text%
[b]
на <b>
и [/b]
на </b>
@
:imagecreate()
:PHP сниппеты – это полезные строки PHP кода, которые можно применить при разработке. Коллекция готовых полезных функций и коротких сниппетов, которые направлены на решения конкретных задач. Не ищите дальше, просто скопируйте и вставьте эти полезные фрагменты в свои проекты. Эти сниппеты полезны, если вы регулярно разрабатываете приложения PHP, сохраните страницу в закладках для дальнейшего использования.
r
- только чтение (выводится предупреждение)r+
- чтение и запись (выводится предупреждение)w
- только запись (создается новый файл, старый перезаписывается)w+
- чтение и запись (создается новый файл, старый перезаписывается)a
- добавление данных в конец файла (создается новый файл)a+
- чтение и добавление данных в конец файла (создается новый файл)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);
$line = fgets($file, 5);
$line = file_get_contents('test.txt', 1);
$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<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);
$file=file("text.txt"); # будем считывать строки с файла text.txt
$strings="5"; # количество считываемых строк
for($i=0;$i<$strings;$i++)
{
$string.=$file[$i];
}
echo $string;
$file=file("text.txt"); # будем считывать строки с файла text.txt
$strings="5"; # количество считываемых строк
for($i=count($file)-$strings;$i<count($file);$i++)
{
$string.=$file[$i];
}
echo $string;
$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." - не найдено";
}
$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); //будет удалён при закрытии
==
- равнозначны ли значения двух переменных===
- одинаковы ли как значения, так и типы двух переменных>
- больше ли первое значение, чем второе>=
- верно ли, что первое значение не меньше второго<
- меньше ли первое значение, чем второе<=
- верно ли, что первое значение не больше второго!=
- не равны ли значения двух переменных!==
- не одинаковы ли значения или типы данных двух переменныхif
- еслиor
- илиand
- иelse
- ещёempty
- пустоisset
- установленоdie
- пcевдоним функции exit()если if
ложно, то выполняется elseif
или следующий if
если все if
ложны, то выполняется else
if(!empty($url_id[2]))
{
$id = $url_id[2];
if(!ereg("^[0-9]+$", $id))
{
header('Location: /404');
exit();
}
}
if(isset($_POST['submit']))
{
echo 'Кнопка нажата';
}
if(!empty($ups))
{
$ups = '<b>'.$ups.'</b>';
echo $ups;
}
if(!empty($oke))
{
$oke = '<b>'.$oke.'</b>';
echo $oke;
}
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>';
}
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>';
}
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>';
}
}
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>';
}
}
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 = '';
}
if(empty($_POST['robot']))
{
$ups .= 'Поставьте птичку, что Вы не робот<br>';
}
else{
$robot = 'checked="checked"';
}
elseif(!preg_match("/^[a-z,0-9]+.[a-z,0-9]+$/", $site))
elseif(!ereg("^[a-z,0-9.' -]+$", $site))
// выполняю действие в зависимости от значения переменной
$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');
$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>";
}
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;
}
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>';
}
}
// index.php?name=david
echo $_GET['name'];
if (isset($_GET['name'])) {
// exists
}
<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();
$line = substr($line,0,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
{
# если символ не найден, то
# выполняется эта часть кода
}
$string="всем привет";
$string=crc32($string);
echo $string;
$string="всем пока";
$string=md5($string);
echo $string;
[b]
на <b>
и [/b]
на </b>
$string="<b>как делишки?</b>";
$string=htmlspecialchars($string);
echo $string;
$string="мне нравится программировать на...";
$string=substr($string,0,10);
echo $string;
$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>";
}
srand(1288);
for($i=0; $i<5;$i++){
echo rand();
echo "<br>";
}
echo rand();
echo rand(1,100); // Выдаем случайное число от 1 до 100
mt_rand()
$ourFile = fopen('blocks/text1.php', 'r');
for($i = 0; $s = fgets($ourFile, 10000); $i++)
{
if(mt_rand(0, $i) == 0) $line = $s;
}
echo $line;
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();
//Символы, которые будут использоваться в пароле
$chars = "qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP";
// Количество символов в пароле
$max = 17;
// Определяем количество символов в $chars
$size = strlen($chars)-1;
// Определяем пустую переменную, в которую и будем записывать символы
$active = null;
// Создаём пароль
while($max--)
$active .= $chars[rand(0, $size)];
// Выводим созданный пароль
echo $active;
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>
define('ST_T', microtime());
printf('Страница сгенерирована за %.5f сек', microtime()-ST_T);
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 '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');
$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
@
:$string=ord("@");
echo $string;
$string=chr("64"); # @
echo $string;
imagecreate()
:$function="imagecreate"; # имя функции, которую будем проверять
if(function_exists($function))
{
echo "Функция ".$function."() - существует";
}
else
{
echo "Функция ".$function."() - не существует";
}
$extension="gd"; # имя библиотеки
if(extension_loaded($extension))
{
echo "Библиотека ".$extension." - подключена";
}
else
{
echo "Библиотека ".$extension." - не подключена";
}
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] [К администрации ресурса не могут быть обращены претензии по поводу любого ущерба или вреда, понесенного в результате использования программного продукта, самого ресурса или размещенной на ресурсе информации. Пользователь использует ресурс исключительно на свой страх и риск.]