HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #2471  
Старый 29.03.2008, 03:04
X-FRITS
Познающий
Регистрация: 24.06.2007
Сообщений: 84
Провел на форуме:
1348653

Репутация: 192
Отправить сообщение для X-FRITS с помощью ICQ
По умолчанию

я что-то совсем не могу врубится, что это шняга делает(не достаточно владею JS), но разве это не раздел для php??
 

  #2472  
Старый 29.03.2008, 03:41
Doom123
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме:
3941248

Репутация: 668


Отправить сообщение для Doom123 с помощью ICQ
По умолчанию

у тя скрипт каким образом глючит? кстате существует конструкция elseif или switch case
 

  #2473  
Старый 29.03.2008, 14:28
azote
Новичок
Регистрация: 28.03.2008
Сообщений: 24
Провел на форуме:
52770

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

PHP код:
<?php

include_once"../template/pclzip.php";

$dir=check($dir);  //папка

$arch=check($arch); //архив
  
$open=check($open);

echo 
'<div class=v><b>Просмотр архива</b></div>';
if(
$dir!="" && $arch!=""){
if (!
$action){

$zip=new PclZip("$dir/$arch");
if ((
$list $zip->listContent()) != 0){
     
for (
$i=0$i<sizeof($list); $i++){
for(
reset($list[$i]);
$key key($list[$i]);
next($list[$i])) {
$zfilesize strstr($listcontent,"--size"); 
$zfilesize ereg_replace("--size:","",$zfilesize);
$zfilesize =@ereg_replace("$zfilesize","$zfilesize|",$zfilesize); 
$sizelist .="$zfilesize"
  
                
$listcontent "[$i]--$key:".$list[$i][$key]."";
$zfile strstr($listcontent,"--filename");
$zfile =ereg_replace("--filename:","",$zfile);
$zfile =@ereg_replace("$zfile","$zfile|",$zfile);
$savelist .="$zfile";
           
}}

$sizefiles2 explode("|",$sizelist);
$sizelist2=array_sum($sizefiles2);
$obkb=round($sizelist2/1024,2);

$preview explode("|",$savelist);

$count count($preview)-1;
echo 
'<div class=pay><img src="../images/img/zip.gif" alt=""> <b>'.$arch.'</b><br>';
echo 
'<img src="../img/o.gif" alt="">Всего файлов: '.$count.'<br><img src="../img/go.gif" alt="">Вес архива: '.$obkb.' кб</div>';

if (empty(
$_GET['start'])) $start 0;
else 
$start $_GET['start'];
if (
$count $start $config_ziplist){ $end $count; }
else {
$end $start $config_ziplist; }
for (
$i $start$i $end$i++){
    
$sizefiles explode("|",$sizelist); //вырезаем элементы из массива с размерами файлов
$selectfile explode("|",$savelist);
$path $selectfile[$i];
$fname ereg_replace(".*[\\/]","",$path);
$zdir ereg_replace("[\\/]?[^\\/]*$","",$path);
$path str_replace("/","*",$path);

$ext=strtolower(strrchr($fname"."));

switch(
$ext){
case 
'dir'$ico='dir.gif'; break;
case 
'.jpg': case '.jpeg'$ico='jpg.gif'; break;
case 
'.gif'$ico='gif.gif'; break;
case 
'.mid'$ico='mid.gif'; break;
case 
'.mp3'$ico='mp3.gif'; break;
case 
'.wav': case '.amr'$ico='wav.gif'; break;
case 
'.mmf'$ico='mmf.gif'; break;
case 
'.jad'$ico='jad.gif'; break;
case 
'.jar'$ico='jar.gif'; break;
case 
'.zip'$ico='zip.gif'; break;
case 
'.txt'$ico='txt.gif'; break;
case 
'.exe'$ico='exe.gif'; break;
case 
'.htm'$ico='htm.gif'; break;
case 
'.html'$ico='htm.gif'; break;
case 
'.php'$ico='php.gif'; break;
default: 
$ico='file.gif'; break; }

if(!
$fname){
echo 
'<img src="../images/icons/dir.gif" alt=""> <b>Директория '.$zdir.'</b><br>';
}else{
echo 
'<img src="../images/icons/'.$ico.'" alt=""> <a href="zip.php?action=preview&amp;dir='.$dir.'&amp;arch='.$arch.'&amp;open='.$path.'&amp;start='.$start.'&amp;'.SID.'">'.$zdir.'/'.$fname.'</a>';
echo 
' ('.formatsize($sizefiles[$i]).')<br>'

}}

echo 
'<div class=pay>';
if (
$start != 0) {echo '<img src="../img/go.gif" alt=""><a href="zip.php?start='.($start $config_ziplist).'&amp;dir='.$dir.'&amp;arch='.$arch.'&amp;'.SID.'">Назад</a>';}else{echo'<img src="../img/go.gif" alt="">Назад';}
echo 
' | ';
if (
$count $start $config_ziplist) {echo ' <a href="zip.php?start='.($start $config_ziplist).'&amp;dir='.$dir.'&amp;arch='.$arch.'&amp;'.SID.'">Далее</a><img src="../img/g.gif" alt="">';}else{echo'Далее<img src="../img/g.gif" alt="">';}


$total=$count;
if(
$total>0){
$ba=ceil($total/$config_ziplist);
$ba2=$ba*$config_ziplist-$config_ziplist;
echo 
'<br>';
echo 
'<img src="../img/g.gif" alt="">Страницы:';
$asd=$start-($config_ziplist*3);
$asd2=$start+($config_ziplist*4);

if(
$asd<$total && $asd>0){echo ' <a href="zip.php?start=0&amp;dir='.$dir.'&amp;arch='.$arch.'&amp;'.SID.'">1</a> ... ';}
for(
$i=$asd$i<$asd2;)
{
if(
$i<$total && $i>=0){
$ii=floor(1+$i/$config_ziplist);

if (
$start==$i) {
echo 
' <b>'.$ii.'</b>';
} else {
echo 
' <a href="zip.php?start='.$i.'&amp;dir='.$dir.'&amp;arch='.$arch.'&amp;'.SID.'">'.$ii.'</a> ';
}}
$i=$i+$config_ziplist;
}
if(
$asd2<$total){echo ' ... <a href="zip.php?start='.$ba2.'&amp;dir='.$dir.'&amp;arch='.$arch.'&amp;'.SID.'">'.$ba.'</a>';}
}

}else{
echo 
'<br><b>Невозможно открыть архив!</b><br>';
echo 
'Ошибка: '.$zip->errorInfo(true);

}
echo
'<br><div class=pay><img src="../img/go.gif" alt=""><a href="down.php?action=ob&amp;did='.$dir.'&amp;fid='.$arch.'&amp;'.SID.'">Вернуться</a></div>'
}
//////////////////////////////////action preview////////////////////////////////
if($action=="preview"){
    
$open str_replace("*","/",$open);    
    
$zip=new PclZip("$dir/$arch");
$content $zip->extract(PCLZIP_OPT_BY_NAME$open,PCLZIP_OPT_EXTRACT_AS_STRING);
$content $content[0]['content'];


$letters=array("а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я","А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я");

for ( 
$b=0$b<66$b++) {if(strstr($content,$letters[$b])!== false){$utf="ok";}}
$preview2 explode("\r\n",$content);
$count count($preview2);

/* function highlight_code($code) {
$code=trim($code);
return highlight_string($code,true);} */

echo '<img src="../images/img/zip.gif" alt=""> <b>'.$arch.'</b><br>';
echo 
'<img src="../images/img/files.gif" alt=""> <b>'.$open.'</b><br>';
echo 
'Всего строчек: '.(int)$count.'<br><hr>';

if(
$utf=="ok"){echo highlight_code($content);}else{echo highlight_code(win_to_utf($content));}

echo
'<div class=pay><img src="../img/go.gif" alt="">';
echo
'<a href="zip.php?start='.$start.'&amp;dir='.$dir.'&amp;arch='.$arch.'&amp;'.SID.'">Вернуться</a></div>'
}
}else{
header ("Location: index.php?".SID); exit;}
echo
'<div class=pay><img src="../img/go.gif" alt=""><a href="down.php?did='.$dir.'&amp;'.SID.'">В раздел</a><br>';     
echo
'<img src="../img/go.gif" alt=""><a href="index.php?'.SID.'">К категориям</a></div></div></div>';    

