在服务端进行目录建立、删除,文件上传、删除的过程的php代码


Posted in PHP onSeptember 10, 2008

<?php
extract($_POST);
extract($_GET);
?>
<html>
<head>
<title>查看服务器端目录和文件</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="<?php echo $_SERVER[PHP_SELF]; ?>">
<font color="#006633">输入目录名: </font>
<input type="text" name="InputDirRoot" value="<?=$InputDirRoot?>">
<input type="submit" name="Submit" value="查看该目录内容">
</form>
<form name="form1" method="post" action="<?php echo $_SERVER[PHP_SELF]; ?>">
<input type=hidden name="method" value="createdir">
<font color="#006633">输入目录名: </font>
<input type="text" name="InputDir" value="<?=$InputDirRoot?>">
<input type="submit" name="Submit" value="建立目录">
</form>
<form name="form1" method="post" action="<?php echo $_SERVER[PHP_SELF]; ?>" enctype="multipart/form-data">
<input type=hidden name="method" value="uploadfile">
<font color="#006633">上传目录名: </font>
<input type="text" name="InputDir" value="<?=$InputDirRoot?>">
<font color="#006633">请选择文件: </font>
<input type="file" name="UploadFile">
<input type="submit" name="Submit" value="上传文件">
</form>
<form name="form1" method="post" action="<?php echo $_SERVER[PHP_SELF]; ?>">
<input type=hidden name="method" value="drop">
<font color="#006633">请输入: </font>
<input type="text" name="Info" value="<?=$InputDirRoot?>">
<input type="submit" name="Submit" value="删除文件/目录">
</form>
<hr>
<?php
$n = 0;
if (isset($InputDirRoot))
{
$handle=opendir($InputDirRoot);
echo "目录列表:<font color=#FF0000>".$InputDirRoot."</font><br><hr>";
while ($file = readdir($handle))
{
$n ++;
if (is_dir($InputDirRoot."/".$file))
$file = "<a href=\"$_SERVER[PHP_SELF]?InputDirRoot=$InputDirRoot/$file\"><font color=#006600>[".$file."]</font></a>";
else
$file = "<a href=\"typefile.php?filename=$InputDirRoot/$file\" target=_blank><font color=#993300>".$file."</font></a>";
echo " ".$file."<br>";
}
closedir($handle);
}

if(isset($method) && isset($InputDir) && strcmp($method,"createdir")==0){//建立目录
if(is_dir($InputDir)){
chmod($InputDir,0777);
echo "目录已存在!权限修改完毕!";
}else{
if(@mkdir("$InputDir")){
echo "目录建立完毕...!";
}else{
echo "目录建立失败...!";
}
chmod($InputDir,0777);
}
}

if(isset($method) && isset($InputDir) && strcmp($method,"uploadfile")==0){//上传文件或删除文件
if(is_file($InputDir."/".$_FILES[UploadFile][name])){
chmod($InputDir."/".$_FILES[UploadFile][name],0777);
echo "文件存在!已经删除!--您可以重新上传文件";
unlink($InputDir."/".$_FILES[UploadFile][name]);
}else{
if(@copy($_FILES[UploadFile][tmp_name],$InputDir."/".$_FILES[UploadFile][name])){
echo "文件{$_FILES[UploadFile][name]}正确的拷贝到{$InputDir}内...!";
}else{
echo "文件拷贝失败...!";
}
chmod($InputDir."/".$_FILES[UploadFile][name],0777);
}
}

if(isset($Info) && strcmp($method,"drop")==0){//删除文件或目录
if(is_dir($Info)){
if(rmdir($Info)){
echo "目录{$Inof}删除完毕";
}else{
echo "目录无法删除!原因--可能是目录下还存在文件!";
}
}
if(is_file($Info)){
if(unlink($Info)){
echo "文件{$Info}删除完毕...!";
}else{
echo "文件{$Info}删除失败...!尝试修改文件权限删除...";
if(chmod($Info,0777)){
unlink($Info);
echo "文件{$Info}权限修改后删除完毕...";
}else{
echo "文件{$Info}无法通过WEB方式删除,可能是FTP权限对此文件有所设置...";
}
}
}
}

echo "<hr>";
echo "总共 $n 项.";
?>
</body>
</html>

PHP 相关文章推荐
Oracle 常见问题解答
Oct 09 PHP
PHP5 字符串处理函数大全
Mar 23 PHP
PHP学习之字符串比较和查找
Apr 17 PHP
php正则表达式(regar expression)
Sep 10 PHP
php session劫持和防范的方法
Nov 12 PHP
codeigniter集成ucenter1.6双向通信的解决办法
Jun 12 PHP
php给一组指定关键词添加span标签的方法
Mar 31 PHP
简单谈谈php浮点数精确运算
Mar 10 PHP
ThinkPHP使用Ueditor的方法详解
May 20 PHP
php+ajax无刷新上传图片的实现方法
Dec 06 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
Jun 12 PHP
如何在PHP中生成随机数
Jun 04 PHP
php面向对象的方法重载两种版本比较
Sep 08 #PHP
php+AJAX传送中文会导致乱码的问题的解决方法
Sep 08 #PHP
php chr() ord()中文截取乱码问题解决方法
Sep 08 #PHP
wiki-shan写的php在线加密的解密程序
Sep 07 #PHP
php单件模式结合命令链模式使用说明
Sep 07 #PHP
网友原创的PHP模板类代码
Sep 07 #PHP
php 特殊字符处理函数
Sep 05 #PHP
You might like
php使用百度ping服务代码实例
2014/06/19 PHP
PHP实现的观察者模式实例
2017/06/21 PHP
Convert Seconds To Hours
2007/06/16 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
收集的10个免费的jQuery相册
2011/02/26 Javascript
今天是星期几的4种JS代码写法
2013/09/17 Javascript
jquery获取css中的选择器(实例讲解)
2013/12/02 Javascript
node.js 使用ejs模板引擎时后缀换成.html
2015/04/22 Javascript
有关Promises异步问题详解
2015/11/13 Javascript
javascript使用 concat 方法对数组进行合并的方法
2016/09/08 Javascript
前端设计师们最常用的JS代码汇总
2016/09/25 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
详解微信第三方小程序代开发
2017/06/23 Javascript
JS随机数产生代码分享
2018/02/24 Javascript
基于Nodejs的Tcp封包和解包的理解
2018/09/19 NodeJs
动态内存分配导致影响Javascript性能的问题
2018/12/18 Javascript
你不可不知的Vue.js列表渲染详解
2019/10/01 Javascript
js滚轮事件 js自定义滚动条的实现
2020/01/18 Javascript
[47:03]Ti4第二日主赛事败者组 LGD vs iG 2
2014/07/21 DOTA
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
python实现读取命令行参数的方法
2015/05/22 Python
详解Django 时间与时区设置问题
2019/07/23 Python
关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)
2020/02/20 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
python time.strptime格式化实例详解
2021/02/03 Python
html5表单及新增的改良元素详解
2016/06/07 HTML / CSS
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
STAUD官方网站:洛杉矶独有的闲适风格
2019/04/11 全球购物
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
中学生操行评语
2014/04/24 职场文书
企业口号大全
2014/06/12 职场文书
党员弘扬焦裕禄精神思想汇报
2014/09/10 职场文书
Golang二维切片初始化的实现
2021/04/08 Golang
Ruby使用Mysql2连接操作MySQL
2022/04/19 Ruby