下载代码怎么用

2018-07-25 推荐阅读 阅读:

下载代码怎么用篇一:php源码:用PHP和AJAX的XML编程


PHP网免费发布php源码:用PHP和AJAX的XML编程,更多php源码:用PHP和AJAX的XML编程相关信息请访问PHP网。
在 SOA 架构中,程序员经常使用 XML 在应用程序之间交换结构化和半结构化的数据。XML 及其相关技术 — 文档对象模型(Document Object Model,DOM)、XPath、HTTP、XQuery 和可扩展样式表语言转换(Extensible Stylesheet Language Transformations,XSLT) — 为快速应用程序开发提供了一个强大的环境。构建在这些技术之上的应用程序将占用更小的内存空间,需要更低的维护成本,同时又拥有更高的品质和灵活性。
  DB2 和其他关系数据库的 XML 方面的特性已经相当成熟,因此除了存储和管理关系数据之外,它们还是存储和管理 XML 数据的理想选择。DB2 9 XML 支持(称为 pureXML)提供了以纯 XML 的形式(换句话说,就是带注释的、树型的分层存储)存储 XML 的能力。在 DB2 9 中,XML 数据可以用 XML 模式索引,可以从关系数据组合而成,可以分解为关系数据,可以查询和转换,可以独立发布,或者通过混合使用 SQL/XML 和 XQuery 与关系数据组合起来。

  Web 浏览器也正在为客户机脚本提供更多的功能来有效地处理 XML。通过使用异步 JavaScript 和 XML(Asynchronous JavaScript and XML,Ajax),Web 页面现在可以直接对应用服务器进行远程过程调用,并且可以在任何返回的 XML 数据上使用 DOM API。

  本文将展示如何利用 DB2 XML、Ajax 和 PHP Hypertext Preprocessor (PHP) 提供的功能来编写简单的基于 XML 的应用程序。通过示例场景的帮助,您将学习如何在 JavaScript 中调用 PHP 应用程序;如何使用 DOM 和 SimpleXML API 修改 XML 数据;如何将 XML 从客户机传送到应用程序再到数据库;以及如何创建 PHP Web 服务来使用 SQL/XML 和 XQuery 发布关于 XML 数据的报告。

  XML 优点

  大多数应用程序都用于创建、存储、操纵和呈现业务数据。对象包装是指将业务数据绑在一起,使业务逻辑更容易处理它们。这些包装器对象的很多功能都是根据关系和格式化规则来提供业务数据的结构,并使业务逻辑能够操纵、发布和串行化封装的数据。

  图 1. 基于对象包装器的应用程序
  
  图 1 阐释了使用对象包装器的一个示例人寿保险应用程序。每个方框表示一个对象,每个对象至少有:

  ·一个构造函数
  ·Getter 和 Setter 方法
  ·验证代码
  ·内部对象层次的串行化
  这些对象与实际的业务逻辑没有关系。对象包装是为了使业务逻辑更容易管理业务数据。包装数据所需的代码比业务逻辑要多得多。更多的代码将导致更多的 bug、更大的固定性、更多的维护和更高的成本。
如果对象中的数据变量可以格式化为 XML 结构,并且对象的主要作用是将这些数据暴露给业务逻辑并让业务逻辑操纵它们,那么可以用 DOM 代替对象。

  图 2. 基于 XML 的应用程序
  
  图 2 展示了一个使用 XML 和 DOM 包装器的示例保险应用程序。图 1 中的所有数据包装器对象都用一个 DOM 对象代替。业务数据是用 XML 建模的,DOM 提供了必要的 API 来:

  ·创建新的 XML 对象。

  ·更新 XML 对象的值。

  ·导航 XML 对象。

  ·使用 XPath 在对象层次中搜索。

  ·串行化和反串行化 XML 对象层次(换句话说,就是内建持久性)。

  通过使用 XML,可以避免使用大多数用于管理业务数据的包装器对象。应用程序将变得更加简洁,并且更多地将重点放在业务逻辑上,而不是数据管理上。

  XML 和架构

  将 XML 引入架构中可以为表示业务数据带来一种标准化的方式。XML 可以提供数据的结构;XML 模式施加结构和格式化规则;DOM API 和 XQuery、XPath 及 XSLT 之类的语言使业务逻辑可以有效地操纵、发布和串行化数据。由于业务数据的 XML 表示在客户机、中间层和数据库中都是一致的,因此操纵这些对象的代码也是类似的。

  我将展示如何在三层环境中构建基于 XML 的应用程序,这个三层环境由以下几个部分组成:

  ·Web 客户机:Asynchronous JavaScript and XML (Ajax),DOM

  ·应用服务器:PHP 和 SimpleXML

  ·数据库: DB2 9 和 SQL/XML,XQuery
