| 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. |
|
|