Свободный Форум •

Вход / Регистрация

Главная   Форум   [Белый каталог!]   Поиск   Друзья   О нас

Новые сообщения / Поиск / Пользователи / Правила форума / MegAvatar



  • Страница 1 из 1
  • 1

Создание файла через web-интерфейс
tiHo



Сообщений: 521

[Почта: ]
[Аська: 253236610]
[Замечания: ](+)
[Уважение: ](+)
[Статус: Offline]

и так, новая статейка, на тему php
на этот раз будем создавать файл на сайте, через web-интерфейс.

начнем

первое что нам нужно: ето назумеется хостинг с поддержкой php.
второе: 5 мин свободного времени
третье: послать 100$ мне на кошелек. шутка. хотя как хотите smile

создаем на рабочем столе файл допустим createfile.html

в него пишем:

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; Charset=Windows-1251">
</head>
<form action="addfile.php" method="POST">
Введите имя файла: <br/>
<input name="file_name" type=text />
.
<input name="file_type" type=text size=4 />
(Пример: textinfo.txt)
<br/>
Содержимое файла: <br/>
<textarea name="file_telo" cols=50 rows=20>
</textarea>
<input type=submit value="Создать!!" />
</form>

некоторые особенности html тегов: половина из них на самом деле ненужна. как видно я не стал писать теги <html> и <body> а и без них ведь работает. smile я и тег <head> нехотел писать, так ведь нужен для того чтобы поместить в него тег <meta> для указания кодировки текста windows-1251 (кириллица)
а иначе будет не русский текст а корявые албанско-уругвайские символы.

так. по порядочку пробежим по коду и разжую ету бессмысленую кучу букв:

в теге <form> указываем в агрументе action адрес до нашего будующего php файла со скриптом
в агрументе method указываем параметр POST для того чтобы информация
передовалась невидимым потоком а не через адресную строку

чтобы лучше это понять объясню на примере:

при методе GET переменные в скрипт передаются в формате script.php?peremen1=gg&peremen2=haha
где peremen1 и peremen2 - переменные со значениями gg и 2

а через метод POST они передаются невидимо для адресной строки браузера. в ней будет просто script.php

данный метод очень удобно использовать для передачи большой информации (файлов, сообщений)
чтобы не засорять ими адресную строку.

далее создаем тесктовое поле с именем file_name для того чтобы передать в php имя создаваемого файла
далее создаем тесктовое поле с именем file_type для того чтобы передать
в php разширение создаваемого файла(txt,html,php и тд)

далее создаем тестовое поле с шириной 50 символов (букв) и высотой 20 символов, с именем file_telo, для того чтобы передать скрипту само содержимое файла.

и в самом конце создаем кнопочку при нажатии на которую вся информация из формы поплывет в наш php скрипт.

а вот теперь займемся и им.

создадим файл, на рабочем столе, рядом с createfile.html wink
как видно выше, назовем мы его addfile.php

и запишем туда:

<?php

$name=$_POST['file_name'];
$type=$_POST['file_type'];
$telo=$_POST['file_telo'];
$full=$name.'.'.$type;
$fs=fopen($full,"a+");
fwrite($fs,$telo);
fclose($fs);
echo "Файл $name.$type создан.";

?>

разбор полетов:

первая строка: помещаем в переменную $name информацию полученную по POST каналу из нашего createfile.html
вторая строка: тоже, тока в переменную $type помещаем разширение файла
третья строка: тоже, тока в переменную $telo помещаем содержимое файла
четвертая строка: создаем переменную $full которая склеит имя и разширение файла добавив между ними точку (чтобы все как полагается было)
пятая строка: октрываем файловый поток, и даем ему имя $fs и через него создается файл с именем $full для записи (a+)
шестая строчка: записываем в файловый поток $fs информацию из переменной $telo
седьмая строчка: закрываем файловый поток за ненадобностью smile
восьмая строчка: выводим информацию о том что файл создан.

да, кстати, в 8-ой строчке видно что мы прямо в строке указали переменные, и надеемся что они заменются своими значениями. и не зря надеемся - они заменются, потому что если указать переменуую в кавычках ("$perem") она заменится своим значением, а если в аппострофах ('$perem') то это будет только строка с именем переменной. вот такие особенности php. wink

вот.

теперь запихиваем файлы addfile.php и createfile.html в одну папку на своем сайте.

заходим в createfile.html (уже через интернет), и вводим имя файла, разширение, и его содержимое.
после чего жмем на кнопочку "создать" и попадаем в наш addfile.php который если все хорошо напишет что файл создан, а если все плохо предложит выпрыгнуть из окна. шутка. просто выдаст ошибку какую нибуть.

файл будет доступен по адресу http://имя_вашего_сайта/имя_файла (при условии что файлы addfile.php и createfile.html лежат в корневой)

вот вроде бы и все. попытался довольно подробно объяснить данную тему с минимумом кода, чтобы не запутать smile
надеюсь получилось.

PS> скрипт самый элементарный, нужен только для того чтобы понять механизм. усовершенствуете сами happy wink

_________________________________________________________________________________
Статью опубликовал Александр В. Тихонов(tiHo), специально для http://tattoo.clan.su/
При полном или частичном копировании материала статьи на другие сайты, ссылка на Оригинал обязательна.




________________________________
Нету случайности, есть сложная система. ©tiHo

1
Письмо / Профиль [Добавлено: 21-04-2007 02:10:39] [ Цитата / Изменить / Удалить ]
  • Страница 1 из 1
  • 1
Поиск: