首页 > 编程技术 > php

PHP的FTP学习(二)

发布时间:2016-11-25 16:06


By Vikram Vaswani
Melonfire
November 07, 2000
登录了FTP服务器,PHP提供了一些函数,它们能获取一些关于系统和文件以及目录的信息。

FTP_pwd()
如果你想知道你当前所在的目录时,你就要用到这个函数了。
--------------------------------------------------------------------------------
<?

// get current location
$here = FTP_pwd($conn);

?>
--------------------------------------------------------------------------------
万一你需要知道服务器端运行的是什么系统呢?
FTP_systype()正好提供给你这方面的信息。
--------------------------------------------------------------------------------
<?

// get system type
$server_os = FTP_systype($conn);

?>
--------------------------------------------------------------------------------
关于被动模式(PASV)的开关,PHP也提供了这样一个函数,它能打开或关闭PASV(1表示开)
--------------------------------------------------------------------------------
<?

// turn PASV on
FTP_pasv($conn, 1);

?>
--------------------------------------------------------------------------------

现在,你已经知道你在“哪里”和“谁”跟你在一起了吧,现在我们开始在目录中逛逛--实现这一功能的是FTP_chdir()函数,它接受一个目录名作为参数。
--------------------------------------------------------------------------------
<?

// change directory to "public_html"
FTP_chdir($conn, "public_html");

?>
--------------------------------------------------------------------------------
如果你想回到你刚才所在的目录(父目录),

By Vikram Vaswani
Melonfire
November 07, 2000
   我们是一群PHP的忠实FANS,我们因各种不同的原因使用它-WEB站点的开发,画图,数据库的联接等 -我们发现,它非常的友好,强大而且易于使用……  
你可能已经看到PHP是怎样被用于创建GIF和JPEG图像,从数据库中动态的获取信息等等,但这只是冰山的一角---最新版本的PHP拥有着强大的文件传输功能。
在这篇教程里,我将向你展示FTP怎样通过HTTP和FTP联接来传输文件,同时也会有一些简单的程序代码,跟我来吧!

首先,你应该知道PHP是通过HTTP和FTP联接来传输文件的。通过HTTP上传文件早在PHP3中就已经出现,现在,新的FTP函数已经在新的PHP版本中出现了!
开始之前,你需要确信你的PHP支持FTP,你可以通过以下代码查知:

--------------------------------------------------------------------------------
<?

PHPinfo();

?>
--------------------------------------------------------------------------------
检查输出结果,有一“Additional Modules”区,这里列示了你的PHP支持的模块;如果你没发现FTP模块,你最好重新安装PHP,并添加FTP支持!

先让我们来看看一个典型的FTP任务是怎样完成的吧!
--------------------------------------------------------------------------------
$ FTP FTP.server.com
Connected to
这个同学录原来给我们班级用的,因为服务器没有mysql支持,就选择了DBM
国内还没有什么DBM程序,国外也几乎没有
花了一个晚上,在几乎没有任何参考的情况下写了出来
现在公布出来
是一个非常好的DBM使用范例

1、index.PHP3
<?
if($login){
?>
<HTML>
<HEAD>
<TITLE>深圳中学2000届高中(12)班同学录</TITLE>

<style type="text/css">
A {text-decoration: none; color: #336699; font-family: "宋体"; font-size: 9pt}
A:hover {text-decoration: underline; color: #FF0000; font-family: "宋体"; font-size: 9pt}  
body {font-family: "宋体", "serif"; font-size: 9pt}
td {font-family: "宋体", "serif"; font-size: 9pt}
input {font-size: 9pt}
p {font-size: 9pt}
br {font-size: 9pt}
tr {font-size: 9pt}
table {font-size: 9pt}
INPUT {    FONT-FAMILY: arial,宋体; FONT-SIZE: 9pt; PADDING-TOP: 3px }
INPUT.text {
    BACKGROUND-COLOR: #f0f0f0; BORDER-BOTTOM: #101010 1px solid; BORDER-LEFT: #101010 1px solid; BORDER-RIGHT: #101010 1px solid; BORDER-TOP: #101010 1px solid; COLOR: #000000
}
INPUT.file {
    BACKGROUND-COLOR: #f0f0f0; BORDER-BOTTOM: #101010 1px solid; BORDER-LEFT: #101010 1px solid; BORDER-RIGHT: #101010 1px solid; BORDER-TOP: #101010 1px solid; COLOR: #000000
}
SELECT {
    BACKGROUND-COLOR: #f0f0f0; BORDER-BOTTOM: #101010 1px solid; BORDER-LEFT: #101010 1px solid; BORDER-RIGHT: #101010 1px solid; BORDER-TOP: #101010 1px solid; COLOR: #000000
}
TEXTAREA {
    BACKGROUND-COLOR: #f0f0f0; BORDER-BOTTOM: #101010 1px solid; BORDER-LEFT: #101010 1px solid; BORDER-RIGHT: #101010 1px solid; BORDER-TOP: #101010 1px solid; COLOR: #000000
}
<
3、删除成员del.PHP3
<?
require("common.PHP3");
$id=chop($id);
if(!isset($id))error("请输入要删除的用户ID !");
elseif($pwd<>$adminpass)error("管理员密码错误!");
else{
  $data=DBMopen("class","w");
  DBMdelete($data,$id);
  DBMclose($data);
  $data=DBMopen("password","w");
  DBMdelete($data,$id);
  DBMclose($data);
  header("location:index.PHP3");
}
?>

4、公用文件common.PHP3
<?
$adminpass="test";
function error($msg){
?>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="style.css"><title>同学录 出错</title></head><body bgcolor="#ffffff">
<html><head></head><body bgcolor="#FFFFFF"><center><table border="0" width="80%" height="80%" cellspacing="0" cellpadding="0">
<tr><td width="100%"><table border="0" width="100%" bgcolor="#000000" cellspacing="0" cellpadding="0">
<tr><td width="100%"><table border="0" cellspacing="1" width="100%" align=left height="320">
<tr><td width="100%" bgcolor="#FFB500" align=center height="31"><font color="#804000"><span style="font-size: 11pt">同学录 出错</span></font></td>
</tr>&
6、登出文件logout.PHP3
<?
setcookie("login",false,time()+31536000);
header("location:login.PHP3");
?>

7、修改信息文件modify.PHP3
<?
require("common.PHP3");
$id=$login;
if($submit){
  if($name=="")error("请填写您的名字!");
  elseif($mail=="")error("请填写您的邮件地址!");
  else{
    $DBM=DBMopen("class","w");
    $intro=nl2br($intro);
    $data="$name|!:!|$nickname|!:!|$mail|!:!|$home|!:!|$oicq|!:!|$icq|!:!|$add|!:!|$tel|!:!|$birth|!:!|$job|!:!|$intro|!:!|$sex";
    DBMreplace($DBM,$id,$data);
    DBMclose($DBM);
    header("Location:index.PHP3");
  }
}else{
        $DBM=DBMopen("class","r");
        $data=DBMfetch($DBM,$login);
    $info=explode("|!:!|",$data);
    DBMclose($DBM);
?
标签:[!--infotagslink--]