在服务端进行目录建立、删除,文件上传、删除的过程的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 相关文章推荐
第七节--类的静态成员
Nov 16 PHP
在mysql数据库原有字段后增加新内容
Nov 26 PHP
php select,radio和checkbox默认选择的实现方法
May 15 PHP
深入php socket的讲解与实例分析
Jun 13 PHP
php数组使用规则分析
Feb 27 PHP
php实现Mysql简易操作类
Oct 11 PHP
简介PHP的Yii框架中缓存的一些高级用法
Mar 29 PHP
PHP的中使用非缓冲模式查询数据库的方法
Feb 05 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
May 29 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
Apr 04 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 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
PHP4实际应用经验篇(9)
2006/10/09 PHP
php网页病毒清除类
2014/12/08 PHP
CI框架集成Smarty的方法分析
2016/05/17 PHP
utf8的编码算法 转载
2006/12/27 Javascript
读jQuery之八 包装事件对象
2011/06/21 Javascript
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
js去除空格的12种实用方法
2013/11/08 Javascript
node.js中的emitter.emit方法使用说明
2014/12/10 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
详解javascript实现瀑布流列式布局
2016/01/29 Javascript
JavaScript Array对象详解
2016/03/01 Javascript
将List对象列表转换成JSON格式的类实现方法
2016/07/04 Javascript
Bootstrap中datetimepicker使用小结
2016/12/28 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
js实现常见的工具条效果
2017/03/02 Javascript
详解AngularJS controller调用factory
2017/05/19 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
2017/06/01 Javascript
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
2017/10/25 Javascript
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
优化Vue中date format的性能详解
2020/01/13 Javascript
Python下singleton模式的实现方法
2014/07/16 Python
Python 自动补全(vim)
2014/11/30 Python
python中关于for循环的碎碎念
2017/06/30 Python
Python Selenium Cookie 绕过验证码实现登录示例代码
2018/04/10 Python
python orm 框架中sqlalchemy用法实例详解
2020/02/02 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
2020/07/03 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
2020/09/03 Python
python如何设置静态变量
2020/09/07 Python
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
法律专业应届本科毕业生求职信
2013/10/25 职场文书
项目副经理岗位职责
2013/12/30 职场文书
学校采购员岗位职责
2014/01/02 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
2015年复活节活动总结
2015/02/27 职场文书
2015年语言文字工作总结
2015/07/23 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书