ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #14691  
Старый 15.02.2010, 09:48
Синий
Новичок
Регистрация: 08.01.2010
Сообщений: 7
С нами: 8599758

Репутация: 0
Unhappy

Добрый день, форумчане. Нужна помощь.
Выкладываю кусок кода из файловой фотогалереи:

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> 

Помогите переписать первый код что бы по клику на изображении открывалось фото не в отдельном окне, а использовались возможности галереи на яве.

С меня +++
 
Ответить с цитированием

  #14692  
Старый 15.02.2010, 11:23
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
С нами: 10021597

Репутация: 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);
?>
 
Ответить с цитированием

  #14693  
Старый 15.02.2010, 12:05
-=Zhenek=-
Участник форума
Регистрация: 31.12.2007
Сообщений: 279
С нами: 9663762

Репутация: 114
По умолчанию

Помогите( уже сил нет.

у нас есть объявление:
Известно,что оно добавлено в : 1266218056
И должно исчезнуть в 15.2.2010 9:14:38
как мне узнать сколько ему осталось висеть в формате (n дней t часов m минут s секунд)

например (0 дней 5 часов 10 мин 25 секунд)

уже мозг кипит(
 
Ответить с цитированием

  #14694  
Старый 15.02.2010, 12:24
Compton
Участник форума
Регистрация: 31.01.2010
Сообщений: 170
С нами: 8566257

Репутация: 63
По умолчанию

-=Zhenek=-
думаю,что надо спарсить значение,а потом из большего вычесть меньшее
 
Ответить с цитированием

  #14695  
Старый 15.02.2010, 12:28
-=Zhenek=-
Участник форума
Регистрация: 31.12.2007
Сообщений: 279
С нами: 9663762

Репутация: 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 он скажет неактивно. Разница будет отрицательной...
 
Ответить с цитированием

  #14696  
Старый 15.02.2010, 13:48
Синий
Новичок
Регистрация: 08.01.2010
Сообщений: 7
С нами: 8599758

Репутация: 0
По умолчанию

народ, мне кто сможет помочь?.. думаю, дел там на 2 минуты всего...
 
Ответить с цитированием

  #14697  
Старый 15.02.2010, 13:49
vvy
Познающий
Регистрация: 29.03.2009
Сообщений: 33
С нами: 9009799

Репутация: 7
По умолчанию

-=Zhenek=-, переведи дату удаления в метку времени функцией mktime,а потом вычти из нее текущую метку времени
 
Ответить с цитированием

  #14698  
Старый 15.02.2010, 13:59
pali4
Познающий
Регистрация: 27.01.2008
Сообщений: 42
С нами: 9625014

Репутация: 48
По умолчанию

Цитата:
Сообщение от pali4  
Такс, привет
помогите пожалуйста.
Суть такова:
Есть таблица, в ней есть 2 поля id и name

в таком формате записано 4 записи.

1 vasya
2 petya
3 vasya
4 masha

так, вот видидте, тут 2 Васи, их нужно удалить..
тоесть в поле name очень много дубликатов, подскажите как удалить дубликаты, а одного Васю оставить.)
помогите пожалуйста
 
Ответить с цитированием

  #14699  
Старый 15.02.2010, 14:08
-=Zhenek=-
Участник форума
Регистрация: 31.12.2007
Сообщений: 279
С нами: 9663762

Репутация: 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) 
а мы тебе если надо лучше поможем, как в скипте при добавлении не допустить дубликаты =)
 
Ответить с цитированием

  #14700  
Старый 15.02.2010, 14:15
pali4
Познающий
Регистрация: 27.01.2008
Сообщений: 42
С нами: 9625014

Репутация: 48
По умолчанию

Цитата:
а мы тебе если надо лучше поможем, как в скипте при добавлении не допустить дубликаты =)
Нет)
Это вы мне точно не поможете)

Последний раз редактировалось pali4; 15.02.2010 в 14:27..
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.