基于 ACORD 人寿数据模型的场景

  我们来考虑一个简单的人寿保险场景,在这个场景中,首先创建一个表示新保单的 XML 文档,然后查询和操纵这个文档,另外还将这个文档从一层移动到另一层。这个文档基于合作运营研究与发展协会(Association for Cooperative Operations Research & Development,ACORD)用于人寿保险规范的 XML,它定义了健康保险和年金保险需要交换的数据。

  为了申请一个新的保险,客户需要提供一些基本信息。部分信息是在一个 PHP 应用程序中填写的,还有一部分是在客户机浏览器中填写的。然后,保单存储在一个 DB2 XML 列中。在 DB2 9 中,XML 类型的列在内部将 XML 数据存储为一棵解析后的树,与关系数据存储在不同的地方。这种方法是 DB2 9 特有的,更早的 DB2 版本则使用关系存储基础设施来存储 XML。

  下面是保单 XML 文档在客户机与应用程序之间的流程:

  ·在 Web 客户机中,客户更新页面并单击 Submit。

  ·Web 客户机向 PHP 发出一个 XMLHTTP 请求,以获得新的空白保单文档。

  ·PHP 应用程序打开一个空白的保单文档,用一个全局惟一标识符(GUID)更新它,然后将该文档返回给 Web 客户机。

  ·Web 客户机使用 Ajax 捕捉返回的事件,并检索 XML DOM,然后用 Web 页面中输入的信息填充该文档。

  ·Web 客户机使用 XMLHTTP 将更新后的 XML 发送给 PHP 应用程序。

  图 3. 创建新的保单请求的 Web 站点。
  
图 3 展示了用于创建新的保单请求的 Web 页面。当用户单击 Submit 按钮后,JavaScript 函数 submitPolicy() 被调用(见清单 1)。该函数向 PHP 应用程序 createNewPolicy.php 发出一个 HTTP 请求,以获得一个空白的保单。它还设置一个回调函数 fillPolicy(),用于捕捉从 HTTP 请求返回的事件。

  
  当个请求到达中间层的 PHP 应用服务器时,一个新的 XML 保单文档被装载到 SimpleXML 对象中。通过使用 SimpleXML API,用 PHP 应用程序中创建的 GUID 更新 TransRefGUID 元素。

  header("Content-type: text/xml");

  $fileContents = file_get_contents("$basedir/acord.xml");

  $dom = simplexml_load_string($fileContents);

  $dom->TXLifeRequest->TransRefGUID=$guid;

  echo $dom->asXML();

  然后,这个文档被发送到客户机。

  对于本文,我们假设 GUID 是通过某种机制(例如时间和随机数的组合)创建的。更重要的是理解如何将表示保单的 XML 文档视作内存中的业务对象层次结构,以及如何使用 SimpleXML API (或 DOM/XPath)来导航和更新这个对象。

  填充基本客户信息

  在 Web 客户机中,fillPolicy() 函数读取返回的值。现在,包含返回 XML 的内存中表示的 DOM 对象可用于操纵保单文档。客户在 Web 页面上输入的信息被直接用于更新 DOM。当使用客户信息更新了保单之后,使用 XMLHTTP 将修改后的 DOM 对象提交回 PHP 应用程序(见清单 2)。即使是 HTML 组件值也是用 DHTMLDocument Object Model (DOM) 读取的。

  

将保单存储在 DB2 中

  PHP 应用程序将传入的 XML 文档直接存储在数据库中,而不需要解析它(见清单 3)。DB2 的 pureXML 支持将隐式地解析传入的 XML,并将其存储在一个类 DOM 的分层结构中。现在,可以在 XQuery 语句中使用 XPath 之类的 XML 导航技术(就像在 DOM 中使用的那样)来查询 XML。DB2 9 还提供了在该层次结构中的任何节点上索引的能力。

  

