站长论坛

标题: 下载文件与移动文件等的参考代码 [打印本页]

作者: tznktg    时间: 2007-9-27 21:45
标题: 下载文件与移动文件等的参考代码
switch($action){
        case 'mkdir':
                if($_GET[newdir]){
                        if( $newdir = getAvailFilename($_GET[newdir]) ){
                                $real_dir_name = "$currdir/$newdir";
                                if(!file_exists($real_dir_name)){
                                        $message = (@mkdir($real_dir_name,0777))
                                                         ? "建立新文件夹 `$newdir` 成功。"
                                                         : "建立新文件夹 `$newdir` 失败!";
                                }else{
                                        $message = "文件/文件夹 `$newdir` 已经存在!";
                                }
                        }else{
                                $message = "文件名不规范!`$newdir` 没有建立!";
                        }
                }
        break;
        case 'delete':
                if($_GET[file]){
                        $real_file_path = "$currdir/$_GET[file]";
                        if(is_dir($real_file_path)){
                                $message = (@rmdir($real_file_path))
                                        ? "删除文件夹成功。`$_GET[file]` 已经被删除。"
                                        : "删除文件夹失败!`$_GET[file]` 没有被删除。" ;
                        }elseif(is_file($real_file_path)){
                                $message = (@unlink($real_file_path))
                                        ? "删除文件成功。`$_GET[file]` 已经被删除。"
                                        : "删除文件失败!`$_GET[file]` 没有被删除。" ;
                        }else{
                                $message = "文件/文件夹 `$_GET[file]` 不存在!";
                        }
                }
        break;
                     //移动文件的参考代码
        case 'remove':
                if($_GET[file]&& $_GET[aimdir]){
                        $newdir = getAbsolutePath($_GET[aimdir]) ;
                        if( is_dir($newdir) && !strstr($_GET[aimdir], '..') ){
                                $oldfile_name = "$currdir/$_GET[file]";
                                $newfile_name = "$newdir/$_GET[file]";
                                if(@rename($oldfile_name, $newfile_name)){
                                        $message = "`$_GET[file]` 移动到文件夹 `$_GET[aimdir]` 成功。";
                                        header("Location: index.php?path=$_GET[aimdir]&message=$message");                         echo $newdir;
                                        exit();
                                }else{
                                        $message = "`$_GET[file]` 移动到文件夹 `$_GET[aimdir]` 失败!";
                                }
                        }else{
                                $message = "$_GET[aimdir] 文件夹无效或不存在! ";
                        }
                }
        break;
        case 'rename':
                if($_GET[file] && $_GET[newname]){
                        if( $newname = getAvailFilename($_GET[newname]) ){
                                $oldfile_name = "$currdir/$_GET[file]";
                                $newfile_name = "$currdir/$newname";
                                $message = (@rename($oldfile_name, $newfile_name))
                                                  ? "`$_GET[file]` 改名为 `$newname` 成功。"
                                                 : "`$_GET[file]` 改名为 `$newname` 失败!";
                        }else{
                                $message = "文件名不规范!`$_GET[file]` 没有重命名!";
                        }
                }
        break;
                     //下载的参考代码
        case 'down':
                if($_GET[file]){
                        $real_file_path = "$currdir/$_GET[file]";
                        if(is_file($real_file_path)){
                                @set_time_limit(600);
                                $filename = basename($real_file_path);
                                $filesize = filesize($real_file_path);

                                header("Content-Type: application/force-download; name=\"$filename\"");
                                header("Content-Transfer-Encoding: binary");
                                header("Content-Length: $filesize");
                                header("Content-Disposition: attachment; filename=\"$filename\"");
                                header("Expires: 0");
                                header("Cache-Control: no-cache, must-revalidate");
                                header("Pragma: no-cache");

                                readfile("$real_file_path");

                                //print("<script>window.close();</script>");
                                exit();
                        }
                }
        break;
}




欢迎光临 站长论坛 (http://tzlink.com/bbs/) Powered by Discuz! X3.2