Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

15.02.2010, 09:48
|
|
Новичок
Регистрация: 08.01.2010
Сообщений: 7
Провел на форуме: 26951
Репутация:
0
|
|
Добрый день, форумчане. Нужна помощь.
Выкладываю кусок кода из файловой фотогалереи:
PHP код:
print "<td align=center valign=top>";
print "<TABLE WIDTH=198 BORDER=0 CELLPADDING=0 CELLSPACING=0>";
print "<TR><TD COLSPAN=3><IMG SRC=\"$place/slide_01.gif\" WIDTH=198 HEIGHT=47></TD></TR>";
print "<TR><TD><IMG SRC=\"$place/slide_02.gif\" WIDTH=33 HEIGHT=86></TD>";
print "<TD><a href='#' onclick=\"window.open('popup.php?img=$imgdir/$a_img[$x]&w=$size[0]&h=$size[1]&t=$imgdir $imgnumber','$x','width=$size[0],height=$size[1],directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,resizable=no');return false\" target=\"_blank\"><img src=\"$thumbnail\" height=$height width=$width border=0 alt='$a_img[$x]' style=\"filter:alpha(opacity=100)\" onmouseout=\"gradualfade(this,100,30,4)\" onmouseover=\"gradualfade(this,40,50,100)\"></a></TD>";
print "<TD><IMG SRC=\"$place/slide_04.gif\" WIDTH=35 HEIGHT=86></TD></TR><TR>";
print "<TD COLSPAN=3><IMG SRC=\"$place/slide_05.gif\" WIDTH=198 HEIGHT=56><br><font size=\"1\"><a href='#' onclick=\"window.open('popup.php?img=$imgdir/$a_img[$x]&w=$size[0]&h=$size[1]&t=$imgdir $imgnumber','$x','width=$size[0],height=$size[1],directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,resizable=no');return false\" target=\"_blank\">$size[0] x $size[1]</a> | <a href='#' onclick=\"window.open('popup.php?img=$imgdir/$a_img[$x]&w=$halfw&h=$halfh&t=$imgdir $imgnumber','$x','width=$halfw,height=$halfh,directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,resizable=no');return false\" target=\"_blank\">1/2</a> | <a href='#' onclick=\"window.open('popup.php?img=$imgdir/$a_img[$x]&w=$quarterw&h=$quarterh&t=$imgdir $imgnumber','$x','width=$quarterw,height=$quarterh,directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,resizable=no');return false\" target=\"_blank\">1/4 size</a></font>";
caption($caption_name);
print "</TD></TR>";
print "</TABLE></center>";
print "</td>\n";
тут по клику мышки в отдельном окне открывает изображение.
есть галлерея на яве (http://studioad.ru/blog/iload_3_image_gallery/2010-02-11-105), хочу подключить режим открытия оттуда (сделано красивее, функциональней и быстрее).
Вот как написано в мануале :
PHP код:
Пример:
<a href='ссылка на открываемое изображение' rel='iLoad'>Текст или изображение</a>
Помогите переписать первый код что бы по клику на изображении открывалось фото не в отдельном окне, а использовались возможности галереи на яве.
С меня +++ 
|
|
|

15.02.2010, 11:23
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
ntldr, если еще актуально, то вот
PHP код:
<?php
$check_url = 'http://whatismyipaddress.com/';
$check_port = 80;
$check_host = str_replace (array ('http://', '/'), '', $check_url);
$check_hostent = inet_pton (gethostbyname ($check_host));
function send_query ($sock, $url) {
global $check_host;
global $check_url;
$query = "GET $url HTTP/1.1\r\n"
. "Host: $check_host\r\n"
. "Referer: $check_url\r\n"
. "Accept: *//**\r\n"
. "User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090716 Ubuntu/9.04 (jaunty) Shiretoko/3.5.1\r\n"
. "Connection: close\r\n\r\n";
$sended = fwrite ($sock, $query);
$resp = '';
while ($buf = fread ($sock, 1024))
$resp .= $buf;
return $resp;
}
function socks4 ($proxy_host, $proxy_port, $timeout) {
global $check_port;
global $check_hostent;
$sock = fsockopen ($proxy_host, $proxy_port, $errno, $errstr, $timeout);
if (!$sock)
return array ('code' => -1, 'message' => "Connection error: [$errno] $errstr\n");
$sk4_conn = "\x04" // Socks version
. "\x01" // Connect
. pack ('n', $check_port) // Port
. $check_hostent // Remote address
. "\x00";
fwrite ($sock, $sk4_conn);
$resp = unpack ('C*', fread ($sock, 8));
if (!isset ($resp))
return array ('code' => -3, 'message' => 'Empty response');
if (count ($resp) < 8)
return array ('code' => -3, 'message' => 'Too short response from proxy');
if ($resp[1] != 0 && $resp[1] != 4)
return array ('code' => -2, 'message' => 'Not Socks4 proxy');
if ($resp[2] != 0x5a)
return array ('code' => -3, 'message' => 'Request rejected');
unset ($resp);
$resp = send_query ($sock, '/');
if (!isset ($resp))
return array ('code' => -6, 'message' => 'No response for query');
//my $ret = parse_content ($resp);
fclose ($sock);
return array ('code' => 0, 'message' => $resp);
}
function socks5 ($proxy_host, $proxy_port, $timeout) {
global $check_port;
global $check_hostent;
$sock = fsockopen ($proxy_host, $proxy_port, $errno, $errstr, $timeout);
if (!$sock)
return array ('code' => -1, 'message' => "Connection error: [$errno] $errstr\n");
$sk5_conn0 = "\x05" // Socks version
. "\x02" // Count of client authentication methods
. "\x00" // Method[0] = 0 No authentication
. "\x02"; // Method[1] = 2 Username/password
/*$sk5_conn0 = "\x05" // Socks version
. "\x01" // Count of client authentication methods
. "\x00"; // Method[0] = 0 No authentication*/
$sk5_conn1 = "\x05" // Socks version
. "\x01" // Connect
. "\x00" // Reserved, should = 0x00
. "\x01" // Address type, 1 - IPv4
. $check_hostent // Remote address
. pack ('n', $check_port); // Port
fwrite ($sock, $sk5_conn0);
$resp = unpack ('C*', fread ($sock, 2));
if (!isset ($resp))
return array ('code' => '-2', 'message' => 'Empty response');
if (count ($resp) < 2)
return array ('code' => -4, 'message' => 'Too short first response from server');
if ($resp[1] != 5)
return array ('code' => -2, 'message' => 'Not Socks5 proxy');
fwrite ($sock, $sk5_conn1);
$resp = unpack ('C*', fread ($sock, 10));
if (!isset ($resp) or count ($resp) == 0)
return array ('code' => -4, 'message' => 'Empty response');
if (count ($resp) < 10)
return array ('code' => -6, 'message' => 'Too short second response from proxy');
if ($resp[2] != 0)
return array ('code' => -5, 'message' => 'Connection rejected');
if ($resp[5] == 0 && $resp[6] == 0 && $resp[7] == 0 && $resp[8])
return array ('code' => -6, 'message' => 'SOCKS5 error');
unset ($resp);
$resp = send_query ($sock, '/');
if (!isset ($resp))
return array ('code' => -8, 'message' => 'No response for query');
//$ret = parse_content ($resp);
fclose ($sock);
return array ('code' => 0, 'message' => $resp);
}
//$proxy = '96.237.228.5:50549'; // socks4
$proxy = '202.102.72.38:1080';
list ($host, $port) = explode (':', $proxy);
echo $proxy, "\n";
$res = socks5 ($host, $port, 30);
echo "Result\n";
print_r ($res);
?>
|
|
|

15.02.2010, 12:05
|
|
Участник форума
Регистрация: 31.12.2007
Сообщений: 279
Провел на форуме: 1725509
Репутация:
114
|
|
Помогите( уже сил нет.
у нас есть объявление:
Известно,что оно добавлено в : 1266218056
И должно исчезнуть в 15.2.2010 9:14:38
как мне узнать сколько ему осталось висеть в формате (n дней t часов m минут s секунд)
например (0 дней 5 часов 10 мин 25 секунд)
уже мозг кипит(
|
|
|

15.02.2010, 12:24
|
|
Участник форума
Регистрация: 31.01.2010
Сообщений: 170
Провел на форуме: 1442841
Репутация:
63
|
|
-=Zhenek=-
думаю,что надо спарсить значение,а потом из большего вычесть меньшее
|
|
|

15.02.2010, 12:28
|
|
Участник форума
Регистрация: 31.12.2007
Сообщений: 279
Провел на форуме: 1725509
Репутация:
114
|
|
Сообщение от Compton
-=Zhenek=-
думаю,что надо спарсить значение,а потом из большего вычесть меньшее
Я это понял.
Вот какой код у меня :
PHP код:
$date = date("d.m.Y g:i:s", $mget['13']);
$ost = strtotime($mget[15])-time();
if($ost<=0) {$date2="Неактивно";
}else{
$mounth = floor($ost/2592000); if($mounth == 0){$mounth="";$mmm=0;}else{$mmm=$mounth;$mounth.=mounth($mounth). ",";}
$day = floor(($ost/86400)-($mmm*30)); if($day == 0){$day="";}else{$day.=day($day);}
if($day == "") {
$hours = floor($ost/3600);
$hhh= $hours;
$hours.=hour($hours);
$min = floor(($ost/60)-($hhh*60))."минут";
}
}
Но он работает нестабильно,если речь идет о часах. Тоесть если сейчас 12 часов а объявление нужно убрать в 13 он скажет неактивно. Разница будет отрицательной...
|
|
|

15.02.2010, 13:48
|
|
Новичок
Регистрация: 08.01.2010
Сообщений: 7
Провел на форуме: 26951
Репутация:
0
|
|
народ, мне кто сможет помочь?.. думаю, дел там на 2 минуты всего...
|
|
|

15.02.2010, 13:49
|
|
Познающий
Регистрация: 29.03.2009
Сообщений: 33
Провел на форуме: 73399
Репутация:
7
|
|
-=Zhenek=-, переведи дату удаления в метку времени функцией mktime,а потом вычти из нее текущую метку времени
|
|
|

15.02.2010, 13:59
|
|
Познающий
Регистрация: 27.01.2008
Сообщений: 42
Провел на форуме: 651422
Репутация:
48
|
|
Сообщение от pali4
Такс, привет
помогите пожалуйста.
Суть такова:
Есть таблица, в ней есть 2 поля id и name
в таком формате записано 4 записи.
1 vasya
2 petya
3 vasya
4 masha
так, вот видидте, тут 2 Васи, их нужно удалить..
тоесть в поле name очень много дубликатов, подскажите как удалить дубликаты, а одного Васю оставить.)
помогите пожалуйста
|
|
|

15.02.2010, 14:08
|
|
Участник форума
Регистрация: 31.12.2007
Сообщений: 279
Провел на форуме: 1725509
Репутация:
114
|
|
в php это можно сделать циклами.
Но лучше запости в разделе базы данных,там можно одним запросом удалить все дубликаты типа такого :
PHP код:
DELETE tn FROM table_name tn JOIN (SELECT MAX(ID) AS ID FROM TABLE_NAME GROUP BY unique_key HAVING COUNT(*) > 1) tn2 USING(ID)
а мы тебе если надо лучше поможем, как в скипте при добавлении не допустить дубликаты =)
|
|
|

15.02.2010, 14:15
|
|
Познающий
Регистрация: 27.01.2008
Сообщений: 42
Провел на форуме: 651422
Репутация:
48
|
|
а мы тебе если надо лучше поможем, как в скипте при добавлении не допустить дубликаты =)
Нет)
Это вы мне точно не поможете)
Последний раз редактировалось pali4; 15.02.2010 в 14:27..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|