公开 XML 文档上的服务

  新的保单存储在 DB2 9 中以后,保险代理可以查询该保单,以决定是否接受这个保险。用于获得关于新保单报告的查询通过 Web 服务公开给客户机应用程序。

  这个例子中的 Web 服务是用 PHP 编写的,它为调用实现服务的业务和转换逻辑的 DB2 存储过程提供了一个简洁的接口。每个 DB2 存储过程由一个 SQL/XML 查询组成,它过滤和转换存储在数据库中的 XML 保单,以创建一个输出 XML 文档。然后,该 PHP Web 服务将 XML 文档返回给客户机。

  我们来分析每个存储过程,看看那些有效地组成 Web 服务实现的查询。

  
  列出所有新客户保险的 DB2 查询。包含该查询的存储过程是listAllNewCustomers(见清单 4)。该查询搜索 ACORD 表的 INFO 列中的所有保单文档。在每个 XML 文档中,DB2 进一步向下分析,以便只返回 PolicyStatus/@tc 属性的代码值被设为 12(也就是建议的值)的那些文档。查询输出是一个 XML 文档,它有一个根节点 newpolicylist,该节点包含一系列的用于每个新保单的 TXLife 子节点(见图 4)。
  图 4. 返回新保单列表的 SQL/XML 查询
  
  注意这个查询次如何使用 DB2 XQuery 函数 db2-fn:xmlcolumn 来导航关系模式,以定位到 XML 列 DB2ADMIN.ACORD.INFO。当它到达 XML 列时,它进一步使用 XPath 在 XML 模式中导航到适当的节点(类似于使用 PHP、JavaScript 或其他语言导航 DOM)。

  列出有风险客户的提议保险的 DB2 查询。该查询只列出有风险的新客户(也就是说,他们对于某个医疗问题的回答是 yes)。该查询包含在一个名为 listAtRiskNewCustomers 的存储过程中(见清单 5)。 注意:WHERE 子句同时检查答案和保单状态。

  
  评估有风险新客户的风险度的 DB2 查询。对于以上列表中的每个保单,在保单的健康风险区域只能列出回答为 yes 的问题。该查询还返回 policytype,以显示该保单值多少钱,以便评估风险。包含该查询的存储过程(见清单 6)是 getRiskQuestions(guid)。 注意:您需要一个支持 XML 类型的 DB2 驱动程序版本。否则,在每个存储过程中都需要使用 XMLSerialize 来从 XMLQuery 中串行化 XML 值。请参阅 developerWorks 文章 “结合使用 DB2 原生 XML 与 PHP” 以获得更详细的信息。

  

创建 Web 服务

  用于 getnewpolicyinfo Web 服务的 PHP 代码是一个瘦包装器,它检查所需保单报告的类型,并调用适当的存储过程。然后,将存储过程所返回的值发送回客户机(见清单 7)。注意用 PHP 创建 Web 服务是多么简单。最后三行将该功能公开为一个 Web 服务。在任何客户机中,包括在 PHP 应用程序中,都可以调用 Web 服务,如清单 8 所示。

  
  
  结束语

  在过去几年中,各应用程序层的 XML 支持都已成熟,这导致一种强大的开发环境的出现,这种开发环境可以改变企业应用的设计方式。XML 使开发人员可以为业务文档定义规则和结构,还可以在内存中将文档实例化为分层对象,开发人员可以在任何层使用标准 API 对这种对象进行导航、修改和串行化。Ajax 使基于 Web 的客户机脚本可以调用 DOM API,还可以对中间层进行远程过程调用。PHP 为处理 XML 和 Web 服务提供了最简单的方法之一,因此非常适合基于 XML 的应用程序开发。XML 演变的最后一链是数据库层。DB2 9 使数据库层能操纵 XML。因此这个演变周期宣告结束。

下载代码怎么用篇二:php源码:PHP中通过Web 执行C/C++应用程序


PHP网免费发布php源码:PHP中通过Web 执行C/C++应用程序,更多php源码:PHP中通过Web 执行C/C++应用程序相关信息请访问PHP网。

