如何读取文件,如果文件或目录在Windows共享驱动器(映射驱动器)上可用,使用php

时间:2018-03-27 12:37:52

标签: php file ftp samba file-exists

我搜索了互联网,但没有找到任何解读文件的解决方案。

此路径上的文件可用。 \\172.16.XX.XX\fileserver\Directory\

我必须阅读此目录中的所有文件和目录。 我必须在PHP中这样做。

有一个共享的驱动器。 以下是它如何查看共享驱动器所在的驱动器。 这是Z驱动器。

enter image description here

请在下面找到我用来阅读目录和文件的代码

$ip = '172.16.XX.XX';
    $host = gethostbyaddr( $ip );

    if ( $ip == $host )
        die( 'Unable to resolve hostname from ip '.$ip );

    $path = '\\'.$host.'\fileserver\Directory\';

    if ( !is_dir($path) )
        die( $path. ' is not a directory' );  

    $dir = opendir($path);
    if ( $dir == FALSE )
        die( 'Cannot read '.$path );

    while (($file = readdir($dir)) !== FALSE)
        echo "filename: $file : filetype: ".filetype( $path.$file)."";

    closedir( $dir );

1 个答案:

答案 0 :(得分:2)

PHP支持的协议列表,如下所示

file:// — Accessing local filesystem
http:// — Accessing HTTP(s) URLs
ftp:// — Accessing FTP(s) URLs
php:// — Accessing various I/O streams
zlib:// — Compression Streams
data:// — Data (RFC 2397)
glob:// — Find pathnames matching pattern
phar:// — PHP Archive
ssh2:// — Secure Shell 2
rar:// — RAR
ogg:// — Audio streams
expect:// — Process Interaction Streams

我相信您愿意使用的协议是SMB(即网络共享),PHP本身无法使用该协议。