Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

Библиотека :: Компьютеры и Программирование :: Котеров Д. В. - Самоучитель PHP 4
<<-[Весь Текст]
Страница: из 287
 <<-
 
вает как прямые, так и обратные слэши под 
Windows. 
string dirname(string $path) 
Возвращает имя каталога, выделенное из пути $path. Функция довольно "разумна" и 

умеет обрабатывать нетривиальные ситуации, как это явствует из примеров: 
echo dirname("/home/file.txt"); // выводит "/home" 
echo dirname("../file.txt"); // выводит ".." 
echo dirname("/file.txt"); // выводит "/" под Unix, "\" под Windows 
echo dirname("/"); // то же самое 
echo dirname("file.txt"); // выводит "." 
Заметьте, что если функции dirname() передать "чистое" имя файла, она вернет 
".", что означает "текущий каталог". 
В предыдущих версиях PHP (например, в версии 3) функция была гораздо ме- 
нее "интеллектуальна". Например, для "чистого" имени файла она возвращала 
его самого, а не точку. 
string tempnam(string $dir, string $prefix) 
Генерирует имя файла в каталоге $dir с префиксом $prefix в имени, причем так, 
чтобы созданный под этим именем в будущем файл был уникален. Для этого к строке 

$prefix присоединяется некое случайное число. Например, вызов 
tempnam("/tmp","temp") может возвратить что-то типа /tmp/temp3a6b243c. 
Если такое имя нужно создать в текущем каталоге, передайте, как обычно, $dir=".
". 
Обратите внимание, что использовать tempnam() в следующем контексте опасно: 
$fname=tempnam(); 
$f=fopen($fname,"w"); 
// работаем с временным файлом 
Дело в том, что хотя функция и возвращает уникальное имя, все-таки существует 
ве- 
роятность того, что между tempnam() и fopen() сюда "вклинится" какой-нибудь 
другой процесс, в котором функция tempnam() сгенерировала идентичное имя фай- 
ла. Такая вероятность исчезающе мала, но все-таки она существует. Поэтому лучше 

воспользоваться функцией tmpfile() или функциями блокировки. 

Часть IV. Стандартные функции PHP 258 
string realpath(string $path) 
Эта функция очень часто оказывается чрезвычайно полезной. На нее возложена до- 
вольно непростая задача: преобразовать относительный путь в $path в абсолютный, 

т. е. начинающийся от корня. Например: 
echo realpath("../t.php"); // абсолютный путь — например, /home/test.php 
echo realpath("."); // выводит имя текущего каталога 
К сожалению, последний оператор в некоторых версиях PHP выводит не тот же 
самый результат, что и функция getcwd(). А именно, к имени текущего ката- 
лога "прицепляются" слэши, а иногда даже и /./. Так что, если без определе- 
ния текущего каталога вам не обойтись, используйте getcwd(). 
Файл, который указывается в параметре $path, должен существовать, иначе функция 

возвращает false. 
Функция realpath() также "расширяет" имена всех символических ссылок, 
которые могут встретиться в строке, задающей путь к файлу. Она всегда воз- 
вращает абсолютное каноническое имя, состоящее только из имен файлов — 
но не имен ссылок. 
Функции манипулирования 
целыми файлами 
На самом деле всех перечисленных выше функций достаточно для реализации обмена 
с файлами любой сложности. Однако часто бывает нужно работать с файлами не по- 
строчно (или поблочно), а целиком. Функции, описанные в этом разделе, как раз 
для 
этого и предназначены. 
bool copy(string $src, string $dst) 
Копирует файл с именем $src в файл с именем $dst. При этом, если файл $dst на 
момент вызова существовал, осуществляется его перезапись. Функция возвращает 
true, если копирование прошло успешно, а в случае провала — false. 
bool rename(string $oldname, string $newname) 
Переименовывает (или перемещает, что одно и то же) файл с именем $oldname в 
файл с именем $newname. Если файл $newname уже существует, регистрируется 
ошибка, и функция возвращает false. То же происходит и при всех прочих неуда- 
чах. Если же все прошло успеш
 
<<-[Весь Текст]
Страница: из 287
 <<-