Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен / web / example1 / Введение в PHP.doc
Скачиваний:
103
Добавлен:
18.05.2015
Размер:
3 Mб
Скачать

Генератор паролей на php

Пароль можно сгенеровать случайным образом при помощи функции uniqid(). Эта функция возвращает уникальный идентификатор, основываясь на значениях аргументов и текущего времени в микросекундах.

string uniqid([string $prefix=""[,bool $more_entropy=false]])

Если пустой prefix , возвращается 13 символов. Если more_entropy = TRUE, возвращается 23 символа. Пример:

<?php //app4.php Gen_id_password

/* A uniqid(), like: 4b3403665fea6 */

$code=uniqid();

$name='Valera';

printf("uniqid(): %s\r\n", $code);

echo "<br>";

printf("uniqid('name'): %s\r\n", uniqid($name,true));

?>

Результат:

uniqid(): 4ccc8b67e4e1d 

uniqid('name'): Valera4ccc8b67e4e3f8.01561952

Рассмотрим еще один способ генерация "равномерного" пароля на основе выборки случайного значения из массива символов

<form method=post>

<input type=text name=number value="6">

<input type=submit value="Генерировать">

</form><br><br>

<?php //app5.php

// $number - число символов в пароле

$number=$_POST['number'];

echo "Password:",generate_password($number);

function generate_password($number)

{

$arr = array('a','b','c','d','e','f',

'g','h','i','j','k','l',

'm','n','o','p','r','s',

't','u','v','x','y','z',

'A','B','C','D','E','F',

'G','H','I','J','K','L',

'M','N','O','P','R','S',

'T','U','V','X','Y','Z',

'1','2','3','4','5','6',

'7','8','9','0','.',',', );

// Генерируем пароль

$password = "";

for($i = 0; $i < $number; $i++)

{

// Вычисляем случайный индекс массива

$index = rand(0, count($arr) - 1);

$password .= $arr[$index];

}

return $password;

}

?>

Вывод:

Password:sjDaPM

Время выполнения скрипта

Время выполнения кода на PHP можно получить помощью функции:

string microtime([get_as_float ])

Еслиget_as_float=TRUE возвращается значение типа float в секундах. Пример:

<?php

$time_start = microtime(true);

// Sleep for a while

usleep(100);

$time_end = microtime(true);

$time = $time_end - $time_start;

echo "$time seconds\n";

?>

Вывод:

4.88758087158E-5 seconds

Календарь

<?php

class Calendar{

private $daysarray=array("","Пн","Вт","Ср","Чт","Пт","Сб","Вс");

private $month=array("1"=>"Январь", "2"=> "Февраль", "3"=>"Март", "4"=>"Апрель", "5"=>"Май", "6"=>"Июнь", "7"=>"Июль" ,"8"=>"Август", "9"=>"Сентябрь", "10"=>"Октябрь", "11"=>"Ноябрь", "12"=>"Декабрь");

private $daysinmonth, $weeks, $dayofweek, $dayofmonth, $dayofmonthlz;

private $monthlz; var $monthdays; var $year;

public function Calendar(){

$this->daysinmonth=date("t");

$this->weeks=$this->daysinmonth/7;

$this->weeks=round($this->weeks,0);

$this->dayofweek=date("w");

$this->dayofmonth=date("j");

$this->dayofmonthlz=date("d");

$this->monthlz=date("n");

$this->monthdays=date("t");

$this->year=date("Y");

$this->numberfirstday = date("w",mktime(0,0,0,date("m"),1,date("Y")));

}

public function show(){

echo "<font color=red><b>".$this->month[$this->monthlz]." (".$this->year.")</b></font>";

echo "<table width=\"200\" border=\"0\" cellspacing=\"0\" cellpadding=\"5\">\n\t<tr>\n";

for ($i = 1; $i <= 7; $i++) {

if($i>5){

echo "\t\t<td><font color=\"#E4723A\">".$this->daysarray[$i]."</font></td>\n";

}else{

echo "\t\t<td>".$this->daysarray[$i]."</td>\n";

}

}

echo "\t</tr>\n\t<tr>\n";

$j = 1;

while ($j <$this->numberfirstday) {

echo "\t\t<td> </td>\n";

$j++;

}

for ($i = 1; $i <=$this->monthdays; $i++) {

if($i==$this->dayofmonth){

echo "\t\t<td bgcolor=\"#FF8040\" align=\"center\"><b>".$i."</b></td>\n";

}else{

echo "\t\t<td align=\"center\">".$i."</td>\n";

}

if (round($j/7)-$j/7==0){

echo "\t</tr>\n\t<tr>\n";

}

$j++;

}

echo "\t</tr>\n</table>\n";

}

}

$obj = new Calendar();

$obj->show();

?>

Апрель (2009)

Пн

Вт

Ср

Чт

Пт

Сб

Вс

 

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

Соседние файлы в папке example1