?>


------------------------------------------------

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

Последний раз редактировалось azote; 29.03.2008 в 14:32..
 

  #2474  
Старый 29.03.2008, 14:29
X-FRITS
Познающий
Регистрация: 24.06.2007
Сообщений: 84
Провел на форуме:
1348653

Репутация: 192
Отправить сообщение для X-FRITS с помощью ICQ
По умолчанию

РАБОЧИЙ:
Код HTML:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd'>
<html><head>
<title>Creeptor</title>
<link rel='SHORTCUT ICON' href='http://status.icq.com/27/online1.gif' />
<link rel='stylesheet' type='text/css' href='/css/index.css' />
</head>
<body>
<h1>Проверено: 51(с 900051 до 900050)<br />В онлайне: 0<br />В офлайне: 1<br />Неизвесно: 50<br />Ошибок: 0</h1></body></html>
НЕРАБОЧИЙ:
Код HTML:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd'>
<html><head>
<title>Creeptor</title>
<link rel='SHORTCUT ICON' href='http://status.icq.com/27/online1.gif' />
<link rel='stylesheet' type='text/css' href='/css/index.css' />
</head>
<body>
если просмотреть исходный код готовый страницы тогда видно, что for(...) не работает до конца...
 

  #2475  
Старый 29.03.2008, 23:10
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

