Forum Webscript.Ru

Программирование => PHP => Тема начата: VASO от 04 Февраля 2004, 17:49:50

Название: Подскажите новичку.
Отправлено: VASO от 04 Февраля 2004, 17:49:50
Так. сначала всемс дружеский привет!
Я сейчас пытаюсь написать систему публикаций уроков для сайта, и параллельно изучаю ПХП. Вот, допустим, через форму вы добавляете урок, текст урока записывается в файд index.php(Что то вроде, где переменная , введенный текст$tutor)Я хочу сделать, чтобы в этот файл записывался также код для добавления комментариев, как код сделать то я знаю, а вот когда я пытаюсь делать его ввиде переменной, то дело глючит и выдает ошибку и вобще не публикует урок, т.е. он рассматривает этот код во время добавления статьи, что мне совсем не нужно, вобщем люди добрые помогите.:confused:
Название: Подскажите новичку.
Отправлено: Макс от 04 Февраля 2004, 19:29:09
Цитировать
VASO:
Я сейчас пытаюсь написать систему публикаций уроков для сайта
надеюсь, уроки не по ПХП будут ? :)
Цитировать
VASO:
текст урока записывается в файд index.php
не надо пытаться записать данные в ПХП-файл. Создай какой-ниюудь текстовый файл и в него пиши уроки (гораздо больше полезного выучишь). Или для каждого урока отдельный текстовый файл делай. Если есьт доступ к БД - храни уроки в БД.
Название: Подскажите новичку.
Отправлено: Меняздесьдавнонет от 04 Февраля 2004, 19:34:10
добро пожаловать и тебе.
Всегда приятно встретить человека, который хочет научиться чему-то новому.

Ну, для начала я должен сказать, что делаешь ты неправильно.
Нельзя, чтобы программа писала программы.
Это должен делать ты сам.

поэтому, урок надо записывать в обычный файл, а уже из index.php его читать и выдавать пользователю.
соответственно, в этом индексе и будет код добавления комментариев.
Понятно?
Название: Подскажите новичку.
Отправлено: VASO от 04 Февраля 2004, 19:51:41
Если честно, то практически ничего не ясно:)
Попробую сделать так-
создается файл info.dat(для каждого урока будет в своей папке и с одной строкой, закодированной серилейзом.)
В него пишется нужная инфа об уроке. Потом я копирую подготовленный файл index.php , который будет читать файл с инфой.
Кооментарии будут в отдельном файле. ОТл, щас я попробую и скрор выложу.
Макс, уроки будут по 3ds max, прога такая есть, зайди на сайт 3dviewport.com, все поймешь. ТАм кста уже есть система публикаций, довольно хорошая, но с багами, написанная моим другом Exilom(кста он тут не появлялся?)
Название: Подскажите новичку.
Отправлено: VASO от 04 Февраля 2004, 19:57:23
Хе, нашел его!По веблогу вопрос спрашивал.
Название: Подскажите новичку.
Отправлено: Меняздесьдавнонет от 04 Февраля 2004, 20:07:47
главное сейчас не торопиться.
И не обижаться.
Надо признать, что технологию написания программ для веб ты представляешь довольно смутно.
Все сразу мы тебе объяснить не сможем - это громадный объем, но постепенно, с самого основного, отвечая на твои вопросы - научися делать правильно.

index.php никуда копировать не надо.
он у нас вообще один.
и каталог отдельный для одного-единственного файла создавать не надо.
и сериалайзить строку, если она в файле единстенная - тоже.

создаешь каталог для уроков. допустим - lessons
в него кладешь файлы 1.dat, 2.dat...
в них - уроки.

вызываешь уроки так:
index.php?lesson=1

