杏林同学录

2020-01-02 08:15 来源:未知

By Vikram Vaswani
Melonfire
November 07, 2000
现在,我们已经接触了PHP关于FTP的大量函数,但这仅仅只是函数,离我们的目标还远远不够,要显示出这些函数的真正力量,我们应该建立一个程序,这个程序能以WEB方式上传,下载文件---这就是我们将要做的!

密码查询:class/querypsw.php
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>询问密码</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<?php
  include "config.php";
//询问班级注册问题密码
  if ($class){
   $headers .= "Content-Type: text/html; charset=gb2312n"; // Mime type
   $subject="询问班级注册问题密码 ";                        //主题
   $message=nl2br($message);
   $message="查询人:".$name."<BR>留言:<BR>".$message;     //内容
   mail($superemail,$subject,$message,$headers);
   echo "恭喜您,您的请求已经向管理员发出,近期内请注意查收email。";
   exit;
  }
  //询问个人注册密码
  if ($member){  
  $result = mysql_query("SELECT * FROM user where user='$username'",$db);
  if (mysql_num_rows($result)==0){  //若返回列的数目为0,说明无此资料
echo "我们的数据库中无此用户,请确认。注意大小写。<a href='javascript:history.back()'>返回</a>";
exit;}
   $myemail=mysql_result($result,0,"email");//读取user数据库中的email
    if (!$myemail){                         //如果还没有email,则返回
     echo "我们的数据库中没有您的email,请再次填写。<a href='javascript:history.back()'>返回</a>";
     exit;
    }
$psw=mysql_result($result,0,"psw");      //密码
$name=mysql_result($result,0,"name");    //姓名
$subject="询问个人注册密码";
$message=$name.",您好。您的用户名是".$username.",密码是".$psw."。<BR>-----------------------<BR><a href='".$url."'>".$sitename."</a>";      //信件内容
$headers .= "Content-Type: text/html; charset=gb2312n"; // Mime type
mail($myemail,$subject,$message,$headers);
   echo "恭喜您,系统已经向您的信箱中发出了答复信件,请注意查收email。";
   exit;
  }
?>  
<table width="93%" border="0" cellspacing="0" cellpadding="0" align="center" height="286">
  <tr>  
        <td height="75" colspan="2">  
          <div align="center">询问密码<br>
          </div>
        </td>
      </tr>
      <tr>  
        <td height="75" width="47%">
          <form name="form1" method="post" action="<? echo $PHP_SELF;?>"><div align="center">询问班级注册问题答案<br>
            您的姓名  
            <input type="text" name="name">
            <br>您的留言(写上能证实您身份的简短留言及email地址)
<textarea name="message" rows="3" cols="50"></textarea>
            <br>
            系统将向班级管理员发送您的请求,是否确认?<br>

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

在我们进入代码前,我想要告诉大家的是,这个例子仅仅只是为了向大家解释PHP的各种FTP函数的使用,很多方面还不够完善,比如说,错误分析等,至于你想应用到你自己的程序中,你应该进行一些修改!

          <input type="submit" name="class" value="确认">
            <input type="reset" name="cancel" value="重填">
            <br>
          </div></form>
        </td>
        <td height="75" width="53%">
          <div align="center">
        <form name="form2" method="post" action="<? echo $PHP_SELF;?>">
          询问个人注册密码<br>
          <br>
          您的用户名(不是姓名)<br>
          <br>

ftp_pwd()

程序包括以下几个文件:
index.html - 登录文件

          <input type="text" name="username">
          <br>
          <br>
          <br>
            系统将会向您注册的信箱中发发送密码,是否确认?<br>
          <input type="submit" name="member" value="确认">
          <input type="reset" name="cancel2" value="重填">
        </form>
        </div>
        </td>
      </tr>
    </table>    

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

<?

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

actions.php - 程序必需的FTP代码

</BODY>
</HTML>
悄悄话:privatenote.php
<?
session_start(); // 开始session
if(!session_is_registered("userregister")||($userregister==""))//检查是否注册,如userregister未注册或session为空值,重新注册.
{
echo "<a href='../index.php'>请重新注册<BR>";
exit;
}
//删除留言
include "config.php";
if ($del=="1"){
mysql_query("delete from privatenote where id='$id'",$db); //以id为删除标志
echo "删除成功!";
}
//添加留言
if ($Submit){
$id=time();                     //以时间戳为记录号
$time=date("Y年m月d日 h:i:s A");//留言时间
$result = mysql_query("SELECT * FROM user where user='$userregister'",$db);
$fromuser=mysql_result($result,0,'name');                       //发消息人姓名
$result = mysql_query("SELECT * FROM user where name='$yname'",$db);
$touser=mysql_result($result,0,'user'); ;          //接受人用户名
$message=nl2br(strip_tags($ynote));//留言内容
mysql_query("INSERT INTO privatenote (id,fromuser,touser,time,message) values ('$id','$fromuser','$touser','$time','$message')",$db); //写入数据库
echo "留言成功!";
}
?>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>悄悄话</TITLE>
<style type="text/css">
<!--
.blue9 {  font-size: 10pt; color: #9999FF; text-decoration: none}
.black10 {  font-size: 10pt}
-->
</style>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<table width="64%" border="1" cellspacing="1" cellpadding="1" align="center" ">
  <tr>  
    <td colspan="2" height="63">  
      <div align="center"><img src="image/classlogo.gif" width="224" height="60">  
      </div>
    </td>
  </tr>
  <tr>
    <td class="blue9" colspan="2">  
      <div align="center">
      <?
      $result = mysql_query("SELECT * FROM user where user='$userregister'",$db);
      $name=mysql_result($result,0,"name");//姓名
      echo $name;
      ?>
      的悄悄话</div>
    </td>
  </tr>
  <tr>  
    <td class="blue9" colspan="2">  
      <?php
$result = mysql_query("SELECT * FROM privatenote where touser='$userregister' ORDER BY time DESC",$db);
$row=mysql_num_rows($result);        //悄悄话总数
            $unlook=0;   
              if (!$row==0){
              for ($i=0;$i<$row;$i++){
               $id=mysql_result($result,$i,'id');//留言id
               $fromuser=mysql_result($result,$i,'fromuser');//留言人姓名
               $time=mysql_result($result,$i,'time');        //留言时间
               $message=mysql_result($result,$i,'message');  //留言内容
               $look_s="已看过";                             //注释
               $look=mysql_result($result,$i,'look');        //是否看过
               if ($look=="0"){$unlook++;$look_s="尚未看过";} //计算未看过的悄悄话数目,并改变注释
               mysql_query("UPDATE privatenote SET look='1' where id='$id'",$db);       //将悄悄话看过状态改为1
               echo "第",$i+1,"条 发出人:",$fromuser," 留言时间:",$time,"<BR>";
               echo " 留言内容:",$message,"<BR>------",$look_s;
               echo "<a href='$PHP_SELF?del=1&id=$id'>删除</a><HR>";
              }
              }
              echo "悄悄话总数:",$row,".",$unlook,"条新悄悄话.";
         ?>
</td>
  </tr>
  <tr>  
    <td class="black10" colspan="2">  
      <form method="post" action="<?php echo $PHP_SELF;?>">
        <p align="center">您要给谁发悄悄话?  

?>

万一你需要知道服务器端运行的是什么系统呢?

include.php - 程序主界面,它显示文件列表和控制按钮。

          <select name="yname">
            <?
            $result = mysql_query("SELECT * FROM user",$db);
            $row=mysql_num_rows($result);            //成员人数
            for ($i=0;$i<=($row-1);$i++){
             $name=mysql_result($result,$i,'name');  //姓名
             echo "<option>",$name,"</option>";
            }
            mysql_close($db);
            ?>
          </select>
          <br>
          留言内容:<br>
          <textarea name="ynote" cols="60" rows="6"></textarea>
          <br>
          <b>  
          <input type="submit" name="Submit" value="确认">
          </b>  
          <input type="reset" name="cancel" value="重写">
        </p>
      </form>
    </td>
  </tr>
</table>
</BODY>
</HTML>

ftp_systype()正好提供给你这方面的信息。

<?

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

让我们从 "index.html"开始吧:  

<table border=0 align=center>
<form action="actions.php" method=post>
<input type=hidden name=action value=CWD>
<tr>
<td>
Server
</td>
<td>
<input type=text name=server>
</td>
</tr>

<tr>
<td>
User
</td>
<td>
<input type=text name=username>
</td>
</tr>

<tr>
<td>
Password
</td>
<td>
<input type=password name=password>
</td>
</tr>

<tr>
<td colspan=2 align=center>
<input type="submit" value="Beam Me Up, Scotty!">
</td>
</tr>

</form>

?>

</table>

这是一个登录表单,有一个服务器名称、用户名、密码,输入框。输入的变量将会被存到$server, $username 和 $password 变量中,表单提交后,调用actions.php,它将初始化FTP联接。

注意那个“hidden” 它传给action.php一个变量$action ,值为CWD。

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

<?

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

TAG标签:
版权声明:本文由澳门金莎娱乐网站发布于澳门金莎唯一指定官网,转载请注明出处:杏林同学录