Автор Гілка: З'їхати можна, якщо іще нез'їх. РНР хай йому хрець  (Прочитано 11462 раз)

idontremember

  • Гість
Є такі файли:
rdr@myhost:~/htdocs/tmp_codes$ ll
итого 80
-rw-rw-rw- 1 apache apache 326 2011-01-23 20:37 1.frtb
-rw-rw-rw- 1 rdr    rdr     76 2011-01-23 16:32 1.qb
-rw-rw-rw- 1 rdr    rdr    260 2011-01-23 20:37 10.frtb
-rw-rw-rw- 1 rdr    rdr    260 2011-01-23 20:37 11.frtb
-rw-rw-rw- 1 rdr    rdr    260 2011-01-23 20:37 12.frtb
-rw-rw-rw- 1 apache apache   9 2011-01-23 20:33 127.0.0.1.txt
-rw-rw-rw- 1 rdr    rdr    260 2011-01-23 20:37 13.frtb
-rw-rw-rw- 1 rdr    rdr    260 2011-01-23 20:37 14.frtb
-rw-rw-rw- 1 rdr    rdr    260 2011-01-23 20:37 15.frtb
-rw-rw-rw- 1 rdr    rdr    260 2011-01-23 20:37 16.frtb
-rw-rw-rw- 1 apache apache 325 2011-01-23 20:37 2.frtb
-rw-rw-rw- 1 apache apache 325 2011-01-23 20:37 3.frtb
-rw-rw-rw- 1 apache apache 329 2011-01-23 20:37 4.frtb
-rw-rw-rw- 1 apache apache 329 2011-01-23 20:37 5.frtb
-rw-rw-rw- 1 apache apache 329 2011-01-23 20:37 6.frtb
-rw-rw-rw- 1 rdr    rdr    260 2011-01-23 20:37 7.frtb
-rw-rw-rw- 1 rdr    rdr    520 2011-01-23 20:37 8.frtb
-rw-rw-rw- 1 rdr    rdr    261 2011-01-23 20:37 9.frtb
-rw-rw-rw- 1 apache wheel  434 2011-01-09 19:33 index.html
-rw-rw-rw- 1 apache wheel   10 2011-01-09 19:33 lock_time
rdr@myhost:~/htdocs/tmp_codes$
Файли з іменами *.frtb повинні містити посилання приблизно такого типу <a href="http://myhost/new_view_comm.php?pg=6#67"> freshest comment bla-bla</a> Вони такі великі бо там сміття (не посилання), але це неважливо.

Посилання до *.frtb записується при ввідправці повідомлення користувача до моїх коментів, гостьової книги (або інш - не в цьому прикол).
На сторінці виводяться ці файли-посилання (для відображення найсвіжіших повідомлень у гостьовій або інш).
Іх (посилань на найсвіжіші повідомлення) 15 штук. Саме найсвіжіше посилання на саме останнє повідомлення запписується у файл 1.frtb при відправці повідомл. користувачем.

Алгоритм такий:
$Х = 15
Поки $Х < 16 та $Х !=1 (менше 16 та не дорівнює нулю), виконати цикл:

1 - Видалити файл з іменем $Х.frtb
2 - Присвоїти змінній $ТМР значення $Х - 1
3 - Перейменувати $ТМР.frtb у $Х.frtb (здвиг на один комент, щоб 14 став 15, 13 став 14 і т. д.)
4 - $Х приссвоїти $Х - 1
5 - На початок циклу
---
Далі код запису щойно сформованого посилання у файл 1.frtb

