给你一个ftp的类:
<?php
// ----------------------------------------------------------------------------------
//
// generic ini-file driven FTP class 
//
// (c) 07.05.2001 M.Chilla
// 
// ---------------------------------------------------------------------------------
//
// methods :
// .connect  --> establishes FTP connection and authenticates
// .lastmodtime  --> return last_mod_date of a specific file
// .changedir  --> changes directory
// .getdir  --> returns actual directory (pwd)
// .get_file_list  --> returns directory-list as array
// .get_file  --> downloads a specific file
// .mode  --> changes modes between active/passive
// .ftp_bye  --> logs out of the ftp server
//
// ----------------------------------------------------------------------------------class myftp { var $connector;
var $getback;

function connect($ftp_server, $uname, $passwd){
// Baut grundlegende FTP Connection auf
$this->connector = @ftp_connect($ftp_server);
$this->login_result = @ftp_login($this->connector, "$uname", "$passwd");
if ((!$this->connector) || (!$this->login_result)) 

        echo "FTP connection has failed! \n";
        echo "Attempted to connect to $ftp_server for user $uname \n"; 
        die; 
    } else {
        echo "Connected to $ftp_server, for user $uname \n";
     }
} function lastmodtime($value){
$getback = ftp_mdtm ($this->connector,$value);
return $getback;
} function changedir($targetdir){
$getback = ftp_chdir($this->connector, $targetdir);
return $getback;
}
function getdir(){
// Liefert Directory Namen zur點k (pwd)
$getback = ftp_pwd($this->connector);
return $getback;
}

function get_file_list($directory){
// Liefert Array mit Directory zur點k
$getback = ftp_nlist($this->connector, $directory);
return $getback;
}

function get_file($file_to_get, $mode, $mode2){ $realfile = basename($file_to_get);
$filename = $realfile; // Pr黤en ob wir einen Ordner haben
$checkdir = @$this->changedir($realfile);
if ($checkdir == TRUE){
ftp_cdup($this->connector);
echo "\n[DIR] $realfile";
}else{
echo "..... ". $realfile ."\n";
$getback = ftp_get($this->connector, $filename, $realfile, $mode);
if ($mode2){
$delstatus = ftp_delete($this->connector, $file_to_get);
if ($delstatus == TRUE){
echo "File $realfile on $host deleted \n";
}
}
}
return $getback;
}

function mode($pasvmode){
$result = ftp_pasv($this->connector, $pasvmode);
}

function ftp_bye(){
ftp_quit($this->connector); 
return $getback;
}
}?>

解决方案 »

  1.   

    <form action="addimg.php" method="post" enctype="multipart/form-data" name="formimg">
    <input name="file1" type="file" id="file1">
    <input type="submit" name="Submit" value="提交">
    </form>
    --- addimg.php
    $file_name_1 = $_FILES['file1']['name'];
    $upload_file_1=$_FILES['file1']['tmp_name'];
    upload($file_name_1,$upload_file_1);
    function upload($file_name,$upload_file){$file_size_max = 2048*2048;// 2M限制文件上传最大容量(bytes)
    $accept_overwrite = 1;//是否允许覆盖相同文件
    if(!empty($upload_file)){
    $s = renname($file_name);
    if(!fileformat($file_name)){
    echo "文件类型不正确,请重新上传! <a href='add-img.php'>返回前页</a>";
    exit;
    }
    elseif(!copy($upload_file,$store_dir_img.$s))
    echo "<br>文件上传失败"; 
    else{
    echo "<br>文件上传成功";
    }
    }
    }//end;
      

  2.   

    友情提醒楼主,
    FTP上传有大小限制,太大的根本传不了.
      

  3.   

    ftp_put
    上传文件。语法: boolean ftp_put(int ftp_stream, string remote_file, string local_file, int mode);
    返回值: 布尔值
    函数种类: 网络系统 
    内容说明 
    本函数用来上传指定的文件。参数 ftp_stream 为 FTP 的连接代码。参数 remote_file 为欲存在远端的文件名。参数 local_file 为欲上传文件的文件名。参数 mode 的值有 FTP_ASCII 及 FTP_BINARY 二种,分别表示文字档宁或者是二进位文件。成功则返回 true 值,失败则返回 false 值。
    而你里面的ftp_put($conn,  $file,$file,  FTP_BINARY); 
    里面的两个$file,$file,怎么都一样,你这样做有什么意义?