PHP 5.3.1 全局 ://exception

标签 php glob

我在使用 PHP 5.3.0 中包含的 glob://流包装器时遇到问题版本。我正在使用以下 PHP 版本:

PHP 5.3.1-0.dotdeb.1 with Suhosin-Patch (cli) (built: Dec 5 2009 20:08:29) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies

当我尝试执行以下命令时example来自 PHP.net 网站:

<?php
// Loop over all *.php files in ext/spl/examples/ directory
// and print the filename and its size
$it = new DirectoryIterator("glob://*.php");
foreach($it as $f) {
    printf("%s: %.1FK\n", $f->getFilename(), $f->getSize()/1024);
}
?>

Note that I remove the folder from the original example and left only the php extension

我收到 PHP 错误,并显示以下消息:

SplFileInfo::getSize(): stat failed for [first php file name].php

在 Google 搜索此错误时,我发现有人有 same problem一年前,但看起来他们已经修复了它。

所以...我的问题是:有人在使用 glob://包装器吗?难道我做错了什么?大家有同样的问题吗?

注意:我已经知道我可以用其他不同的方式做同样的事情,但我想测试 glob://流包装器:)

最佳答案

错误信息非常清楚。它在根目录中寻找“/00.php”(注意斜杠)。我想你在这里需要 getPathName ( http://www.php.net/manual/en/directoryiterator.getpathname.php ) 而不是 getFileName

关于PHP 5.3.1 全局 ://exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2280322/

相关文章:

python - 添加新列年份并提取给定文件名(pandas、glob、os)

python - glob.iglob 结果按名称排序?

php - 使用php使用glob和数组将文件夹中的xml文件上传到Mysql

git - 为什么 git grep 中的文件 glob **/*.cs 不显示所有 *.cs 命中?

Python列出子目录中的所有文件但排除某些目录

php - PHP中遍历数组是什么意思?

node.js - 为什么我的 npm 脚本中的 glob 不起作用?

php - 仅在服务器上出现完整性约束违规错误

php - 检测字符串是否包含任何数字

PHP:似乎无法使用 MySQL 查询日期