1. Нормальная регулярка для проверки емаил на валидность (при условии что потом $email приводим к нижнему регистру) или есть получше?
PHP код:
function email_test($email)
  {  
   if(
ereg('^[_.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]*.)+[a-zA-Z]{2,4}$'$email)) return 1//правильный емайл
   
return 0// не правильный емайл
  

2. Дайте, плиз нормальную, готовую регулярку для проверки логина на валидность. Под валидностью подразумевается использование разрешённых символов, длина {4,10}

Последний раз редактировалось -=lebed=-; 29.03.2008 в 23:26..
 

  #2476  
Старый 29.03.2008, 23:18
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме:
5128756

Репутация: 2032


Отправить сообщение для Piflit с помощью ICQ
По умолчанию

[_.0-9a-zA-Z-] -> [_\.0-9a-zA-Z-]
([0-9a-zA-Z][0-9a-zA-Z-]*.) зачем круглые скобки? снова точка не экранируется
 

  #2477  
Старый 29.03.2008, 23:25
d_x
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме:
4137635

Репутация: 2407


По умолчанию

И можно убрать A-Z, оставить только a-z, а функцию заменить на eregi(), а лучше вообще в PCRE написать, они быстрее posix.
 

  #2478  
Старый 29.03.2008, 23:31
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Цитата:
Сообщение от Piflit  
[_.0-9a-zA-Z-] -> [_\.0-9a-zA-Z-]
([0-9a-zA-Z][0-9a-zA-Z-]*.) зачем круглые скобки? снова точка не экранируется
Так?
[php]
PHP код:
function email_test($email)
  {  
   if(
ereg('^[_\.0-9a-zA-Z-]+@[0-9a-zA-Z][0-9a-zA-Z-]*\.+[a-zA-Z]{2,4}$'$email)) return 1//правильный емайл
   
return 0// не правильный емайл
  

 

  #2479  
Старый 29.03.2008, 23:38
Doom123
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме:
3941248

Репутация: 668


Отправить сообщение для Doom123 с помощью ICQ
По умолчанию

\w|[\._-]+@(\w|\.+)[a-z]{2,4} м?

-=lebed=- PCRE рулит и скоро обгонит POSIX во всём=)

Последний раз редактировалось Doom123; 29.03.2008 в 23:46..
 

  #2480  
Старый 29.03.2008, 23:39
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме:
5128756

Репутация: 2032


Отправить сообщение для Piflit с помощью ICQ
По умолчанию

/^\w+([\.\w]+)*\w@\w((\.\w)*\w+)*\.\w{2,3}$/
 
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53



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


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




ANTICHAT.XYZ