Решение

Файл lab2.php

<?php

// Если из командной строки не передано число -- прекратить работу.

if ($argc<2)

{

die("Укажите двоичное число в качестве параметра командной

строки.");

}

// Извлечение числа из параметров, переданных из командной строки.

$num = $argv[1];

// Проверка длины введённых данных.

if (strlen($num)>100)

{

die('Вы ввели слишком длинное число.');

}

/* Проверка того, что из командной строки передано двоичное число.

Данную проверку можно выполнить более эффективно с помощью регулярных

выражений, что и будет показано в закомментированном блоке кода. */

for ($i=0; $i<strlen($num); $i++)

{

if (($num[$i]!='0')&&($num[$i]!='1'))

{

die('Переданное число не является двоичным.');

}

}

/* Та же проверка через регулярные выражения:

if (preg_match("/[^01]/", $num))

{

die('Переданное число не является двоичным.');

}

*/

// Конвертация и вывод результата.

echo bindec($num);

?>


Пример выполнения работы №3

Вариант N: написать функцию, формирующую список только файлов в указанном из командной строки каталоге. В список включить размер файлов в байтах и килобайтах, а также время создания, модификации и последнего обращения к файлу.

Решение

Файл lab3.php

<?php

// Если из командной строки не передано имя

// каталога -- прекратить работу.

if ($argc<2)

{

die("Укажите имя каталога в качестве параметра командной

строки.");

}

// Извлечение имени каталога из

// параметров, переданных из командной строки.

$dir_name = $argv[1];

// Проверка существования каталога.

if (!is_dir($dir_name))

{

die('Такого каталога не существует.');

}

// Открытие каталога.

$dir_resource = opendir($dir_name);

// Проверка успешности операции открытия каталога.

if ($dir_resource === NULL)

{

die('Не удалось открыть каталог.');

}

// Чтение каталога.

while (($file_name = readdir($dir_resource))!== false)

{

// Получение полного имени элемента.

$full_name = $dir_name.'/'.$file_name;

// Проверка того, что элемент

// является файлом.

if (is_file($full_name))

{

// Вывод информации.

echo $file_name.' ';

echo filesize($full_name).

' ('.round(filesize($full_name)/1024,2).' Kb) ';

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

filectime($full_name)).', ';

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

filemtime($full_name)).', ';

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

fileatime($full_name))."\n";

}

}

// Закрытие каталога.

closedir($dir_resource);

?>


Пример выполнения работы №4

Вариант N: в произвольном тексте все целые числа возвести в квадрат и вывести красным цветом.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: