web方式ftp_PHP

WBOY
发布: 2016-06-01 12:27:46
原创
799 人浏览过

/* $Id: ftp.php,v 2.2 2002/03/12 23:21:28 保罗 Exp $ */

/* 本软件来自http://inebria.com/ */

/* 版权所有 (c) 2000
保罗·索斯沃斯. 保留所有权利。

以源代码和二进制形式重新分发和使用,有或没有
允许修改,但须满足以下条件
满足:
1. 源代码的再分发必须保留上述版权
请注意,此条件列表以及以下免责声明。
2. 以二进制形式重新分发必须转载上述版权
请注意,此条件列表以及
中的以下免责声明 随发行版一起提供的文档和/或其他材料。
3. 不得使用作者姓名进行认可或宣传
从该软件衍生的产品,没有特定的先验
书面许可。

本软件由作者“按原样”和任何快递方式提供
或默示保证,包括但不限于默示
适销性和特定用途适用性的保证
被否认。 在任何情况下,作者均不承担任何责任
直接、间接、偶然、特殊、典范或后果
损害(包括但不限于购买替代品
商品或服务;使用、数据或利润的损失;或商务
中断)无论是何种原因造成的并且基于任何责任理论,
无论是合同、严格责任还是侵权行为(包括疏忽
或其他方式)因使用本软件而导致的,
即使已被告知发生此类损害的可能性。 */

/* 配置选项 */

$phpftp_host="localhost";
$phpftp_version="2.2";

/* 如果您不需要版本页脚,请将其注释掉 */

$show_version_footer=1;

/* 您将接受多大的文件? 您可能还需要编辑您的
php.ini 文件并适当更改 upload_max_filesize */

$max_file_size="1000000";

/* 临时目录 $phpftp_tmpdir 必须存在且可写
通过您的网络服务器。
提示: mkdir /var/tmp/xfers && chmod 1777 /var/tmp/xfers */

$phpftp_tmpdir="/var/tmp/xfers";

/* $use_mime_lookup
打开此功能会创建对
的依赖 http://www.inebria.com/mime_lookup/ MIME 类型查找库。
将此变量设置为“1”即可启用它。 “0”禁用。
如果开启,请将mime_lookup.php文件放在同一目录
作为 ftp.php 并取消注释 'include("mime_lookup.php");'陈述。 */

$use_mime_lookup="0";
/* 包含("mime_lookup.php"); */

/* 我们将顶部和底部括在函数中,因为有时
我们可能不会发送它们(即在文件下载情况下)*/

函数 phpftp_top() {
全局 $phpftp_version;
?>



PHP FTP 客户端 <?php echo $phpftp_version; ?>


}

函数 phpftp_bottom() {
全局 $phpftp_version;
全局 $show_version_footer;
?>

if (isset($show_version_footer)) {
?>

这是PHP FTP
版本


}
?>


}

/* 这是最初收集用户名/密码的形式 */

函数 phpftp_login() {
phpftp_top();
?>








Login:



Password:



Directory:


登录: 密码: 目录: 表>







phpftp_bottom();
}

/* 该函数不返回 TRUE/FALSE - 它返回
的值 $ftp,当前 FTP 流。 */

函数 phpftp_connect($phpftp_user,$phpftp_passwd) {
全局 $phpftp_host;
$ftp = ftp_connect($phpftp_host);
如果 ($ftp) {
if (ftp_login($ftp,$phpftp_user,urldecode($phpftp_passwd))) {
返回 $ftp;
}
}
}

函数 phpftp_list($phpftp_user,$phpftp_passwd,$phpftp_dir) {
全局 $phpftp_host;
phpftp_top();
?>

$ftp = @phpftp_connect($phpftp_user,$phpftp_passwd);
如果 (!$ftp) {
?>
FTP登录失败!
重新开始?
phpftp_bottom();
} 其他 {
if (!$phpftp_dir) {
$phpftp_dir=ftp_pwd($ftp);
}
if (!@ftp_chdir($ftp,$phpftp_dir)) {
?>
无法进入该目录!


$phpftp_dir=ftp_pwd($ftp);
}
echo "当前主机: " . $phpftp_host 。 “
n”;
echo "当前目录: " . $phpftp_dir 。 “
n”;
if ($phpftp_dir == "/") {
$phpftp_dir="";
}

if ($contents = ftp_rawlist($ftp,"")) {
$d_i=0;
$f_i=0;
$l_i=0;
$i=0;
while ($contents[$i]) {
$item[] = split("[ ] ",$contents[$i],9);
$item_type=substr($item[$i][0],0,1);
if ($item_type == "d") {
/* 这是一个目录 */
$nlist_dirs[$d_i]=$item[$i][8];
$d_i ;
} elseif ($item_type == "l") {
/* 这是一个符号链接 */
$nlist_links[$l_i]=$item[$i][8];
$l_i ;
} elseif ($item_type == "-") {
/* 这是一个文件 */
$nlist_files[$f_i]=$item[$i][8];
$nlist_filesize[$f_i]=$item[$i][4];
$f_i ;
} elseif ($item_type == " ") {
/* 这是 anonftp 服务器上的东西 */
$eplf=split(",",implode(" ",$item[$i]),5);
if ($eplf[2] == "r") {
/* 这是一个文件 */
$nlist_files[$f_i]=trim($eplf[4]);
$nlist_filesize[$f_i]=substr($eplf[3],1);
$f_i ;
} elseif ($eplf[2] == "/") {
/* 这是一个目录 */
$nlist_dirs[$d_i]=trim($eplf[3]);
$d_i ;
}
} /* 忽略所有其他 */
$i ;
}
?>


if (count($nlist_dirs)>0) {
?>

}

if (count($nlist_files)>0) {
?>

}
} 其他 {
?>

目录为空或不可读


}
?>


目录











文件













$cdup=目录名($phpftp_dir);
if ($cdup == "") {
$cdup="/";
}
?>
























ftp_quit($ftp);
phpftp_bottom();
}
}