Ось шматок коду до поянення(зверху):// ДЛЯ ЗАПИСУ У ФАЙЛ "свіжий комм" ТА ОБРОБКА НАЙСВІЖІШИХ
$x=15;
while ( ($x < 16) && ($x != 1) )
// якщо менше 16 _І_ НЕ ДОРІВНЮЄ 1
// ТОМУ ЩО 1.frtb БУДЕ ПЕРЕЗАПИСАНЙ НОВИМ ПОСИЛАННЯМ
{
unlink ("../tmp_codes/$x.frtb");
// exit;
$tmp_n = $x - 1;
rename ("../tmp_codes/$tmp_n.frtb", "../tmp_codes/$x.frtb");
echo "$x<br>";
$x = $x - 1;
echo "<hr>";

// exit;
}
echo "$x<br>";
// exit;
// ОБРОБКА НАЙСВІЖІШИХ ОБРОБКА НАЙСВІЖІШИХ
      $new_link = fopen ("../tmp_codes/1.frtb", "w+");
      fwrite ($new_link, $falink);
      fclose ($new_link);
// ЗАПИСАТИ СВІЖИЙ ЛІНК ДО ФАЙЛУ ПЕРЕД РЕДІРЕКТОМ НА СТОРІНКУ
Ну і нарешті питання: ЧОМУ ВОНО МАТЮКАЄТЬСЯ??? Файли ж є!
Матюкається воно слідуючим чином...
Мене вже осяяло, зійшло прозіння  [smiley=27.gif]Я маг і чуродєй, протупив і не соромлюсь зізнатись у цьому.
../tmp_codes/15.frtb15
../tmp_codes/14.frtb
Warning: unlink(../tmp_codes/14.frtb) [function.unlink]: No such file or directory in /var/www/htdocs/cgi/frtb_add.php on line 309
14
../tmp_codes/13.frtb
Warning: unlink(../tmp_codes/13.frtb) [function.unlink]: No such file or directory in /var/www/htdocs/cgi/frtb_add.php on line 309
13
../tmp_codes/12.frtb
Warning: unlink(../tmp_codes/12.frtb) [function.unlink]: No such file or directory in /var/www/htdocs/cgi/frtb_add.php on line 309
12
../tmp_codes/11.frtb
Warning: unlink(../tmp_codes/11.frtb) [function.unlink]: No such file or directory in /var/www/htdocs/cgi/frtb_add.php on line 309
11
../tmp_codes/10.frtb
Warning: unlink(../tmp_codes/10.frtb) [function.unlink]: No such file or directory in /var/www/htdocs/cgi/frtb_add.php on line 309
10
../tmp_codes/9.frtb
Warning: unlink(../tmp_codes/9.frtb) [function.unlink]: No such file or directory in /var/www/htdocs/cgi/frtb_add.php on line 309
9
../tmp_codes/8.frtb
Warning: unlink(../tmp_codes/8.frtb) [function.unlink]: No such file or directory in /var/www/htdocs/cgi/frtb_add.php on line 309
8
../tmp_codes/7.frtb
Warning: unlink(../tmp_codes/7.frtb) [function.unlink]: No such file or directory in /var/www/htdocs/cgi/frtb_add.php on line 309
7
../tmp_codes/6.frtb
Warning: unlink(../tmp_codes/6.frtb) [function.unlink]: No such file or directory in /var/www/htdocs/cgi/frtb_add.php on line 309
6
../tmp_codes/5.frtb
Warning: unlink(../tmp_codes/5.frtb) [function.unlink]: No such file or directory in /var/www/htdocs/cgi/frtb_add.php on line 309
5
../tmp_codes/4.frtb
Warning: unlink(../tmp_codes/4.frtb) [function.unlink]: No such file or directory in /var/www/htdocs/cgi/frtb_add.php on line 309
4
../tmp_codes/3.frtb
Warning: unlink(../tmp_codes/3.frtb) [function.unlink]: No such file or directory in /var/www/htdocs/cgi/frtb_add.php on line 309
3
../tmp_codes/2.frtb
Warning: unlink(../tmp_codes/2.frtb) [function.unlink]: No such file or directory in /var/www/htdocs/cgi/frtb_add.php on line 309
2
---
Прикол в тому, що файли переіменовуются, тому їх такин чином "нема" на етапі виконання циклу. Хух, отаке  буває.
Тему приліпіть десь для сміху. Бо я майже півдня не міг докумекати що до чого, а почав писати про "проблему" і форум на мене вплинув. Тут же всі з hi-end інтеллекттом  ;D.


Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Ваше мислення таке нелінійне.
А не зачасто ви звераєтесь до файлової системи? впевнений можна було б реалізувати іншакше.

