在服务端进行目录建立、删除,文件上传、删除的过程的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 相关文章推荐
php中一个完整表单处理实现代码
Nov 10 PHP
PHP设计模式之调解者模式的深入解析
Jun 13 PHP
php代码书写习惯优化小结
Jun 20 PHP
浅析php工厂模式
Nov 25 PHP
php使用google地图应用实例
Dec 31 PHP
php实现的验证码文件类实例
Jun 18 PHP
php去掉文件前几行的方法
Jul 29 PHP
Codeigniter控制器controller继承问题实例分析
Jan 19 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
Nov 25 PHP
PHP批量删除jQuery操作
Jul 23 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
php判断目录存在的简单方法
Sep 26 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+mysql 实现身份验证代码
2010/03/24 PHP
pdo中使用参数化查询sql
2011/08/11 PHP
php上传文件,创建递归目录的实例代码
2013/10/18 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
event.X和event.clientX的区别分析
2011/10/06 Javascript
JS+ACTIVEX实现网页选择本地目录路径对话框
2013/03/18 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
js替换字符串的所有示例代码
2013/07/23 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
jQuery使用addClass()方法给元素添加多个class样式
2015/03/26 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
2015/09/27 Javascript
jQuery实现放大镜效果实例代码
2016/03/17 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
Extjs 点击复选框在表格中增加相关信息行
2016/07/12 Javascript
Bootstrap popover用法详解
2016/12/22 Javascript
Vue中正确使用jQuery的方法
2017/10/30 jQuery
11行JS代码制作二维码生成功能
2018/03/09 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
2019/04/28 Javascript
ES6 Promise对象的应用实例分析
2019/06/27 Javascript
vue-router跳转时打开新页面的两种方法
2019/07/29 Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
2020/11/06 Javascript
Python自定义scrapy中间模块避免重复采集的方法
2015/04/07 Python
python将list转为matrix的方法
2018/12/12 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
python数字类型math库原理解析
2020/03/02 Python
Django choices下拉列表绑定实例
2020/03/13 Python
python logging通过json文件配置的步骤
2020/04/27 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
电焊工工作岗位职责
2014/02/06 职场文书
学校社会实践活动总结
2014/07/03 职场文书
铅球加油稿100字
2014/09/26 职场文书
2019大学毕业晚会主持词
2019/06/21 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书
python实现批量移动文件
2021/04/05 Python