如果你对Unix/Linux有所了解的话,你应该知道他们大都自带了C和C++的编译器,分别是GCC和G++。
一、简介     如果你对Unix/Linux有所了解的话,你应该知道他们大都自带了C和C++的编译器,分别是GCC和G++。Unix在程序安装及Make等许多地方使用到了这些编译器。利用一些控制台命令,C++和PHP, 我将向你介绍怎样生成一个完整的C++程序例子,他可以在用PHP程序来执行,并能获得相应的输出结果。我将先生成C++程序代码,并编译它,谈后讨论我们将如果通过使用PHP的函数passthru来执行这个程序。从某种意义上来说,这边文章给我们提供一种通过Web页面来访问一般程序的方法。      为了能更好的理解这篇文章,你应该有一台运行着apache和版本php的unix/Linux服务器。同时也应该掌握C++, unix控制台命令,当然一些PHP的编程经验也是必需的。      二、编写一个C++程序      例如,我们可以写一个能够通过命令行还接收参数的C++ 简单程序,并命名为Sampleapp.然后我们能够按照下面的方式给他传递三个不同的参数 :      Sampleapp ?参数一 ?参数二 ?参数三      这个程序的功能是能输出传递给他的参数的个数和每个参数的值,然后我们可以用PHP脚本程序来执行编译好的C++程序。      利用你习惯的文本编辑器,新建一个名为Sampleapp.cpp 的文件,再此文件中输入如下的代码:      #include      int main(int argc, char* argv[])   {   cout << endl << "You passed " << argc-1 << " arguement"   << (argc-1 == 1 ? "" : "s") << "." << endl;      cout << (argc-1 == 1 ? "This" : "These")   << " arguement" << (argc-1 == 1 ? "" : "s") << " "   << (argc-1 == 1 ? "is" : "are") << ": " << endl << endl;      for(int i = 1; i < argc; i++)   cout << "[" << i << "] " << argv[i] << endl;      return 0;   }

  这个C++程序包含的程序的入口点:main(),main()函数带了两个参数:argc(命令行传入参数的个数)和argv(一个包含了所传参数实际值的字符型指针数组)。这个两个参数能被C++编译器自动捕获。      cout << endl << "You passed " << argc-1 << " arguement"   << (argc-1 == 1 ? "" : "s") << "." << endl;;      这句话的意思是获得从执行命令行传入的参数的个数。Argv这个字符型指针数组是从0开始检索的,它至少包含一个实际的值(即本程序的路径和名称),这个值由C++编译器自动地附加上去。条件操作符”?”是用来判断命令行传入地参数是否多于一个。例如,如果命令行过传入两个参数,我们地程序将输出如下信息:      You passed 2 arguments.      cout << (argc-1 == 1 ? "This" : "These")   << " arguement" << (argc-1 == 1 ? "" : "s") << " "   << (argc-1 == 1 ? "is" : "are") << ": " << endl << endl;      接下来,我们同样用条件操作符来输出另一句话。不过要记住,即使我们不从程序执行命令行传入任何参数,main函数地argv[]参数也包含一个值。同样地,如果我们从命令行传入两个参数给程序,程序将输出如下地信息:      These arguments are:      for(int i = 1; i < argc; i++)   cout << "[" << i << "] " << argv[i] << endl;      最后,main函数逐一的输出命令行传入的每个参数,它用到了一个简单的for(;;)循环语句,这个函数能根据参数的个数将参数值一个一个的输出。假如我们传给程序两个参数”first”和second”, for循环输出的结果如下:     [1] ?first   [2] ?second      以上是关于这个C++程序的简单说明,它的功能十分简单,就是将命令行传入的参数用cout函数显示在输出屏幕上。      接下来,我们将编译这个.cpp文件,如果你在Windows平台下,需要telnet到所使用的server上。在这里,我们使用大多Unix机器上都提供的G++编译器来编译这个源文件。不过为了确信你的机器安装了G++,你可以输入如下命令:which g++。如果G++已经安装了,Unix shell将显示出G++所在的全路径。如果没有安装,它将提示你说”command couldn’t be found”. 你可以在这里下载到G++.
在源文件所在的目录输入如下G++命令:
  g++ -c sampleapp.cpp.
  通过这个命令,我们就将. cpp文件编译成了包含机器代码的目标文件。通过 ls ?a命令,你可以发现在本目录下出现了一个新文件sampleapp.o,这就是.cpp源文件被编译成机器码的结果。不过我们最终想要的是一个可执行文件,因为我们还要输入如下的G++命令:      g++ sampleapp.cpp ?o sampleapp      这样我们就获得了一个名为sampleapp的可执行文件。不过注意的是,Unix下的可执行文件跟Windows不一样,它没有任何后缀。      下面我们可以来检验一下程序执行的结果,如果如下命令:      sampleapp one -two /three
  我们可以看到如下的执行结果:      You passed 3 arguments.   These arguments are:      [1] one   [2] ?two   [3] /three     现在,可执行的C++程序成生完毕,下面我们将生成一个能够通过 web浏览器来访问这个程序的PHP教本程序。
