赞
踩
完结!
【关于老师课程中目录读取的函数封装】
我写了两个版本的目录读取
第一种是老师的写法
第二种是我在网上搜索问题时无意发现的方法<?php
//第一种
//使用opendir()、readdir()、closedir()遍历给定目录下的所有文件
function readDirectory($path){
if (!is_dir($path)){
return '不是一个目录';
}
$handle = opendir($path);
$arr = [];
while (($file = readdir($handle)) !== false){
if ($file != '.' && $file != '..'){
if (is_file($path . '/' . $file)){
$arr['file'][] = $file;
}
if (is_dir($path . '/' . $file)){
$arr['dir'][] = $file;
}
}
}
closedir($handle);
return $arr;
}
//第二种
//使用scandir直接扫描指定目录下的所有文件
function scanDirectory($path){
$arr = @scandir($path,SCANDIR_SORT_NONE);
$arr2 = [];
if (!$arr){
return '不是一个目录';
}
foreach ($arr as $item){
if ($item != '.' && $item != '..'){
$file_path = $path . '/' . $item;
if (is_dir($file_path)){
$arr2['dir'][] = $item;
}
if (is_file($file_path)){
$arr2['file'][] = $item;
}
}
}
return $arr2;
}
//以上两种方法完全一致,只是scandir方法的第二个参数可以按照字母的升降序排列
//上传文件
function uploadFile($filename,$path){
if (!$filename['error']){
if (is_uploaded_file($filename['tmp_name'])){
if (move_uploaded_file($filename['tmp_name'],$path . '/' . $filename['name'])){
return '上传成功';
}else{
die();
return '上传失败';
}
}else{
return '不是通过HTTP POST上传的,请重试!';
}
}else{
return '上传出错,错误号:' . $filename['error'];
}
}
我觉得还是scandir方法好用,简单,方便,快捷;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。