函数 phpftp_cd($phpftp_user,$phpftp_passwd,$phpftp_dir,$select_directory) {
?>

$new_directory=$phpftp_dir 。 “/”。 $select_directory;
phpftp_list($phpftp_user,$phpftp_passwd,$new_directory);
}

函数 phpftp_mkdir($phpftp_user,$phpftp_passwd,$phpftp_dir,$new_dir) {
?>

$ftp = @phpftp_connect($phpftp_user,$phpftp_passwd);
if ($phpftp_dir == "") {
$phpftp_dir="/";
}
如果 (!$ftp) {
@ftp_quit($ftp);
phpftp_top();
?>
FTP 登录失败!


重新开始?
phpftp_bottom();
} 其他 {
$dir_path = $phpftp_dir 。 “/”。 $new_dir;
@ftp_mkdir($ftp,$dir_path);
@ftp_quit($ftp);
phpftp_list($phpftp_user,$phpftp_passwd,$phpftp_dir);
}
};


函数 phpftp_get($phpftp_user,$phpftp_passwd,$phpftp_dir,$select_file) {
$ftp = @phpftp_connect($phpftp_user,$phpftp_passwd);
if ($phpftp_dir == "") {
$phpftp_dir="/";
}
if ((!$ftp) || (!@ftp_chdir($ftp,$phpftp_dir))) {
@ftp_quit($ftp);
phpftp_top();
?>
FTP 登录失败!


重新开始?
phpftp_bottom();
} 其他 {
srand((双)microtime()*1000000);
$randval = rand();
$tmpfile=$phpftp_tmpdir 。 “/”。 $select_file 。 “。” 。 $randval;
if (!ftp_get($ftp,$tmpfile,$select_file,FTP_BINARY)) {
ftp_quit($ftp);
phpftp_top();
?>
FTP 失败!


重新开始?
phpftp_bottom();
} 其他 {
ftp_quit($ftp);
全局 $use_mime_lookup;
if ($use_mime_lookup == "1") {
$file_mime_type=mime_lookup(substr(strrchr($select_file,"."),1));
}
if (!$file_mime_type) {
$file_mime_type="application/octet-stream";
}
header("内容类型:" . $file_mime_type);
header("Content-Disposition: 附件; filename=" . $select_file);
readfile($tmpfile);
}
@unlink($tmpfile);
}
}

函数 phpftp_put($phpftp_user,$phpftp_passwd,$phpftp_dir,$userfile,$userfile_name) {
srand((双)microtime()*1000000);
$randval = rand();
$tmpfile=$phpftp_tmpdir 。 “/”。 $用户文件名 . “。” 。 $randval;
if (!@move_uploaded_file($userfile,$tmpfile)) {
phpftp_top();
?>
上传失败! 无法创建临时文件?


重新开始?
phpftp_bottom();
}否则{
if (!$ftp = @phpftp_connect($phpftp_user,$phpftp_passwd)) {
取消链接($tmpfile);
phpftp_top();
?>
FTP 登录失败!


重新开始?
phpftp_bottom();
} 其他 {
ftp_chdir($ftp,$phpftp_dir);
ftp_put($ftp,$userfile_name,$tmpfile,FTP_BINARY);
ftp_quit($ftp);
取消链接($tmpfile);
phpftp_list($phpftp_user,$phpftp_passwd,$phpftp_dir);
}
}
}

开关($函数){
案例“目录”;
phpftp_list($phpftp_user,$phpftp_passwd,$phpftp_dir);
休息;
案例“cd”;
phpftp_cd($phpftp_user,$phpftp_passwd,$phpftp_dir,$select_directory);
休息;
案例“得到”;
phpftp_get($phpftp_user,$phpftp_passwd,$phpftp_dir,$select_file);
休息;
案例“放置”;
phpftp_put($phpftp_user,$phpftp_passwd,$phpftp_dir,$userfile,$userfile_name);
休息;
案例“mkdir”;
phpftp_mkdir($phpftp_user,$phpftp_passwd,$phpftp_dir,$new_dir);
休息;
案例“”;
phpftp_login();
休息;
}

?>

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板