给你一个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;
}
}?>
<?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;
}
}?>
<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;
FTP上传有大小限制,太大的根本传不了.
上传文件。语法: 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,怎么都一样,你这样做有什么意义?