给你的演示代码,有很多注释,你试试就知道了
<?php//配置数据
$ftp_server=""//FTP服务器
$ftp_user_name=""//FTP用户名
$ftp_user_pass=""//FTP用户密码
$ftp_up_dir="webspace/httpdocs/upload"//上传到哪个目录
$ftp_site_url=""//文件访问URL地址
$admin="admin"//管理员用户名
$adminpw="admin"//管理员密码
session_start()
//退出登录
if($_GET['action']=="logout"){
$_SESSION['pw']=""
}
//保存登录状态
if($_POST['pw']==$adminpw &&$_POST['user']==$admin){
$_SESSION['pw']=$adminpw
$_SESSION['user']=$admin
}
if($_SESSION['pw']!=$adminpw || $_SESSION['user']!=$admin)
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />
<title>请登录</title>
</head>
<body>
<form action="<?php $n = explode('/',$_SERVER['PHP_SELF'])echo $n[count($n)-1]?>" method="post">
<label for="file">管理账户:</label><input type="text" name="user" id="user" /><br>
<label for="file">管理密码:</label><input type="password" name="pw" id="pw" />
<br />
<input type="submit" name="submit" value="Login" />
</form>
</body>
</html>
<?
exit()
}
if(!$_FILES)
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />
<title>FTP远程上传</title>
</head>
<body>
<form action="<?php $n = explode('/',$_SERVER['PHP_SELF'])echo $n[count($n)-1]?>" method="post"
enctype="multipart/form-data">
<label for="file">文件名称:</label>
<input type="file" name="file" id="file" />
<input type="submit" name="submit" value="上传" />
</form>
<p><a href="?action=logout">退出</a></p>
</body>
</html>
<?php
}
else
{
$file = date('y-m-d_').rand(1,999999999).'_'.$_FILES["file"]["name"]
// 连接FTP
$conn = ftp_connect($ftp_server)
$login_result = ftp_login($conn, $ftp_user_name, $ftp_user_pass)
//改编目录
ftp_chdir($conn,$ftp_up_dir)
// 上传
if(ftp_put($conn, $file,$_FILES["file"]["tmp_name"] , FTP_ASCII)) {
$cue = "上传文件 $file 成功.<br />文件访问地址: <a href='$ftp_site_url$file' target='_blank'>$ftp_site_url".$file."</a>"
} else {
$cue = "上传文件 $file 时出错"
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />
<title>文件上传结果</title>
</head>
<body>
<p><?php echo $cue?></p>
<p>
<form action="<?php $n = explode('/',$_SERVER['PHP_SELF'])echo $n[count($n)-1]?>" method="post"
enctype="multipart/form-data">
<label for="file">文件名称:</label>
<input type="file" name="file" id="file" />
<input type="submit" name="submit" value="上传" />
</form>
</p>
<p><a href="?action=logout">退出</a></p>
</body>
</html>
<?php
// 关闭FTP连接
ftp_close($conn)
}
?>
给你一些 php 操作 ftp 的函数:
FTP 函数
ftp_alloc — 为要上传的文件分配空间
ftp_cdup — 切换到当前目录的父目录
ftp_chdir — 在 FTP 服务器上改变当前目录
ftp_chmod — 设置 FTP 服务器上的文件权限
ftp_close — 关闭一个 FTP 连接
ftp_connect — 建立一个新的 FTP 连接
ftp_delete — 删除 FTP 服务器上的一个文件
ftp_exec — 请求运行一条 FTP 命令
ftp_fget — 从 FTP 服务器上下载一个文件并保存到本地一个已经打开的文件中
ftp_fput — 上传一个已经打开的文件到 FTP 服务器
ftp_get_option — 返回当前 FTP 连接的各种不同的选项设置
ftp_get — 从 FTP 服务器上下载一个文件
ftp_login — 登录 FTP 服务器
ftp_mdtm — 返回指定文件的最后修改时间
ftp_mkdir — 建立新目录
ftp_nb_continue — 连续获取/发送文件(non-blocking)
ftp_nb_fget — 从 FTP 服务器获取文件并写入到一个打开的文件(非阻塞)
ftp_nb_fput — 将文件存储到 FTP 服务器 (非阻塞)
ftp_nb_get — 从 FTP 服务器上获取文件并写入本地文件(non-blocking)
ftp_nb_put — 存储一个文件至 FTP 服务器(non-blocking)
ftp_nlist — 返回给定目录的文件列表
ftp_pasv — 返回当前 FTP 被动模式是否打开
ftp_put — 上传文件到 FTP 服务器
ftp_pwd — 返回当前目录名
ftp_quit — ftp_close 的 别名
ftp_raw — 向 FTP 服务器发送命令
ftp_rawlist — 返回指定目录下文件的详细列表
ftp_rename — 更改 FTP 服务器上的文件或目录名
ftp_rmdir — 删除 FTP 服务器上的一个目录
ftp_set_option — 设置各种 FTP 运行时选项
ftp_site — 向服务器发送 SITE 命令
ftp_size — 返回指定文件的大小
ftp_ssl_connect — 打开 SSL-FTP 连接
ftp_systype — 返回远程 FTP 服务器的操作系统类型
例子:
<?php
$ftp_server=""
$ftp_user_name=""
$ftp_user_pass=""
$file = ""//tobe uploaded
$remote_file = ""
// 简历ftp链接
$conn_id = ftp_connect($ftp_server)
// 使用用户名和密码登录
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass)
// 上传文件
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
echo "成功上传文件: $file\n"
exit
} else {
echo "上传文件错误: $file\n"
exit
}
// 关闭ftp链接
ftp_close($conn_id)
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)