integer pclose(resource file)
Функция pclose закрывает поток файла, открытый с помощью функции popen. Функ­ция возвращает целое значение, которое в свою очередь возвращает вызываемая этой функцией С-функция wait4. Описание этого значения можно найти на соответствующей справочной странице.
resource popen(string command, string mode)
Функция popen (листинг 9.32) открывает канал к исполняемой команде. С каналами можно производить операции чтения или записи, как с обычными файлами. Функция возвращает дескриптор файла, с которым могут работать такие функции, как fgets. Каналы работают только в одном направлении, а это значит, что функция popen не позволяет работать с режимами обновления. Двунаправленный канал можно открыть с помощью функции proc_open.
При открытии канала вы выполняете программу в локальной файловой системе. Как и при работе с другими функциями, выполняющими команды, необходимо принимать во внимание высокую стоимость запуска процесса и угрозу системе безопасности, которую несет в себе информация вводимая пользователем, которая может заключаться в аргументе command. Поэтому при передаче команде информации, введенной пользователем, эту информацию сначала необходимо обработать с помощью функции escapeshellcmd. 
j Листинг 9.32. Функция popen_
<?php /*
** просмотр зарегистрированных пользователей
*/
$myPipe = popen('who', 'r'); while(!feof($myPipe))
{
print(nl2br(fread($myPipe, 1024)));
}
pclose($myPipe);
?>

string readdir(integer directory_handle)
Функция readdir возвращает имя следующего файла для дескриптора каталога, созданного функцией opendir, или значение FALSE, если таких записей больше не осталось.
Обязательно помните, что . и .. всегда имеются и будут возвращены. Пример использования этой функции можно найти в примере использования функции closedir.
integer readfile(string filename, boolean use_include_path)
Функция readfile считывает указанный файл и отсылает его непосредственно в браузер (листинг 9.33), возвращая количество байтов в файле. В случае возникновения ошибки возвращается значение FALSE. Если имя начинается с http:// или ftp://, файл будет выбран с использованием фильтра HTTP или FTP соответственно. В противном случае будет открыт файл, принадлежащий локальной файловой системе. Если необходимо отправить файл в сжатом виде, можно воспользоваться функцией readgzfile. При считывании файла в переменную воспользуйтесь возможностями функции file_get_contents.
Если необязательный аргумент use_include_path имеет значение TRUE, язык PHP будет искать файл в стандартном каталоге include.

| Листинг 9.33. Функция readfile_
<?php
print("Здeсь есть данные <br>n"); readfileCdata.txt");
?>

string readlink(string filename)
Функция readlink (листинг 9.34) возвращает путь, на который указывает данная символическая ссылка. В случае ошибки она возвращает значение FALSE. Еще одной функцией, которая может предоставить информацию о ссылке, является функция linkinfo. 

j Листинг 9.34. Функция readlink
<?php
print(readlink("/etc/rc"));

string realpath(string path)
Функция realpath (листинг 9.35) возвращает минимальный путь, на который указывает данная символическая ссылка. При этом удаляются относительные каталоги и ненужные символы косой черты. Если такой путь не существует, функция возвращает значение FALSE.

j Листинг 9.35. Функция realpath_
<?php
//prints /etc/rc.d/rc
print(realpath('/usr/../etc/.////rc'));
?>

boolean rename(string old_name, string newname)
Функция rename (листинг 9.36) меняет имя файла, заданного аргументом old_name, на имя, указанное аргументом new_name. Новое и старое имена могут содержать абсолютный путь, который позволяет использовать функцию rename для переноса файлов.

j Листинг 9.36. Функция rename_
<?php
// Перенести файл data.txt из локального каталога // в каталог temp
rename("./data.txt", "/tmp/data.dat");
?>

require(string filename)
Функция require вынуждает анализатор PHP открыть заданный файл и выполнить его. Файл рассматривается как обычный сценарий PHP, т.е. текст отсылается прямо в браузер, если при этом не используются теги PHP. PHP обрабатывает операторы require до выполнения любого другого программного кода, но это возможно только в том случае, когда задан фиксированный путь к файлу. При использовании для задания файла переменной PHP выполнит оператор require только после того, как будет выполнен весь предшествующий код. Но в любом случае PHP выполняет оператор require только один раз. При использовании функции require внутри цикла код, вставленный оператором с функцией require, будет оставаться неизменным независимо от переменных, используемых в пути. 
Кроме того, файлы можно задавать с указанием URL, начинающихся с префикса http:// или ftp://. PHP будет выбирать файл через указанный протокол и выполнять его так же, как если бы он был в локальной файловой системе. Сравните эту функцию с функцией include.