• 技术文章 >后端开发 >php教程

    用php写 ftp文件上传函数教程_PHP教程

    2016-07-20 11:07:32原创277
    本篇教程是一款关于用php写 ftp文件上传函数教程哦,php功能很强大,可以用他自身带的函数来实例ftp的功能,实现文件上传功能哦

    本篇教程是一款关于用php教程写 ftp文件上传函数教程哦,php功能很强大,可以用他自身带的函数来实例ftp的功能,实现文件上传功能哦。下面是一个完整的实例

    function phpftp_top() {
    echo "n";
    echo "n";
    echo "n";
    echo "PHP FTP Client v1.4n";
    echo "

    n";
    echo "n";
    echo "nn";
    }

    function phpftp_bottom() {
    echo "nn";
    echo "
    n";
    echo "n";
    echo "n";
    }

    function phpftp_login() {
    phpftp_top();
    echo "n";
    echo "

    n";
    echo "

    n";
    echo "Login: ";
    echo "n";
    echo "

    n";
    echo "Password: ";
    echo "n";
    echo "

    n";
    echo "Directory: ";
    echo "n";
    echo "

    n";
    echo "n";
    echo "n";
    echo "

    n";
    echo "

    n";
    phpftp_bottom();
    }

    /* This function does not return TRUE/FALSE - it returns the value of
    $ftp, the current FTP stream. */

    function phpftp_connect( $phpftp_user, $phpftp_passwd ) {
    $phpftp_host="localhost";
    $ftp = ftp_connect( $phpftp_host );
    if ( $ftp ) {
    if ( ftp_login( $ftp, $phpftp_user, $phpftp_passwd ) ) {
    return $ftp;
    }
    }
    }

    function phpftp_list( $phpftp_user, $phpftp_passwd, $phpftp_dir ) {
    phpftp_top();
    echo "n";
    $ftp = @phpftp_connect( $phpftp_user, $phpftp_passwd );
    if ( ! $ftp ) {
    echo "FTP login failed!n";
    echo "Start over?n";
    phpftp_bottom();
    } else {
    if ( ! $phpftp_dir ) {
    $phpftp_dir=ftp_pwd( $ftp );
    }
    if ( ! @ftp_chdir( $ftp, $phpftp_dir ) ) {
    echo "Can't enter that directory!

    n";
    $phpftp_dir=ftp_pwd( $ftp );
    }
    echo "Current directory: " . $phpftp_dir . "
    n";
    if ( $phpftp_dir == "//m.sbmmt.com/m/" ) {
    $phpftp_dir="";
    }
    echo "

    n";
    if ( $contents = ftp_nlist( $ftp, "." ) ) {
    $d_i=0;
    $f_i=0;
    sort($contents);
    for ( $i=0; $i < count( $contents ); $i++ ) {
    $file_size = ftp_size( $ftp, $contents[$i] );
    if ( $file_size == -1 ) {
    $nlist_dirs[$d_i]=$contents[$i];
    $d_i++;
    } else {
    $nlist_files[$f_i]=$contents[$i];
    $nlist_filesize[$f_i]=$file_size;
    $f_i++;
    }
    }
    echo "nn";
    } else {
    echo "

    Directory empty or not readable

    n";
    }
    echo "

    n";
    echo "Directories
    n";
    echo "
    n";
    echo "n";
    echo "n";
    echo "n";
    echo "n";
    echo "
    n";
    echo "n";
    echo "
    n";
    echo "
    nn";
    echo "Files
    n";
    echo "
    n";
    echo "n";
    echo "n";
    echo "n";
    echo "n";
    echo "
    n";
    echo "n";
    echo "
    n";
    echo "
    nn";
    echo "

    n";
    echo "

    n";
    $cdup=dirname( $phpftp_dir );
    if ( $cdup == "" ) {
    $cdup="//m.sbmmt.com/m/";
    }
    echo "n";
    echo "n";
    echo "n";
    echo "n";
    echo "n";
    echo "
    n";
    echo "

    n";
    echo "

    n";
    echo "n";
    echo "n";
    echo "n";
    echo "n";
    echo "n";
    echo "n";
    echo "n";
    echo "
    n";
    echo "

    nn";
    echo "

    n";
    echo "n";
    echo "n";
    echo "n";
    echo "n";
    echo "n";
    echo "n";
    ftp_quit( $ftp );
    phpftp_bottom();
    }
    }

    function phpftp_cd( $phpftp_user, $phpftp_passwd, $phpftp_dir, $select_directory ) {
    echo "n";
    $new_directory=$phpftp_dir . "//m.sbmmt.com/m/" . $select_directory;
    phpftp_list( $phpftp_user, $phpftp_passwd, $new_directory );
    }

    function phpftp_mkdir( $phpftp_user, $phpftp_passwd, $phpftp_dir, $new_dir ) {
    echo "n";
    $ftp = @phpftp_connect( $phpftp_user, $phpftp_passwd );
    if ( $phpftp_dir == "" ) {
    $phpftp_dir="//m.sbmmt.com/m/";
    }
    if ( ! $ftp ) {
    @ftp_quit( $ftp );
    phpftp_top();
    echo "FTP login failed!

    n";
    echo "Start over?n";
    phpftp_bottom();
    } else {
    $dir_path = $phpftp_dir . "//m.sbmmt.com/m/" . $new_dir;
    @ftp_mkdir( $ftp, $dir_path );
    @ftp_quit( $ftp );
    phpftp_list( $phpftp_user, $phpftp_passwd, $phpftp_dir );
    }
    };


    function phpftp_get( $phpftp_user, $phpftp_passwd, $phpftp_dir, $select_file ) {
    $ftp = @phpftp_connect( $phpftp_user, $phpftp_passwd );
    if ( $phpftp_dir == "" ) {
    $phpftp_dir="//m.sbmmt.com/m/";
    }
    if ( ( ! $ftp ) || ( ! @ftp_chdir( $ftp, $phpftp_dir ) ) ) {
    @ftp_quit( $ftp );
    phpftp_top();
    echo "FTP login failed!

    n";
    echo "Start over?n";
    phpftp_bottom();
    } else {
    srand((double)microtime()*1000000);
    $randval = rand();
    $tmpfile="/var/tmp/xfers/" . $select_file . "." . $randval;
    if ( ! ftp_get( $ftp, $tmpfile, $select_file, FTP_BINARY ) ) {
    ftp_quit( $ftp );
    phpftp_top();
    echo "FTP get failed!

    nStart over?n";
    phpftp_bottom();
    } else {
    ftp_quit( $ftp );
    header( "Content-Type: application/octet-stream" );
    header( "Content-Disposition: attachment; filename=" . $select_file );
    readfile( $tmpfile );
    }
    @unlink( $tmpfile );
    }
    }

    function phpftp_put( $phpftp_user, $phpftp_passwd, $phpftp_dir, $userfile, $userfile_name ) {
    srand((double)microtime()*1000000);
    $randval = rand();
    $tmpfile="/var/tmp/xfers/" . $userfile_name . "." . $randval;
    if ( ! @copy( $userfile, $tmpfile ) ) {
    phpftp_top();
    echo "Upload failed! Probably no space on server for temp file.

    nStart over?n";
    phpftp_bottom();
    } else {
    if ( ! $ftp = @phpftp_connect( $phpftp_user, $phpftp_passwd ) ) {
    unlink( $tmpfile );
    phpftp_top();
    echo "FTP login failed!

    nStart over?n";
    phpftp_bottom();
    } else {
    ftp_put( $ftp, $userfile_name, $tmpfile, FTP_BINARY );
    ftp_quit( $ftp );
    unlink( $tmpfile );
    phpftp_list( $phpftp_user, $phpftp_passwd, $phpftp_dir );
    }
    }
    }

    switch( $function ) {
    case "dir";
    phpftp_list( $phpftp_user, $phpftp_passwd, $phpftp_dir );
    break;
    case "cd";
    phpftp_cd( $phpftp_user, $phpftp_passwd, $phpftp_dir, $select_directory );
    break;
    case "get";
    phpftp_get( $phpftp_user, $phpftp_passwd, $phpftp_dir, $select_file );
    break;
    case "put";
    phpftp_put( $phpftp_user, $phpftp_passwd, $phpftp_dir, $userfile, $userfile_name );
    break;
    case "mkdir";
    phpftp_mkdir( $phpftp_user, $phpftp_passwd, $phpftp_dir, $new_dir );
    break;
    case "";
    phpftp_login();
    break;
    }

    ?>


    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/444933.htmlTechArticle本篇教程是一款关于用php写 ftp文件上传函数教程哦,php功能很强大,可以用他自身带的函数来实例ftp的功能,实现文件上传功能哦 本篇教程...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐: php ftp 文件 上传 函数 教程 本篇 教程 是一 关于 php ftp 文件 上传 函数
    上一篇:LINUX 系统参数探测包括cpu,时间,内存等_PHP教程 下一篇:php 无限级分类函数_PHP教程
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• php 不使用js实现页面跳转_php技巧• PHP提取中文首字母_php技巧• PHP常用代码_php技巧• PHP中的日期及时间_php基础• php获得文件扩展名三法_php基础
    1/1

    PHP中文网