各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

php中ftp的上传和下载功能的实现代码

管理员 2023-09-05
PHP
109

php中ftp的上传和下载功能的实现代码

内容导读

收集整理的这篇技术教程文章主要介绍了php中ftp的上传和下载功能的实现代码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3089字,纯文字阅读大概需要5分钟

内容图文

本篇文章给大家带来的内容是关于php中ftp的上传和下载功能的实现代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
/** * 作用:FTP操作类( 拷贝、移动、删除文件/创建目录 ) */class FTP{    public $off; // 返回操作状态(成功/失败)    public $conn_id; // FTP连接    /**     * 方法:FTP连接     * @FTP_HOST -- FTP主机     * @FTP_PORT -- 端口     * @FTP_USER -- 用户名     * @FTP_PASS -- 密码     */    const FTP_HOST='xxx.xx.xx.xxx';    const FTP_PORT='21';    const FTP_USER='xx';    const FTP_PASS='xxxx';    function __construct()    {        $this->conn_id = @ftp_connect(self::FTP_HOST,self::FTP_PORT) or die("FTP服务器连接失败");        @ftp_login($this->conn_id,self::FTP_USER,self::FTP_PASS) or die("FTP服务器登陆失败");        @ftp_pasv($this->conn_id,1); // 打开被动模拟    }    /**     * 方法:上传文件     * @path -- 本地路径     * @newpath -- 上传路径     * @type -- 若目标目录不存在则新建     */    function up_file($path,$newpath,$type=true)    {        if($type) $this->dir_mkdirs($newpath);        $this->off = @ftp_put($this->conn_id,$newpath,$path,FTP_BINARY);        if(!$this->off) echo "文件上传失败,请检查权限及路径是否正确!";    }    /**     * 方法:移动文件     * @path -- 原路径     * @newpath -- 新路径     * @type -- 若目标目录不存在则新建     */    function move_file($path,$newpath,$type=true)    {        if($type) $this->dir_mkdirs($newpath);        $this->off = @ftp_rename($this->conn_id,$path,$newpath);        if(!$this->off) echo "文件移动失败,请检查权限及原路径是否正确!";    }    /**     * 方法:复制文件     * 说明:由于FTP无复制命令,本方法变通操作为:下载后再上传到新的路径     * @path -- 原路径     * @newpath -- 新路径     * @type -- 若目标目录不存在则新建     */    function copy_file($path,$newpath,$type=true)    {        $downpath = "c:/tmp.dat";        $this->off = @ftp_get($this->conn_id,$downpath,$path,FTP_BINARY);// 下载        if(!$this->off) echo "文件复制失败,请检查权限及原路径是否正确!";        $this->up_file($downpath,$newpath,$type);    }    /**     * 方法:删除文件     * @path -- 路径     */    function del_file($path)    {        $this->off = @ftp_delete($this->conn_id,$path);        return $this->off;    }    /**     * 方法:生成目录     * @path -- 路径     */    function dir_mkdirs($path)    {        $path_arr = explode('/',$path); // 取目录数组        $file_name = array_pop($path_arr); // 弹出文件名        $path_p = count($path_arr); // 取层数        foreach($path_arr as $val) // 创建目录        {            if(@ftp_chdir($this->conn_id,$val) == FALSE)            {                $tmp = @ftp_mkdir($this->conn_id,$val);                if($tmp == FALSE)                {                    echo "目录创建失败,请检查权限及路径是否正确!";                    exit;                }                @ftp_chdir($this->conn_id,$val);            }        }        for($i=1;$i<=$path_p;$i++)         // 回退到根        {            @ftp_cdup($this->conn_id);        }    }    /*     * 文件下载     */    function download($select_file)    {        $tmpfile = tempnam( getcwd()."/", "temp" );    // 创建唯一的临时文件        if(ftp_get($this->conn_id, $tmpfile, $select_file, FTP_BINARY)) {    // 下载指定的文件到临时文件            $this->close();    // 关闭连接            $file = explode('/',$select_file);            $file = end($file);            header("content-type: application/octet-stream");            header("content-disposition: attachment; filename=" . $file);//content-disposition:inline; 表示可以在线打开文件!          readfile($tmpfile);          unlink($tmpfile);    // 删除临时文件          exit;        }        unlink($tmpfile);    }    /**     * 方法:关闭FTP连接     */    function close()    {        @ftp_close($this->conn_id);    }}


相关推荐:

php如何实现上篇和下篇的功能(代码)

php实现文件上传和下载的方法(代码)

以上就是php中ftp的上传和下载功能的实现代码的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php中ftp的上传和下载功能的实现代码全部内容,希望文章能够帮你解决php中ftp的上传和下载功能的实现代码所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部