PHP登录远程FTP空间代码

PHP登录远程FTP空间代码,第1张

你的演示代码,有很多注释,你试试就知道了

<?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)

}

?>

你这段代码代码我测试过了,没有问题,可以正常连接到FTP服务器。

从以下两个方面来考虑吧:

① 你的PHP服务器是否支持FTP功能,通过phpinfo()函数查看,一定要是FTP support:enabled。若不是,找下资料,开启PHP支持FTP功能。

② 你的FTP服务器是否正常运行,先通过FTP客户端登陆一下,若不能登录,则要先解决FTP登录的问题。

利用PHP,你总是可以有多种方式来完成某个特定的任务。我们就拿文件上传举个例子。当然了,你可以按照传统的方式来使用HTTP文件上传,把文件直接传输到Web服务器磁盘上。丽江电脑培训http://www.kmbdqn.cn/认为你还可以用更加奇异的方式上传,用FTP协议两步就完成上传:从你的本地硬盘到Web服务器,然后再到FTP服务器。

PHP在本机同时支持FTP和HTTP上传,所以你可以根据自己应用程序的设计需要进行最佳的选择。使用PHP的FTP函数进行文件传输几乎与使用传统的FTP客户端相同——你会看到连函数的名字都和标准的FTP命令类似。

关于HTTP文件上传的文章已经多得满天飞了,这就是为什么本文有必要把注意力放在基于FTP的文件上传上了(但是在后面给出的例子中,两种方式你都会看到)。要注意的是,本教程假设你已经安装好了PHP/Apache,而且HTTP文件上传和FTP的函数都已经激活了。

第一步:确信你拥有连接/上传到FTP服务器的权限

PHP的FTP函数需要客户端-服务器连接,所以你需要在进行文件上传之前登录到目标服务器上。你的第一项任务是确信你已经拥有了完成这项任务的信任书。这一步可能看起来是理所当然的,但是你会惊奇地发现有多少开发人员忘了这么做,结果后来浪费大量的时间来解决因此而出现的问题。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/55232.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-26
下一篇2023-02-26

发表评论

登录后才能评论

评论列表(0条)

    保存