glob() 路径 php 中的变量值替换?

glob() variable value substitution in path php?

提问人:sushi 提问时间:5/21/2017 最后编辑:sushi 更新时间:5/21/2017 访问量:244

问:

我正在尝试在 php 中使用 glob() 来返回包含“review”一词的 txt 文件的所有文件。这些文件位于导演 books/(name) 中,因此对哈利波特书的评论位于 books/harrypotter/ 中。

$bookPath = "books/harrypotter";          //could be any book title
$reviews = glob($bookPath . '/review*.txt');
print_r($reviews);

但这只是打印一个空白数组。

Array
(
)

如果我用实际文本替换我的变量 $bookPath,它就会起作用,如下所示:

$reviews = glob('books/harrypotter/review*.txt');
print_r($reviews);
//prints this

Array
    (
        [0] => books/harrypotter/review1.txt
        [1] => books/harrypotter/review2.txt
        [2] => books/harrypotter/review3.txt
    )

我的问题是,为什么它适用于文本,而不适用于替换文本的变量?我打印出来,看起来和$bookPath . 'review*txt'"books/harrypotter/review*txt"

PHP 文件 Web 目录 glob

评论

0赞 capcj 5/21/2017
奇怪的是,我测试了很多案例,包括你的案例,它奏效了。尝试在 glob 中使用双逗号: glob(“$bookPath/review*.txt”);你在这里展示的真的做对了吗?因为你的问题下方的打印件缺少一个点。
0赞 Pedro Lobito 5/21/2017
在脚本顶部添加,运行第一个示例,它返回什么?error_reporting(E_ALL); ini_set('display_errors', 1);php
0赞 Louis Loudog Trottier 5/21/2017
如果你把所有东西都放在变量中? 或将根文件夹添加到路径前面。您是否在 Windows 服务器上$bookPath = "books/harrypotter/review*.txt"; $reviews = glob($bookPath);('\' !== '/')

答: 暂无答案