Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Использование opendir в PHP приводит к ошибке (http://forum.oszone.net/showthread.php?t=60207)

Igor_I 28-01-2006 17:31 398266

Использование opendir в PHP приводит к ошибке
 
Есть несколько серверов, 2 на Linux, 1 на Windows
Вот именно при подключении к третьей машине - функции opendir, scandir либо dir , все приводят к ошибке.
Но если PHP использовать как язык ActiveScript, то ответ от сервера положительный, и он возвращает название первого каталога.
Как быть? В чем может быть дело?
Также доступ из IE работает отлично.

vadimiron 28-01-2006 19:17 398304

Цитата:

Вот именно при подключении к третьей машине
То есть скрипт выполняется не на самом серваке???

Igor_I 28-01-2006 20:00 398312

Нет, скрипт выполняется на моем компьютере. Собственно цель, проиндексировать каталоги на серверах.
Вот еще что, это все делается из-под Windows, несмотря на подпись :)

vadimiron 29-01-2006 12:10 398472

То есть на своей машине выполняется opendir команда, с помощью которой производится попытка открыть каталоги на другой машине??

Igor_I 29-01-2006 12:20 398473

Да.

vadimiron 29-01-2006 12:41 398480

Там какая то история, связанная с fopen wrappers
По сути обращаясь к другому серверу, мы обращаемся к другому URL, поэтому fopen wrappers должен быть для этого активирован
Другие функции тоже имеют такую зависимость от fopen wrappers
Почитай в мануле описание функции scandir

Igor_I 29-01-2006 14:02 398510

;;;;;;;;;;;;;;;;;;
; Fopen wrappers ;
;;;;;;;;;;;;;;;;;;

; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On

; Define the anonymous ftp password (your email address)
;from="john@doe.com"

; Define the User-Agent string
user_agent="PHP"

; Default timeout for socket based streams (seconds)
default_socket_timeout = 60

auto_detect_line_endings = Off
==========================================
Включены.
PHP код:

$path "\\\\";         
$ip "10.0.8.2";         
echo 
'<br />4 - '.$path.$ip;          
$dir $path.$ip."\\Video2\\";          
echo 
'<br />8 -'.$dir;    
// Открыть заведомо существующий каталог и начать считывать его содержимое     
if ($dh opendir($dir))     
{         
while ((
$file readdir($dh)) !== false)         
{             
print 
"Файл: $file : тип: " filetype($dir $file) . "\n";         
}         
closedir($dh);     
}     else     {             
echo 
'======';     


Приводит к такой ошибке
4 - \\10.0.8.2
8 - \\10.0.8.2\Video2\
Warning: opendir(\\10.0.8.2\Video2\) [function.opendir]: failed to open dir: Invalid argument in ***\inc5.php on line 11
======

Igor_I 29-01-2006 14:14 398517

Тогда как этот код, все тоже самое, за исключением пути
PHP код:

$path "\\\\";         
$ip "10.0.8.4";        
 echo 
'<br />4 - '.$path.$ip;          
$dir $path.$ip."\\Incoming\\Films\\MADONNA (DVD)\\VIDEO_TS\\";          
echo 
'<br />8 - '.$dir.'<br />';    
// Открыть заведомо существующий каталог и начать считывать его содержимое    
 
if ($dh opendir($dir))     
{         
while ((
$file readdir($dh)) !== false)         
{             
print 
"Файл: $file : тип: " filetype($dir $file) . "\n";         
}        
 
closedir($dh);     
}     else     {             
echo 
'======';     


приводит к такому результату
4 - \\10.0.8.4
8 - \\10.0.8.4\Incoming\Films\MADONNA (DVD)\VIDEO_TS\
Файл: . : тип: dir Файл: .. : тип: dir Файл: VIDEO_TS.IFO : тип: file Файл: VIDEO_TS.VOB : тип: file Файл: VIDEO_TS.BUP : тип: file Файл: VTS_01_0.IFO : тип: file Файл: VTS_01_0.VOB : тип: file Файл: VTS_01_1.VOB : тип: file Файл: VTS_01_2.VOB : тип: file Файл: VTS_01_0.BUP : тип: file Файл: VTS_02_0.IFO : тип: file Файл: VTS_02_0.VOB : тип: file Файл: VTS_02_1.VOB : тип: file Файл: VTS_02_2.VOB : тип: file Файл: VTS_02_0.BUP : тип: file Файл: VTS_03_0.IFO : тип: file Файл: VTS_03_0.VOB : тип: file Файл: VTS_03_1.VOB : тип: file Файл: VTS_03_2.VOB : тип: file Файл: VTS_03_0.BUP : тип: file Файл: Default.PLS : тип: file


Время: 08:06.

Время: 08:06.
© OSzone.net 2001-