php没有';t扫描文件的相对路径
这是我当前的代码(对于我第一次尝试php,我感到非常自豪)php没有';t扫描文件的相对路径,php,file,glob,Php,File,Glob,这是我当前的代码(对于我第一次尝试php,我感到非常自豪) 问题是glob在根目录(这个脚本所在的目录)中仍然可以正常工作,但是当我将它指向一个特定的文件夹时,它返回0个找到的文件 我已经从我的ftp客户端抓取了一个屏幕,显示了目录结构(如下所示) 所以我不知道我在地球上做错了什么 是脚本所在的位置,如果单击它,将返回找到的0个文件 是*nix上的绝对路径,如果要指向与php脚本位于同一目录中的目录,则需要使用: "jobops/*.txt" 这是一个相对路径。可能类似于: $file
问题是glob在根目录(这个脚本所在的目录)中仍然可以正常工作,但是当我将它指向一个特定的文件夹时,它返回0个找到的文件
我已经从我的ftp客户端抓取了一个屏幕,显示了目录结构(如下所示)
所以我不知道我在地球上做错了什么
是脚本所在的位置,如果单击它,将返回找到的0个文件
是*
nix上的绝对路径,如果要指向与php脚本位于同一目录中的目录,则需要使用:
"jobops/*.txt"
这是一个相对路径。可能类似于:
$files = glob($_SERVER['DOCUMENT_ROOT']."/jobops/*.txt");
如果您是从web服务器运行此功能?可能是web服务器的用户和组设置不允许访问其他目录?这是权限问题吗?检查web服务器的错误日志并访问日志以获取线索。如前所述 “/joboops/*.txt” 是绝对路径,因为它以“/”(斜杠)开头 相对路径是那些不以斜线开头的路径,所以 “joboops/*.txt” “/joboops/*.txt” “./joboops/*.txt” 都是相对的。。。关键是:相对于什么? 在OSs上,它与环境变量PATH中枚举的目录相关 (通常,当前工作目录是该变量中列出的第一个目录,导致错误猜测“jobops/*.txt”指的是当前目录中的jabops目录!) 在PHP环境中,最好始终使用绝对路径,当然这并不意味着要硬编码它们 我建议采取以下措施:
dirname(__FILE__).'/jobops/*.txt'
这就是如何在PHP中正确地使用路径,或者你可以使用“/joboops/*.txt”除此之外,确保运行PHP的用户可以访问该文件夹,而我不知道实际的OP系统,在错误
glob
的情况下,大多数操作系统都会返回false
。我通常会做C#编程,所以我知道我想要的是什么,只是在这里和那里做一些小调整,以使其正常工作。再次感谢glob文档的帮助+1:*模式。没有进行波浪线展开或参数替换*
$files = glob($_SERVER['DOCUMENT_ROOT']."/jobops/*.txt");
dirname(__FILE__).'/jobops/*.txt'