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

Код: 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
17.03.2015, 15:45
    #38907261
kunaksergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scandir()
pboom,
выше чем /DocumentRoot не может прочитать свойства
...
Рейтинг: 0 / 0
17.03.2015, 16:52
    #38907353
pboom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scandir()
Ну в глубь оно тоже не хочет. В любой директории оно не хочет.
...
Рейтинг: 0 / 0
17.03.2015, 17:36
    #38907411
kunaksergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scandir()
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
17.03.2015, 19:41
    #38907514
pboom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scandir()
Спасибо. Но я бы хотел понять почему неработает 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
17.03.2015, 19:50
    #38907519
pboom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scandir()
Я так понимаю он рыщщит в старой директории и ничего не находит. получается скан дир для этого не подходит?
простите если я флужу.
...
Рейтинг: 0 / 0
18.03.2015, 09:51
    #38907891
kunaksergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scandir()
pboom,

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

Код: 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
18.03.2015, 18:25
    #38908930
pboom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scandir()
Самое прикольное что по ссылкам нужно клацать дважды. это вышло случайно но прикольно. Прям как в папках
...
Рейтинг: 0 / 0
18.03.2015, 18:45
    #38908942
kunaksergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scandir()
pboom,
а фиг, не работает
...
Рейтинг: 0 / 0
19.03.2015, 13:35
    #38909793
pboom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scandir()
Почему? у меня на разных компах все работает.
...
Рейтинг: 0 / 0
19.03.2015, 13:36
    #38909797
pboom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
scandir()
kunaksergey,

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

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


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


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