|
Бесплатные PHP скрипты - форум техподдержки |
Форум техподдержки WR-Скриптов на php. Обсуждаем: основы программирования на PHP 5 - 7 версий, различные подходы к написанию скриптов на php 7 без MySQL. А также WR-скрипты: бесплатные доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Анекдот и другие. Принимаются пожелания для новых версий. Сообщите какой скрипт нужен для Вашего сайта, постараемся найти или реализовать. Скачать скрипты можно бесплатно. Вместе мы сделаем бесплатные php скрипты лучше и доступнее!
|
| Сегодня: 06.12.2024 - 01:31:28 АВАТАРы для форумаОбъявление - WR-Scriptы в UTF-8 кодировке |
---|
Активно обновляю скрипты и перевожу их в UTF-8 кодировку. Список перекодированных php скриптов доступен на главной странице сайта. Скачивайте скрипты и устанавливайте на свой сайт! В ближайшее время обновлю каталог знакомств, форум Про, фотоальбом, доски объявлений лайт и ЛЮКС.
На форуме, пожалуйста, пишите что модернизировать в скриптах в первую очередь. Постараюсь исправить большую часть пожеланий! Планирую продолжить работы весь 2023 год.
|
Автор | Сообщение |
---|
uzebnet •
U Участник форума
|
совсем удалить так просто не получиться, легче просто откатить на путое. например: если оставить галочку то аватар есть, галочки нет и аватара нет. т.е. галочка для сохранение результата | |
|
Сообщение # 37 |
28.05.11 - 00:21:31
| | LOSKAND •
L Участник форума
|
почему не получится? получится должно, проблема в другом, а именно в том что этот же аватар могут использовать и другие пользователи, и при удалкении такового, у использующих его тоже он пропадёт, есть вариант создания дубликатов, но в таком случае, ресурс будет засоряться картинками, а от удаления аватар пользователями в ручную будет бесполезен | |
|
Сообщение # 38 |
28.05.11 - 01:24:09
| | LOSKAND •
L Участник форума
|
ой не будет толку :) чёт я заработался :) | |
|
Сообщение # 39 |
28.05.11 - 01:30:34
| | uzebnet •
U Участник форума
|
в общем да, удалять надо. | |
|
Сообщение # 40 |
28.05.11 - 08:03:34
| | LOSKAND •
L Участник форума
|
вижу только согласие, а варианты решения проблемы имеются? | |
|
Сообщение # 41 |
04.06.11 - 20:11:42
| | uzebnet •
U Участник форума
|
еще раз объясни. Что ты рекомендуеш или предлагаеш? если понять то решим все вместе!
| |
|
Сообщение # 42 |
04.06.11 - 20:28:05
| | LOSKAND •
L Участник форума
|
Цитата:
LOSKAND пишет: почему не получится? получится должно, проблема в другом, а именно в том что этот же аватар могут использовать и другие пользователи, и при удалкении такового, у использующих его тоже он пропадёт, есть вариант создания дубликатов, но в таком случае, ресурс будет засоряться картинками, а от удаления аватар пользователями в ручную будет бесполезен | повтор | |
|
Сообщение # 43 |
07.06.11 - 20:16:33
| | WR •
W Участник форума
|
LOSKAND, может здесь опубликовать код загрузки фото по URL ? | |
|
Сообщение # 44 |
13.06.11 - 09:59:54
| | LOSKAND •
L Участник форума
|
ну можно. себе я сделал так. форма загрузки Код: <table class=anketapro2 width=\"100%\" > <form name=\"avatarconf\" action=\"peoples.php?pack=people$_SESSION[login]avatar\" method=\"post\" enctype=\"multipart/form-data\" onSubmit=\"return splash();\"> <TR align=left> <td class=anketazag bgcolor=#600000 valign='center' style='height:22px' colspan=3><span class=pagetext>Аватар</span></td></tr>"; if(is_dir($avatardir)){print"<tr><td rowspan=4 align=center>$polimg</td><td><span class=hdtextsmall>Загрузить свой</span></td><td> <input type=file name=filename class=post> </td></tr>";}else{print"<tr><td rowspan=4 align=center>$polimg</td></tr>";} print"<tr><td><span class=hdtextsmall>URL адрес картинки</span></td><td><input type=text name=avatarurl class=post></td></tr> <tr><td height=28><span class=hdtextsmall>С сайта</span></td><td><a name='add'class=menulink href='#add' onclick=\"window.open('galerey.php','smiles','width=600,height=450,left=50,top=150,toolbar=0,status=0,border=0,scrollbars=1')\"><u>Просмотр галлереи сайта</u></a> "; if(is_dir($avatardir)){print"<a name='add'class=menulink href='#add' onclick=\"window.open('galerey.php?pack=useravatar','smiles','width=600,height=450,left=50,top=150,toolbar=0,status=0,border=0,scrollbars=1')\"><u>Пользовательские</u></a>";} print"</td></tr> <tr><td colspan=2 align=center><input class=logobutton type=submit value='Сохранить аватар' style='width: 98%'></td></tr> </form> </table> | | |
|
Сообщение # 45 |
13.06.11 - 11:15:55
| | LOSKAND •
L Участник форума
|
с кодом загрузки аватар слжнее. выкладываю пока свой код. Код: if ($_GET['pack']=="people$_SESSION[login]avatar") //Начало сохранение целей { if($_SESSION['login']){ $ok=$_REQUEST['avatarurl']; if($_REQUEST['avatarurl']==NULL){ $avaname=$_SESSION['login']; if($_FILES["filename"]["size"] > 1024*3*1024) { echo ("Размер файла превышает три мегабайта"); exit; } // Проверяем загружен ли файл if(is_uploaded_file($_FILES["filename"]["tmp_name"])) { $fotoname=replacer($_FILES['filename']['name']); $ava="$avatardir/$fotoname"; $valid_types=array("jpg","jpeg","bmp","gif","png"); // допустимые расширения загружаемых файлов $ext = strtolower(substr($fotoname, 1 + strrpos($fotoname, "."))); if (!in_array($ext, $valid_types)) {echo "<B>ФАЙЛ НЕ загружен.</B> Возможные причины:<BR> - разрешена загрузка только файлов с такими расширениями: <B>"; $patern=""; foreach($valid_types as $v) print"$v, "; print"</B><BR> - Вы пытаетесь загрузить файл с двойным расширением;<BR> - неверно введён адрес или выбран испорченный файл;</B><BR>"; exit;} // 1. считаем кол-во точек в выражении - если большей одной - СВОБОДЕН! $findtchka=substr_count($fotoname, "."); if ($findtchka>1) exit("ТОЧКА встречается в имени файла $findtchka раз(а). Это ЗАПРЕЩЕНО! <BR>\r\n"); // 2. если в имени есть .php, .html, .htm - свободен! $bag="Извините, но в имени ФАйла <B>запрещено</B> использовать .php, .html, .htm"; if (preg_match("/\.php/i",$fotoname)) exit("Вхождение <B>.php</B> найдено. $bag"); if (preg_match("/\.html/i",$fotoname)) exit("Вхождение <B>.html</B> найдено. $bag"); if (preg_match("/\.htm/i",$fotoname)) exit("Вхождение <B>.htm</B> найдено. $bag"); // 3. защищаем от РУССКИХ букв в имени файла и проверка РАСШИРЕНИЯ файла $patern=""; foreach($valid_types as $v) $patern.="$v|"; if (!preg_match("/^[a-z0-9\.\-_]+\.(".$patern.")+$/is",$fotoname)) exit("$fotoname - Запрещено использовать РУССКИЕ буквы в имени файла, а также запрещено загружать файлы с расширением отличным от заданных!!"); // 4. Проверяем, может быть файл с таким именем уже есть на сервере if (file_exists("$filedir/$fotoname")) exit("
$back. Файл с таким именем уже существует на сервере! Либо измените имя на другое, либо обновите страницу - возможно Вы пытаетесь добавить сообщение и файл повторно!!"); // 5. Размер в Кб. < допустимого $fotoksize=round($fotosize/10.24)/100; // размер ЗАГРУЖАЕМОГО ФОТО в Кб. $fotomax=round($max_file_size/10.24)/100; // максимальный размер фото в Кб. if ($fotoksize>$fotomax) exit("Вы превысили допустимый размер фото! <BR><B>Максимально допустимый</B> размер фото: <B>$fotomax </B>Кб.<BR> <B>Вы пытаетесь</B> загрузить изображение: <B>$fotoksize</B> Кб!"); // 6. "Габариты" аватара > 150 х 150 - ДО свиданья! $size=getimagesize($_FILES['filename']['tmp_name']); if ($size[0]>100 or $size[1]>100) exit("Не допустимые габариты аватара. Допустимо лишь 100 х 100 px!"); // Если файл загружен успешно, перемещаем его // из временной директории в конечную $generatoravaname=md5($ava); move_uploaded_file($_FILES["filename"]["tmp_name"], "$avatardir".$_FILES["filename"]["name"]); mysql_query("UPDATE USERLIST SET avatar = '".$ava."' WHERE LOGIN='$_SESSION[login]'"); $sqlreg="INSERT INTO AVATARS (LOGIN, AVATARNAME, URL) VALUES ('$_SESSIO[login]','$generatoravaname','$ava')"; $r=mysql_query ($sqlreg); Header("Location: peoples.php?peopleusrphoto"); } else { Header("Location: peoples.php?peopleusrphoto"); } }else{//esli stroka url $img=mysql_query("SELECT AVATARNAME FROM AVATARSGALEREY WHERE AVATARNAME='$ok'"); $imgd=mysql_query("SELECT AVATARNAME FROM AVATARS WHERE AVATARNAME='$ok'"); while (@$gv=mysql_fetch_array($img)){$gvs=$gv['AVATARNAME'];} if($gvs==$ok){$ava="galerey.php?avatar=$_POST[avatarurl]";}else{$ava=$_REQUEST['avatarurl'];} } mysql_query("UPDATE USERLIST SET avatar = '".$ava."' WHERE LOGIN='$_SESSION[login]'"); Header("Location: peoples.php?peopleusrphoto"); } exit; } | | |
|
Сообщение # 46 |
13.06.11 - 11:16:12
| | LOSKAND •
L Участник форума
|
теоретически. проверяем загружен ли файл. если поле file пустое то проверяем поле урл. если поле file заполненно то записываем значения поля в базу всё остальное игнорируем. если заполнены оба поля то отдаём предпочение полю file если file пустое а урл заполненно записываем адрес урл в базу. в общем ничего сложного. ах да у меня весь код расчитан на исспользование mysql и сессий. но если надо . могу переписать под файлы и куки :) ни и наконец 3я часть отображение аватар. правда малость поизвращался. Код: if($glav['pol']==0 or $glav['pol']==null){$pol="Мужской"; if ($glav['avatar']==null){$polimg="<img src=$skindir/$skin/m_no.gif class=imganketa>";} else{ $polimg="<img src='$glav[avatar]' alt='$glav[LOGIN] - YES AVATA' border=0 class=imganketa>"; }} else {$pol="Женский"; if ($glav['avatar']==null){$polimg="<img src=$skindir/$skin/g_no.gif class=imganketa>";} else{ $polimg="<img src='$glav[avatar]' alt='$glav[LOGIN] - YES AVATA' border=0 class=imganketa>"; }} | теоретически: проверяем пол участника. определив пол смотрим заполнина ли строка урл если строка пуста то показываем картинку скина либо мужскую либо женскую. это уже в зависимо от пола участника. если строка урл не пуста то отдаём предпочтение ей и показываем картинку с адресом из этой строки для вывода Код: <td align=left class=calendar>$polimg</td> | в общем ничего сложного | |
|
Сообщение # 47 |
13.06.11 - 11:16:36
| |
|