Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: readdir() Отличить директорию
 
 автор: EXP   (21.08.2006 в 04:57)   письмо автору
 
 

Вот синтезировалось
<?php
function ssylki()
{
if(isset(
$_GET['dr']) && $_GET['dr'] != "%"$dr $_GET['dr'];
else 
$dr "..%";


$dr str_replace("%""/"$dr);
$dir opendir($dr);
while (
$file readdir($dir))
{
if((
$file != "..") && 
(
$file != "."))
{
echo 
"<a href='".$php_self."?dr=".$dr.$file."%'>%</a>
<a href='"
.$file."'>".$file."</a><br/>";
}
}

echo 
"<br>";
closedir($dir);
}
header("Content-Type: text/html; charset=utf-8");
echo
"<html><head><title>файлы&папки</title>
<link href='/y.css' type='text/css' rel='stylesheet'></head>"
."<body <p>
<div>скан</div>
</p><br/>
"
;
ssylki();
echo 
"
<hr><p><br>
<br></p></body></html>"
?>

Как сделать чтобы ссылки вида <a>%</a> давались только на папки?

   
 
 автор: kasmanaft   (21.08.2006 в 05:28)   письмо автору
 
   для: EXP   (21.08.2006 в 04:57)
 

Есть ф-я, проверяющая, является ли файл папкой - is_dir, то есть можно поступить так:


<?
while ($file readdir($dir))
{
  if((
$file != "..") && ($file != "."))
  {
     if(
is_dir($file))
     {
        echo 
"<a href='".$php_self."?dr=".$dr.$file."%'>%</a>";
     }
     else echo 
"<a href='".$file."'>".$file."</a><br/>";
  }
}
?>

   
 
 автор: EXP   (21.08.2006 в 14:45)   письмо автору
 
   для: kasmanaft   (21.08.2006 в 05:28)
 

помоему is_dir(); видит только "." и ".." , может я ошибаюсъ.?
Исправил вторую ссылку
<? echo "<a href='".$dr.$file."'>".$file."</a><br/>"?>

   
 
 автор: ec_stasis   (21.08.2006 в 14:46)   письмо автору
 
   для: EXP   (21.08.2006 в 14:45)
 

Ошибаешься

   
 
 автор: EXP   (21.08.2006 в 16:42)   письмо автору
 
   для: ec_stasis   (21.08.2006 в 14:46)
 

Оказалось видит когда заходит в папку с этим файлом и подпапки а выше невидит.
<? 
while ($file readdir($dir))
{
if((
$file != "..") && 
(
$file != "."))
{
echo 
"<br><a href='".$dr.$file."'>".$file."</a>";
if (
is_dir($file)) echo "<a href='".$php_self."?dr=".$dr.$file."%'>-DIR</a>";
}
}

 
?>
такой цикл вроде должен работать если скрипт в корень положить.

   
 
 автор: EXP   (23.08.2006 в 05:40)   письмо автору
 
   для: EXP   (21.08.2006 в 16:42)
 

Долго пользовался таким if(!strstr($file), ".") Оказывается можно так:
<? if (filetype($dr.$file) == dir)?> 

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования