изкарване на директорий + файлове

baiumbg

Registered
Трябва ми скрипт, който изкарва всички директорий, под-директорий, файлове и т.н. от htdocs. Преди ми бяха дали някакъв такъв скрипт, само че освен да изкарва файлове/директорий изкарваше и купища болкуци. Трябва ми скрипт който изкарва всичко чисто.
 
Warning: scandir() [function.scandir]: Directory name cannot be empty in C:\xampp\htdocs\test.php on line 2

Оправих го. Обаче изкарва само файловете и директорийте. Аз искам да изкарва така примерно:

-Директория
--Под-директория
---Файл
---Файл
--Под-директория
-Директория
 
ОК. Успях да изровя това от google:

<?php
//define the path as relative
$path = "C:\\xampp\\htdocs";
$webpath ="localhost";
//using the opendir function
$dir_handle = @opendir($path) or die("Unable to open $path");

echo "Directory Listing of $path<br/>";

list_dir($dir_handle,$path);

function list_dir($dir_handle,$path)
{
// print_r ($dir_handle);
echo "<ol>";
//running the while loop
while (false !== ($file = readdir($dir_handle))) {
$dir =$path.'\\'.$file;
if(is_dir($dir) && $file != '.' && $file !='..' )
{
$handle = @opendir($dir) or die("unable to open file $file");
echo "<li><a href='".$webpath . $file."'>$file</a></li>";
list_dir($handle, $dir);
}elseif($file != '.' && $file !='..')
{
echo "<li><a href='".$webpath . $file."'>$file</a></li>";
}
}

echo "</ol>";

//closing the directory
closedir($dir_handle);

}
?>

Обаче имам един проблем. Всички файлове ги изкарва след локалхост. В смисъл, че файловете които са в под-директорий, а не в htdocs всички ги слага след локалхост/
Знам, че това става с малко ръчкане по кода, обаче аз така и не можах.

P.S. Всъщност, ми трябват само директорийте, под-директорийте и .php файловете.(права си админ панел) Ако може някой да го ръчне, та да го направи, че още съм малко начинаещ :)
 
Код:
//define the path as relative
$path = "image/";

//using the opendir function
$dir_handle = @opendir($path) or die("Unable to open $path");

echo "Directory Listing of $path<br/>";

list_dir($dir_handle,$path);

function list_dir($dir_handle,$path)
{
	// print_r ($dir_handle);
	echo "<ol>";
	//running the while loop
	while (false !== ($file = readdir($dir_handle))) 
	{
		$dir =$path.''.$file;
		if(is_dir($dir) && $file != '.' && $file !='..' )
		{
			$handle = @opendir($dir) or die("unable to open file $file");
			echo "<li><a href='".$path."/" . $file."'>$file</a></li>";
			list_dir($handle, $dir);
		}
		elseif($file != '.' && $file !='..')
		{
			echo "<li><a href='".$path . $file."'>$file</a></li>";
		}
	}

	echo "</ol>";

	//closing the directory
	closedir($dir_handle);

}
 
Directory Listing of C:\xampp\htdocs

1. admin.php
2. admin_list.php
3. ban_list.php
4. calendar.html
5. calendar1.js
6. COPYING
7. CREDITS
8. extras
9. functions.php
10. images
11. include
12. index.php
13. install
14. language
15. login.php
16. logout.php
17. motd.php
18. search.php
19. temp
20. templates
21. test.php
22. view.php

Не изкарва под-директорийте и трябва само .пхп файлове да показва.
 
//define the path as relative
$path = "htdocs/";

//using the opendir function
$dir_handle = @opendir($path) or die("Unable to open $path");

echo "Directory Listing of $path<br/>";

list_dir($dir_handle,$path);

function list_dir($dir_handle,$path)
{
// print_r ($dir_handle);
echo "<ol>";
//running the while loop
while (false !== ($file = readdir($dir_handle)))
{
$dir =$path.''.$file;
if(is_dir($dir) && $file != '.' && $file !='..' )
{
$handle = @opendir($dir) or die("unable to open file $file");
echo "<li><a href='".$path."/" . $file."'>$file</a></li>";
list_dir($handle, $dir);
}
elseif($file != '.' && $file !='..')
{
echo "<li><a href='".$path . $file."'>$file</a></li>";
}
}

echo "</ol>";

//closing the directory
closedir($dir_handle);

}

Пробвай така както съм го написал!!!
 
Как така?? Скрипта ми е ВЪВ htdocs...как ще провери?

EDIT: Смених го на ../htdocs/ и стана, обаче как да го направа да изкарва само .пхп файлове? (в смисъл, без .пнг, .тхт и т.н.)
 
Заповядай:


Код:
//define the path as relative
$path = "image/";

//using the opendir function
$dir_handle = @opendir($path) or die("Unable to open $path");

echo "Directory Listing of $path<br/>";

list_dir($dir_handle,$path);

function list_dir($dir_handle,$path)
{
	// print_r ($dir_handle);
	echo "<ol>";
	//running the while loop
	while (false !== ($file = readdir($dir_handle))) 
	{
		$dir =$path.''.$file;
		if(is_dir($dir) && $file != '.' && $file !='..' && end(explode(".",$file))=="php" )
		{
			$handle = @opendir($dir) or die("unable to open file $file");
			echo "<li><a href='".$path."/" . $file."'>$file</a></li>";
			list_dir($handle, $dir);
		}
		elseif($file != '.' && $file !='..'  && end(explode(".",$file))=="php")
		{
			echo "<li><a href='".$path . $file."'>$file</a></li>";
		}
	}

	echo "</ol>";

	//closing the directory
	closedir($dir_handle);

}
 
Directory Listing of ../htdocs/

1. admin.php
2. admin_list.php
3. ban_list.php
4. functions.php
5. index.php
6. login.php
7. logout.php
8. motd.php
9. search.php
10. test.php
11. view.php

Не търси в директорийте. Само пхп файловете от htdocs ми изкарва. A, това е още от предишния скрипт който ми даде - линка към файловете е localhost/htdocs/file. Така и не можах да го оправа. И тук е така.
 
Зарязах я тая работа. Намерих си направо готов скрипт за едитване на страници. Мерси все пак :) Схванах главната идея на изкарването на директорийте.
 

Back
Горе