и так, новая статейка, на тему php
на этот раз будем создавать файл на сайте, через web-интерфейс. начнем
первое что нам нужно: ето назумеется хостинг с поддержкой php.
второе: 5 мин свободного времени
третье: послать 100$ мне на кошелек. шутка. хотя как хотите
создаем на рабочем столе файл допустим 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> а и без них ведь работает. я и тег <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
как видно выше, назовем мы его 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
седьмая строчка: закрываем файловый поток за ненадобностью
восьмая строчка: выводим информацию о том что файл создан.
да, кстати, в 8-ой строчке видно что мы прямо в строке указали переменные, и надеемся что они заменются своими значениями. и не зря надеемся - они заменются, потому что если указать переменуую в кавычках ("$perem") она заменится своим значением, а если в аппострофах ('$perem') то это будет только строка с именем переменной. вот такие особенности php.
вот.
теперь запихиваем файлы addfile.php и createfile.html в одну папку на своем сайте.
заходим в createfile.html (уже через интернет), и вводим имя файла, разширение, и его содержимое.
после чего жмем на кнопочку "создать" и попадаем в наш addfile.php который если все хорошо напишет что файл создан, а если все плохо предложит выпрыгнуть из окна. шутка. просто выдаст ошибку какую нибуть.
файл будет доступен по адресу http://имя_вашего_сайта/имя_файла (при условии что файлы addfile.php и createfile.html лежат в корневой)
вот вроде бы и все. попытался довольно подробно объяснить данную тему с минимумом кода, чтобы не запутать
надеюсь получилось.
PS> скрипт самый элементарный, нужен только для того чтобы понять механизм. усовершенствуете сами
_________________________________________________________________________________
Статью опубликовал Александр В. Тихонов(tiHo), специально для http://tattoo.clan.su/
При полном или частичном копировании материала статьи на другие сайты, ссылка на Оригинал обязательна.