![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| teplotaya |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 10.3.2006 Репутация: нет Всего: 2 |
<?
... тут идет процедура добавления всех файлов из директории в массив $files[] так как в директории больше 2000 файлов это отнимает небубовое кол-во процессорного времени. ?> $files[$n] - дальше я использую этот массив для извлечения из него файлов (картинки) как мне сделать так что бы процедура чтения файлов в массив выполналась только один раз при первом заходе юзера на страничку ? как хранить массив files[] что бы каждый раз не выполнять процедуру добавления файлов в массив ? |
|||
|
||||
| Darhazer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 28.9.2005 Где: HellCity (Sofia, Bulgaria) Репутация: 1 Всего: 29 |
записиваеш его в $_SESSION;
Конечно, так код будет выполнятся один раз за юзеру, но по одном за каждом юзере. Если хочеш только один раз в ден, тогда надо записать массив $files в файле или в БД -------------------- I'm a wheel, I'm a wheel, I can roll, I can feel But you can't stop me turning 'Cause I'm the sun, I'm the sun, I can move, I can run But you'll never stom me burning |
|||
|
||||
| teplotaya |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 10.3.2006 Репутация: нет Всего: 2 |
здорово, я пожалуй совмещу использование сессей и чтение заранее проиндексированного каталога из файла
файл у меня такой: file1.jpg file2.jpg file3.jpg file4.jpg file5.jpg file6.jpg ... file2000.jpg или лучше хранить все в строчку через запятую ? а патом парсировать ? вообще то что я использую для хранения информации в txt базе данных а в не mysql то какие минусы по скорости там например ? если все грамотно оптимизировать то это будет не хуже mysql ? |
|||
|
||||
| IvanB |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 23.5.2005 Где: Irkutsk Репутация: нет Всего: 5 |
В защите минусы.... Хотя я обычно использую и то, и другое. --------------------
Закон отладки: Каждая последняя ошибка является предпоследней. |
|||
|
||||
| Serkys |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 2 Всего: 22 |
||||
|
||||
| Darhazer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 28.9.2005 Где: HellCity (Sofia, Bulgaria) Репутация: 1 Всего: 29 |
Serkys,
Идея конечно очен хорошая. Но опять, если у тебя 1000 юзеров, для каждому будеш проверят списка. Но только один раз за весь ден, а не несколько раз, если юзер решил несколько раз зайти -------------------- I'm a wheel, I'm a wheel, I can roll, I can feel But you can't stop me turning 'Cause I'm the sun, I'm the sun, I can move, I can run But you'll never stom me burning |
|||
|
||||
| teplotaya |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 10.3.2006 Репутация: нет Всего: 2 |
расскажите пажалусто про безопастность хранения данных в txt формате. |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
К твоему файлу можно будет обратиться извне, т.е. можно будет в бродилке написать httр://your-page.ru/bd.txt. Наверно это имел ввиду IvanB. Но это можно обойти, если создать .htaccess с запретом на чтение txt-файлов. |
|||
|
||||
| IvanB |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 23.5.2005 Где: Irkutsk Репутация: нет Всего: 5 |
Именно... Простите, в следующий раз буду яснее выражаться.
А записывать в них с посторонних компов возможно? По моему, это тоже стоит блоконуть. Это сообщение отредактировал(а) IvanB - 19.3.2006, 16:02 --------------------
Закон отладки: Каждая последняя ошибка является предпоследней. |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
||||
|
||||
| Serkys |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 2 Всего: 22 |
Блокировать это всё в .htaccess надо. С файлом не могут работать одновременно 2 скрипта, т.е. приходится ставить блокирование. Отсюда уменьшение скорости - скрипту приходится ждать, пока другой скрипт не закончит работу.
Файл можно засунуть в директорию, на уровень выше директории "www". Не все хостеры это позволяют, но зато его прочесть нельзя будет. Возможно всё. Блокируй всё, что только можно. Помни: юзер - по умолчанию злобный хакер. |
|||
|
||||
| IvanB |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 23.5.2005 Где: Irkutsk Репутация: нет Всего: 5 |
Вспомнилось: Самый страшный вирус сидит за компьютером. Т. е. в результате мы получим, что либо БД, либо текстовые файлы+настройки сервера.... --------------------
Закон отладки: Каждая последняя ошибка является предпоследней. |
|||
|
||||
| teplotaya |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 10.3.2006 Репутация: нет Всего: 2 |
я так понимаю что использование serialize, unserialize это самый оптимальный вариант по скорости ? насчет одновременного использования файла в одно время тока одним скриптом это как я понимаю только если файл открывается за запись ? может ли одновременно несколько скриптов юзать один и тот же файл без блокирования тока на чтение ? --> $files=file($part.".txt"); ? насчет .htaccess можно поподробней. у меня в директории txt лежат файлы txt под каждую картинку файл с комментариями нужно что бы тока мой скрипт имел права на чтение и запись в этот файл. и что бы нибыло в этот файл доступа из вне как на чтение так и на запись. что коекретно в этом случае надо писать в .htaccess ? насчет прописывания chmod к файлу я в этом полный дуб. расжуйте если не сложно какие настройки должны быть. еще вопросик насчет защиты в формах что бы юзер не ввел всякой пурги типа экранирующих символов и тегов то я делаю так: $name=strtr($name,"\r","\n"); $name=str_replace("\n"," ",$name); $name=str_replace("||"," ",$name); $name=strip_tags($name,"<i>"); этого хватит для защиты от дурного пользователя ? теперь насчет блокирования файла во время записи в него: $open=fopen($part."/txt/".$id.".txt","a"); fclose($open); непроизойдет ли такой нежелательной ситуации когда один и тот же файл один скрипт откроет на запись обнулит а другой его закроет и произойдет потеря ранее сохраненной информации ? |
|||
|
||||
| Ciber SLasH |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
Используй htmlspecialchars и для запросов к БД — mysql_real_escape_string и для экранирования произволных символов — addcslashes
|
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Тексты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |