在服务端进行目录建立、删除,文件上传、删除的过程的php代码

<?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>

时间: 2008-09-07

使用PHP函数scandir排除特定目录

scandir()函数返回一个数组,其中包含指定路径中的文件和目录.如下所示: 例子: 复制代码 代码如下: <?phpprint_r(scandir('test_directory'));?> 输出: 复制代码 代码如下: Array([0]=>.[1]=>..[2]=>1.txt[3]=>2.txt) 大部分情况只需要该目录的文件列表数组,如下: 复制代码 代码如下: Array([0]=>1.txt[1]=>2.txt) 一般是通过排除".&

PHP不用递归遍历目录下所有文件的代码

实现代码: /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ function scanfiles($dir) { if (! is_dir ( $dir )) return array (); // 兼容各操作系统 $dir = rtrim ( str_replace ( '\\', '/', $dir ), '/' ) . '/'; // 栈,默认值为传入的目录 $

php目录操作实例代码

复制代码 代码如下: <?php     /**    * listdir    */    header("content-type:text/html;charset=utf-8"); $dirname = "./final/factapplication"; function listdir($dirname) {        $ds = opendir($dirname);        while (false !== ($file = readd

php实现建立多层级目录的方法

本文以实例形式说明了php建立多层级目录的实现方法,代码简洁实用,功能强大,对于php程序员来说有一定的参考借鉴价值.实例详情如下: /** *根据路径path建立多级目录 *$dir目标目录 $mode权限,0700表示最高权限 */ function makedir( $dir , $mode = "0700" ) { if(strpos($dir , "/" )){ $dir_path = "" ; $dir_info = explode

php实例分享之通过递归实现删除目录下的所有文件详解

先贴代码: 复制代码 代码如下: <?phpfunction delFile($dirName){  if ($handle = opendir("$dirName")){  while (($item = readdir($handle))!=false){   if ($item!="." && $item!="..")  {    if ( is_dir( "$dirName/$item" ) )

php无限遍历目录示例

最近在能php目录操作,搞了一个目录无限遍历: 使用的函数有: isset()判断某个变量是否定义 chdir() 将当前目录改变为指定的目录. opendir() 打开目录. readdir()读取目录. getcwd().获取当前目录. 还用到了for  if  GET传值 大概就这些东东: 下面是代码: 复制代码 代码如下: <?phpif(isset($_GET['id'])){ $s=$_GET['id'];        chdir($s);    }echo '当前在'.getcw

php遍历目录输出目录及其下的所有文件示例

好多次笔试都会遇到这个问题,所以特意给写了出来 复制代码 代码如下: function my_scandir($dir){ $files=array(); if(is_dir($dir)){ if($handle=opendir($dir)){ while(($file=readdir($handle))!==false){ if($file!='.' && $file!=".."){ if(is_dir($dir."/".$file)){ $fil

PHP遍历目录并返回统计目录大小

复制代码 代码如下: <?php $dirname = "test1"; //mkdir($dirname); //遍历一层目录 function listdir($dirname) { $ds = opendir($dirname); while($file = readdir($ds)) { $path = $dirname.'/'.$file; if(is_dir($file)) { echo "DIR:".$file."<br>&

PHP统计目录中文件以及目录中目录大小的方法

本文实例讲述了PHP统计目录中文件以及目录中目录大小的方法.分享给大家供大家参考,具体如下: <?php //循环遍历目录中所有的文件,并统计目录和文件的大小 $dirName="phpMyAdmin"; $dir=opendir($dirName); //返回一个资源类型 while($fileName=readdir($dir)){ $file=$dirName."/".$fileName; if($fileName!="." &

PHP统计目录大小的自定义函数分享

计算文件.磁盘分区和目录的大小在各种应用程序中都是常见的任务.计算文件的大小可以通过前面介绍过的filesize()函数完成,统计磁盘大小也可以使用disk_free_space()和disk_total_space()两个函数实现.但PHP目前并没有提供目录总大小的标准函数,因此我们要自定义一个函数来完成这个任务.首先要考虑计算的目录中有没有包含其他子目录的情况,如果没有子目录,目录下所有文件的大小相加后的总和就是这个目录的大小.如果包含子目录,就按照这个方法再计算一下子目录的大小,使用递归函

php实现统计目录文件大小的函数

早上刚到公司,头告诉我,抓紧写一个小函数,用来统计指定目录中文件大小,我了个去,动手吧,还好有点小基础,一会就完工了,哈哈.代码在下面咯. <? /** 统计目录文件大小的函数 @author xfcode */ function dirsize($dir) { @$dh = opendir($dir); $size = 0; while ($file = @readdir($dh)) { if ($file != "." and $file != "..")

linux下使用 du查看某个文件或目录占用磁盘空间的大小方法

du -ah --max-depth=1 这个是我想要的结果 a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度. du命令用来查看目录或文件所占用磁盘空间的大小.常用选项组合为:du -sh 一.du的功能:`du` reports the amount of disk space used by the specified files and for each subdirectory (of directory arguments)

PHP统计目录下的文件总数及代码行数(去除注释及空行)

<?php /** * @author xiaoxiao <x_824@sina.com> 2011-1-12 * @link http://xiaoyaoxia.cnblogs.com/ * @license * 统计目录下的文件行数及总文件数··去除注释 */ $obj = new CaculateFiles(); //如果设置为false,这不会显示每个文件的信息,否则显示 $obj->setShowFlag(false); //会跳过所有All开头的文件 $obj->

js实现目录链接,内容跟着目录滚动显示的简单实例

如下所示: <script> require(["jquery", "bootstrap"], function($) { $(function() { $('.left').height(($('body').height() > $(window).height()) ? $('body').height() : $(window).height()); }); var goTo = $(".con"); var guide

vmware 实现linux目录映射window本地目录图文详解

---恢复内容开始--- 背景: 1,使用lnmp环境 2,代码可以在windows上面写,直接映射到linux的lnmp环境下面 第一步: vmware 新建一个linux虚拟机 一路下一步到完成 第二步: 安装镜像(自己去下载一个linux的镜像) 然后确认 ,然后重新客户机 然后一路next(语言可以选中文) 直到这一步 给linux设置密码 然后一路next,确认所有修改 第三步: 进入linux系统配置网络 修改下图路径中的文档(onboot改成yes) 修改完保存 重启网络 第四步:

PHP删除指定目录中的所有目录及文件的方法

本文实例讲述了PHP删除指定目录中的所有目录及文件的方法.分享给大家供大家参考.具体实现方法如下: <?php /* * * 删除指定目录中的所有目录及文件(或者指定文件) * 可扩展增加一些选项(如是否删除原目录等) * 删除文件敏感操作谨慎使用 * @param $dir 目录路径 * @param array $file_type指定文件类型 */ function delFile($dir,$file_type='') { if(is_dir($dir)){ $files = scand

linux 程序安装目录/opt目录和/usr/local目录的区别

在linux安装软件的时候,我总会有这样的想法,软件到底安装到那个目录下.因为linux系统有别与Windows系统,不是在那个盘创建一个文件夹把你需要安装的程序安装到指定目录即可.linux目录类似一个树,最顶层是其根目录,每个目录有自己不同的作用. Linux 的软件安装目录是也是有讲究的,正确的选择安装目录对系统管理是有益的,这里讲解一下程序安装目录/opt目录和/usr/local目录的区别. 一.opt目录 /opt目录用来安装附加软件包,是用户级的程序目录,可以理解为D:/Softw