在服务端进行目录建立、删除,文件上传、删除的过程的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 相关文章推荐
dedecms防止FCK乱格式化你的代码的修改方法
Mar 17 PHP
php flush类输出缓冲剖析
Oct 19 PHP
PHP 截取字符串函数整理(支持gb2312和utf-8)
Feb 16 PHP
PHP三层结构(上) 简单三层结构
Jul 04 PHP
PHP提取字符串中的图片地址[正则表达式]
Nov 12 PHP
PHP的简易冒泡法代码分享
Aug 28 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
Jun 20 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
May 27 PHP
ThinkPHP框架里隐藏index.php
Apr 12 PHP
PHP的全局错误处理详解
Apr 25 PHP
php函数mkdir实现递归创建层级目录
Oct 27 PHP
PHP面向对象多态性实现方法简单示例
Sep 27 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集成FCK的函数代码
2008/09/27 PHP
初学PHP的朋友 经常问的一些问题。不断更新
2011/08/11 PHP
PHP 关于访问控制的和运算符优先级介绍
2013/07/08 PHP
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
2014/07/02 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
js 函数的执行环境和作用域链的深入解析
2009/11/01 Javascript
两个JavaScript jsFiddle JSBin在线调试器
2010/03/14 Javascript
js 设置缓存及获取设置的缓存
2014/05/08 Javascript
Javascript字符串对象的常用方法简明版
2014/06/26 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
Vue实现virtual-dom的原理简析
2017/07/10 Javascript
微信小程序删除处理详解
2017/08/16 Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
2018/01/30 Javascript
使用watch监听路由变化和watch监听对象的实例
2018/02/24 Javascript
angular实现页面打印局部功能的思考与方法
2018/04/13 Javascript
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
使用javascript做时间倒数读秒功能的实例
2019/01/23 Javascript
vue基于viewer实现的图片查看器功能
2019/04/12 Javascript
刷新页面后让控制台的js代码继续执行
2019/09/20 Javascript
js实现旋转的星空效果
2019/11/01 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python实现简单http服务器功能
2018/09/17 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
python命名空间(namespace)简单介绍
2019/08/10 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
Python+OpenCV检测灯光亮点的实现方法
2020/11/02 Python
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
婚礼女方父母答谢词
2015/01/04 职场文书
质检员工作总结2015
2015/04/25 职场文书
银行工作心得体会范文
2016/01/23 职场文书
MongoDB使用profile分析慢查询的步骤
2021/04/30 MongoDB
详解解Django 多对多表关系的三种创建方式
2021/08/23 Python
vue实现Toast组件轻提示
2022/04/10 Vue.js
Valheim服务器 Mod修改安装教程 【ValheimPlus】
2022/12/24 Servers