【问题标题】:Best way to know how to determine if it is a folder or a file知道如何确定它是文件夹还是文件的最佳方法
【发布时间】:2013-01-05 04:08:48
【问题描述】:

我正在寻找如何确定它是文件还是文件夹类型的最佳方法。 我在这里的主要动机是计算文件夹,但我有一种情况,我的文件夹可以命名为 test.ok 并且代码也应该计算这个,只要它是我的计数器应该增加的文件夹。

对此有什么想法吗?

【问题讨论】:

  • 请在“是文件还是文件夹类型”中定义“它”的含义。你的输入是什么?完整的路径?一个 SplFileInfo 对象?只是一个文件名?
  • 完整路径前:is_dir('localhost/assets/vol/kon/1010.processed/');它怎么会返回一个错误的值?
  • 这不是你文件系统上的路径,除了如果你有一个像/var/www/localhost/assets/vol/kon/10.10.processed这样的目录(或者像c:\htdocs\localhost\assets\vol\kon\10.10.processed这样的Windows)
  • @fab 我已经尝试过使用 is_dir('C:/wamp/www/assets/vol/ftp2/kontor/2012111315354250618724249.processed') 但它仍然给了我一个错误的值。
  • is_readable()file_exists()给你什么?

标签: php codeigniter directory


【解决方案1】:

is_dir 似乎是您要查找的 PHP 命令:判断给定文件名是否为目录。

【讨论】:

  • 嗨,我已经使用了这两种方法,但它总是返回错误。前任。 is_dir('localhost/assets/vol/kon/1010.processed/');这是假的,应该是真的,因为我给的路径是目录。
  • @drixsonosena "localhost/..." 不是路径,而是 URI。您需要使用相对于您的根 index.php 文件的实际操作系统路径。
  • 检查线程over here,其中包含一些与用户/组和权限问题相关的线索,这些问题可能会搞砸。
【解决方案2】:

我会说用它来检查目录/文件

if(is_file($file))#File
if(is_dir($file))#directory/folder

编辑根据您的评论,您可能想尝试echo filetype($file)

【讨论】:

  • 嗨,我已经使用了这两种方法,但它总是返回错误。前任。 is_dir('localhost/assets/vol/kon/1010.processed/');这是假的,应该是真的,因为我给的路径是目录。
  • @drixsonosena 你在输入什么$file
  • @drixsonosena 我会首先使用file_exists检查文件是否存在。
  • @drixsonosena 你的 php 脚本在哪里,因为你可能需要使用类似 '../dir_structure' 的东西
  • @jim ,权限没有问题。
猜你喜欢
  • 1970-01-01
  • 2012-05-28
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
  • 2019-02-22
  • 1970-01-01
  • 1970-01-01
  • 2012-08-04
相关资源
最近更新 更多