r00t x

  • Гість
Про мислення не зрозумів. Я ж детально описав "проблєму". Та і пямолінійне мисоення мені якось  :-/ не личить (не підходить). Краще мислити, та вести роздуми БАГАТОПОТОЧНО, обдумуючи та думаючи з усіх сторін та точок зору. Це така філософія  ;).
---
Так дійно одне і те саме можна реалізувати багатьма способами - ніхто не буде суперечити цьому. Але я додумався до такого. Сервер не мій, на сайті нічого кртичного, та секретного нема.
---
Я розмістив unlink ("../tmp_codes/$x.frtb"); ПЕРЕД циклом. і все.
---
Якщо хтось хоче заморочитись над алгоритмом, то будь-ласка пишіть тут, як по іншому реалізувати. Можна і людсбкою мовою  ;D .

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Я правильно зрозумів, у вас для кожного поста окремиф файл?

r00t x

  • Гість
І так, і ні. Кожен коментар до гостьової зберігаються в окремому файлі.
---
Також є FRT-БЛОГ. Перше повідомлення до нього пишу я. Потім користувачі мають можливість додавати свої коменти, ЯКІ ЗАПИСУЮТЬСЯ у кінець файлу МОГО першого блошиного повідомлення.
Всі ці файли FRT-блогу виводяться по 10 штук на кожній сторінці. Алу це вже нецікаві(?) деталі.
---
Також зараз потію над ТЕМАТИЧНИМ БЛОГОМ. Там кожне моє перше повідомлення виводиься на одній сторінці. Ну і звісно ж, відповіді коритувачів додаються у кінець мого повідомлення у ТЕМАТИЧНОМУ блозі.
---
Коли закінчу написання - побачите як воно все виглядає. Якщо маєте бажання - повідомлю особисто, а то тут є мойдодьори   [smiley=jamesbond.gif] .

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
як на мене то жахливенько. А чому саме фалйи? СУБД немає?

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
якщо файли виконується "напряму", не includ-яться, то
 якщо  скрипт /var/www/htdocs/cgi/frtb_add.php    ->   то  "../"  буде означати /htdocs/cgi  , а у вкас файли лежать в  /htdocs/tmp_codes

чи часом там не бракує ще одного  "../"
тобто буде  unlink ("../../tmp_codes/$x.frtb");  і т.д.

[size=8]а алгоритм дійсно залишає бажати кращого , але то таке...[/size]
« Змінено: 2011-01-24 17:25:42 від vova07 »

r00t x

  • Гість
чи часом там не бракує ще одного  "../" - ні то не так. Візьміть папір у олівець і виконайте той цикл на папері.

а алгоритм дійсно залишає бажати кращого , але то таке...
- Запрорпонуйте краще.  Я вважаю що моє - то просто геніально  ;D  .
---
"А чому саме фалйи? СУБД немає? " - та ну їх...

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Цитата
а ну їх...
кого ну?

r00t x

  • Гість
