Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Strcspnintstrcspn(stringstr1, stringstr2); StripSlashes - удаляет символы \ из строки. Возвращает строку с вырезанными символами \. (\' заменяется на ' и так далее). Двойные \\ заменяются на \. stringstripslashes(stringstr); strlen - Возвращает длину строки int strlen(string str); strrev - Переворачиваетстроку. Возвращаетперевернутуюстроку string. string strrev(string string); strtolower - Переводит строку в нижний регистр stringstrtolower(stringstr); strtoupper - Переводит строку в верхний регистр stringstrtoupper(stringstring); substr - Возвращает часть строки. Эта функция возвращает часть строки string, определяемую параметрами start (начало) и length (длина). string substr(string string, int start, int [length]); trim - Обрезает пробелы с начала и с конца строки string trim(string str);
8. Файлы и директории. В PHP есть функции для работы с файловой системой. Функция fopen необходима для того, чтобы открыть файл: int fopen(string filename, string mode)Если при открытии файла происходит ошибка, функция возвращает false. Параметр mode выбирается из следующего списка:
На платформе Windows используются передние слеши. $fp = fopen("c:\\data\\info.txt", "r");Для закрытия файлов используется функция fclose. int fclose(int fp);Параметр fp - указатель на файл, который надо закрыть. Функция возвращает true при удачной операции и false при ошибке. basename -- возвращает из полного пути имя файла string basename(string path);Получив строку, содержащую путь к файлу, данная функция возвратит базовое имя файла. $path = "/inetpub/wwwroot/index.php";$file = basename($path); // $file устанавливаетсяв "index.php"copy -- скопироватьфайл int copy(string source, string dest);Создает копию файла. Возвращает true при успешном завершении; в противном случае - false. dirname -- путькфайлу string dirname(string path);Получив строку, содержащую путь у файлу, данная функция возвратит директорию, содержащую файла. feof -- проверка на достижение указателем конца файла int feof(int fp);Возвращает true если указатель файла равен EOF или в случае ошибки; в противном случае возвращается false. fgetc -- получить символ из файла string fgetc(int fp);Возвращает строку, содержащую один символ, прочитанный по файловому указателю fp. При EOF возвращается false. fgets -- получить строку по указателю на файл stringfgets(intfp, intlength);Возвращает строку до length - читается по одному байту из файла, указанного в fp. Чтение заканчивается, если прочитано length символов - 1 байт прочитается в любом случае, или до символов перевода строки и возврата караетки, или до EOF. При ошибке возвращается false. fgetss -- получить строку по указателю файла и вырезать HTML тэги string fgetss(int fp, int length);file -- прочитатьфайлвмассив array file(string filename);Идентична readfile(), но file() выдаетфайлвмассив. Каждый элемент массива соответствует строке файла (вместе с символом возврата строки). file_exists -- проверяет существование искомого файла. int file_exists(string filename);Возвращает true, если файл, определенный в filename, существует; иначе - false. fileperms -- разрешениядляфайла int fileperms(string filename);Возвращает разрешения, установленные для файла, или false в случае ошибки.. filesize -- размерфайла int filesize(string filename);Возвращает размер файла, или false в случае ошибки. fpassthru -- вывод всех данных из указателя файла int fpassthru(int fp);Читает до EOF по полученному указателю файла и записывает результат на стандартное устройство вывода. При возникновении ошибки fpassthru() возвращает false. ftell -- текущая позиция указателя в файле int ftell(int fp);Возвращает позицию указателя в файле, на который ссылaется fp, т.е. смещение в потоке файла. При возникновении ошибки возвращается false. fseek -- установить указатель на компоненту файла с заданным номером int fseek(int fp, int offset); offset – количество байт(символов) на которое нужно сместиться. Возвращает -1, если ошибка и 0 если успех.fwrite -- бинарнаязаписьвфайл int fwrite(int fp, string string, int [length]);fwrite() записывает содержимое string в файловый поток, указанный fp. Если аргумент length присутствует, запись останавливается после записи length-го байта, или после записи всей строки string. intfile_exists(stringfilename); – проверка существования файла (true – существует) int filesize(string filename); - возвращаетразмерфайла. Ещеоднафункция is_dir bool is_dir(string filename);Возвращает true, если filename существует и это директория. Похожая на предыдущую функцию, функция is_file bool is_file(string filename);Возвращает true, если filename существует и является обычным файлом. mkdir -- создать директорию intmkdir(stringpathname);Пытается создать директорию, указанную в pathname. Возвращает true при успешном выполнении и false при ошибке. rename -- переименоватьфайл int rename(string oldname, string newname);Пытается переименовать oldname в newname. Возвращает true при успешном выполнениии и false при сбое. Функция rewind позиционирует файловый указатель для fp на начало потока файла. int rewind(int fp);При возникновении ошибки возвращается 0. rmdir -- удалить директорию intrmdir(stringdirname);Пытается удалить директорию, указанную путем. Директория лдолжна быть пустой, и релевантные разрешения должны допустить это. При возникновении ошибкт возвращается 0. unlink -- удалить файл intunlink(stringfilename);Удаляет filename. Возвращает 0 или FALSE при ошибке. chdir -- сменакаталога int chdir(string directory);Изменяет текущий PHP каталог на directory. Возвращает FALSE если не может изменить, TRUE если смена произошла. closedir -- закрыть дескриптор каталога voidclosedir(intdir_handle);Закрывает поток каталога, обозначенный как dir_handle. opendir -- открытьдескрипторкаталога int opendir(string path);Возвращает дескриптор каталога, который в последующем используется в closedir(), readdir(), и rewinddir() обращениях. readdir -- чтение данных из каталога по дескриптору(handle) stringreaddir(intdir_handle);Возвращает имя следующего файла из каталога. Имена возвращаются в любом специфическом порядке. $handle=opendir('.'); while ($file = readdir($handle)) { echo "$file\n";}closedir($handle);rewinddir -- возврат к началу данных каталога по дескриптору voidrewinddir(intdir_handle);Сбрасывает поток каталога, обозначенный как dir_handle в начало данных.
Задачи
Задача 19. Используя PHP скрипт и форму в одном документе создайте сценарий, в котором пользователь вводит в текстовом поле имя файла и после нажатия кнопки ГОТОВО проверяется, существует ли этот файл. Если он не существует, выводится сообщение вида «файл name.txt не существует», а если файл существует, выводятся данные о его имени (полный путь), размере, времени создания и последней модификации. Кроме того, если файл существует, включите его содержимое внутрь тегов <textarea>, т.е. дайте возможность увидеть его пользователю. В случае отсутствия файла теги <textarea> в документ включены быть не должны.
Задача 20. В текстовом файле в первой строке вписать тег (без скобок <>) во второй – его описание, в третьей – второй тег, в четвертой – описание и т.д. 5-6 тегов. Далее в php скрипте прочитать файл построчно и вывести в виде таблицы вида:
Скрипт должен посчитать, сколько всего тегов описаны в файле и вывести ответ ниже таблицы. Например «всего описано 7 тегов».
Задача 21. Составьте следующий сценарий. Пользователь входит на страницу, в текстовом поле вводит свой логин, а в выпадающем списке выбирает режим – регистрация или вход. В случае выбора «вход» проверяется, существует ли файл с именем, аналогичным логину и если да, в страницу добавляется поле для ввода пароля. Далее, после ввода пароля проверяется, соответствует ли он содержимому файла и если да, выводится сообщение «Добро пожаловать, зарегистрированный пользователь Имярек!», в противном случае – «Пароль не верен». Если файла с именем пользователя, входящего как зарегистрированный не обнаружено, вывести сообщение – «Такой пользователь не зарегистрирован». Если пользователь входит в режиме регистрация, проверить, не занят ли логин и если он свободен, создать файл с именем логина и после ввода пароля написать его в этот файл. Если логин занят, предложить сменить логин.
Задача 22. Напишите скрипт, считывающий из выбранного текстового файла строки и сортирующий их. Отсортированный результат запишите в файл sortline.txt.
Задача 23. Напишите скрипт, выводящий на экран дерево каталога и пропускающий файлы, в которые запрещена запись. Подсказка:воспользуйтесь материалами урока 8 (работа с файлами) из [1].
9. Загрузка клиентом файлов на сервер
В языке PHP реализована возможность загрузки файлов на сервер. Клиент может загрузить на сервер любой файл. Для того, чтобы файлы можно было отправлять из браузера, необходимо создать элемент управления <input>типа file, позволяющий пользователю выбрать произвольный файл, нажав клавишу «Обзор…». Кроме этого, для загрузки файлов необходимо установить атрибут формы enctype равным "multipart/form-data" и как обычно атрибут action равным PHP-сценарию, который будет обрабатывать загрузку файла. В результате должно выйти что-то вроде этого:
Пример 4. Построение <formaction="имя_php_сценария" method="post"enctype="multipart/form-data"> Введитеимяфайла: <input type="file" name="userfile"><br> <input type="submit"><br></form>В результате, при нажатии на кнопку «Подача запроса» файл автоматически будет загружен на сервер. На сервере он может быть размещен в директории TEMP или в директории, где находится РНР-интерпретатор. Автоматически файлу присваивается имя phpX, где Х - значение по порядку. Если файл в дальнейшем не скопировать в другую директорию, то файл будет автоматически уничтожен при выходе из выполняемого РНР-сценария. Но это еще не все, что можно сделать. А именно, можно наложить ограничения на загрузку файлов на сервер при помощи элемента управления INPUT с атрибутом NAME равным MAX_FILE_SIZE и VALUE, равному верхней границе для загружаемого файла, но с числом не превышающим размер, определенный в файле php.ini как upload_max_filesize (по умолчанию 2Мб). При этом, помимо переменной, отвечающий за файл, в РНР-сценарии появляются еще три переменные:
|