Php 从目录中读取文件名
我正在尝试使用此代码读取和显示目录中的所有文件。 它适用于与脚本位于同一目录中的文件。但当我试图在文件夹(files/)中显示文件时,它会给我带来问题 我尝试过将directoy变量设置为许多不同的内容。比如…Php 从目录中读取文件名,php,Php,我正在尝试使用此代码读取和显示目录中的所有文件。 它适用于与脚本位于同一目录中的文件。但当我试图在文件夹(files/)中显示文件时,它会给我带来问题 我尝试过将directoy变量设置为许多不同的内容。比如… 文件/ 文件 /文件/ 等似乎什么都不管用。有人知道为什么吗 <?php $dhandleFiles = opendir('files/'); $files = array(); if ($dhandleFiles) { while (false !== ($fname
文件/
文件
/文件/
等似乎什么都不管用。有人知道为什么吗
<?php
$dhandleFiles = opendir('files/');
$files = array();
if ($dhandleFiles) {
while (false !== ($fname = readdir($dhandleFiles))) {
if (is_file($fname) && ($fname != 'list.php') && ($fname != 'error.php') && ($fname != 'index.php')) {
$files[] = (is_dir("./$fname")) ? "{$fname}" : $fname;
}
}
closedir($dhandleFiles);
}
echo "Files";
echo "<ul>";
foreach ($files as $fname) {
echo "<li><a href='{$fname}'>{$fname}</a></li>";
}
echo "</ul>";
?>
阵列中没有包含完整路径:
while($fname = readdir($dhandleFiles)) {
$files[] = 'files/' . $fname;
^^^^^^^^---must include actual path
}
请记住,readdir()只返回文件名,不返回路径信息。您的数组中没有包含完整路径:
while($fname = readdir($dhandleFiles)) {
$files[] = 'files/' . $fname;
^^^^^^^^---must include actual path
}
请记住,readdir()只返回文件名,不返回路径信息。使用glob函数如何
<?php
define('MYBASEPATH' , 'files/');
foreach (glob(MYBASEPATH . '*.php') as $fname) {
if($fname != 'list.php' && $fname != 'error.php' && $fname != 'index.php') {
$files[] = $fname;
}
}
?>
使用glob函数怎么样
<?php
define('MYBASEPATH' , 'files/');
foreach (glob(MYBASEPATH . '*.php') as $fname) {
if($fname != 'list.php' && $fname != 'error.php' && $fname != 'index.php') {
$files[] = $fname;
}
}
?>
这应该会有帮助-也看看
这应该会有帮助-也来看看
此操作读取并打印子目录中的文件名:
$d = dir("myfiles");
while (false !== ($entry = $d->read())) {
if ($entry != ".") {
if ($entry != "..") {
print"$entry";
}
}
}
$d->close();
这将从子目录读取并打印文件名:
$d = dir("myfiles");
while (false !== ($entry = $d->read())) {
if ($entry != ".") {
if ($entry != "..") {
print"$entry";
}
}
}
$d->close();
与此脚本相关的目录结构是什么?“文件”目录是否与此脚本位于同一文件夹中?正确,文件目录与脚本处于同一级别。与此脚本相关的目录结构是什么?“文件”目录是否与此脚本位于同一文件夹中?正确,文件目录与脚本处于同一级别。