PDA

Просмотр полной версии : Вопросница по Php программированию.


PEPSICOLA
24.10.2005, 18:55
Помогите пожалуйста сообразить.
есть переменная $n

как использовать её в качестве имени для открытия файла?
То есть например $n=lol;
То здесь:
$file = fopen("$n.txt","w"); //будет ли это правильно? "$n.txt" откроет файл "lol.txt"?
Или надо какие то символы\скобки добавить?

PEPSICOLA
24.10.2005, 19:16
$mc = "1";

if (file_exists("$mc.txt"))
{
for ($mc=1; $mc++)
}
else
{
$msgnum = $mc++;
}
$fp = fopen("msgs/$msgnum.txt","a+","$mlength=2");

Вообщем задумал сделать гостевую книгу такого типа:
Кажое отдельное сообщение будет сохранятся в папке "msgs" с порядковым номером.
addmsg.php будет добавлять туда месаги, проверяя что бы такого файла не только не было, но и шло по счёту.
А файл viewbook.php будет сортировать эти текстовые файлы для просмотра как типа гостевой книги... в файлах текстового формата будут храниться все данные, ip, real ip, windir, referer, browser + само сообщение, имя и email адресс.

Так же для администрирования будет файл admin.php и index.php как общее меню.

Проблема с проверкой файлов txt в папке... как быть? =))

Franklin
24.10.2005, 19:20
if (file_exists($mc.".txt"))
{
for ($mc=1; $mc++)
}
else
{
$msgnum = $mc++;
}
$fp = fopen("msgs/".$msgnum.".txt","a+","$mlength=2");
Воть, вроде так.

PEPSICOLA
24.10.2005, 19:29
Спасибо, щас попробую :)

PEPSICOLA
24.10.2005, 19:34
Parse error: parse error, unexpected ')', expecting ';' in C:\home_server\Apache2\htdocs\guestbook\addmsg.php on line 38
А 38-ая строка вот эта:
for ($mc=1; $mc++)
";" ставил и в конце и 1 в ковычки брал... не знаю что =)

Franklin
24.10.2005, 19:39
for ($mc=1; $mc++) - вобще "что-то с чем-то" - имхо.
for ($mc=1; $mc<=100; $mc++){

}
вобще вот так всегда делал. ну 100, разумеется я от балды поставил.

Franklin
24.10.2005, 19:42
и "<=" кстати тоже от балды

PEPSICOLA
24.10.2005, 19:46
Да я про <=100 тоже знаю, но если файлов будет больше 100? :) или равно?

PEPSICOLA
24.10.2005, 19:52
Parse error: parse error, unexpected '}' in C:\home_server\Apache2\htdocs\guestbook\addmsg.php on line 39
Вообщем чё то я загнул с гостевухой =) надо что то попроще =))

Franklin
24.10.2005, 20:09
имхо - у тебя задумка не правильная. все сообщения в своей гостевой я храню в одном файле.
И вообще, а кто тебе мешает называть файл датой? - тогда два файла с одинаковым названием точно не будет - это как первый вариант.
Или например создай файл id.txt, и в него сохраняй количество мессагов. То есть пусть так выглядит:
открылся id.txt, в нем прочитался номер последнего мессага (то бишь порядковый номер), потом к этому номеру +1 - это уже название нового файла, записываем новый файл, проверяем успешна запись или нет, если успешна => открываем id.txt и туда записываем порядковый номер нового фала, а если не успешно => echo "ошибка!"; exit;
:) может все и тупо :)

PEPSICOLA
24.10.2005, 20:24
Нифига не тупо =) Хорошая идея, я что то придумаю =) Только 3 дня гдет знаком с php =) только книжку закончил читать =))

bul666
25.10.2005, 00:31
Был у меня сайт с двигом на файлах (А не мускулах), Я использовал как раз такой принцип )))

PEPSICOLA
25.10.2005, 02:54
=)

