- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
function addnews($str1="", $str2="", $str3="", $str4="", $str5=""){
$num = 0;
$done = 0;
while ($done == 0){
$num++;
$s = "";
if ($num<10000000) {$s="0".$s;}
if ($num<1000000) {$s="0".$s;}
if ($num<100000) {$s="0".$s;}
if ($num<10000) {$s="0".$s;}
if ($num<1000) {$s="0".$s;}
if ($num<100) {$s="0".$s;}
if ($num<10) {$s="0".$s;}
$done = 1;
if (file_exists("news/".$s.$num.".txt")){$done=0;}
}
$fh1 =fopen("news/".$s.$num.".txt","w");
fwrite($fh1, $str1."\r\n");
fwrite($fh1, $str2."\r\n");
fwrite($fh1, $str3."\r\n");
fwrite($fh1, $str4."\r\n");
fwrite($fh1, $str5);
fclose($fh1);
}
Предложили доработать корпоративную тикет-систему. Движок абсолютно всё хранит в txt-файлах. Да, и пароли пользователей тоже - в открытом виде. БД? Нет, не слышали :(
Но это еще не так страшно...
пока кто-то пишет что-то в файл, другие его ждут. конкурентный доступ? не, не слышал
Судя по коду, тут по файлу на запись. Так что конкурентность будет не хуже, чем в СУБД.
Да, а вот тикет и комментарии к нему лежат в одном файле.
видишь ли, если ты ночью идешь с фонарем через поле, где днем коровы паслись, это не значит, что ты защищен он попадания в говно. когда батарейки в фонаре сядут, ты начнешь регулярно наступать на это говно и конечно же 100500 лулзов.
>PHP
>распараллелить в один поток
/0
# Тред не читал, пыхобляди соснули.
Ты так говоришь, как будто СУБД - это серебряная пуля, волшебным образом спасающая от всех узких мест.
if ($num<1000000) {$s="0".$s;}
if ($num<100000) {$s="0".$s;}
if ($num<10000) {$s="0".$s;}
if ($num<1000) {$s="0".$s;}
if ($num<100) {$s="0".$s;}
if ($num<10) {$s="0".$s;}
>На самом деле эта функция - не говнокод :)
у меня разрыв шаблона
а это типа совсем не хуйня?
Поздновато, уже пора знакомиться с password_hash() и password_verify().