|
|
|
|
|
для: Trianon
(06.07.2006 в 14:22)
| | Большое спасибо ! :-)
А не могли бы вы объяснить мне конструкцию
<?
$dir = isset($_GET['ftp'])
? (get_magic_quotes_gpc()
?stripslashes($_GET['ftp'])
: $_GET['ftp'])
: '';
?>
|
Я такую первый раз встречаю :-(
За оанее спасибо. | |
|
|
|
|
|
|
|
для: hell_riser
(06.07.2006 в 13:37)
| | слегка его почесал... трогал только ввод параметров и навигацию.
<?php
//***********************************************************************
// Назначение: Вывод контента FTP сервера и навигация по серверу.
//***********************************************************************
// Имя FTP сервера.
$host= "localhost";
$login = 'anonymous';
$pwd = '';
// Извлекаем путь к директории из URL,
// если в URL не передавалось переходим в корневую
// директорию FTP сервера.
$dir = isset($_GET['ftp'])
? (get_magic_quotes_gpc()
?stripslashes($_GET['ftp'])
: $_GET['ftp'])
: '';
// Проверка существования переменой
// идентификатора страницы.
$page = isset($_GET['fp'])? intval($_GET['fp']) : 0;
// Количество ссылок(файлов) на странице.
$ftp_page_num = 12;
//Соединение с сервером
$ftp_conn = ftp_connect($host);
//ftp_pasv($ftp_conn, TRUE);
$time=time();
//Авторизация на сервере.
$ftp_auth = ftp_login($ftp_conn, $login,$pwd);
if(!$ftp_auth)
{
echo "Нет соединения";
exit();
}
elseif(time()-$time>20)
{
echo "Нет соединения";
exit();
}
//Запрашиваем список.
$buf = ftp_nlist($ftp_conn, $dir);
// Определение кличества страниц.
$total = count($buf);
$page_num = ceil($total/$ftp_page_num);
$begin = $page*$ftp_page_num;
$last = min(($page+1)*$ftp_page_num, $total);
//Выводим список в браузер
?>
<style>
<!--
a:link, a:visited {text-decoration: none; color: #000000;font-weight: bolder; font-size: 14px; font-family: Arial,Helvetica,Tahoma;}
a:active, a:hover {text-decoration: none; color: #000000; font-weight: bolder; font-size: 14px; font-family: Arial,Helvetica,Tahoma;}
.lst:link, {text-decoration: none; color: #0000FF; font-size: 15px; font-family: Times New Roman;}
.lst:visited {text-decoration: none; color: #0000FF; font-size: 15px; font-family: Times New Roman;}
.lst:active {text-decoration: underline; color: #000000; font-size: 15px; font-family: Times New Roman}
.lst:hover {text-decoration: underline; color: #000000; font-size: 15px; font-family: Times New Roman}
.nav:link, {text-decoration: none; color: #000000;}
.nav:visited {text-decoration: none; color: #000000;}
.nav:active {text-decoration: underline; color: #0000FF;}
.nav:hover {text-decoration: underline; color: #0000FF;}
//-->
</style>
<table bgcolor='#FFFFFF' width='95%' align='center'>
<tr>
<th align=right width='50%'><a class='nav' href='javascript:history.back()'><<< назад</a> | <? echo $dir; ?></th>
<th align=left>Размер</th>
</tr>
<?php
for($i=$begin; $i < $last; $i++)
{
//Формирование ссылки для файлов являющихся поддиректориями.
$underdir = $dir."/".$buf[$i];
$size=ftp_size($ftp_conn, $underdir)/1000000;
$f=str_replace($dir."/", "", $underdir);
$link="<a class='lst' href='?ftp=".$underdir."'>";
if ($size <= 0)
{
$size="<b>-dir-</b>";
}
else
{
// Формирование ссылки для файлов.
$file_dir= str_replace("//", "/", $dir);
$file=rawurlencode($f);
$url=("ftp://".$host.$file_dir."/".$file);
$link="<a class='lst' href='".$url."' target='_blank'>";
}
?>
<tr>
<td align=right>
<?php echo $link.$f."<br>\n"; ?>
</td>
<td align=left>
<?php
if($size > 0 && $size<1)
{
$size = $size*1000;
$size = round($size);
$size = $size."\nkb";
echo "<b>".$size."</b>";
}
elseif($size >1)
{
$size = round($size,2);
$size = $size."\nMb";
echo "<b>".$size."</b>";
}
else
{
echo "<b>".$size."</b>";
}
?>
</td>
</tr>
<tr>
<td colspan=2 align='center'>
<p> </p>
<?php
}
// Вывод панели навигации
for($i=0; $i < $page_num; $i++)
{
$curr = $page == $i;
$start = $i*$ftp_page_num+1;
$end = min(($i+1)*$ftp_page_num, $total);
$a1 = $page == $i? '': "<a class='nav' href='?ftp=$dir&fp=$i'>";
$a2 = $page == $i? '': "</a>";
echo " [$a1$start - $end$a2]";
}
unset($buf);
ftp_quit($ftp_conn);
?>
</td>
</tr>
</table>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: hell_riser
(05.07.2006 в 23:22)
| | Anybody help PLEAS??? | |
|
|
|
|
|
|
| Всем здравствуйте!
Помогите организовать постраничную навигацию по FTP серверу.
Пытался присобачить туда постраничку как на файлах, но чёйта не выходит :-(
Выводится максимум 12 ссылок(файлов)
Срипт прилагаю, гляньте чего я там на порол.
И ещё получается, что со своего FTP я получаю размеры файлов, а с любого другого(локального) не получается.
Помогите пожалуйста | |
|
|
|
|