рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Тема № 10. Работа с каталогами в сценариях РНР

Тема № 10. Работа с каталогами в сценариях РНР - раздел Программирование, Инструментальная среда PHPMYADMIN. Создание баз и таблиц данных Цель Работы:Получение Практических Навыков По Работе С Дерев...

Цель работы:Получение практических навыков по работе с деревом каталогов.

 

Задание 1. Создать каталог и добавить в него файл.

Пусть необходимо создать каталог Users1 по пути:

W:/home/localhost/www/php/Lab/Users1

и сформировать в этом каталоге файл с именем users10.txt на основе информации показанной в форме на рис. 3.156.

 

Рис. 3.156. Форма ввода и результат работы файла Lab10.php.

 

Форма показанная на рис. 3.156, создается с помощью листинга программы Lab10.php, приведенной на рис. 3.157.

 

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

<title>Lab10 Создание каталога</title></head>

 

<body>

<p>Lab10 Создание каталога</p>

<?PHP

// тело основной программы

echo 'Текущий каталог realpath(.)='.realpath(".").'<br>';//выводит имя текущего каталога W:\home\localhost\www\php

//т. е. имя рабочего каталога в котором

//находится исполняемый скрипт.

 

$pos = strpos($_SERVER['PHP_SELF'],"/php/"); //

//Например $_SERVER['PHP_SELF']=/php/Lab10.php

$str=substr($_SERVER['PHP_SELF'],$pos+5);//вырежет только

// имя исполняемого скрипта (например Lab10.php)

echo "Имя исполняемого скрипта=".$str;

 

 

$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];

//Например, DOCUMENT_ROOT= W:/home/localhost/www

 

$ndir="Users1";//имя создаваемой папки

$FileName=$DOCUMENT_ROOT."/php/Lab/".$ndir."/users10.txt";

//$FileName=W:/home/localhost/www/php/Lab/Users1

if (!isset($_POST["Submit"]))://первая прорисовка формы

 

