powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / scandir()
13 сообщений из 13, страница 1 из 1
scandir()
    #38907229
pboom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрых суток.
Подскадите пожалуйста. Когда делать скандир папки "." то все нормально работает, но когда пытаюсь скандирить другой каталог то ис_файл и ис_дир возвращают фолс. В чем причина? Спасибо.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 [code=php]
if (isset($_REQUEST['dir'])){
	$dir = $_REQUEST['dir'];
}
else {
	$dir = '.';
}
$file = scandir($dir);
foreach ($file as $arr){
	if(is_file($arr)){
		echo "<input type = 'button' value = 'setting'> {$arr} <br>";
	}
	else {
		if (is_dir($arr)){
					echo"<a href =''> {$arr}</a><br>";
		}
		else {
			echo $arr;
		}
	}
}

...
Рейтинг: 0 / 0
scandir()
    #38907261
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pboom,
выше чем /DocumentRoot не может прочитать свойства
...
Рейтинг: 0 / 0
scandir()
    #38907353
pboom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну в глубь оно тоже не хочет. В любой директории оно не хочет.
...
Рейтинг: 0 / 0
scandir()
    #38907411
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pboomНу в глубь оно тоже не хочет. В любой директории оно не хочет.
Ну тогда лови

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
isset($_REQUEST['dir'])?$dir = $_REQUEST['dir']:$dir = '.';

if(is_dir($dir)){
 $handle = opendir($dir);
	 
	  while (($arr = readdir($handle)) !== false){
      	  	if(is_file($dir."/".$arr)){
			echo "<input type = 'button' value = 'setting'> {$arr} <br>";
      	  	//	echo "$arr-файл<br>";
			}
			else {
			//	echo "$arr-директория<br>";
			echo"<a href ={$_SERVER['PHP_SELF']}?dir=$dir/$arr> {$arr}</a><br>";
			}
	  }
closedir($handle);
  }
...
Рейтинг: 0 / 0
scandir()
    #38907514
pboom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Но я бы хотел понять почему неработает scan_dir(); как ни крути он всеравно дальше одной директории не лезит. Whay?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
//файлы формируются с кнопками, а директории показываются ссылками (тут все норм)
//по нажатию на ссылку передается имя директории.
//
if (isset($_REQUEST['dir'])){
	//получаем имя директории
	$dir = $_REQUEST['dir'];
	// получаем директорию в которой находимся 
	$didi = getcwd();
	// складываем их
	$dodo = "$didi\\$dir\\";
	//пытаемя перейти. на один уровень все переходит , но на больше балалайки
	chdir($dodo);
	//выводим сформированный адрес через который ничего неработает НО если его тупо скапировать и вставить то все норм
	echo $dodo."<br>";
...
Рейтинг: 0 / 0
scandir()
    #38907519
pboom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понимаю он рыщщит в старой директории и ничего не находит. получается скан дир для этого не подходит?
простите если я флужу.
...
Рейтинг: 0 / 0
scandir()
    #38907891
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pboom,

посмотрите какая в итоге у вас директория получается... а рыщет он либо по абсолютному пути, либо относительно директории где запущен скрипт
...
Рейтинг: 0 / 0
scandir()
    #38908927
pboom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем разобрался. Спасибо. были ламерские ошибки.
Делал подобие файлового менейджера. Сверху интерактивная ссылка навигации. внизу файлы
В заключении вот код.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
<html>
Файловый менейджер<hr>
</html>
<?php
session_start();
$ars=null;
$url = null;
// если навигейт дир пришел удаляем из сессии ненужные директории
if(isset($_REQUEST['navigate_dir'])){
	array_splice($_SESSION['arr_nav'], ($_REQUEST['navigate_dir']+1));
	//$_SESSION['arr_nav'] = $arr;
}
else{
	if(!isset($_SESSION['arr_nav'])){
		// взрываем полученный адрес на куски и записываем в массив
		$_SESSION['arr_nav'] = explode('\\', getcwd() );
	}
}
// формируем адрес из кусков а так же показываем куски адреса для навигации
foreach ($_SESSION['arr_nav'] as $key => $ar){
	$url .=$ar.'\\';
	echo " <a href = ?navigate_dir={$key}>$ar</a> | ";
}
if(isset($_REQUEST['dir_go'])){
	if(file_exists($url.'\\'.$_REQUEST['dir_go'])) 
	{ 
		$_SESSION['arr_nav'][] = $_REQUEST['dir_go'];
		header("location:");
	} 
}
// получаем список файлов, формируем и показываем пользователю
chdir($url);
$urlurl = scandir($url); unset($urlurl[0]); unset($urlurl[1]); echo "<hr>";
foreach ($urlurl as $ur){
	if (is_dir($ur)){
		echo ">>><a href=?dir_go={$ur}>$ur</a><br>";
	} 
	else {
		echo $ur.'<br>';
	}
} 

всем спасибо!
...
Рейтинг: 0 / 0
scandir()
    #38908930
pboom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самое прикольное что по ссылкам нужно клацать дважды. это вышло случайно но прикольно. Прям как в папках
...
Рейтинг: 0 / 0
scandir()
    #38908942
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pboom,
а фиг, не работает
...
Рейтинг: 0 / 0
scandir()
    #38909793
pboom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему? у меня на разных компах все работает.
...
Рейтинг: 0 / 0
scandir()
    #38909797
pboom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kunaksergey,

Почему? Уменя на разных компах все работает.
...
Рейтинг: 0 / 0
scandir()
    #38909902
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pboomkunaksergey,

Почему? Уменя на разных компах все работает.
Код: php
1.
$url .=$ar.'\\';


под Nix только при "//"
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / scandir()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]