1. php如何遍历指定文件夹,获取所有文件列表并生成下载链接
试编写代码如下:
<?php
$dir="D:/WWW/ftp";//指定的路径
$sitepath='http://localhost/ftp/';
//遍历文件夹下所有文件
if(false!=($handle=opendir($dir))){
echo"$dir目录下的文件列表:<BR/>";
$i=0;
while(false!==($file=readdir($handle))){
if($file!="."&&$file!=".."&&!is_dir($dir.'/'.$file)){
echo'<ahref="'.$sitepath.$file.'">'.$file.'</a><br/>';
}
}
//关闭句柄
closedir($handle);
}
?>
代码中需要提示的是:
如果是运行于互联网上,需要考虑文件的访问安全性。
运行截图:
2. php 获取当前目录所有文件夹名 及下级目录文件夹名 求代码详解
把这个文件放到\wamp\www\ 这里,然后运行。
<?php
if (isset($_GET['dir'])){ //设置文件目录
$basedir=$_GET['dir'];
}else{
$basedir = '.';
}
checkdir($basedir);
function checkdir($basedir)
{
if ($dh = opendir($basedir)) {
while (($file = readdir($dh)) !== false) {
if ($file != '.' && $file != '..'){
if (!is_dir($basedir."/".$file)) {
echo "filename: $basedir/$file <br>";
}else{
$dirname = $basedir."/".$file;
checkdir($dirname);
}
}
}
closedir($dh);
}
}
?>
[以下于为题无关]
吗蛋,代码前的空格都没了,这不是我去掉的哦,是百X把空格全去了,有强迫症表示不能接受啊...........
3. php如何读取某目录下的所有同类型文件
PHP的glob() 函数返回匹配指定模式的文件名或目录。
该函数返回一个包含有匹配文件 / 目录的数组。如果出错返回 false。
语法
glob(pattern,flags)
参数
描述
file
必需。规定检索模式。
size
可选。规定特殊的设定。
GLOB_MARK - 在每个返回的项目中加一个斜线
GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)
GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式
GLOB_NOESCAPE - 反斜线不转义元字符
GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c'
GLOB_ONLYDIR - 仅返回与模式匹配的目录项
GLOB_ERR - 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误
注释:GLOB_ERR 是 PHP 5.1 添加的。
例子 1
<?php
$a=glob("*.txt");
print_r(count($a));
?>
4. php最经典,最基础的代码,适合入门的
PHP是一种可以嵌入到HTML中的运行在服务器端的脚本语言,所以为了体现PHP的特性我们可以分两种模式来实现PHP代码
1、 PHP嵌入到HTML中,例如index.php
<html>
<head></head>
<body>
<!--因为PHP嵌入到HTML中,所以需要完全区分PHP代码和HTML代码-->
<?php
//输出helloworld
echo'helloworld;
?>
</body>
</html>
2、 PHP独立文件,只有PHP代码,例如index.php
<?php
//输出
echo'helloworld';
//不需要闭合标签
5. PHP 列出当前目录下所有文件(自身别列出来)
1、列出当前目录的文件、文件夹完整路径
ls
-1
|awk
'{print
i$0}'
i=`pwd`'/'
(注意:这里
ls
后面那是个数字
1
而不是字母
l)
2、列出当前目录及子目录的文件、文件夹完整路径
ls
-r
|awk
'{print
i$0}'
i=`pwd`'/'
2b)
列出当前目录及子目录下的文件夹完整路径
ls
-fr
|
grep
/$
|
sed
"s:^:`pwd`/:"
3、用find实现,好像运行要慢些
find
/
-name
"*.*"
-exec
ls
{}
\;
4、递归列出当前目录及子目录名称
ls
-fr
|
grep
/$
5、递归列出当前目录及子目录名称,包括相关属性
ls
-lr
|
grep
"^d"
#
drwxr-xr-x
3
idea
idea
4096
aug
2
2009
images
6、只列出当前目录下的子目录
用ls只列出子目录
ls
-d
*/