Прошу направить где именно прочесть(изучить,посмотреть) про ограничение количества файлов (в моём случае изображний) например до трёх штук, загружаемых пользователем на сайт! Заранее благодарен!
а каким образом пользователю удается загрузить больше 3? с разных страниц? да и пользователь сам не востоге будет закачивать с разных окон ибо тормоза и еще какие
Наверное я не правильно сформулировал свой вопрос! Пользователь при регистации на сайте может загрузить аватарки,но не больше трёх-вот как его тут ограничить? Как я вижу: вести статистику при каждой загрузке фотографии-например:при первой загрузку присвоить значение единицы,потом при второй загрузке присвоить значение двойки и т.д.!Когда это значение привысит тройку,то выводить сообщение,что он не может больше фотографий загружать! Но мне кажется,что это слишком приметивно!Может есть другой вариант? Раз отозвались и готовы помочь-ещё вопрос: если сделать список-меню в квери по типу гармошки(нажимаешь на ссылку и текст выезжает без перезагрузки страницы),то возможно ли вместо текста выводить например фотографии с данными в цикле?
Panich По второму вопросу - jquery carousel http://sorgalla.com/projects/jcarousel/ ... imple.html как я понимаю Или всё таки Гармошка - http://docs.jquery.com/UI/Accordion По первому - где собираешься хранить картинки и ссылки с ними подтягивать?
а каким образом он загрузит 4? Ведь ваш интерфейс наверно продуман на тот случай когда колво аватарок превысит какоето количество, или нет? если не продуман, то надо организовать хранилище сцылок/адресов на аватарки. и анализировать информацию которая там. Это позволит не только управлять загрузкой, а также редактировать аватарки и многое другое.
tommyangelo, По первому: ссылки буду хранить в таблице регистрации пользователей,а изображение в папке на сервере? Если честно,то даже не вкурсе,что есть другие варианты!Если это так,то искренне прошу просвятить! По второму: про второй вариант Вашей ссылки!Вот можно сделать так,что бы вместо текста например выводилось изображение,потом подпись к нему,краткое содержание,ссылка на изображение и т.д.Только всё это в цыкле (т.е. от 3 до 10 изображени)й с данными? Alex_pac, я уже прописал варианты ресайза,ограничил размер фотографии,привязал фотографии к каждому пользователю отдельно.Не понимаю как именно сделать так,что бы ограничить загрузку тремя изображениями(при регистрации например)!
пойдем от противного каким методом у вас получается загрузить больше 3? заблокируйте этот метод загрузки.
Panich Про Аккордеон - если почитать, там всё написано. Дивы формируются сразу при загрузке страницы, потом инициализируется Аккордеон. Вот в каждый див надо вставить картинку, подпись, изображение, и ссылку.
)))Алекс,у меня нет ограничения по загрузке как таковой! Сначала я прописал функцию по замене одного аватара другим (при повторной загрузке аватара предыдущий уничтожается),но возникла необходимость увеличить число загрузок (я убрал из кода функцию,которая уничтожает предыдущий аватар) и теперь пользователь может загрузить хоть 5000 изображений!А нужно ограничить лишь до трёх! Для примера:сайт одноклассники! Вот там можно грузить не больше 10 фотографий-я тоже хочу так ограничить,но только тремя! Ещё бы понять как можно пользователю предоставить функцию выбора аватара из подгруженных им ранее!Но сначала хочу понять как ограничить))))) Спасибо за отзывчивость!
tommyangelo,если просто вставить картинку и текст-это понятно,что всё заработает как надо! У меня вопрос немного в другом:возможно ли внутри аккордиона выводить цыкл из базы данных с картинками и текстом-что бы вывод был не ограничен длиной одной из вкладок-тянулось поле вкладки пока весь цыкл не появится на страницы пользователя!?
Если это действительно возможно,то с применением php выводить с помощью функции printf или HERE или ещё что?
найдя ответ на этот вопрос найдете на все остальные. а ответ в том что надо выделить еще поле(поля) в таблице под адреса аватаров чтобы приклеить их к информационному объекту "пользователь". Просто если посматреть на эти хоть и 3 аватара то получаем небольшую пользовательскую галерею картинок, а ей тоже нужна своя АРХИТЕКТУРА и место в базе данных.
Хорошо! Посоветуйте тогда где прочесть про то как всё это сделать: 1.Загрузка пользователем не больше трёх изображений. 2.Возможность пользователю выбирать одно из загруженных изображений в качестве аватара. 3.Про саму архитектуру в базе данных при моих условиях. Или хотябы примерный код выложите,а я уже покумекаю сам!)))
Вот вполне сносная версия ответа на этот вопрос,если кому интересно: <? $userid = "25514"; //Наш пользователь [определяется как-то у Вас] $max_files_allowed = "3"; //Максимальное количество файлов, доступное любому пользователю $dbhost = "localhost"; //хост базы $dbuser = "main"; //юзверь базы $dbpass = "w48Y90w@"; //пароль в базу $dbname = "4test"; //имя базы /*Делаем подключение и запрос в базу - выдать инфу по количеству загруженных файлов пользователем Считаем, что заранее добавлена колонка (например через PMA): `users` - это таблица с пользователями; `uploadedfiles` - название новой колонки с которой будем работать ALTER TABLE `users` ADD `uploadedfiles` INT NOT NULL Я предполагаю, что у вас УЖЕ есть таблица типа users с инфой о пользователях */ $link = mysql_connect($dbhost,$dbuser,$dbpass) or die("Тыдыщь... Что-то пошло не так: " . mysql_error()); //коннект //Запрос $result возвращет массив с одним значением "uploadedfiles" из базы. Допустим с самого начала значение = 0 $result = mysql_query("SELECT uploadedfiles FROM `$dbname`.`users` WHERE userid = $userid" ) or die("Ошибка в запросе: " . mysql_error()); while ($row = mysql_fetch_assoc($result)) { $uploadedfiles = $row['uploadedfiles']; echo $uploadedfiles .""; //Для отладки - отобразить какое значение в базе в данной ячейке для выбраного пользователя } ?> <!--Стандартненький аплоад--> <form enctype="multipart/form-data" action="limit_uploads.php" method="POST"> <!--Ограничение на загрузку в байтах -> <input type="hidden" name="MAX_FILE_SIZE" value="100000" />--> <input type="hidden" name="start" value="1" /><!--Для инициализации начала загрузки БЕЗ выдачи ашипки--> <input type="hidden" name="userid" value="<?php echo($userid); ?>" /><!--Я не знаю как у вас передаётся идентификатор пользователя, но считаем, что это он--> <? if ($uploadedfiles >= $max_files_allowed) //Если пользователь загрузил больше, чем положено: { die("<p>Хотите больше загружать? Ставьте ящик админу</p>"); } else { echo ("Выберите файл: <input name=\"uploadedfile\" type=\"file\" /> <input type=\"submit\" value=\"Закачать на серв\" />"); } ?> </form> <? if($_POST['start'] == 1) { $target_path = "uploads"; // Папка для загрузки $target_path = $target_path . "/" . basename( $_FILES['uploadedfile']['name']); if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { echo "Файл ". basename( $_FILES['uploadedfile']['name']) ." загружен"; $upload_success = 1; } else { echo "Ашипко. Пробуйте ещё раз или позже!"; } } if ($upload_success == 1) { //Предположим в базе напротив нашего пользователя №25514 стоял 0. Теперь коммандой UPDATE мы увеличили данные в колонке uploadedfiles на 1 для указанного пользователя $result = mysql_query("UPDATE `$dbname`.`users` SET uploadedfiles=uploadedfiles+1 WHERE userid = $userid" ) or die("Ошибка в запросе: " . mysql_error()); } ?> Дамп базы для теста: CREATE TABLE IF NOT EXISTS `users` ( `userid` int(11) NOT NULL, `uploadedfiles` int(3) NOT NULL, KEY `userid` (`userid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8_general_ci; -- -- Дамп данных таблицы `users` -- INSERT INTO `users` (`userid`, `uploadedfiles`) VALUES (25514, 0); Всем спасибо,кто отвечал,заходил на страницу и интересовался!