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

    PHP的FTP学习(四)_php基础

    2016-05-17 09:46:50原创796
    By Vikram Vaswani
    Melonfire
    November 07, 2000
    以下是代码列表:
    --------------------------------------------------------------------------------
































    Server



    User



    Password










    --------------------------------------------------------------------------------
    --------------------------------------------------------------------------------








    /*
    --------------------------------------------------------------------------------
    DISCLAIMER:

    This is use-at-your-own-risk code.

    It is meant only for illustrative purposes and is not meant for production environments. No warranties of any kind are provided to the user.

    You have been warned!

    All code copyright Melonfire, 2000. Visit us at http://www.melonfire.com
    --------------------------------------------------------------------------------
    */

    // function to connect to FTP server
    function connect()
    {
    global $server, $username, $password;
    $conn = ftp_connect($server);
    ftp_login($conn, $username, $password);
    return $conn;
    }


    // main program begins

    // check for valid form entries else print error
    if (!$server || !$username || !$password)
    {
    echo "Form data incomplete!";
    }
    else
    {


    // connect
    $result = connect();

    // action: change directory
    if ($action == "CWD")
    {

    // at initial stage $rdir does not exist
    // so assume default directory
    if (!$rdir)
    {
    $path = ".";
    }
    // get current location $cdir and add it to requested directory $rdir
    else
    {
    $path = $cdir . "//m.sbmmt.com/m/" . $rdir;
    }

    // change to requested directory
    ftp_chdir($result, $path);

    }

    // action: delete file(s)
    else if ($action == "Delete")
    {

    ftp_chdir($result, $cdir);

    // loop through selected files and delete
    for ($x=0; $x{
    ftp_delete($result, $cdir . "//m.sbmmt.com/m/" . $dfile[$x]);
    }

    }
    // action: download files
    else if ($action == "Download")
    {

    ftp_chdir($result, $cdir);

    // download selected files
    // IMPORTANT: you should specify a different download location here!!
    for ($x=0; $x{
    ftp_get($result, $dfile[$x], $dfile[$x], FTP_BINARY);
    }

    }
    // action: upload file
    else if ($action == "Upload")
    {

    ftp_chdir($result, $cdir);

    // put file

    /*
    a better idea would be to use
    $res_code = ftp_put($result, $HTTP_POST_FILES["upfile"]["name"],
    $HTTP_POST_FILES["upfile"]["tmp_name"], FTP_BINARY);
    as it offers greater security
    */
    $res_code = ftp_put($result, $upfile_name, $upfile, FTP_BINARY);


    // check status and display
    if ($res_code == 1)
    {
    $status = "Upload successful!";
    }
    else
    {
    $status = "Upload error!";
    }

    }

    // create file list
    $filelist = ftp_nlist($result, ".");

    // and display interface
    include("include.php");

    // close connection
    ftp_quit($result);

    }
    ?>





    --------------------------------------------------------------------------------
    --------------------------------------------------------------------------------



    // get current location
    $here = ftp_pwd($result);

    /*
    since ftp_size() is quite slow, especially when working
    on an array containing all the files in a directory,
    this section performs an ftp_size() on all the files in the current
    directory and creates three arrays.
    */

    // array for files
    $files = Array();

    // array for directories
    $dirs = Array();

    // array for file sizes
    $file_sizes = Array();

    // counters
    $file_list_counter = 0;
    $dir_list_counter = 0;

    // check each element of $filelist
    for ($x=0; $x{
    if (ftp_size($result, $filelist[$x]) != -1)
    {
    // create arrays
    $files[$file_list_counter] = $filelist[$x];
    $file_sizes[$file_list_counter] = ftp_size($result, $filelist[$x]);
    $file_list_counter++;
    }
    else
    {
    $dir_list[$dir_list_counter] = $filelist[$x];
    $dir_list_counter++;
    }
    }

    ?>



    You are currently working in









    Available directories:





    >
    >
    >
    >














    Available files:



    >
    >
    >
    >




    // display file listing with checkboxes and sizes
    for ($y=0; $y{
    echo "
    ". $files[$y] . " (" . $file_sizes[$y] . " bytes)";
    }

    ?>














    File upload:



    >
    >
    >
    >

















    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    大前端线上培训班

    相关文章推荐

    • PHP中的命名空间定义与使用(实例详解)• 带你分清类中的构造函数与析构函数• PHP中clone关键字和__clone()方法的使用(实例详解)• 五分钟带你了解PHP中的魔术方法(实例详解)• 怎样去搞定PHP类的继承?(总结分享)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网