Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Обработка загруженных файлов на сервереОбработать загруженный файл на сервере тоже крайне просто. Файл сохраняется как рhрх(где х является наращиваемым целым числом) во временном каталоге (этот каталог можно задать с помощью переменной окружения TEMPDIR). В конце запроса файл автоматически уничтожается, поэтому при необходимости дальнейшего использования его нужно скопировать из той же страницы. Доступ к имени файла осуществляется тем же способом, что и ко всем данным формы: с помощью имени, указанного в элементе ввода как переменная РНР (в данном случае - $userfile). Файл можно скопировать в место постоянного хранения с помощью функции сору(), рассмотренной нами ранее в этой главе. Хотя временный загруженный файл автоматически уничтожается в конце запроса, лучше после копирования уничтожить его явным образом с помощью функции unlink (). Поэтому, например, чтобы скопировать наш загруженный файл в C:\upload. txt (в Windows), а затем удалить его, можно использовать такой код:
<HTML> <!-- upload.php —><? // Копировать файл в C:\upload.txt. Не забудьте преобразовать обратную косую черту! if (copy($userfile, "С:\\upload.txc")) { echo("<B>File successfully copied!</B>"); } else { echo("<B>Error: failed to copy file...</B>"); } // Уничтожить файл после копирования unlink($userfile); ?></HTML>
10. Регулярные выражения
Регулярное выражение - механизм, позволяющий задать шаблон для строки и осуществить поиск данных, соответствующих этому шаблону в заданном тексте. Кроме того, дополнительные функции по работе с регулярными выражениями позволяют результаты поиска получить в виде массива строк, произвести замену в тексте по шаблону, разбиение строки по шаблону и т.п. Однако главной их функцией, на которой основаны все остальные, является именно функция поиска в тексте данных, соответствующих шаблону, описанному в синтаксисе регулярных выражений. Регулярные выражения пришли к нам из Unix и Perl. В PHP существует два различных механизма для обработки регулярных выражений: POSIX-совместимые и Perl-совместимые. Их синтаксис во многом похож, однако Perl-совместимые регулярные выражения более мощные и, к тому же, работают намного (в некоторых случаях до 10 раз)быстрее. Поэтому здесь мы будем рассматривать только Perl-совместимые регулярные выражения. Сутью механизма регулярных выражений является то, что они позволяют задать шаблон для нечеткого поиска по тексту. Например, если стоит задача найти в тексте определенное слово, то с этой задачай хорошо справляются и обычные функции работы со строками. Однако если нужно найти то, о чем можно сказать только то, как приблизительно это должно выглядеть - то здесь без регулярных выражений просто не обойтись. Например, если необходимо найти в тексте информацию, про которую известно только то, что это "3 или 4 цифры, после которых через пробел идет 5 заглавных латинских букв", то это можно сделать, воспользовавшись следующим регулярным выражением: /\d{3,4}\s[A-Z]{5}/.
Регулярные выражения, как уже было сказано выше, представляют собой строку. Строка всегда начинается с символа разделителя, за которым следует непосредственно регулярное выражение, затем еще один символ разделителя и потом необязятельный список модификаторов. В качестве символа разделителя обычно используется слэш ('/'). Таким образом в следующем регулярном выражении: /\d{3}-\d{2}/m, символ '/' является разделителем, строка '\d{3}-\d{2}' - непосредственно регулярным выражением, а символ 'm', расположенный после второго разделителя - это модификатор. Основой синтаксиса регулярных выражений является тот факт, что некоторые символы, встречающиеся в строке, рассматриваются не как обычные символы (литералы), а как имеющие специальное значение (метасимволы). Именно это решение позволяет работать механизму регулярных выражений. Каждый метасимвол играет свою роль в синтаксисе регулярных выражений.
|