在服务端进行目录建立、删除,文件上传、删除的过程的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制作静态网站的模板框架
Oct 09 PHP
用缓存实现静态页面的测试
Dec 06 PHP
安装APACHE
Jan 15 PHP
PHP 编写的 25个游戏脚本
May 11 PHP
使用php get_headers 判断URL是否有效的解决办法
Apr 27 PHP
php类声明和php类使用方法示例分享
Mar 29 PHP
php查看网页源代码的方法
Mar 13 PHP
php把数组值转换成键的方法
Jul 13 PHP
php开发工具有哪五款
Nov 09 PHP
php 查找数组元素提高效率的方法详解
May 05 PHP
PHP 文件锁与进程锁的使用示例
Aug 07 PHP
PHP实现的二分查找算法实例分析
Dec 19 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
PHPShop存在多个安全漏洞
2006/10/09 PHP
PHP设计模式之迭代器模式的深入解析
2013/06/13 PHP
那些年我们错过的魔术方法(Magic Methods)
2014/01/14 PHP
PHP CURL与java http使用方法详解
2018/01/26 PHP
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
Jquery EasyUI中弹出确认对话框以及加载效果示例代码
2014/02/13 Javascript
使用CSS3的scale实现网页整体缩放
2014/03/18 Javascript
js实现获取焦点后光标在字符串后
2014/09/17 Javascript
JQuery实现展开关闭层的方法
2015/02/17 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
Angular2 (RC5) 路由与导航详解
2016/09/21 Javascript
JS实现重新加载当前页面或者父页面的几种方法
2016/11/30 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
2017/02/22 Javascript
详解用Node.js实现Restful风格webservice
2017/09/29 Javascript
vue组件name的作用小结
2018/05/23 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
2019/07/19 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
基于react项目打包css引用路径错误解决方案
2020/10/28 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
Python OpenCV处理图像之滤镜和图像运算
2018/07/10 Python
Python占用的内存优化教程
2019/07/28 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
Python序列化与反序列化pickle用法实例
2019/11/11 Python
Python插件机制实现详解
2020/05/04 Python
SCHIESSER荷兰官方网站:德国内衣专家
2020/10/09 全球购物
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
出国留学介绍信
2014/01/13 职场文书
空乘英文求职信
2014/04/13 职场文书
广播体操口号
2014/06/18 职场文书
小学生优秀评语
2014/12/29 职场文书
2015初中团委工作总结
2015/07/28 职场文书
学校教学管理制度
2015/08/06 职场文书