|
Бесплатные PHP скрипты - форум техподдержки |
Форум техподдержки WR-Скриптов на php. Обсуждаем: основы программирования на PHP 5 - 7 версий, различные подходы к написанию скриптов на php 7 без MySQL. А также WR-скрипты: бесплатные доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Анекдот и другие. Принимаются пожелания для новых версий. Сообщите какой скрипт нужен для Вашего сайта, постараемся найти или реализовать. Скачать скрипты можно бесплатно. Вместе мы сделаем бесплатные php скрипты лучше и доступнее!
|
| Сегодня: 05.12.2024 - 06:29:46
Страницы: 1 ... 2 3 4 5 6 ... 7 Модернизация скрипта знакомствОбъявление - WR-Scriptы в UTF-8 кодировке |
---|
Активно обновляю скрипты и перевожу их в UTF-8 кодировку. Список перекодированных php скриптов доступен на главной странице сайта. Скачивайте скрипты и устанавливайте на свой сайт! В ближайшее время обновлю каталог знакомств, форум Про, фотоальбом, доски объявлений лайт и ЛЮКС.
На форуме, пожалуйста, пишите что модернизировать в скриптах в первую очередь. Постараюсь исправить большую часть пожеланий! Планирую продолжить работы весь 2023 год.
|
Автор | Сообщение |
---|
Maksir •
M Участник форума
|
Георгий, а чё посмотреть? | |
|
Сообщение # 37 |
01.11.08 - 01:30:30
| | Георгий •
Г Участник форума
|
Ну как че - добавление по метке юниксовой. И как вырезать допустим 8 символов из md5 если целиком, это типа ... $pass=md5(); а дальше...? | |
|
Сообщение # 38 |
02.11.08 - 01:46:51
| | olegs7 •
O Участник форума
|
Доброе время суток! Кто-то добавлял в скрипт дополнительные поля для прикрепления большего количества фото? Никак не могу понять, каким образом это реализовать. Кстати, а что нас ждёт в новой версии скрипта знакомств и когда он будет? | |
|
Сообщение # 39 |
08.11.08 - 01:51:03
| | olegs7 •
O Участник форума
|
Разобрался я, как ещё фотосы добавить. А вот Афтар не откликается чего-то... | |
|
Сообщение # 40 |
09.11.08 - 15:36:13
| | Георгий •
Г Участник форума
|
Olegs7 добавить новые поля для фоток - неправильная постановка вопроса. Полей можно добавить сколько угодно, фотки даже может загрузятся во временный каталог сервера, но после завершения работы скрипта - они удалятся. Нужно заставить скрипт обрабатывать новые поля: копировать фотки в ваш каталог, делать превьюшки и вставить в новые ячейки массива и базы соответственно. Можно сделать это тупо повторив для каждой фотки куски кода из оригинала скрипта, только с новыми значениями, это просто, но неправильно - будет куча лишнего кода, что будет тормозить работу скрипта. Нужно писать цикл для обработки всех фоток сразу. Думаю, Михаил сделет это грамотнее нас, неопытных юзверей | |
|
Сообщение # 41 |
15.11.08 - 00:27:12
| | 790 •
7 Участник форума
|
Разобрался сам - расскажи другим! | |
|
Сообщение # 42 |
15.11.08 - 10:48:45
| | olegs7 •
O Участник форума
|
Георгий, полностью с Вами согласен по поводу того, что не правильно это! Но на данной стадии вполне сойдёт и такой вариант, пока не разберусь с другим. Смысл в том, что должно быть определённое кол-во фоток - ни больше, ни меньше. В будущем, возможно, смысл сайта изменится и надо будет менять скрипт. Это не сайт знакомств и не социальная сеть, а сайт свадебных фотографов.
Ещё из наработок по данному скрипту... 1. Регистрация в 2а этапа (в будущем думаю 3). 2. При регистрации нового пользователя создаётся папка с логином этого пользователя и в неё закачиваются фотки. Естественно логин повториться не имеет права.)) 3. Фотки обзываются по типу: login.01_датавремя.расширение (jpg, gif, png, jpeg). 4. Полностью изменил саму структуру файла index.php разделил на 3: registration.php, index.php и profile.php (в самих файлах всё перетасовал по порядку, например, в index.php начиналось всё с завершающего этапа регистрации, когда на сервер заливается инфа и файлы). Короче, просто всё структурировал аккуратно, на мой взгляд, и логично. 5. В файле анкеты добавил джава скрипт для просмотра загруженных фото (плавная смена картинок). 6. Ну и ЧПУ.
Ещё не сделал админку (с отличием, что будет премодерация), но с ней заморочек возникнуть, думаю, не должно (есть отличный пример, Михаилу низкий поклон!). И не раз вставал вопрос здесь о модерации своих данных пользователями... Из скриптов WR такая фича есть у форумчан. Интересно по тому же ли принципу построено будет для сайта знакомств? (это скорее вопрос к Михаилу)
Из того, что хотел, но не получилось. Вроде всё безумно просто, но понять не могу, как сообщения в обратном порядке пустить (как сделать, чтобы цикл в обратном порядке считывал строки).
Думаю в ближайшем будущем сделать красивый скин для сайта знакомсв WR. Первый с кем поделюсь - Михаил))) Интересно, что он вообще думает по поводу самого скрипта.
790, отвечу попозже. Ведь там не в одном месте скрипт менять Для того, чтобы понять полностью весь скрипт у меня ушло 2-е недели, по сути именно на нём я постиг азы PHP. В инернете очень много информации и уроков. До этого я знал исключительно HTML (думаю знаю его не плохо, по крайней мере всё делаю ручками). Как и для Михаила, для меня всё это просто хобби. | |
|
Сообщение # 43 |
18.11.08 - 19:23:46
| | olegs7 •
O Участник форума
|
И так по порядку добавление сроки "добавить ещё фото" для чайников) (коим сам был недавно):
1. Регистрация пользователя:
index.php <? ... if ($_GET['event']=="addform") { // Выводим ФОРМУ ДЛЯ ЗАГРУЗКИ ФОТКИ ... //срока уже существует <tr class=row1><td>Прикрепить фото</td><TD><input type=file name=file size=48 class=maininput style='FONT-SIZE: 14px; WIDTH: 437px'><BR>* <B>Максимально</B> разрешённый <B>размер фото: $fotomax</B> Кб.</TD></tr> //добавляем под ней <tr class=row1><td>Прикрепить ещё одно фото</td><TD><input type=file name=file1 size=48 class=maininput style='FONT-SIZE: 14px; WIDTH: 437px'><BR>* <B>Максимально</B> разрешённый <B>размер фото: $fotomax</B> Кб.</TD></tr> ... ?>
2. Закачка данных и фото на сервер
Я бы сделал обязательными для заполнения поля с добавлением фото: if ($file==="" || strlen($file)<2) {print "$back. Поле <b>Фото 1</b> пустое!"; exit;} if ($file1==="" || strlen($file1)<2) {print "$back. Поле <b>Фото 2</b> пустое!"; exit;}
Это сделайте после (можно и до))): if (strlen($msg)>$maxmsg) {print "$shapka $back ваше <B>сообщение</B> превышает $maxmsg символов!</B></center>"; exit;}
index.php <? ... if ($_GET['event']=="add") { // Добавление ФОТО ...
//уже существует $fotoname = $_FILES['file']['name']; // определяем имя файла
if (strlen($fotoname)>2) { ... - неверно введён адрес или выбран файл;</B><BR>'; exit;}
//добавляем под ней $foto1name = $_FILES['file1']['name']; // определяем имя файла
if (strlen($foto1name)>2) { $fotosize=$_FILES['file1']['size']; // Запоминаем размер файла // проверяем расширение файла $ext = strtolower(substr($foto1name, 1 + strrpos($fotoname, "."))); if (!in_array($ext, $valid_types)) {echo '<B>ФАЙЛ 2 НЕ загружен.</B> Возможные причины:<BR> - разрешена загрузка только файлов с такими расширениями: gif, jpg, jpeg, png<BR> - Вы пытаетесь загрузить не графический файл;<BR> - неверно введён адрес или выбран файл;</B><BR>'; exit;}
...
// ЗАЩИТЫ от ВЗЛОМА \ ... | аналогично // Конец защит по имени файла /
...
//уже существует $fotoksize=round($fotosize/10.24)/100; // размер ЗАГРУЖАЕМОГО ФОТО в Кб. //добавляем под ней $foto1ksize=round($foto1size/10.24)/100; // размер ЗАГРУЖАЕМОГО ФОТО в Кб.
...
//уже существует if ($fotoksize>$fotomax) {print"Вы превысили допустимый размер фото! <BR><B>Максимально допустимый</B> размер фото: <B>$fotomax </B>Кб.<BR> <B>Вы пытаетесь</B> загрузить изображение: <B>$fotoksize</B> Кб!"; exit;} ... else { print "<B>Файл НЕ ЗАГРУЖЕН - ошибка СЕРВЕРА! Обратитесь к администратору!<B>"; exit;}
//добавляем под ней if ($foto1ksize>$fotomax) {print"Вы превысили допустимый размер фото! <BR><B>Максимально допустимый</B> размер фото: <B>$fotomax </B>Кб.<BR> <B>Вы пытаетесь</B> загрузить изображение: <B>$fotoksize</B> Кб!"; exit;}
if ($foto1size>"0" and $fotosize<$max_file_size) { copy($_FILES['file1']['tmp_name'], $datadir."/".$fotoname); print "
Фото УСПЕШНО загружено: $foto1name (Размер: $fotosize байт)";} else { print "<B>Файл НЕ ЗАГРУЖЕН - ошибка СЕРВЕРА! Обратитесь к администратору!<B>"; exit;}
...
//уже существует $size=getimagesize("$datadir/$fotoname"); ... $fotoksize="0"; $size0="0"; $size1="0"; }
//добавляем под ней if ($foto1ksize>$fotomax) {print"Вы превысили допустимый размер фото! <BR><B>Максимально допустимый</B> размер фото: <B>$fotomax </B>Кб.<BR> <B>Вы пытаетесь</B> загрузить изображение: <B>$fotoksize</B> Кб!"; exit;}
if ($foto1size>"0" and $fotosize<$max_file_size) { copy($_FILES['file1']['tmp_name'], $datadir."/".$fotoname); print "
Фото УСПЕШНО загружено: $foto1name (Размер: $fotosize байт)";} else { print "<B>Файл НЕ ЗАГРУЖЕН - ошибка СЕРВЕРА! Обратитесь к администратору!<B>"; exit;}
//уже существует $size=getimagesize("$datadir/$fotoname");
// Проверяем размер фото. Если "габариты" меньше заданный в админке 150 х 120 - то ничего с ним не делаем // блок делает мальное изображение исходной фотки - в качестве превьюшки $size0=$size[0]; $size1=$size[1]; ... $fotoksize="0"; $size0="0"; $size1="0"; }
(еслть строчка require ('tumbmaker.php'); её удаляем и встявляем, ну, например, после include "config.php"; include "tumbmaker.php";)
//уже существует $foto1size=getimagesize("$datadir/$foto1name");
// Проверяем размер фото. Если "габариты" меньше заданный в админке 150 х 120 - то ничего с ним не делаем // блок делает мальное изображение исходной фотки - в качестве превьюшки $foto1size0=$foto1size[0]; $foto1size1=$foto1size[1]; if ($foto1size[0]>$smwidth or $foto1size[1]>$smheight) { $smallfoto1="sm-$foto1name"; if (img_resize("$datadir/$foto1name", "$datadir/$smallfoto1", $smwidth, $smheight)) echo 'Изображение масштабировано <B>успешно</B>.'; else echo '<font color=red><B>Ошибка МАСШАБИРОВАНИЯ фото! Поблемы с GD-библиотекой!</B></font> Обратитесь к Администратору'; } else {$smallfoto1="$foto1name";}
} else {
...
//уже существует $smallfoto="nopol.gif"; $fotoname="nopol.gif"; if ($pol=="1") {$smallfoto="m_no.gif"; $fotoname="m_no.gif"; if ($want=="0") {$want="Её";}} if ($pol=="2") {$smallfoto="g_no.gif"; $fotoname="g_no.gif"; if ($want=="0") {$want="Его";}} $fotoksize="0"; $size0="0"; $size1="0"; } //с этим разбирайтесь сами (если нет фото в зависимости от пола выводится картинка //с силуэтом М или Ж), подобное встречается и в других местах, //но если вы сделали обязательными для заполнения поля фото, смысла в этом нет
Дальше в строке с переменной $text после переменной $want добавляем чего-то типа: $text="$key|$login|$pass ... |$msg|$smallfoto|$fotoname|$fotoksize|$size0|$size1|$want|$foto1name|$foto1ksize|$foto1size0|$foto1size1||
затем */ ... $file - Фото - $smallfoto - $dt[20] $fotoname - $dt[21] $fotoksize - $dt[22] $size0 - $dt[23] $size1 - $dt[24] $want - Ищу: Его/Её/Его + Её - $dt[25] $file - Фото 2 - $smallfoto1 - $dt[26] $foto1name - $dt[27] $foto1ksize - $dt[28] $foto1size0 - $dt[29] $foto1size1 - $dt[30] */
3. Вывод получившегося вот и всё)) или почти
вот это $dt[26] $dt[27] $dt[28] $dt[29] $dt[30]
используем по усмотрению аналогично вот этому $dt[20] $dt[21] $dt[22] $dt[23] $dt[24]
На мой взгляд размеры и габариты фото нет смысла запоминать, да и не всегда нужна дублирующая маленькая картинка. Это как конструктор, творите чего хотите, всё зависит от вашей фантазии))) | |
|
Сообщение # 44 |
18.11.08 - 20:25:27
| | Георгий •
Г Участник форума
|
790 Я пока разобрался только в том, как анкеты с номерами по-порядку добавлять, этот код писал где-то выше. Если до фоток дело дойдет, отпишусь. Но пока сам жду Михаила, для меня это хлопотно. Сам лучше бы оплатил такую модификацию.
Olegs7 чтоб развернуть массив есть функция array_reverse() Скины сами все сделают кому надо - под свой дизайн. А вот скрипт реставрировать надо. Каждый по своему думает, я например добавил бы новые фотки, например вместо ячеек $spirt $kurivo, но ячейки все равно добавлять придется. Чередование фоток в анкете не всем удобно, не думаете Вы о пользователях... Я предположим разрешил фотки по 500кб, кто-то загрузил их по пол-мега, а другой кто-то на модеме 56к вспотеет от просмотра такой анкеты... Размеры фоток показывать может и не к чему, но в базе они нужны поясню для чего: добавляете java-скриптик, который будет делать отдельное окно по размеру больших фоток, где они и будут отображаться, это примерно так: Код: <a href=\"javascript:PhotoOpen('$datadir/$dt[21]',$dt[23],$dt[24],'$dt[3]');\"><img src='$datadir/$dt[20]' alt='Анкета $dt[1]' border=0></a> | в шапке прописывается сам java-скрипт, но надо еще переделать - если фотка больше экрана, чтоб уменьшало... если додумаю, покажу что получилось. Я сейчас думаю как ссылки на страницы отображать вместо: Страница: 1 2 3 4 5.. чтоб выглядело: Анкеты: 1-10 21-30 31-40 41-50 ... есть похожий скрипт, пока незнаю как его к Михаиловым $qq приделать. С уважением, Георгий | |
|
Сообщение # 45 |
19.11.08 - 03:30:20
| | olegs7 •
O Участник форума
|
Георгий, спасибо за array_reverse()!!!
По поводу фоток, вопрос решён просто! 1. Как я уже писал они обзываются по типу: login.01_датавремя.расширение (jpg, gif, png, jpeg). Здесь явным плюсом является то, что никакие условия по поводу содержания точек или русских букв ставить не надо. 2. Аваторка маленькая и смысла делать её большого размера нет (как нет, например, на этом форуме). Миниатюры фоток не хранятся, для взятого мной js - нет смысла, так как всё подведено под один размер. Тот пример, который привели Вы, он не особо удобен в просмотре. 3. Идёт череда условий по которым фотки уменьшаются до определённого размера (габаритов) (у меня макс размеры 800x800 пикселей) с помощью функции (в файле у Михаила tumbmaker.php) img_resize. Есть ещё img_crop - это скорее для аватарок или для картинок новостей. Готовые ф-ии есть в сети (если не ошибаюсь, то не Михаил писал тумбочку)). То что загружается - удаляется, сохраняется поджатая фотка. Я так понимаю подобное решение на vkontakte.ru
В итоге получаем, например, что-то типа такого: pupkin.01_20081115005422.jpg - весом около 100 килобайт, габаритов 800x600 пикселей, что вполне для среднестатистического пользователя нормально. Модемы это уже прошлый век, всё больше и больше становится локальных сетей с человеческой скоростью. Модемы просто ненавижу и с ужасом их вспоминаю
По поводу скинов... Для форума их уже целая туча. Видел, что на форуме интересовались именно для сайта знакомств, поэтому, я думаю, лишним не будет | |
|
Сообщение # 46 |
19.11.08 - 11:01:33
| | 790 •
7 Участник форума
|
Вот я уже давно говорю что к пользователю надо относится как к ребёнку и всё что компьютер может, должен сделать за него. Ну не умеют он сейчас фотки жать! И не понимают для чего, а вы ему сразу от ворот поворот... В своём моде галереи я решил эту проблему, как мне кажется очень удачно и просто:
Код: if ($fotosize>$max_file_size && $size[1]>0) { $reswidth=$size[0]/($size[1]/$maxheight); img_resize("$datadir/$fotoname", "$datadir/$fotoname", "$reswidth", "$maxheight") }
|
Теперь задаём в админке размер фото если больше которого - жать, например 102400 (100 Кб) ширину/высоту, например: 800/600 И лучше поставить в tumbmaker $quality=80
С размерам фоток для просмотра решение настолько простое, что вы даже не сразу поверите. Вы в курсе что если в теге IMG указана только высота, например height='80%' соотверствующая ширина вычисляется браузером автоматически! И вот, вуаля, маленькие изображения увеличиваются, большие уменьшаются без всяких скриптов. | |
|
Сообщение # 47 |
19.11.08 - 12:22:11
| | olegs7 •
O Участник форума
|
790, Вы не ошиблись ли в сроке
Код: $reswidth=$size[0]/($size[1]/$maxheight); |
?
Мб должно быть
Код: $reswidth=$size[0]*$maxheight/$size[1]; |
?
И условий явно должно быть больше... | |
|
Сообщение # 48 |
19.11.08 - 12:42:58
| | Страницы: 1 ... 2 3 4 5 6 ... 7
|