三、生成PHP脚本程序     为了能通过Internet来调用我们的C++程序,我们需要生成一个PHP脚本程序。这个PHP脚本程序将有一个Form表单,以便用户能输入可以传给程序Sampleapp的参数。PHP脚本的代码太长就不在这里全部列出了,需要的话可以通过下面的地址来下载它。(Php code)      if(@$submit)   {      }   else   {   }   首先,脚本程序检查看变量$submit是否有值,这个变量$submit的值是程序后面的Form表单提交后传递过来的,它缺省为空值。符号@的作用是当变量$submit的值不存在的时忽略相关的错误信息。      由于变量$submit缺省为空,所以一开始执行else{}中的代码,它在浏览器上简单的显示一个Form表单。Form的action属性设为变量 $PHP_SELF,即表单提交后返回本页。同时Form表单包含了一个文本输入条,这是用来让用户输入要传递给C++程序的命令行参数。Form如下图所示:      一旦我们输入执行命令并提交表单,变量$submit(即按钮Go的名字)就获得一个值,这样PHP教本将执行if{}之间的代码。      if($args == "")   echo " You didn"t enter any arguments.";   else   {   echo " SampleApp Result";   $command = "/htdocs/sampleapp " . escapeshellcmd($args);      passthru($command);   }     变量$args是自动产生的,它的值是Form表单中文本输入条传过来的值。如果没有输入任何信息,程序将简单的告诉用户没有输入任何值。      如果用户输入任何非空的信息,程序将把text域的值,即变量$args传给C++程序。下面这段代码就是执行C++的程序的执行命令:     $command = "/htdocs/sampleapp " . escapeshellcmd($args);
  函数eacapeshellcmd是用来当做安全检查工具,以过滤调一些如”,”,””和””等的特殊字符。这可以防止一些用户企图输入某些字符来调用系统内部命令。     例如,如果你在Form表单的text域中输入”1 ?two /three”,那么变量$command的值就为: /htdocs/sampleapp 1 ?two /three
     你能发现我们定义了程序sampleapp的全路径,在这个例子中,程序文件位于/htdocs目录下。你可以根据的自己程序所在的目录做相应的修改。      passthru($command);      最后,我们使用PHP的函数passthru来执行变量$command所包含的命令并且将原始的执行结果输出到浏览器上。在我的服务器上,返回结果的HTML页面如下:      w在本文即将结束之前,几个可能碰到的问题我想说一下。首先,当你执行sampleapp.php教本程序的时候,如果你没有看到程序的任何输出信息,或许是开了安全模式。如果这样,系统将不会允许PHP脚本来执行系统内部程序。其次,在一些Unix系统上,PHP函数passthru不能将内部程序的输出传递给浏览页面,如果发生这种情况,可以用system函数来代替passthru函数。      四、结论     从本的例子可以看出,Unix操作系统非常强大,并且PHP允许开发者通过脚本以独立的线程来执行系统内部程序。本文的所给的例子非常的简单,但是只要再多花一点功夫,你可以写一个能更新MySQL数据库的c++程序,运行其他系统命令的程序或者是操作系统文件/目录结构的程序。但是,不管怎样,你都应该确保你的系统安全,绝对不能让任何其他的脚本程序随意访问系统内部程序。

下载代码怎么用篇三:php源码:PHP自动把纯文本转换成Web页面代码


