来自PHP英文手册的代码,经测试,可运行:<?php
// set up basic connection
$ftp_server="127.0.0.1"; //服务器地址
$ftp_user_name="public"; //用户名
$ftp_user_pass="abc"; //密码
$source_file="e:\\read.txt"; //源文件
$destination_file="read.txt"; //目标文件
//你只要把以上这些数据传入PHP文件就可以了$conn_id = ftp_connect($ftp_server); // login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // check connection
if ((!$conn_id) || (!$login_result)) { 
        echo "FTP connection has failed!";
        echo "Attempted to connect to $ftp_server for user $ftp_user_name"; 
        die; 
    } else {
        echo "Connected to $ftp_server, for user $ftp_user_name";
    }// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY); // check upload status
if (!$upload) { 
        echo "FTP upload has failed!";
    } else {
        echo "Uploaded $source_file to $ftp_server as $destination_file";
    }// close the FTP stream 
ftp_close($conn_id); 
?>

解决方案 »

  1.   

    下面的是两个文件的代码,第一个是:upload.php,是用做PHP上传用的第二个是selectfile.htm,是用来选择文件的。虽然和你的要求不太相符,但我想这是会对你有些帮助的。
      

  2.   

    <?
    $UpFileType=0; //设置文件上传的方法:0代表使用PHP的COPY函数进行上传,1代表使用FTP方式上传
    $FileSize=1024*1024; //设置文件上传的单个文件大小
    $FileNameSetting=2; //设置上传后的文件名规则:0代表使用原文件名,1代表使用当前时间(精确到秒),2代表使用当前时间加文件名//当$UpFileType的值为0时需要设置以下变量:
    $UploadPath="upload/"; //设置文件上传的路径//当$UpFileType的值为1时需要设置以下变量:
    $FTPServer="server"; //设置FTP服务器地址
    $FTPPort="21"; //设置FTP服务器端口号
    $FTPUsername="administrator"; //设置FTP登录用户名
    $FTPPassword=""; //设置FTP登录密码
    $FTPPath="/ppp/"; //设置上传后的FTP路径if($UpFileType==0)
    {
    for($i=1;$i<6;$i++)
    {
    $FileTemp1="file".$i;
    $FileTemp2="file".$i."_name";
    $FileTemp3="file".$i."_size";
    if(($$FileTemp2!="") && ($$FileTemp2!="none"))
    {
    if(file_exists($$FileTemp1))
    {
    if($$FileTemp3<=$FileSize)
    {
    switch($FileNameSetting)
    {
    case 0:
    $FileTemp4=$$FileTemp2;
    break;
    case 1:
    $FileTemp4=date("YmdHis").$i;
    break;
    case 2:
    $FileTemp4=date("YmdHis").$$FileTemp2;
    break;
    }
    if(@copy($$FileTemp1,$UploadPath.$FileTemp4))
    {
    $FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传成功,上传的文件名是:".$FileTemp4;
    }
    else
    {
    $FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传失败";
    }
    }
    else
    {
    $FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传错误,错误原因:您选择的文件大小超过了程序的设置".$FileSize."个字节";
    }
    }
    else
    {
    $FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传错误,错误原因:您选择的文件不存在。";
    }
    }
    else
    {
    $FileTemp5.="<br>文件".$i."未选择。";
    }
    }
    }
    if($UpFileType==1)
    {
    $ftpconn=@ftp_connect($FTPServer,$FTPPort);
    if($ftpconn)
    {
    $ftplogin=@ftp_login($ftpconn,$FTPUsername,$FTPPassword);
    if($ftplogin)
    {
    $ftpcd=@ftp_chdir($ftpconn,$FTPPath);
    if($ftpcd)
    {
    for($i=1;$i<6;$i++)
    {
    $FileTemp1="file".$i;
    $FileTemp2="file".$i."_name";
    $FileTemp3="file".$i."_size";
    if(($$FileTemp2!="") && ($$FileTemp2!="none"))
    {
    if(file_exists($$FileTemp1))
    {
    if($$FileTemp3<=$FileSize)
    {
    switch($FileNameSetting)
    {
    case 0:
    $FileTemp4=$$FileTemp2;
    break;
    case 1:
    $FileTemp4=date("YmdHis");
    break;
    case 2:
    $FileTemp4=date("YmdHis").$$FileTemp2;
    break;
    }
    $ftpput=@ftp_put($ftpconn,$FileTemp4,$$FileTemp1,1);
    if($ftpput)
    {
    $FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传成功,上传的文件名是:".$FileTemp4;
    }
    else
    {
    $FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传失败";
    }
    }
    else
    {
    $FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传错误,错误原因:您选择的文件大小超过了程序的设置".$FileSize."个字节";
    }
    }
    else
    {
    $FileTemp5.="<br>文件[".$$FileTemp2."](".$$FileTemp3.")上传错误,错误原因:您选择的文件不存在。";
    }
    }
    else
    {
    $FileTemp5.="<br>文件".$i."未选择。";
    }
    }
    }
    else
    {
    $FileTemp5.="<br>改变FTP服务器上的目录失败,请检查FTP的相关设置";
    }
    }
    else
    {
    $FileTemp5.="<br>登录FTP服务器失败,请检查FTP的相关设置";
    }
    }
    else
    {
    $FileTemp5.="<br>连接FTP服务器失败,请检查FTP的相关设置";
    }
    }
    echo $FileTemp5;
    ?>
      

  3.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>请选择要上传的文件</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head><body>
    <form action="upload.php" method="post" enctype="multipart/form-data" name="form1">
      <p>&nbsp;</p>
      <p><font size="5"><strong><em>请选择要上传的文件:</em></strong></font></p>
      <hr size="1">
      <p>&nbsp;</p>
      <table width="500" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#CCCCCC">
        <tr bgcolor="#FFFFFF"> 
          <td><div align="right"><font size="2">文件1:</font></div></td>
          <td><font size="2"> 
            <input name="file1" type="file" size="40">
            </font></td>
        </tr>
        <tr bgcolor="#FFFFFF"> 
    <td><div align="right"><font size="2">文件2:</font></div></td>
          <td><font size="2"> 
            <input name="file2" type="file" size="40">
            </font></td>
        </tr>
        <tr bgcolor="#FFFFFF"> 
          <td height="26"><div align="right"><font size="2">文件3:</font></div></td>
          <td><font size="2"> 
            <input name="file3" type="file" size="40">
            </font></td>
        </tr>
        <tr bgcolor="#FFFFFF"> 
    <td><div align="right"><font size="2">文件4:</font></div></td>
          <td><font size="2"> 
            <input name="file4" type="file" size="40">
            </font></td>
        </tr>
        <tr bgcolor="#FFFFFF"> 
    <td><div align="right"><font size="2">文件5:</font></div></td>
          <td><font size="2"> 
            <input name="file5" type="file" size="40">
            </font></td>
        </tr>
      </table>
      <p align="center"> 
        <input type="submit" name="cmdUp" value="上传">
      </p>
    </form>
    </body>
    </html>
      

  4.   

    to  LeeMaRS(小菜虎_水壶的仇人)   在WIN2000下未测试通过!
      

  5.   

    我是在XP下测试的,麻烦你把错误帖上来,thx.
      

  6.   

    to  LeeMaRS(小菜虎_水壶的仇人):
       谢谢!
       错误的意思:是不能上文件!   我的同事说如果自己设定路径的文件能用FTP上传的话,(不是用"<form>.......</form>"这样上传的,即$source_file="e:\\read.txt"; //源文件
    不能自己设定!
       如果可以的话,这个PHP语言是很危险的,因为程序开发者可以上传浏览者机子的要害文件,你说呢?
      

  7.   

    哎呀,我竟然好长一段时间都犯了同一个错误.看来这个文件上传似乎没办法了.你说得很对,用FTP也没办法从客户机上读取文件然后上传.这个程序还是只能上传服务器端的文件.
      

  8.   

    哎呀,我竟然好长一段时间都犯了同一个错误.看来这个文件上传似乎没办法了.你说得很对,用FTP也没办法从客户机上读取文件然后上传.这个程序还是只能上传服务器端的文件.
      

  9.   

    http://phpbuilder.com/columns/bealers20000904.php3
      

  10.   

    楼上帖的文章 好像也是用COPY + FORM的嘛..
      

  11.   

    楼上帖的文章 好像也是用COPY + FORM的嘛..
      

  12.   

    楼上帖的文章 好像也是用COPY + FORM的嘛..