首页 > 编程技术 > php

一个多文件上传的例子(原创)

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

<?
//filename:multi_upload.php
if($ifupload)
{
    $path=AddSlashes(dirname($PATH_TRANSLATED))."upload";
    for($i=1;$i<=8;$i++)
    {
     $files="afile".$i;
     if(${$files}!="none")
     {
        if(copy(${$files},$path.${$files."_name"}))
        {
       
        }
     }
     }
     print "<b>You have uploaded files successfully</b><br>";
     print "<a href="multi_upload.php">Return</a>";
     exit;
}
?>
<html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<title>多个文件上传</title>
<style type="text/css">
<!--
BODY
{
    PADDING-RIGHT: 0px;
    MARGIN-TOP: 0px;
    PADDING-LEFT: 0px;
    FONT-SIZE: 8px;
    MARGIN-LEFT: 0px;
    CURSOR: default;
    COLOR: black;
    MARGIN-RIGHT: 0px;
    PADDING-TOP: 0px;
    FONT-FAMILY: Arial;
    BACKGROUND-COLOR: transparent;
    TEXT-ALIGN: center
}
.TxtInput
$oraUser="username";
$oraPass="password";
$oraDB="(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=数据库ip)(PORT=1521)))(CONNECT_DATA=(SID=数据库SID)))";
$Conn = ocilogon($oraUser,$oraPass,$oraDB) or die( "ORACLE server未启动,请与系统管理员联系.");

本文将演示如何使用PHP连接一个LDAP服务器。具体的例子是连接到一个公共的LDAP服务器并且进行搜索。这个例子模拟的是Netscape Communicator 4.*,通过自己的地址本连接到LDAP资源。
 
LDAP介绍
  可能不少人已经听说过LDAP,但是却不了解它具体是什么东东和如何工作。在这里我将不会很详细地介绍LDAP,只是对该协议做一个简介。
  LDAP是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个集中的地址本使用,不过根据组织者的需要,它可以做得更加强大。
  LDAP最基本的形式是一个连接数据库的标准方式。该数据库为读查询作了优化。因此它可以很快地得到查询结果,不过在其它方面,例如更新,就慢得多。要特别注意的是,LDAP通常作为一个hierarchal数据库使用,而不是一个关系数据库。因此,它的结构用树来表示比用表格好。正因为这样,就不能用SQL语句了。
  简单说来,LDAP是一个得到关于人或者资源的集中、静态数据的快速方式。
要求
   PHPV.4(以前的版本也可以,不过没有经过测试),编译支持LADP,即使用编译时带--with-ldap公共的LDAP目录。在例子中提供了两个。
例子概览
1.设置公共LDAP服务器的信息
2.创建一个LDAP查询
3.连接到LDAP服务器
4.如果连接成功,处理查询
5.格式化输出
6.关闭连接
7.设计搜索界面的HTML表格
8.显示结果
设置公共LDAP服务器的信息
  我们要做的第一件事情是定义所有欲搜索的LDAP服务器的信息
"LDAP_NAME" = 新的LDAP项目的名字
"LDAP_SERVER" = 新的LDAP项目的IP地址或者主机名
"LDAP_ROOT_DN" = 新的LDAP项目的根的辨识名
<?php
$LDAP_NAME[0] = "Netscape Net Center";
$LDAP_SERVER[0] = "memberdir.netscape.com";
$LDAP_ROOT_DN[0] = "ou=member_directory,o=netcenter.com";
$LDAP_NAME[1] = "Bigfoot";
$LDAP_SERVER[1] = "ldap.bigfoot.com";
$LDAP_ROOT_DN[1] = "";
//如果没有选择服务器的话将它设置为0
if(!$SERVER_ID)
$SERVER_ID=0;
?>
建立LDAP查询
  前面已经提到,LDAP查询与SQL查询是不一样的。因此,语句要受到一定的限制,以下是一个基本的例子。
flush();
$ftp_ini_datei    = $argv[1];
require ('./ftp_class.php');
require ($ftp_ini_datei);
echo " Cronjob started : ";
echo date("d.m.Y    - H:i:s");
echo " ";
$newftp    = new myftp;
if(!$anonymous){
    $result     = $newftp->connect($host, $user, $password);
}else{
    $result        = $newftp->connect($host, "anonymous", "mymail@somewhere.com");
}
if (!$result){
    $mydir    = $newftp->changedir($remote_dir);
    $mydir        = $newftp->getdir();
    $merkold_dir    = getcwd();
    chdir($local_dir);
    $mylist     = Array();
    $mylist     = $newftp->get_file_list($mydir);
    
    for ($i=0; $i < sizeof($mylist); $i++)
    {
        $result = $newftp->get_file($mylist[$i], $mymode, $delete);
    }
    $result     = $newftp->ftp_bye();
}else{
    echo "---------------------------------- ";
    echo "no connection established :(         ";
    echo "---------------------------------- ";
}
echo " Cronjob stopped : ";
echo date("d.m.Y - H:i:s");
echo " ";
?>
三 首页新闻发布,让你更新更轻松(上)
--------每次在首页中增加一条消息,加两句话,就得整个页面都上传一遍,真是不值!于是象蓝风这种懒汉就想了一个一劳永逸的办法,真正的动态实时,远程管理编辑,自动维护功能。也可以用来做虚拟社区的公告板。(如果改吧改吧,就可以把你的新闻中心的新闻在首页自动生成提要了,呵呵。)这么多功能,大家多多原谅,嘿嘿。
--------先插几句题外话,我们做网站时,是用html中间点缀PHP呢,还是用PHP来生成html?专业的站点可以把一个功能集中在一页,通过这一页调用不同的模块来实现各个子功能(这样客户端是不是就只有一页了呢?我没有试过)。不管怎样,功能模块化的软件复用是高效率开发的一个重要方法(也能节省你的主机空间哦^_^)。
 
--------好了,下面我们就一起来把功能模块化吧。初学者请仔细阅读代码,尤其要注意基本函数的用法。高手就可以略过这一段了,呵呵(这么认真干吗?都看得人家不好意思了9-()。
 
<?php
/*head.php 为了避免被别人直接键入head.inc下载你的源代码,最好用php做后缀,这样,你的服务器才会先截获它进行处理,呵呵*/
echo "<html><head><title>"
echo "网管之路"//如果标题常变,可做一个函数。
echo "</title></head>"
?>
这是一个写html头的一功能块。
<?php
/*makestr.php 定义一个公用处理文本中超链接的函数,假定文本中链接形式为${http://www.yoyonow.net|网管之路}*/
function makestr($text)
{ $str=$text;
$a=strstr($s,'$}');//切除在$s中'${'之前的子串
if($a){
$b=strstr($a,'}');
if($b){
$la=strlen($a);$ls=strlen($s);//取串长
$s=substr($a,0,$ls-$la);//取子串,第二个参数为起点,第三个参数为取字符的个数
$a=substr($a,2);//去掉'${'
$lb=strlen($b);$la=strlen($a);
$a=substr($a,0,$la-$lb);//取出超链接部分
$b=substr($b,1);//去掉'}'
$ta=strstr($a,"|");//寻找是否存在需要做链接的文字
if($ta){
$la=strlen($a);$lt=(strlen($ta);
$linktext=substr($a,$la-$lt+1);
$a=substr($a,0,$la-$lt);
}
else{
$linktext=$a;
}
$s=$s."<a herf="".$a."">.$linktext."</a>.$b;//准备返回字串
}
}
return($s);
}
--------如果你是一个新手,那么应该找一本html入门的书来看看。否则是很难成为一个PHP高手的。这些你开始看起来 非常简单的处理字符串的函数,经过你的巧妙运用,是能做很多漂亮的事的。下一讲,我们就可以看到我们准备了大半天的成果了,呵呵。

标签:[!--infotagslink--]

您可能感兴趣的文章: