imho.ws |
![]() |
![]() |
![]() |
# 1 |
Full Member
Регистрация: 15.11.2002
Адрес: Moscow
Сообщения: 834
![]() ![]() ![]() ![]() ![]() |
![]()
подскажите, плз, как сделать листинг всех файлов на каком-либо компе в локальной сети
(т.е. имеется комп с ip 192.168.156.47, на нем есть папка video; как сделать такой PHP скрипт, чтобы запустив его на своем компе, вывести на экран список всех файлов с того компа (ну или только файлов *.avi), включая и вложенные папки) по идеи, все это должно работать через обычные функции файловой системы (как и с локальным компом), но что-то не могу разобраться как... или, плз, дайте хоть какой-нибудь пример работы с файлом на удаленном компе (только \\192.168.156.47, а не http или фтп) |
![]() |
![]() |
# 2 |
::VIP::
Регистрация: 09.09.2002
Адрес: Kiev
Пол: Male
Сообщения: 1 150
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
вот кусок реального скрипта с одной моей страницы - http://lbn.host.sk/www/soft
что он делает - начиная с заданного, рекурсивно обходит каталоги и выдает имя файла в виде ссылки и его размер (как я понимаю, практически то, что тебе надо). по идее, должно работать и в случае list_dir("\\\\192.168.1.1\\Video", 0); обрати внимание (напомню на всяк случай) - обратную косую надо удваивать. Если все-таки не сработает (к сожалению, сети нет - проверить не могу) - тогда примапь сетевой ресурс как локальный диск - тогда уж точно должно отработать. Надеюсь, тебе это поможет. Отпишись о результатах, если не затруднит. Код:
<?php function mk_indent($indent) { for( $i=0; $i<$indent; $i++ ) echo " "; } function list_dir($dir_name, $indent) { $handle=opendir($dir_name); while (false!==($file = readdir($handle))) { if ($file != "." && $file != ".." && substr($file,-4,4) != ".php") { if( is_dir($dir_name . "/" . $file) ) { mk_indent($indent); echo "<b><i>$file</i></b><br>\n"; list_dir( $dir_name . "/" . $file, $indent+1 ); } else { $fsz = filesize ($dir_name . "/" . $file); mk_indent($indent); echo "<a href='$dir_name/$file'>$file</a>" . " [ $fsz ]<br>\n"; } } } closedir($handle); } list_dir(".", 0); ?>
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people. |
![]() |
![]() |
# 3 |
Full Member
Регистрация: 15.11.2002
Адрес: Moscow
Сообщения: 834
![]() ![]() ![]() ![]() ![]() |
работает!
но только в случае с \\\\192.168.1.1\\Video а как же получить список всех расшаренных папок, чтобы потом уже по ним пройтись? просто \\\\192.168.1.1 не помогает ![]() Код:
Warning: opendir(\\192.168.1.1\): failed to open dir: Invalid argument in script.php on line NN |
![]() |
![]() |
# 6 |
::VIP::
Регистрация: 09.09.2002
Адрес: Kiev
Пол: Male
Сообщения: 1 150
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
хреново
возможно, решение невозможно в принципе - ведь нельзя смонтировать "все шары" - можно только конкретный ресурс. т.е., похоже, винда говорит "это каталог" только для конкретной шары...
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people. |
![]() |