|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.10.2012, 12:01 | #11 |
Пользователь
Регистрация: 21.09.2009
Сообщений: 48
|
Как проще всего сгенерировать php файл ? Если занести в строковую переменную код, то php будет пытаться переменные подменить, а мне нужно именно в том виде, который задам + добавить массив с путями файлов.
Вот к примеру код: Код:
Разобрался. Нужно использовать одинарные кавычки, забыл совсем про это Последний раз редактировалось HDMI; 21.10.2012 в 12:08. |
21.10.2012, 13:41 | #12 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
Эм, пардон. Почему вариант с БД отметнули?
Я бы сделал так: Есть таблица: id filename number id - ключевое поле(уж привычка у меня его всюду втыкать) filename - говорит сам за себя number - цифры по порядку от 0 до N-1, это поле в индексе, по нему и будет выборка Запрос сл. вида SELECT filename FROM table WHERE number = 'rand()%count' LIMIT 1 count - можно хранить в отдельной табличке, или SELECT count(id) AS count FROM table; Добавление очень простое: INSERT INTO table (filename, number) VALUES('filename','count') count++; Удаление: Тут воспользуемся тем, что порядок записей не имеет для нас особого значения(капельку пострадает статистика показов, но для 600 это будет совсем незаметно) UPDATE table SET filename = (SELECT filename FROM table WHERE number = 'count-1' LIMIT 1) WHERE number = 'delete_number' LIMIT 1 DELETE FROM table WHERE number = 'count-1' LIMIT 1 Думаю все понятно, перезаписываем filename удаляемой картинки(предварительно удалив саму картинку) на имя картинки находящейся в конце таблицы, и удаляем последнюю запись из таблицы. Оптимально вроде по всем аспектам, последние 2 операции(добавление и удаление) не обязательно должны быть оптимальными, т.к. их редко используют, а вот выборка должна, а т.к. у нас поле number находится в индексе и оно уникальное, то выборка должна происходить быстро.(быстрее если бы не было таблицы с индексами) Или я не прав? Было бы интересно протестировать оба варианта(с php файлом и с БД). И ИМХО, если картинок будет over9000 то о каком файле php может идти речь?(такой вот взгляд в будущее) По поводу, забросить сразу несколько картинок в папку, то тут лучше сделать возможность грузить сразу несколько файлов в админке. Последний раз редактировалось Kostia; 21.10.2012 в 13:46. |
21.10.2012, 14:02 | #13 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Kostia, по первое, дерево каталогов тоже есть реляционная структура.
по второе взять имена файлов это не значит что надо сканировать каталог, их можно читать из таблицы (MFT, ...), что по сути и есть индекс. по третье, эти данные можно кэшировать в момент обновления файлов. и вопрос, а нафига козе баян? базу разворачивать, соединение устанавливать ... когда все уже под рукой. |
21.10.2012, 14:24 | #14 | |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
Цитата:
|
|
21.10.2012, 14:44 | #15 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
я там выше функцию приводил, я правда не знаю как она внутри делает, но верю что не сканирует.
кэшировать как угодно, в память например. вот к примеру есть модуль http://se2.php.net/manual/ru/class.memcache.php |
21.10.2012, 17:50 | #16 | |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Цитата:
|
|
22.10.2012, 13:06 | #17 |
Пользователь
Регистрация: 17.10.2012
Сообщений: 37
|
Уважаемый автор, я же вам уже писал.
PHP код:
http://dev-snippet.com
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оптимизация кода | LatuSerge | Общие вопросы Delphi | 10 | 27.12.2011 01:51 |
Оптимизация кода на C# | FiloXSee | Общие вопросы .NET | 4 | 24.09.2011 17:10 |
Оптимизация кода | ViktorG | Microsoft Office Excel | 4 | 12.11.2010 14:43 |
Оптимизация кода в си | dampirik | Помощь студентам | 4 | 07.07.2009 11:30 |
Оптимизация кода | viscas | PHP | 3 | 31.05.2009 16:04 |