在服务端进行目录建立、删除,文件上传、删除的过程的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
PHP中Date获取时间不正确怎么办
Jun 05 PHP
PHP 开源框架22个简单简介
Aug 24 PHP
php getimagesize 上传图片的长度和宽度检测代码
May 15 PHP
php入门之连接mysql数据库的一个类
Apr 21 PHP
php将session放入memcached的设置方法
Feb 14 PHP
php读取目录所有文件信息dir示例
Mar 18 PHP
php通过strpos查找字符串出现位置的方法
Mar 17 PHP
php类自动加载器实现方法
Jul 28 PHP
PHP addslashes()函数讲解
Feb 03 PHP
解决Laravel5.2 Auth认证退出失效的问题
Oct 14 PHP
PHP常用函数之获取汉字首字母功能示例
Oct 21 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
实现分十页分向前十页向后十页的处理
2006/10/09 PHP
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
2010/12/29 PHP
利用php绘制饼状图的实现代码
2013/06/07 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
2014/07/25 PHP
php微信公众平台配置接口开发程序
2016/09/22 PHP
PHP addcslashes()函数讲解
2019/02/03 PHP
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
2013/04/28 Javascript
JavaScript中为什么null==0为false而null大于=0为true(个人研究)
2013/09/16 Javascript
JQuery 在线引用及测试引用是否成功
2014/06/24 Javascript
jquery的幻灯片图片切换效果代码分享
2015/09/07 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
Bootstrap基本模板的使用和理解1
2016/12/14 Javascript
jQuery给表格添加分页效果
2017/03/02 Javascript
利用Angular.js编写公共提示模块的方法教程
2017/05/28 Javascript
Vue.js实现图片的随意拖动方法
2018/03/08 Javascript
vue项目刷新当前页面的三种方法
2018/12/04 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
JavaScript 链表定义与使用方法示例
2020/04/28 Javascript
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
Python多进程分块读取超大文件的方法
2016/04/13 Python
Python松散正则表达式用法分析
2016/04/29 Python
Python3简单实例计算同花的概率代码
2017/12/06 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
Django框架的中的setting.py文件说明详解
2018/10/15 Python
pytorch之添加BN的实现
2020/01/06 Python
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
计算机专业职业生涯规划范文
2014/01/19 职场文书
电子商务专业应届生求职信
2014/05/28 职场文书
班子四风对照检查材料思想汇报
2014/09/29 职场文书
党支部综合考察意见
2015/06/01 职场文书
聘任协议书(挂靠)
2015/09/21 职场文书
python unittest单元测试的步骤分析
2021/08/02 Python
SQL基础的查询语句
2021/11/11 MySQL