У меня щас другой принцип =) ужасный принцип, делал всё методом тыка, на локалке работает, а на holm.ru просит установить CHMOD 0755 или 0711, ё маё, как я только не устанавливал - ну не хочет запускаться скрипт, а пишут мне о такой ошибке типа:
Русское описание
CGI приложение доступно на запись другим пользователям. Для выполнения оно должно иметь права 0755 или 0711.
English description
file is writable by others: (/home/p/линквырезанмною.h1.ru/WWW/sp/login.php) CGI must has a permission mask to 0755

Что делать? Я уже по разному там выставлял эти значения - не помогает.
Всего в папке "sp" 5 файлов:
3 php, 1 html, 1 без расширения с данными "txt". Ставил и 664 и 644 и 666 и 755 и 777 и 711, что может быть? =)

Franklin
25.10.2005, 14:09
а ты на всю папку sp ставил chmod'ы?
ты попробуй просто на файл, где храняться записи поставить 777.
Я сам с холмом не работал, да и глюкнутый он :))), не люблю его.
http://www.host.sk - более или менее нормальная вещь, у них там вобще проблем нет ни с пхп, ни с мускулами, к тому же вап поддерживает, правда немного медленно работает - тормозит иногда по-страшному.

PEPSICOLA
25.10.2005, 17:21
Большое спасибо Franklin =) Щас там зарегюсь.. А то холм реально глючный, мало того что глючный, он при ошибке моментально редиректит на другой сайт =)

PEPSICOLA
31.10.2005, 04:07
Help! SOS! Проблема, делаю свой движок, сделал include новостей, теперь хочу сделать include допустим различных статеек, но что бы выделялись только названия + это при каждом обновлении вылазили разные статьи. То есть randomize. Подскажите как сделать это?

Допустим у меня есть файл links.php в нутри такая фигня:
<?php
$ssilka1="<a href tam sait> name</a>"
$ssilka2="<a href tam sait> name</a>"
$ssilka3="<a href tam sait> name</a>"
$ssilka4="<a href tam sait> name</a>"
$ssilka5="<a href tam sait> name</a>"
?>

В странице messages.php стоит тег <? include('links.php')
________________

Проблема вот в чем... Допустим из файла links.php мне надо что бы разнообразно генерировалась страница, только из 3-х значений переменных максимум. Как это сделать?

(если не понятно=)))
Вместо того что бы отобразить Links1, 2, 3 ,4 ,5. Надо что бы при первом обновлении
было например 1,4,5, при следующем уже генерировалось методом random такого типа 2,3,5, далее 1,2,3... как это сделать? С учётом что Links будут далее добавляться с помощью дополнительного скрипта редактора...

ZaCo
31.10.2005, 14:40
Делай три раза подряд
$links[i]=rand(1,5);
с проверкой повторения (чтобы н было одинаковых значений в массиве) например

qBiN
01.11.2005, 20:08
Help! SOS! Проблема, делаю свой движок, сделал include новостей, теперь хочу сделать include допустим различных статеек, но что бы выделялись только названия + это при каждом обновлении вылазили разные статьи. То есть randomize. Подскажите как сделать это?Это не движок.
Ну а настчет проблемы:
1)Тупая идея.
2)Подумай еще раз
3)Еще не передумал?
4)Создай масив "ssilka" в масиве индификатор число.
5)Генерируй рамдомное число которое будет использоваться для вывода масива.Обращатся к ссылке будешь например так $ssilka[$i]
Что-то не вижу никаких проблем

PEPSICOLA
04.11.2005, 04:40
Не передумал =) Пасибо ;)
З.Ы. но я не понимаю, почему идея то тупая? :) Ты вообщем на счёт сайт а или на счёт этой хрени с выводом случайных строк (ссылок) на главную?

И ещё один вопрос... Все переменные которые будут использоваться в скрипте желательно писать в начале? или неважно куда их и когда впихивать? Потому что одну переменную мне нужно будет только в конце, а до неё там куча кода, оператором и функций :)