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

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

Библиотека :: Компьютеры и Программирование :: Котеров Д. В. - Самоучитель PHP 4
<<-[Весь Текст]
Страница: из 287
 <<-
 
сле выбора в этом поле нужного файла и отправки формы (и загрузки на сервер 
того файла, который был указан) PHP определит, что нужно принять файл, и сохра- 

нит его во временном каталоге на сервере. Кроме того, в программе создадутся 
не- 
сколько переменных. 
r $MyFile — имя временного файла на машине сервера, который содержит дан- 
ные, переданные пользователем. С этим файлом теперь можно вытворять все что 
угодно: удалять, копировать, переименовывать, niiaa oaaeyou... 
r $MyFile_name — исходное имя файла, которое он имел до своей отправки на 
сервер. 
r $MyFile_size — размер закачанного файла в байтах. 
r $MyFile_type — тип загруженного файла, если браузер смог его определить. К 
примеру, image/gif, text/html и т. д. 
Как видим, префикс у всех созданных переменных один и тот же — MyFile_. Этот 
префикс состоит из имени элемента закачки в форме, к которому присоединен знак 
_. 
Теперь мы можем, например, скопировать только что полученный файл на новое ме- 
сто, при помощи Copy($MyFile,"uploaded.dat") или других средств, проверив 
предварительно, не слишком ли он велик, основываясь на значении переменной 
$MyFile_size. 
Настоятельно рекомендую использовать функцию копирования, а не переиме- 
нования/перемещения. Дело в том, что в некоторых операционных системах 
временный каталог, в котором PHP хранит только что закачанные файлы, мо- 
жет находиться на другом носителе, и в результате операция переименования 
завершится с ошибкой. Хотя мы и оставили копию полученного файла во вре- 
менном каталоге, можно не заботиться о его удалении в целях экономии мес- 
та: PHP сделает это автоматически. 

Глава 28. Загрузка файлов на сервер 
393 
Если процесс окончится неуспешно, вы сможете определить это по отсутствию файла,
 
имя которого задано в $MyFile, или же по отсутствию самой этой переменной в 
про- 
грамме. 
Пример: фотоальбом 
Давайте напишем небольшой сценарий, представляющий собой простейший фото- 
альбом с возможностью добавления в него новых фотографий. 
Листинг 28.1. Сценарий photo.php: простейший фотоальбом 
 filemtime($path), // время добавления 
'name' => $e, // имя файла 

Часть V. Приемы программирования на PHP 
394 
'url' => $path, // его URI 
'w' => $sz[0], // ширина картинки 
'h' => $sz[1], // ее высота 
'wh' => $sz[3] // "width=xxx height=yyy" 
); 
} 
// Ключи массива $Photos — время в секундах, когда была добавлена 
// та или иная фотография. Сортируем массив: наиболее "свежие" 
// фотографии располагаем ближе к его началу. 
krsort($Photos); 
// Данные для вывода готовы. Дело за малым — оформить страницу. 
?> 
 
<
 
<<-[Весь Текст]
Страница: из 287
 <<-