php и сохранение данных в файлы(вместо бд)

torsar

Новичок
php и сохранение данных в файлы(вместо бд)

Изучаю пхп
на бесплатных хостингах я не видел,
чтоб предоставляли mysql
но видел описание во многих скриптах
(форумы там, гостевые книги)
пишет что не надо поддержки бд,
пишет в тектсовые файлы
может в пхп есть встроенная поддержка сабжа?
и может даже есть поддержка простой субд?
(например как в MS Access - все водном файле
+ очень бы хотелось чтоб мона было устанавливать
отношения между таблицами бд)
 

Армян

Новичок
Дофигище бесплатных хостингов с базами mysql, некчему извращатся с файлами
 

gray07

Новичок
Есть бесплатные хостинги с mysql. Платный стоит 5 баксов в месяц. Имхо, писать что-то на файлах - потеря времени, которое ты мог бы потратить на совершенствование своих знаний в области БД
 

Духовность™

Продвинутый новичок
некчему извращатся с файлами
суть работы знать все равно надо. когда поймет как писать в файлы - пусть переходит к БД


torsar
если ты действительно хочешь изучать, а не пинать каку, то купи себе нормальный хостинг. он стоит сейчас копейки.
 

DYPA

Настоящая dypa (c)
ну если уж так душа просит то http://www.txtsql.com/index.php?module=downloads
 

AXP

Новичок
Вот накидал тебе код простой гостевухи на текстовых файлах. По ней все и познаешь =)

Код:
<html>

<head>
  <title>Simple GB</title>
</head>

<body>

Новое сообщение<br>
<form name="" action="?" method="post">
Ваше имя:<input name="name" type="text" value=""><br>
Ваш e-mail:<input name="email" type="text" value=""><br>
Сообщение:<br>
<textarea name="body" rows=15 cols=30 wrap="off"></textarea>
<input type="submit" value="Добавить" name = 'send_b'>
</form>
[php]
<?php

function Fix($str)
{
	return addslashes(htmlentities($str));
}

if (isset($_REQUEST['send_b']))
{
	if (file_exists('db.txt'))
		$fp = fopen('db.txt', 'a');
	else
		$fp = fopen('db.txt', 'w');
	$str = date('Y-m-d H:i:s');
	$str .= '::'.Fix($_REQUEST['name']).'::'.Fix($_REQUEST['email']);
	$str .= '::'.str_replace(Array("\r\n", "\r", "\n"), Array('<br>', '', '<br>'), Fix($_REQUEST['body']));
	fputs($fp, $str."\n");
}

if (file_exists('db.txt'))
{
	$file = file('db.txt');
	for ($i=count($file)-1; $i>=0; $i--)
	{
		list($date, $name, $email, $body) = explode('::', trim($file[$i]));
		echo " <table><tr><td>Дата сообщения: ".$date."</td></tr>
			<tr><td>Имя отправителя: ".$name."</td></tr>
			<tr><td>E-mail отправителя: <a href=mailto:".$email.">".$email."</a></td></tr>
			<tr><td>Сообщение:</td></tr>
			<tr><td>".$body."</td></tr>
			<tr><td></td></tr></table> ";
	}
}

?>
[/php]
</body>

</html>
 

Активист

Активист
Команда форума
AXP
Жесть.

>addslashes
Зачем?


>str_replace(Array("\r\n", "\r", "\n"), Array('<br>', '', '<br>'), ?
nl2br() ?

>fputs($fp, $str."\n");
а flock()?

Жесть...
 

AXP

Новичок
все специально. Раз учится, пускай видит, как все делается. А "продвинутые" функции потом узать будет. А flock я реально забыл, как и fclose.
 

valeraorg

Новичок
если жалко на платный хостинг 1$ в месяц то лучше вообще неучиться. В файлы писать научиться можно за несколько часов и разобраться в этом. Ради этого писать приложение целое - мазахизм.
torsar забудь про бесплатный хостинг навсегда
 

vovanium

Новичок
torsar
Изучаю пхп
на бесплатных хостингах я не видел,
чтоб предоставляли mysql
А зачем тебе для изучения бесплатный хостинг? Для изучения нужен локальный сервер, так что установи себе Денвер, или полные версии Apache + PHP + Mysql, и изучай на здоровье.
Сейчас установить Apache + PHP + Mysql на домашней винде, это всего навсего запустить три инсталяхи, и указать куда ставить, даже конфиги править не нужно.
 

Духовность™

Продвинутый новичок
все специально
что специально? у тебя код кривой, а ты его суешь в качестве примера.

PHP:
    if (file_exists('db.txt'))

        $fp = fopen('db.txt', 'a');

    else

        $fp = fopen('db.txt', 'w');
это не имеет никакого смысла

PHP:
addslashes(htmlentities($str))
- а это зачем? ты вообще понимаешь что делает этот код?
 
Сверху