print("<form action=\"Lab10.php\" method=post>

Name:<input type=text name=\"UserName\"><br>

Password:<input type=password name=\"Password\"><br>

<input type=submit name=\"Submit\" value=\"ok\">

</form>\n ");

 

echo "Введенная информация должна быть сохранена <br>

в каталоге ".$ndir.", в файле users10.txt";

 

else: //форма ввода уже на экране и нажата OK

 

if ((strlen($_POST["UserName"]))

and (strlen($_POST["Password"]))):

//&& и and - эквивалентны (логическое И)

//echo("Если имя и пароль пользователя указан. Длина

//имени пользователя=".strlen($_POST["UserName"]).

//",Password=".strlen($_POST["Password"]));

 

$Check=WriteFile($_POST["UserName"],$_POST["Password"],

$ndir,$FileName,$DOCUMENT_ROOT);

if ($Check):

print("<br>Ваша регистрация прошла успешно: <p>\n");

ReadFromFile($ndir,$FileName);

else:

print("<br>Регистрация не была выполнена <br>\n");

endif;

 

else: //при вводе что-то не указали

print("Вернитесь и введите значения Alt+Left");

endif;

 

endif;

?>

</body>

</html>

 

<?PHP

//функции пользователя

function WriteFile($UserName,$Password,$ndir,$FileName,$DOCUMENT_ROOT)

{

//$UserName

//$Password

//$ndir - имя создаваемой папки. Например,$ndir="Users1"

//$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];

//Например, DOCUMENT_ROOT= W:/home/localhost/www

//$FileName=$DOCUMENT_ROOT."/php/Lab/".$ndir."/users10.txt";

// Назначение:

// Создание папки $ndir по пути:

// W:/home/localhost/www/php/Lab/$ndir

// если она отсутствует, и создание файла $FileName для

// добавления в него информации $UserName и $Password.

// Если файл существует - только добавление информации.

// В качестве разделителей значений атрибутов использовать

// символы "\t".

 

echo '<br>Write Путь FileName='.$FileName.',<br> UserName='.$UserName.',Password='.$Password.',is_writeable='.is_writeable($FileName).' ='.gettype(is_writeable($FileName)).',<br>_SERVER[PHP_SELF]='.$_SERVER['PHP_SELF'].'<br>';

 

//Формирование пути для папки с именем $ndir

$newdir=$DOCUMENT_ROOT."/php/Lab/".$ndir;

$isdir = is_dir($newdir); // Возвращает TRUE

if ($isdir== TRUE):

//print "<br>Каталог //существует:".gettype($isdir).".isdir=".$isdir."<br>";

$nh=($isdir) ? 'True' : 'False';

echo '<br>Каталог '.$newdir.' уже существует isdir='.$nh;

else:

print "<br>Каталог '.$newdir.' Не существует.";

$rs = @mkdir( $newdir, '0777' );

echo '<br>Каталог создан isdir='.($isdir) ? 'True' : 'False';

 

endif; //не забывайте точку с запятой

if (is_writeable($newdir)):

//Функция is_writeable($newdir)-сообщает, можно ли

//записывать в newdir. Возвращает TRUE, если newdir

//существует и является доступным (writable).

$Open=fopen($FileName,"ab");

if ($Open):

if (filesize($FileName)==0):

echo '<br>Успешное создание и открытие файла';

else:

echo '<br>Успешное открытие файла. Он уже существовал';

endif;

 

echo "<br>Файл $FileName доступен!<br> Размер файла=".filesize($FileName)." байт <br>";

 

$Password=md5($Password);//шифровка пароля

 

fwrite($Open,"$UserName \t $Password \n");

echo '<br>В файл Lab10.txt добавлена запись о пользователе <br> и его зашифрованном пароле.';

fclose($Open);

$Directory=TRUE;

else:

print("Невозможно открыть файл $FileName<br>\n");

$Directory=FALSE;

endif;//

 

else:

 

print("<br>В файл запрещена запись".$newdir);

$Directory=FALSE;

endif; //}

//echo '<br>WriteTo return Directory='.$Directory;

 

return $Directory;

}

 

function ReadFromFile($ndir,$FileName)

{//Назначение

// Чтение и вывод информации на экран

//$ndir - имя папки (Например,$ndir="Users1")

//$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];

//Например, DOCUMENT_ROOT= W:/home/localhost/www

//$FileName=$DOCUMENT_ROOT."/php/Lab/users/users10.txt";

 

$Open=fopen($FileName,"rb");

//echo '<br>ReadFromFile Open='.$Open;

if ($Open):

$Data=file($FileName);//закачка файла в массив

echo '<br>Число записей в файле='.count($Data).'<br>';

for ($n=0;$n<count($Data);$n++)

{

$GetLine=explode("\t",$Data[$n]);

print("<b>$GetLine[0]</b> $GetLine[1] <br>\n");

}

fclose($Open);// закрытие файла

else:

print("Невозможно открыть файл $FileName<br>\n");

endif;

}//конец функции ReadFromFile

?>

Рис. 3.157. Листинг скрипта с именем Lab10.php.

Пусть пользователь заполнил форму следующим образом (рис. 3.158):

Рис. 3.158. Заполненная форма для скрипта с именем Lab10.php.

 

 

– Конец работы –

Эта тема принадлежит разделу:

Инструментальная среда PHPMYADMIN. Создание баз и таблиц данных

Предисловие.. По дисциплине предусмотрено выполнение лабораторного практикума Тематика.. Студентам разрешается использовать любую современную СУБД поддерживающую принципы реляционного описания данных и язык..

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Тема № 10. Работа с каталогами в сценариях РНР

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Производительность
Результаты тестов Вы сможете найти по адресу http://www.mysql.com/information/benchmarks.html Вставка 350768 строк Секунды my

Описание установки
Для того чтобы временно (для отладки) использовать свою машину как удаленный сервер, необходимо на машине установить Web-сервер Apache. Для установки программного обеспечения обеспечивающего взаимо

Порядок выполнения работы
Чтобы не было проблем при инсталляции, выполните с командной строки программу Ping Рис. 1.1. Использование командной стро

Указания к выполнению работы
При выполнении тестов необходимо изучить структуру пакета и порядок взаимодействия его блоков, уяснить отличия использования пакета от реального его использования в сетевом окружении и причины этих

Основные сведения
Указав в Internet Explorer адрес (рис. 2.1), мы попадаем в оболочку (рис. 2.2) (адрес зависит от версии Denwer), в которой в поле ввода необходимо указать имя создаваемой базы. Пусть для примера мы

Incorrect table definition; There can only be one auto column and it mast be defined as a key
  Если Вы правильно укажите характеристики для создаваемой таблицы, и нажмете кнопку “Сохранить” (рис. 2.5), то получите следующее окно (рис. 2.9). Кнопки типа “Структура”, “

Программа работы
Приступим к заполнению информацией созданной таблицы. Напомним, что первая строка с именем id (рис. 2.11) заполняется автоматически, так как ранее для нее указано ограниче

Основные сведения
Прежде чем использовать базу данных, необходимо создать пользователей базы данных, которые могут к ней обращаться. Это делается следующим образом. Перейдите к началу процесса (

Программа работы
Прежде чем тестировать связь с созданной Вами базой данных, выполните следующие действия: Шаг 1. Создайте копию из файла index.php в этой же папке с именем index0.php.

Проверка моего домена с именем Moy.loc
  Шаг 4. Находясь на выделенном файле в Total Commander нажмите клавишу F4 (Редактировать) и Вы должны увидеть полный текст программы, показанный на шаге 2.   Т

Указания к выполнению работы
Если Вы не получили окно показанное на рис. 2.31, а получили что-то подобное, как показано например, на рис. 2.32, то Вы скорее всего скопировали в файл index.php информацию из рис. 2.30, что не ре

Ваш возраст
<input type=radio name="r1" value="on1" checked>До 20 <input type=radio name="r2" value="on2" >20-30

Тема №3. Создание формы и РНР-сценария в одном файле
Цель работы:Получение навыков и понимание взаимосвязанной работы формы и ее обработки. Обработка форм Все данные, которые Вы хотите получить из HTML-формы

SUP надстрочный текст.
--> <!--<fieldset style="width: 50%" align="right">--> <fieldset style="width: 50%" >&

Тема №4. Использование чисел. Управляющие структуры
Цель работы:работа с численными данными в форме.   Задание 1. Разработать приложение с формой для простого калькулятора (см. рис. 3.24).

Тема №5. Использование управляющей структуры switch
Цель работы:Обучение применению структуры switch. Задание 1. Разработать приложение с использованием конструкции SWITCH-CASE, в котором создается форма для простого кальку

Тема №7. Работа с массивами
Цель работы:Обучение использованию массивов в сценариях PHP. Массив представляет собой набор переменных, объединенных одним именем. Каждое значение массива идентифицируетс

Тема №8. Функции в сценариях РНР
Цель работы:Получение навыков по применению функций в PHP при обработке сценариев.   При помощи функций можно создавать компоненты многократного использовани

Определение и вызов функций
  Определить новую функцию в PHP несложно. Функции могут создаваться в любой точке программ PHP, однако по соображениям структурной организации кода удобнее разместить все функции, ис

Тело функции
} Рис. 3.97. Синтаксис функций .   Имя функции должно подчиняться условиям, приведенным для идентификаторов. После имени функции следуют обязательны

Тема №9. Использование файлов для хранения данных в сценариях РНР
Цель работы:Обучение работе с файлами для хранения данных при обработке сценариев.   Задание 1. Разработка интерфейса для загрузки файла. Lab9_0.php.

Создание сценария загрузки.
  Перед началом создания сценария запомните список переменных, которые создаются автоматически после успешной загрузки файла. Основная часть имени переменных - myfile - является имене

Загрузкa файла с помощью формы и сценария
  Теперь, когда вы создали форму и сценарий для загрузки файла, проверим, как все это работает.   Запустите свой Web-браузер, в поле ввода Адрес введите

Тема №11. Создание панели управления файлами
Цель работы:Получение практических навыков по обработке файлов в сценариях. Задание 1. Разработать форму и сопутствующее ей приложение для панели управления

Rem Cmysql.bat Input in MySQL Запуск с любого диска
c:\Webservers\usr\local\mysql5\bin\mysql --user=root --character-sets-dir="c:\Webservers\usr\local\mysql5\share\charsets" Рис. 3.162. Командный файл Cmysql.bat д

City char(30) not null)
Рис. 3.167. Состав таблицы Customers.   Создание таблицы производится с помощью SQL-команды CREATE TABLE,которая указывается в строке монитора.