як на мене то жахливенько. А чому саме фалйи? СУБД немає?
Бази даних. Я в скл непонімать. В жомах та вордпресах також не розбираюсь (в укозах також нічого не розумію І НЕ ХОЧУ, але здогадуюсь що там нічого складного нема.
---
Я сайт створив просто томі що хотілось щось сотворити. Тим більш це було весною, коли мні день народження). Так ото я задумав сотворити. Задачі я ніякої перед собою не ставив. Потім вирішив ш0зь типу ознайомитись із php. От і все.
---
Але зараз я хочу СПРОБУВАТИ щось зарробити в тирнеті. Сумніваюсь що щось толкове вийде, але все ж таки - чим  я ризикую? Аж нічим. Ну витрачу я на рекламу (в журналі) пару сотень грн., потім буде видно що і як, і скільки сотих (чи десятих  :-/) цента можна заробити в тирнеті.
---
Замість того щоб доробляти свойо творчество я відповідаю тут - це не порядок.

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Ваша ідея також має право на життя. Але мені йомусь здається що СУБД швидше справлялося із чими задачами. Це лише моя суб’єктивна думка.

idontremember

  • Гість
Ну якщо це якась базіще даних, типу ідентифікаційних кодів, приватної інформації всих громадфн України - то дійсно необхідно вести роботу саме з БД. А для мого блогу не потрібно таких бах  :D.
---
У мене у логах (логах сайту на віддаленому сервері) знайлися сліди якихось ботів (НЕ ПОШУКОВИХ!!!). Я тріхо глянув в тирнетах, то виявляється програми автоматичного злому. Ги-ги, (навіть ХА_ХА_ХА). У мене ж там асолютно нічого стандартного нема, а проги розраховані на певні стандарти. Ну нехай пробують, може зламають ...  ;D Я в цьому дуж сумніваюсь. Але я ввже згадував, що сервер не мій - то безкоштовний хостинг. Так що всі проблеми люгають на надавача послуг з хостингу.
---
А укози та інші кікози :)) я не хотів використовувати з самого початку, і по вказаній вище причині (творчість та бажання чогось навчитися). А ТАКОЖ я не використовую того, про що я не знаю, як воно працює.
---
Ви ж всі в дитинстві розбирали, ламали іграшки... тому що цікаво  :P
---
Я вже майже розслабився, бо скоро бачу "закінчення" роботи, АЛЕ... У мене вже є ідеї про подальше вдосконалення. Саме тому слово "розслабився" я написав  кавиччках.
---
Оце я ш0т0-тіпа розпійарився... А подивитесь і залишитесь розчарованими  :( , в чому я сумніваюсь  8-) .

idontremember

  • Гість
Агоритм
« Відповідей #12 : 2011-01-26 08:33:42 »
Ну так що там з алгоритмом виводу посилань на СВІЖІ повідомлення ? Я думаю що можна якось використати роботу з масивом, але ж всу рівно всі ффайли будуть перезаписуватись.
---
Незнаю чи можливо просто виводити посилання на останні повід. без запису до файлів? Думаю що якось можна але для чого так все ускладнювати? Хоча... це залежить від, того хто як думає, та вміє програмити. Можливо б з мене получився б хоч який небудь програміст, але... не судилося.  :'(

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Скільки не читаю цей топік - мене в холодний під кидає від цього методу.

r00t x

  • Гість
 :-/ Оттакої... Зізнаюся: Я хотів надати всі source мого творчєства нашим (моїм  ;) ) форумцям, але ... після того як я насилу долазив до диванчика, бо засинав біля компа, клюючи носом клавіатуру, я вирішив не розкривати таємниці кодів.
---
Їх ще треба ретельно вилизувати, та попакувати частини коду у функції. Чистити необхідно ПО-ПЕРШЕ для себе, щоб через деякий час все памятати. Боя вже про якусь "загадкову двійку" забув  :o >:( .
$us_mess_counter = ($us_mess_counter - 2);
// Знову загадкова "двійка"
$pgs = intval ($us_mess_counter / 10);
---
В піт кидає???  ;D Та я ж писав вище, що "розбиваючи всі стандарти, наперекір всім какерам", ну і так далі...)А ще можна використовувати ОДНОРАЗОВІ паролі, для доступу до чогось (наприклад до адміністративної частини). При вводі паролю, якусь його частину можна використовувати для нового паролю. Алгоритм небуду описувати - головне, щоб ідею зрозуміли.