PHP网免费发布php源码:PHP自动把纯文本转换成Web页面代码,更多php源码:PHP自动把纯文本转换成Web页面代码相关信息请访问PHP网。
本篇文章的内容。我将告诉你如何使用PHP来快速将纯ASCII文本完美地转换成为可读的HTML标记。

  首先让我们来看一个我朋友希望转换的纯文本文件的例子:
  Green for Mars!
  John R. Doe
  The idea of little green men from Mars, long a staple of science fiction, may soon turn out to be less fantasy and more fact.
  Recent samples sent by the latest Mars exploration team indicate a high presence of chlorophyll in the atmosphere. Chlorophyll, you will recall, is what makes plants green. It"s quite likely, therefore, that organisms on Mars will have, through continued exposure to the green stuff, developed a greenish tinge on their outer exoskeleton.
  An interview with Dr. Rushel Bunter, the head of ASDA"s Mars Colonization Project blah blah...
  What does this mean for you? Well, it means blah blahblah...
  Track follow-ups to this story online at http://www.mars-connect.dom/. To see pictures of the latest samples, log on to http://www.asdamcp.dom/galleries/220/
  相当标准的文本:它有一个标题、一个署名和很多段的文字。把这篇文档转换成为HTML真正需要做的是使用HTML的分行和分段标记把原文的布局保留在Web页面上。特殊的标点符号需要被转换成为对应的HTML符号,超链接需要变得可以点击。
  下面的PHP代码(列表A)就会完成上面所有的任务:
  列表A
让我们来看看它是如何工作的:
 
以下是引用片段:
<?php
// set source file name and path
$source = "toi200686.txt";
// read raw text as array
$raw = file($source) or die("Cannot read file");
// retrieve first and second lines (title and author)
$slug = array_shift($raw);
$byline = array_shift($raw);
// join remaining data into string
$data = join("", $raw);
// replace special characters with HTML entities
// replace line breaks with <br />
$html = nl2br(htmlspecialchars($data));
// replace multiple spaces with single spaces
$html = preg_replace("/ss+/", " ", $html);
// replace URLs with <a href...> elements
$html = preg_replace("/s(w+://)(S+)/", " <a href="" target="_blank"></a>", $html);
// start building output page
// add page header
$output =<<< HEADER
<html>
<head>
<style>
.slug {font-size: 15pt; font-weight: bold}
.byline { font-style: italic }
</style>
</head>
<body>
 
HEADER;
// add page content
$output .= "<div class="slug">$slug</div>";
$output .= "<div class="byline">By $byline</div><p />";
$output .= "<div>$html</div>";
// add page footer
$output .=<<< FOOTER
</body>
</html>
FOOTER;
// display in browser
echo $output;
// AND/OR
// write output to a new .html file
file_put_contents(basename($source, substr($source, strpos($source, "."))) . ".html", $output) or die("Cannot write file");
?>
  步是把纯ASCII文件读取到一个PHP数组里。这通过file()函数很容易就可以完成,这个函数会把文件的每一行都转换成为一个用数字索引的数组中的元素。
  然后,标题和作者行(我假设这两个都是文件的前两行)都通过array_shift()函数从数组里提取出来,放到单独的变量里。数组剩下的成员然后被连接成一个字符串。这个字符串现在就包括了整篇文章的正文。
  文章正文里像“"”、“<”和“>”这样的特殊符号通过htmlspecialchars()函数被转换成相应的HTML符号。为了保留文章的原始格式,分行和分段通过nl2br()函数被转换成HTML的
元素。文章中间多个空格通过简单的字符串替换被压缩成为一个空格。
  文章正文里的URL用正则表达式来检测,两边是元素。当页面在Web浏览器里显示的时候,它会把URL转换成为可点击的超链接。
  然后用标准的HTML规则创建输出的HTML页面。文章的标题、作者和正文都用CSS样式规则格式化。尽管这段脚本没有这样做,但是你可以在这个地方自定义最终页面的外观,你可以向模板添加图形元素、颜色或者其他眩目的内容。
  一旦HTML页面构建完成,它就可以被送到浏览器或者用file_put_contents()保存为静态文件。要注意的是,在保存的时候,原来的文件名会被分解,一个新的文件名(叫做filename.html)会为新创建的Web页面创建。你然后就可以把这个Web页面发布到Web服务器上、保存到光盘上或者对它进行进一步编辑。
  注意:在使用这个脚本创建和保存HTML文件到磁盘的时候,你要确保这个脚本对文件保存的目录有写权限。
  正如你看到的,假如你有标准格式的ASCII纯文本数据文件,你可以相当迅速用PHP把它转换成为可使用的Web页面。如果你已经有了一个 Web网站,并计划把新的Web页面加入进来,那么调试页面生成器所使用的模板,使之适应原有Web网站的外观是相当容易的。你自己试试看!

下载代码怎么用

http://m.zhuodaoren.com/tuijian810546/

推荐访问:代码软件下载

推荐阅读推荐文章

推荐内容

上一篇:html5开发框架 下一篇:成员英语