Rem Hmysql.bat Запуск с любого места диска
c:\Webservers\usr\local\mysql5\bin\mysql -h localhost -u root -D books -p --character-sets-dir="c:\Webservers\usr\local\mysql5\share\charsets" < lab13_00.sql

SET NAMES cp866;
select * from customers; select * from orders; select * from books; select * from order_items;

SELECT name, city FROM customers ;
  запрашивает данные столбцов name (имя) и city (город) таблицы Customers: Если воспользоваться монитором MySQL (вызов через пакетный файл CmySql.bat - рис. 3.188), то ввод н

Простое соединение двух таблиц
Начнем с поиска Ян Дрибас, которого мы уже упоминали: Рис. 3.236. Результат запроса с использованием соединения таблиц.

Соединение трех и более таблиц
Объединение более двух таблиц не сложнее объединения двух. Главное правило таково — таблицы нужно объединять попарно, учитывая условия объединения. Это можно представить в виде отношений данных меж

From customers, orders, order_items, books
where customers.customerid = orders.customerid and orders.orderid = order_items.orderid and order_items.isbn = books.isbn

From customers left join orders
on customers.customerid = orders.customerid; Рис. 3.239. Запрос с левосторонним соединением.   Данный запрос SQL использует объединение по остатку д

Where orders.orderid is null;
Рис. 3.243. Запрос левостороннего соединения таблиц Customers и Orders с использованием using. И вот результат:

Резюме по типам соединениий
Мы рассмотрели только самые основные, хотя существуют еще несколько соединений, представленных в таблице на рис. 3.250.   Название Опис

Group by customerid;
  При использовании конструкции GROUP BY с функцией агрегирования это фактически меняет поведение функции. Вместо того чтобы выдавать среднюю величину заказов в таблице, такой запрос

Update customers
set address = 'ул. Победы д.7, кв.7' where customerid = 4; Так, например, состояние таблицы показанное на рис. 3.248 будет приведено к виду предс

Тема № 14. PHP и MySQL. Доступ к базе данных MySQL из Web с помощью РНР
Цель работы:Получение практических навыков по связке MySQL и PHP. В заданиях данной темы используется база данных BOOKS, схема которой представлена на рис. 3.171, создание

Установка соединения
Для подключения к серверу MySQL в сценарии (рис. 3.268) присутствует такая строка: @ $db = mysql_pconnect($Host, $User, $Password);   Потребуется указать имя узла (H

Выполнение запроса к базе данных
Чтобы осуществить запрос, можно воспользоваться функцией mysql_query(). Однако прежде запрос необходимо настроить:  

Получение результатов запроса
Разнообразие функций дает возможность получить результат различными способами. Идентификатор результата — это ключ доступа к строкам, возвращенным запросом, которых может быть нуль, одна и более.

Отсоединение от базы данных
Для закрытия (уничтожения) результирующего набора применяется метод: При процедурном подходе используется функция:

Настройка сервера
Вы считаете что все сделали правильно, но у Вас что-то не работает. Может, у Вас неправильно сконфигурирован сервер?   Если Вы "все сделали правильно", но Ваш код н

Коротко о правах на файлы
Проблемы с правами на сервере (upload_tmp_dir) В *nix-подобных операционных системах каждой папке, файлу, ссылке выставлены соответствие права доступа. Они могут выглядеть как rwx-rw-r- ил

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги