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

 更新时间:2016年11月25日 16:53  点击:1907
<?
//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--]

相关文章

  • Linux下PHP安装curl扩展支持https例子

    安装curl扩展支持https是非常的重要现在许多的网站都使用了https了,下面我们来看一篇关于PHP安装curl扩展支持https例子吧。 问题: 线上运行的lamp服务器,默认yu...2016-11-25
  • Php文件上传类class.upload.php用法示例

    本文章来人大家介绍一个php文件上传类的使用方法,期望此实例对各位php入门者会有不小帮助哦。 简介 Class.upload.php是用于管理上传文件的php文件上传类, 它可以帮...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • jQuery实现简单的文件上传进度条效果

    本文实例讲述了jQuery实现文件上传进度条效果的代码。分享给大家供大家参考。具体如下: 运行效果截图如下:具体代码如下:<!DOCTYPE html><html><head><meta charset="utf-8"><title>upload</title><link rel="stylesheet...2015-11-24
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • 借助FileReader实现将文件编码为Base64后通过AJAX上传

    这篇文章主要介绍了借助FileReader实现将文件编码为Base64后通过AJAX上传的方法,包括后端对文件数据解码并保存的PHP代码,需要的朋友可以参考下...2015-12-25
  • php使用floor去掉小数点的例子

    floor会产生小数了如果我们不希望有小数我们是可以去除小数点的了,下面一聚教程小编来为各位介绍php使用floor去掉小数点的例子,希望对各位有帮助。 float floor (...2016-11-25
  • js实现上传文件添加和删除文件选择框

    这篇文章主要为大家详细介绍了js实现上传文件添加和删除文件选择框 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-25
  • jQuery+ajax简单实现文件上传的方法

    这篇文章主要介绍了jQuery+ajax简单实现文件上传的方法,结合实例形式简单分析了jQuery基于ajax的post方法进行文件传输及asp.net后台处理技巧,需要的朋友可以参考下...2016-06-12
  • 适用于初学者的简易PHP文件上传类

    本文实例讲述了PHP多文件上传类,分享给大家供大家参考。具体如下:<&#63;phpclass Test_Upload{ protected $_uploaded = array(); protected $_destination; protected $_max = 1024000; protected $_messages =...2015-10-30
  • js 实现文件上传样式详情

    这篇文章主要介绍了js 实现文件上传样式,下面文章举例说明js 是如何实现文件上传样式的,附有代码详细解说,需要的朋友可以参考一下,希望对你有所帮助...2021-10-21
  • PHP利用APC模块实现大文件上传进度条的方法

    php 大文件带进度的上传,一直是一个令php程序员很苦恼的问题。查询baidu 、Google ,大体做带进度的上传方式为:flash+php,socket,apc+php等,下面我介绍了apc +php+ajax制作的带进度的上传,并贴出源码,希望对大家有用。 Altern...2015-10-30
  • C#文件上传的简单实现

    这篇文章主要为大家详细介绍了C#文件上传的简单实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • php需登录的文件上传管理系统

    本文给大家介绍一个不错的需要登录的php 文件上传管理系统,功能简单有需要了解的同学可参考。 代码如下<&#63;php$admin_pw="admin";//管理密码$uploaddir="upload";//上传目录session_start();if($_GET['action']=="g...2015-10-30
  • asp.net html控件的File控件实现多文件上传实例分享

    asp.net中html控件的File控件实现多文件上传简单实例,开发工具vs2010使用c#语言,感兴趣的朋友可以了解下,必定是多文件上传值得学习,或许本文所提供的知识点对你有所帮助...2021-09-22
  • TypeScript前端上传文件到MinIO示例详解

    这篇文章主要为大家介绍了TypeScript前端上传文件到MinIO示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪...2022-10-12
  • JQuery异步提交表单与文件上传功能示例

    这篇文章主要介绍了JQuery异步提交表单与文件上传功能,结合实例形式分析了jQuery表单提交及文件传输操作的相关实现技巧,需要的朋友可以参考下...2017-01-16
  • PHP文件上传主要代码讲解

    复制代码 代码如下:<?php if($_FILES['myfile']['name'] != '') { if($_FILES['myfile']['error'] > 0) { echo "错误状态:" . $_FILES['myfile']['error']; } else { move_uploaded_f...2013-10-04
  • 纯Css实现下拉菜单的简单例子

    下面我们来看一篇关于纯Css实现下拉菜单的简单例子,希望这篇文章能够给各位同学带来帮助,具体步骤如下. 大家可能会经常用到hover这属性,用hover实现鼠标经过的颜...2017-01-22
  • 使用jQuery.form.js/springmvc框架实现文件上传功能

    这篇文章主要介绍了使用jQuery.form.jsspringmvc框架实现文件上传功能,非常具有参考借鉴价值,感兴趣的朋友一起学习吧...2016-05-14