检查远程服务器上的路径是否存在

时间:2014-06-17 08:27:34

标签: php

你知道如何管理吗?我知道可以使用mkdir函数指定上下文,但是使用此函数我无法检查路径是否存在,是不是可以?

编辑:

建立与服务器的FTP连接。

2 个答案:

答案 0 :(得分:1)

使用file_existshttp://php.net/manual/en/function.file-exists.php

if (file_exists('path/to/file/or/dir')){ doSomething(); } else { createFileOrDir(); }

对于远程服务器使用:

is_dir('ftp://user:password@example.com/some/dir/path');

答案 1 :(得分:1)

您可以将is_dir()FTP协议一起使用。你可以测试一下:

var_dump(is_dir('ftp://ftp.debian.org/debian/')); // bool(true)

但是,您不能对HTTP协议执行相同的操作:

var_dump(is_dir('http://ftp.debian.org/debian/')); // bool(false)

这是因为HTTP协议不提供有关远程资源是否标识文件夹或文件的信息。


更新:HTTP协议不知道远程资源是否是目录,这是不完全正确的。有一个特殊的mimetype定义,服务器可以与Content-Type标头一起发送,可以由客户端检查:

Content-Type: httpd/unix-directory

但它很少在野外使用。出于安全原因,大多数Web服务器都会禁用目录列表。