в индексе пишешь такой код;
if (isset($_GET[\'lesson\'])) {
$filename=basename($_GET[\'lesson\']);
$filename="lessons/".$filename.".dat";
readfile($filename);
} else {
а тут выводишь список уроков
}

пока мы это сделаем без комментариев.
пока все понятно?
мы имеем одну программу, которая нам показывает все уроки по запросу.
Название: Подскажите новичку.
Отправлено: Меняздесьдавнонет от 04 Февраля 2004, 20:47:25
список уроков, кстати, можно выводить автоматически.
то есть, онужно будет тоьлко залить текст урока через форму или по фтп - и он сразу будет готов к работе
Название: Подскажите новичку.
Отправлено: VASO от 05 Февраля 2004, 09:22:21
Я поначалу имел ввиду создавать папку для каждоого урока, в него класть картинки и прочие файлы.(и index.php)
Конечно что-то вроде index.php?lesson=1 я уже много раз видел, но ниразу не врубился что это такое.
А что должно быть в файлах 1.dat 2.dat  и т.д.? И как кста заливать картинки и куда их класть?
А так большое спасибо, скоро опробую.
Название: Подскажите новичку.
Отправлено: Меняздесьдавнонет от 05 Февраля 2004, 11:49:40
ну тогда делай отдельный каталог для каждого урока.
соответственно, схему будет другая.
каталоги называй цифрами, файлы с уроками - как -нибудь по-другому.
Соответственно, составляй имя файла, которое надо открыть.

в файле - текст урока! а что там еще может быть-то? Священное писание?

куда и как заливать картинки, на этом форуме не рассматривается.
здесь пишут программы на РНР.
Название: Подскажите новичку.
Отправлено: VASO от 05 Февраля 2004, 14:04:17
Просто текст? Или htm?Вринципе туда надо еще и имя автора, его почту, страницу и т.д. Как это сделать.
Название: Подскажите новичку.
Отправлено: Меняздесьдавнонет от 05 Февраля 2004, 14:12:02
Ну, раз картинки есть, то надо класть Html - как ты считаешь?
в любом случае, класть туда надо то, что будешь потом выводить.

и какая проблема имя автора в нем написать?
Название: Подскажите новичку.
Отправлено: VASO от 05 Февраля 2004, 14:28:10
у меня краткая информация записывается в файл main.dat, по строчке, закодированной серилейзом. Потом с помощью for это выводится в таблице на главной странице. Ну допустим я хочу чтобы имя автра было на странице с уроком, но тогда же надо записывать эту информацию в отдельный файл для каждого урока.
Название: Подскажите новичку.
Отправлено: VASO от 05 Февраля 2004, 14:31:41
О! По твоему примеру получилось! Спасибо!
Название: Подскажите новичку.
Отправлено: Меняздесьдавнонет от 05 Февраля 2004, 14:53:34
зачем сериалайз?
зачем фор?

ты можешь объяснить?
почему бы в файл не занести текст, как он есть, и потом, как есть - вывести?
я не понимаю.
Объясни мне причину таких действий? они мне кажутся бессмысленными, потому, что я не вижу смысла в этом. Для чего это делается? почему нельзя класть, как есть?

С автором будем разбираться после того, как разберемся с форматом статьи. можно все в один файл писать. незачем ради одной строчки отддельный файл
Название: Подскажите новичку.
Отправлено: Меняздесьдавнонет от 05 Февраля 2004, 14:55:29
мой пример был рассчитан на файлы в одном каталоге.
а тебе надо в разных
Название: Подскажите новичку.
Отправлено: VASO от 05 Февраля 2004, 15:03:56
у меня на главной странице выводится краткая информация об уроках. Как я ее выведу если не фор? Он у меня считает сколько строк в главном файле, потом выводит описание туторов. Допустим посетитель открывает урок и что он видит??Голый текст? Он должен видеть еще автора, дату добавления и т.д. Как это сделать? :confused: :confused:
Название: Подскажите новичку.
Отправлено: Меняздесьдавнонет от 05 Февраля 2004, 18:59:41
я тебя уже двадцать раз просил привести описание того, что лежит в этом файле.
в этом сериалайзе.
я дождусь наконец?
или ты думаешь, что я телепат?
Название: Подскажите новичку.
Отправлено: Меняздесьдавнонет от 05 Февраля 2004, 19:08:02
ты мне скажи - где лежит у тебя сейчас текст урока?
в индексе?
а вот этот сериализованный массив?
там же? или где?
я ничего понять не могу.
ты со мной разговариваешь так, как будто я сижу рядом и все вижу, как оно устроено.
Название: Подскажите новичку.
Отправлено: VASO от 05 Февраля 2004, 19:32:48
Ладно, выкладываю. Блин...аттачментов нету....
Add.php
Цитировать
$date=date("d.M.y");
$tut= serialize(array(\'rey\'=>0,\'kat\'=>$kat,\'date\'=>$date,\'name\'=>$name,\'autor\'=>$autor,\'mail\'=>$mail,\'www\'=>$www,\'about\'=>$about));
//$info= serialize(array(\'date\'=>$date,\'text\'=>$tutor));
$fp = fopen ("main.dat", "a+");
 fwrite ($fp, "$tut
");
 fclose ($fp);
$basa= file("main.dat");
$all=count($basa);
@mkdir(lessons,666);
$pat= "lessons/$all/";
@mkdir($pat,666);
$imgdir="img";
$path= "lessons/$all/img";
@mkdir($path,666);
$f = fopen ("lessons/$all/$all.dat", "w+");
 fwrite ($f, "
 
 
 $tutor
 
 
");
 fclose ($f);
for ($i=0; $i<$files; $i++) {
if (@file_exists($File[$i])){
Copy($File[$i],"$path/".basename($File_name[$i]));
}
}
 echo "Ïàñèáêè, âàø òóòîð áûë äîáàâëåí";
}?>



  .:3DViewport.com:.- ñèñòåìà ïóáëèêàöèé.



Íàçâàíèå óðîêà:

Àâòîð:

Ïî÷òà àâòîðà:

Ïàãà àâòîða:

Îïèñàíèå óðîêà:


Êàòåãîðèÿ:


Ñàì òóòîð:



")\'><B>
")\'><I>
")\'><U>
")\'><li>
")\'><Img..
")\'><a href.
")\'><br





























Èòîãî çàãðóæåíî ôàéëîâ-(ââåñòè ñêîëüêî ôàéëîâ âû çàãðóæàåòå)



Название: Подскажите новичку.
Отправлено: VASO от 05 Февраля 2004, 19:34:18
Index.php
Цитировать





if (isset($_GET[\'lesson\'])) {
$filename=basename($_GET[\'lesson\']);
$filename="lessons/$filename/".$filename.".dat";
readfile($filename);}else{
///////////////////////////////

/////////////////
$basa=file("main.dat");
$all = count($basa);
for ($i=0;$i<$all;$i++){
$t=unserialize($basa[$i]);
$we=$i+1;
$s= filesize("lessons/$we/img/tutor.zip");
$size= round($s/1000);
?>
"
   
   
   
 
 
   
   
 
 
   
   
   
   
 
 
   
   
   
   
 
 
   
   
   
   
 
 
   
   
   
   
 

" style="text-decoration: none">


    .::Êàòåãîðèÿ::
    ::.
 /img/image.gif">
   

   
    ::Ñêà÷àòü

   
    .:/img/tutor.zip">tutor.zip(Êá) :.

   
    ::Àâòîð

   
    .:"> :.

   
    ::Ðåéòèíã

   
    .::.

   
    ::Õèòîâ

   
    .:Õèòîâ :.

   
    ::Îöåíèòü

   
:.

   
    ::Êîììåíòàðèåâ

   
    .:Êîììåíòàðèè :.
  
   
    ::Äàòà ïóáëèêàöèè

   
    .: :.


?>
Èòîãî ïóáëèêàöèé:

Название: Подскажите новичку.
Отправлено: Меняздесьдавнонет от 05 Февраля 2004, 20:22:22
очень интересно.
и познавательно.

особенно вот это:
Цитировать


От кода ПХП просто в глазах рябит.
Название: Подскажите новичку.
Отправлено: Меняздесьдавнонет от 05 Февраля 2004, 20:26:31
в общем, так.
можешь делать, как хочешь.
хочешь - сериализуй.
Хотя я считаю это неудобным.
Но раз уж тебе так проще, то оставь.

еще вопросы у тебя есть?
Название: Подскажите новичку.
Отправлено: VASO от 06 Февраля 2004, 14:54:40
А еше, как делать, чтобы после загрузки архива, на сервере он сам разархивировался?
Название: Подскажите новичку.
Отправлено: VASO от 06 Февраля 2004, 16:11:47
Хе...нет ессна.