在服务端进行目录建立、删除,文件上传、删除的过程的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下实现农历日历的代码
Mar 07 PHP
php的ajax框架xajax入门与试用介绍
Dec 19 PHP
使用PHP实现二分查找算法代码分享
Jun 24 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
Jun 03 PHP
解析PHP计算页面执行时间的实现代码
Jun 18 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
Jun 26 PHP
php实现session自定义会话处理器的方法
Jan 27 PHP
PHP设置进度条的方法
Jul 08 PHP
PHP简单日历实现方法
Jul 20 PHP
php批量转换文件夹下所有文件编码的函数类
Aug 06 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
Oct 26 PHP
PHP生成指定范围内的N个不重复的随机数
Mar 18 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
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
php中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
PHP入门经历和学习过程分享
2014/04/11 PHP
php计算年龄精准到年月日
2015/11/17 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
js 对小数加法精度处理示例说明
2013/12/27 Javascript
FF IE浏览器修改标签透明度的方法
2014/01/27 Javascript
jQuery实现简单二级下拉菜单
2015/04/12 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
JavaScript函数节流的两种写法
2017/04/07 Javascript
详解使用PM2管理nodejs进程
2017/10/24 NodeJs
浅谈vue加载优化策略
2019/03/19 Javascript
vue使用代理解决请求跨域问题详解
2019/07/24 Javascript
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
JS Ajax请求会话过期处理问题解决方法分析
2019/11/16 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
2020/10/24 Javascript
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
python中文编码问题小结
2014/09/28 Python
Python实现简易版的Web服务器(推荐)
2018/01/29 Python
python实现k-means聚类算法
2018/02/23 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
python用for循环求和的方法总结
2019/07/08 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
编辑硕士自荐信范文
2013/11/27 职场文书
建筑设计学生的自我评价
2014/01/16 职场文书
班组安全员工作职责
2014/02/01 职场文书
2015年教师新年寄语
2014/12/08 职场文书
小学优秀学生评语
2014/12/29 职场文书
奖励申请报告范文
2015/05/15 职场文书
《丑小鸭》教学反思
2016/02/19 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书
详解JavaScript的计时器和按钮效果设置
2022/02/18 Javascript
win11无法添加打印机怎么办? 提示windows无法打开添加打印机的解决办法
2022/04/05 数码科技