为了账号安全,请及时绑定邮箱和手机立即绑定

如下,请问该怎么实现编辑文件和文件夹,删除已经实现了

如下,请问该怎么实现编辑文件和文件夹,删除已经实现了

PHP
尚方宝剑之说 2023-01-07 18:14:48
<?phpif (!empty($_GET['del'])){unlink($_GET['del']);}if (!empty($_GET['edt'])){$fn=$_GET['edt'];$con=file_get_contents($fn);}$dir=scandir(".\\");//循环遍历目录foreach ($dir as $v){//如果是目录则遍历if (is_dir($v)){echo "a href=>".$v."</a><br/>";  }//不是的话直接输出来else {//echo $v."--<a href=''>编辑</a> | <a href='dir.php'>删除</a><br/>";//echo $v."--<a href='?edt={$v}'>编辑</a>|<a href='?del={$v}'>删除</a><br/>";}}就差编辑了,弄一个的编辑就行,还有返回上一层这是最新的自己写的代码:照着我写的代码继续编一下,谢谢您了<?phpif (!empty($_GET['del'])){unlink($_GET['del']);}if (!empty($_GET['edt'])){$fn=$_GET['edt'];$con=file_get_contents($fn);echo "<form action='GaiWenJian.php' method='post'>";echo "<input type='hidden' name='fname' value=\"$edit\">";echo "<textarea cols=60 rows=8 name='fcontent'>$content</textarea>";echo "<input type='submit' name='sub' value='修改'>";echo "</form>";}$dir=scandir(".\\");//循环遍历目录foreach ($dir as $v){//如果是目录则遍历if (is_dir($v)){echo "a href=>".$v."</a><br/>";  }//不是的话直接输出来else {echo $v."--<a href='?edt={$v}'>编辑</a>|<a href='?del={$v}'>删除</a><br/>";}}?>
查看完整描述

1 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

可参考PhpCms V9:\phpcms\libs\functions\dir.func.php函数
函数代码如下:
<?php 
/**
* 转化 \ 为 /

* @param string $path 路径
* @return string 路径
*/
function dir_path($path) {
$path = str_replace('\\', '/', $path);
if(substr($path, -1) != '/') $path = $path.'/';
return $path;
}
/**
* 创建目录

* @param string $path 路径
* @param string $mode 属性
* @return string 如果已经存在则返回true,否则为flase
*/
function dir_create($path, $mode = 0777) {
if(is_dir($path)) return TRUE;
$ftp_enable = 0;
$path = dir_path($path);
$temp = explode('/', $path);
$cur_dir = '';
$max = count($temp) - 1;
for($i=0; $i<$max; $i++) {
$cur_dir .= $temp[$i].'/';
if (@is_dir($cur_dir)) continue;
@mkdir($cur_dir, 0777,true);
@chmod($cur_dir, 0777);
}
return is_dir($path);
}
/**
* 拷贝目录及下面所有文件

* @param string $fromdir 原路径
* @param string $todir 目标路径
* @return string 如果目标路径不存在则返回false,否则为true
*/
function dir_copy($fromdir, $todir) {
$fromdir = dir_path($fromdir);
$todir = dir_path($todir);
if (!is_dir($fromdir)) return FALSE;
if (!is_dir($todir)) dir_create($todir);
$list = glob($fromdir.'*');
if (!empty($list)) {
foreach($list as $v) {
$path = $todir.basename($v);
if(is_dir($v)) {
dir_copy($v, $path);
} else {
copy($v, $path);
@chmod($path, 0777);
}
}
}
return TRUE;
}
/**
* 转换目录下面的所有文件编码格式

* @param string $in_charset 原字符集
* @param string $out_charset 目标字符集
* @param string $dir 目录地址
* @param string $fileexts 转换的文件格式
* @return string 如果原字符集和目标字符集相同则返回false,否则为true
*/
function dir_iconv($in_charset, $out_charset, $dir, $fileexts = 'php|html|htm|shtml|shtm|js|txt|xml') {
if($in_charset == $out_charset) return false;
$list = dir_list($dir);
foreach($list as $v) {
if (pathinfo($v, PATHINFO_EXTENSION) == $fileexts && is_file($v)){
file_put_contents($v, iconv($in_charset, $out_charset, file_get_contents($v)));
}
}
return true;
}
/**
* 列出目录下所有文件

* @param string $path 路径
* @param string $exts 扩展名
* @param array $list 增加的文件列表
* @return array 所有满足条件的文件
*/
function dir_list($path, $exts = '', $list= array()) {
$path = dir_path($path);
$files = glob($path.'*');
foreach($files as $v) {
if (!$exts || pathinfo($v, PATHINFO_EXTENSION) == $exts) {
$list[] = $v;
if (is_dir($v)) {
$list = dir_list($v, $exts, $list);
}
}
}
return $list;
}
/**
* 设置目录下面的所有文件的访问和修改时间

* @param string $path 路径
* @param int $mtime 修改时间
* @param int $atime 访问时间
* @return array 不是目录时返回false,否则返回 true
*/
function dir_touch($path, $mtime = TIME, $atime = TIME) {
if (!is_dir($path)) return false;
$path = dir_path($path);
if (!is_dir($path)) touch($path, $mtime, $atime);
$files = glob($path.'*');
foreach($files as $v) {
is_dir($v) ? dir_touch($v, $mtime, $atime) : touch($v, $mtime, $atime);
}
return true;
}
/**
* 目录列表

* @param string $dir 路径
* @param int $parentid 父id
* @param array $dirs 传入的目录
* @return array 返回目录列表
*/
function dir_tree($dir, $parentid = 0, $dirs = array()) {
global $id;
if ($parentid == 0) $id = 0;
$list = glob($dir.'*');
foreach($list as $v) {
if (is_dir($v)) {
$id++;
$dirs[$id] = array('id'=>$id,'parentid'=>$parentid, 'name'=>basename($v), 'dir'=>$v.'/');
$dirs = dir_tree($v.'/', $id, $dirs);
}
}
return $dirs;
}
/**
* 删除目录及目录下面的所有文件

* @param string $dir 路径
* @return bool 如果成功则返回 TRUE,失败则返回 FALSE
*/
function dir_delete($dir) {
$dir = dir_path($dir);
if (!is_dir($dir)) return FALSE;
$list = glob($dir.'*');
foreach($list as $v) {
is_dir($v) ? dir_delete($v) : @unlink($v);
}
return @rmdir($dir);
}
?>

 


查看完整回答
反对 回复 2023-01-10
  • 1 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信