PHP精华教程.doc_第1页
PHP精华教程.doc_第2页
PHP精华教程.doc_第3页
PHP精华教程.doc_第4页
PHP精华教程.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. PHP简介PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的WEB站点。本教程并不想让你完全了解这种语言,只是能使你尽快加入开发动态web站点的行列。我假定你有一些HTML(或者HTML编辑器)的基本知识和一些编程思想。PHP是能让你生成动态网页的工具之一。PHP网页文件被当作一般HTML网页文件来处理并且在编辑时你可以用编辑HTML的常规方法编写PHP。PHP代表:超文本预处理器(PHP: Hypertext Preprocessor)。PHP是完全免费的,不用花钱,你可以从PHP官方站点()自由下载。PHP遵守GNU公共许可(GPL),在这一许可下诞生了许多流行的软件诸如Linux和Emacs。你可以不受限制的获得源码,甚至可以从中加进你自己需要的特色。PHP在大多数Unix平台,GUN/Linux和微软Windows平台上均可以运行。怎样在Windows环境的PC机器或Unix机器上安装PHP的资料可以在PHP官方站点上找到。安装过程很简单。1.1 历史三年前,Rasmus Lerdorf为了创建他的在线简历而创造了个人主页工具(Personal Home Page Tools)。这是一种非常简单的语言。其后越来越多的人们注意到了这种语言并对其扩展提出了各种建议。在许多人的无私奉献下以及这种语言本身的源代码自由性质,它演变成为一种特点丰富的语言,而且现在还在成长中。PHP虽然很容易学习,但是速度上比mod_perl(植入web服务器的perl模块)慢。Andy Gutmans和Zeev Suraki是Zend的主要作者。可以去Zend站点()了解更多。PHP的应用在个人性质的web工程中增长显著。根据Netcraft在1999年10月的报告,有931122个域和321128个IP地址利用PHP技术。1.2 PHP的先进之处应用PHP有许多好处。当然已知的不利之处在于PHP由于是开放源码项目,没有什么商业支持,并且由此而带来的执行速度缓慢(直到PHP4之前)。但是PHP的邮件列表很是有用而且除非你正在运行像Yahoo!或者A这样的极受欢迎的站点,你不会感觉出PHP的速度与其他的有什么不同。最起码我就没有感觉出来!好了,让我们来看看PHP有那些优点:- 学习过程我个人更喜欢PHP的非常简单的学习过程。与Java和Perl不同,你不必把头埋进100多页的文档中努力学习才可以写出一个象样的程序。只要了解一些基本的语法和语言特色,你就可以开始你的PHP编码之旅了。之后你在编码过程中如果遇到了什么麻烦,还可以再去翻阅相关文档。PHP的语法与C,Perl,ASP或者JSP。对于那些对上述之一的语言较熟悉的人来说,PHP太简单了。相反的,如果你对PHP了解较多,那么你对于其他几种语言的学习都很简单了。你只需要30分钟就可以将PHP的核心语言特点全部掌握,你可能已经非常了解HTML,甚至你已经知道怎样用编辑设计软件或者手工来制作好看的WEB站点。由于PHP代码能够无障碍的添加进你的站点,在你设计和维护站点的同时,你可以很轻松的加入PHP使得你的站点更加具有动态特性。- 数据库连接PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的组合。你还可以自己编写外围的函数取间接存取数据库。通过这样的途径当你更换使用的数据库时,可以轻松的更改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。- 可扩展性就像前面说的那样,PHP已经进入了一个高速发展的时期。对于一个非程序员来说为PHP扩展附加功能可能会比较难,但是对于一个PHP程序员来说并不困难。- 面向对象编程PHP提供了类和对象。基于web的编程工作非常需要面向对象编程能力。PHP支持构造器、提取类等。- 可伸缩性传统上网页的交互作用是通过CGI来实现的。CGI程序的伸缩性不很理想,因为它为每一个谠诵械腃GI程序开一个独立进程。解决方法就是将经常用来编写CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。PHP就可以以这种方式安装,虽然很少有人愿意这样以CGI方式安装它。内嵌的PHP可以具有更高的可伸缩性。- 更多特点PHP的开发者们为了更适合web编程,开发了许多外围的流行基库,这些库包含了更易用的层。你可以利用PHP连接包括Oracle,MS-Access,Mysql在内的大部分数据库。你可以在苍蝇上画图,编写程序下载或者显示e-mail。你甚至可以完成网络相关的功能。最好的是,你可以选择你的PHP安装版本需要哪些功能。引用Nissan的Xterra的话来说就是PHP可以做到你想让它做到的一切而且无所不能!1.3 竞争对手:ASP,mod_perl,JSP我当然不清楚ASP/JSP能做些什么。不过明确的是编写那样的代码有多简单,购买它们会有多昂贵以及它们需要多么昂贵和强大的硬件。如果你有什么中立的观点(比如说没有被SUN和Microsoft的百万美金所影响),请顺便通知我。据我所知,JSP基于Java,因此Java程序员可以轻松开始编码。ASP只是一个一般的引擎,具有支持多种语言的能力,不过默认的并且是最常用的还是VBScript。mod_perl与Perl一样强大,只是更快一些。2. PHP基本注意事项2.1) Web Server 如何分辨PHP的档案与HTML档案: 要让Web Server 能执行文件中的PHP程式码,文件的副档名,必须是 .php或 .phtml。2.2) 程式码区域的开始与结束: 为了让Web Server能区分出 PHP的程式码与HTML码,所以,在每段PHP程式码的开头必须加入 复制内容到剪贴板 代码:。2.3) 命令句:在PHP中,每一个命令句必须以分号 复制内容到剪贴板 代码:;作结束。否则会出现问题。2.4) 变数: 变数是用来储存程式执行时的暂存资料。在PHP中,变数之前必需加 复制内容到剪贴板 代码:$的符号。另外,PHP内编码的大小写是有差别的,所以在使用变数时,须注意大小写是否一致。PHP是属于 weakly typed的程式语言,对资料型态的规范较鬆,可以不先经宣告变数,就可以直接使用。好处是,程式写起来比较方便,坏处是,程式出问题时,比较难找出错误。2.5) 程式注解:PHP使用的注解符号,与C+,Java一样,单行的注解使用 复制内容到剪贴板 代码:/。/之后同一行所有的文字,都将不被执行。如果要使用多行的注解,可用 复制内容到剪贴板 代码:/* 和 复制内容到剪贴板 代码:*/的注解符号(上下必须对其)。自/*开始到*/之间的所有文字,在执行时都会被乎略。3. PHP基本程控结构3.1 摘要: 程式控制结构,分为条件式于回圈两种,提供PHP程式決定判断的基本能力。3.2 if 命令句:实例: 复制内容到剪贴板 代码:?phpecho if 范例: ;if($fruit = apple) echo 只有當 $fruit 变量等於是 apple 時, 这一行才会出现; echo 這一行永遠會出现: $fruit = .$fruit.;?3.2.1实例: 复制内容到剪贴板 代码:?phpecho if-else 范例: ;if($fruit = apple) echo 只有当 $fruit 变量等于是 apple 時, 这一行才会出现來; else echo 只要 $fruit 变量不是 apple 時, 就会出现这一行;echo 我們的水果: $fruit = .$fruit.;?3.2.2实例: 复制内容到剪贴板 代码:其他的, 都会出现这一行;echo 我们的水果: $fruit = .$fruit.;?3.2.3 实例:if的另一種用法, 內嵌在其他文件中 复制内容到剪贴板 代码:只有当 $fruit 变量等于 apple 時, 这一行才会出现只有当 $fruit 变量是 orange 時, 才会出现这一行其他的, 都会出现这一行我们的水果: $fruit = 3.3 switch 命令句:用以当出于各种条件下选择后出现的结果可以很好的替换多个if和elseif实例: 复制内容到剪贴板 代码:3.3.1使用变量实例: 复制内容到剪贴板 代码:3.4 while 回圈:当 condition 的值为真时,一直执行 和 所包围住的程式区段,直到 condition的值变成假的为止。所以,使用while回圈時,要特別注意,程式区段里的命令句,或?condition 这个运算式本身,必须要能随时更新,让 condition 能变成假的值。实例: 复制内容到剪贴板 代码:while(condition) statement 1; statement 2; . . statement n;3.4.1所包围的程式区段, 改变 while 的 condition实例: 复制内容到剪贴板 代码:?php$i = 0;while($i 10) echo $i 的平方: .$i * $i.;$i+;?3.4.2 while 的另一种用法, 內嵌在其他文件中实例: 复制内容到剪贴板 代码:?php while($i+ 的平方: 3.5 for 回圈:用法差不多,但还是给点实例吧实例: 复制内容到剪贴板 代码:?phpfor($i = 1; $i 10; $i+)echo $i.$i * $i.;echo ;?3.5.1 for 的另一种用法, 內嵌在其他文件中实例: 复制内容到剪贴板 代码:数字平方?php for($i = 1; $i 3.6 利用$_GET:$_GET可以从网址获取变量信息,比如说: /index.php?action=haha那么,PHP档案就可以这样写(把$_GET引用近来): 复制内容到剪贴板 代码:?phpif(PHP_VERSION 综合小实例:写一個程式模拟投掷一颗骰子6000次,并记录每每个点数,出现的次数。实例1:code?phpdefine (THROWS, 6000);$p1 = 0;$p2 = 0;$p3 = 0;$p4 = 0;$p5 = 0;$p6 = 0;for($i = 0; $i THROWS; $i+) $p = rand(1, 6); switch($p) case 1: $p1+; break; case 2: $p2+; break; case 3: $p3+; break; case 4: $p4+; break; case 5: $p5+; break; case 6: $p6+; break; echo END掷骰子 点数 次数 1 $p1 2 $p2 3 $p3 4 $p4 5 $p5 6 $p6END;?实例2: 复制内容到剪贴板 代码:?phpdefine (THROWS, 6000);$p = array(0,0,0,0,0,0,0);for($i = 0; $i THROWS; $i+) $points = rand(1, 6); $p$points+;echo END掷骰子: 使用阵列 点数 次数 1 $p1 2 $p2 3 $p3 4 $p4 5 $p5 6 $p6END;?4. PHP数据类型 PHP支持整数、浮点数、字符串、数组和对象。变量类型通常不由程序员决定而由PHP运行过程决定(真是好的解脱!)。当然,如果你喜欢的话,你也可以使用cast或者函数settype()将某种类型的变量转换成指定的类型。 4.1 数值 数值类型可以是整数或是浮点数。你可以用以下的语句来为一个数值赋值: 复制内容到剪贴板 代码:$a = 1234; # 十进制数 $a = -123; # 负数 $a = 0123; # 八进制数 (等于十进制数的83) $a = 0x12; # 十六进制数(等于十进制数的18) $a = 1.234; # 浮点数双精度数 $a = 1.2e3; # 双精度数的指数形式 字符串 字符串可以由单引号或双引号引出的字段定义。注意不同的是被单引号引出的字符串是以字面定义的,而双引号引出的字符串可以被扩展。而且,在双引号字符串中可以使用反斜杠()在字符串中加入转义序列和转换字符。举例如下: 复制内容到剪贴板 代码:$first = Hello; $second = World; $full1 = $first $second; # 产生 Hello World $full2 = $first $second;# 产生 $first $second $full3=01DC studio,. 2000 copyright. ; 请注意最后一行,如果需要在字符串中使用双引号,可以使用反斜杠字符,象该行语句所示。这里的的反斜杠用来使双引号的功能改变。 可以将字符和数字利用运算符号连接起来。字符被转化成数字,利用其最初位置。在PHP手册中有详细的例子。 4.2 数组与哈希表数组与哈希表以同样的方法被支持。怎样运用取决于你怎样定义它们。你可以用list()或者array()来定义它们,也可以直接为数组赋值。数组的索引从0开始。虽然我在这里没有说明,但是你一样可以轻易的使用多维数组。 / 一个包含两个元素的数组 $a0 = first; $a1 = second; $a = third; / 添加数组元素的简单方法 / 现在$a2被赋值为third echo count($a); / 打印出3,因为该数组有3个元素 / 用一个语句定义一个数组并赋值 $myphonebook = array ( sbabu = 5348, keith = 4829, carole = 4533 ); / 噢,忘了教长吧,让我们添加一个元素 $myphonebookdean = 5397; / 你定义的carale元素错了,让我们更正它 $myphonebookcarole = 4522 / 我还没有告诉你怎样使用数组的相似支持方式吗?让我们看一看 echo $myphonebook0; / sbabu echo $myphonebook1; / 5348 其他一些对数组或哈希表有用的函数包括sort(),next(),prev()和each()。 4.3 对象 使用new语句产生一个对象: 实例: 复制内容到剪贴板 代码:do_foo();? 4.4 改变变量类型在PHP手册中提到:PHP不支持(也不需要)直接在声明变量时定义变量类型;变量类型将根据其被应用的情况决定。如果你为变量var赋值为一个字符串,那么它变成了一个字符串。如果你又为它赋了整数值,那么它就变成了整数。 复制内容到剪贴板 代码:$foo = 0; / $foo是字符串(ASCII 48) $foo+; / $foo是字符串1 (ASCII 49) $foo += 1; / $foo现在是整数(2) $foo = $foo + 1.3; / $foo是一个双精度数(3.3) $foo = 5 + 10 Little Piggies; / $foo是一个整数(15) $foo = 5 + 10 Small Pigs; / $foo是一个整数(15) 如果想要强行转换变量类型,可以使用与C语言相同的函数settype()。 4.5 变量与常量在上一帖已经用到了变量,所有变量都是局部变量,为了使得定义的函数中可以使用外部变量,使用global语句。而你要将该变量的作用范围限制在该函数之内,使用static语句。 实例: 复制内容到剪贴板 代码:PHP内置了许多已定义的变量。你也可以用define函数定义你自己的常量,比如define(CONSTANT,value)。 4.6 运算符 PHP具有C,C+和Java中的通常见到的运算符。这些运算符的优先权也是一致的。赋值同样使用=。 4.5.1算术和字符 以下只有一种运算符是有关字符的: 复制内容到剪贴板 代码:$a + $b :加 $a - $b :减 $a * $b :乘 $a / $b :除 $a % $b :取模(余数) $a . $b :字符串连接 4.5.2逻辑和比较 逻辑运算符有: 复制内容到剪贴板 代码:$a | $b :或 $a or $b :或 $a & $b :与 $a and $b :与 $a xor $b :异或 (当$a或$b为true时为true,两者一样时为false) ! $a :非 复制内容到剪贴板 代码:比较运算符有: $a = $b :相等 $a != $b :不等 $a $b :小于 $a $b :大于 $a = $b :大于等于 与C一样PHP也有三重运算符(?:)。位操作符在PHP同样存在。 优先权 就和C以及Java一样! 4.7 控制流程结构 PHP有着与C一样的流程控制。大部分在上一贴已经解释过,在这儿让大家复习复习4.7.1 if, else, elseif, if(): endif 复制内容到剪贴板 代码:if (表达式一) . . . elseif (表达式二) . . . else . . . / 或者像Python一样 if (表达式一) : . . . . . . elseif (表达式二) : . . . else : . . . endif ; 4.7.2 while, do.while, for 复制内容到剪贴板 代码:while (表达式) . . . do . . . while (表达式); for (表达式一; 表达式二; 表达式三) . . . /或者像Python一样 while (expr) : . . . endwhile ; 4.7.3 switch switch是对多重if-elseif-else结构的最好的替换: 实例: 复制内容到剪贴板 代码:switch ($i) case 0: print i equals 0; case 1: print i equals 1; case 2: print i equals 2; 4.7.4 break, continue break中断当前的循环控制结构。 continue被用来跳出剩下的当前循环并继续执行下一次循环。 4.7.5 require, include 就像C中的#include预处理一样。你在require中指定的那个文件将替代其在主文件中的位置。在有条件的引用文件时,可以使用include()。这样就使得你可以将复杂的PHP文件分割成多个文件并且在不同需要时分别引用它们。 4.8 函数你可以像以下的例子一样定义自己的函数。函数的返回值可以是任何数据类型: 实例: 复制内容到剪贴板 代码:function foo (变量名一, 变量名二, . . . , 变量名n) echo Example function.n; return $retval; 所有PHP代码都可以出现在函数定义中,甚至包括对其他函数和类的定义。函数必须在引用之前定义。 4.9 类 利用类模型建立类。由于较复杂,这里不加解说 实例: 复制内容到剪贴板 代码:class Employee var $empno; / 员工人数 var $empnm; / 员工姓名 function add_employee($in_num, $in_name) $this-empno = $in_num; $this-empnm = $in_name; function show() echo $this-empno, $this-empnm; return; function changenm($in_name) $this-empnm = $in_name; $sbabu = new Employee; $sbabu-add_employee(10,sbabu); $sbabu-changenm(babu); $sbabu-show();5. PHP函式的应用函式,是一个独立的程式码区段,只需撰写一次,就可以让程式的其他部分,藉由呼叫函式的方式,重复使用。通常,函式会接受参数,执行特定的功能,传回程式执行的结果。藉由使用函式,可以节省你的程式开发时间,以及减少程式的臭虫,提高程式的可维护性。但是,光是把程式码,写成函式,并不会让你的程式变得更好,或是让你的工作变得更轻鬆。你必须学习养成如何撰写好的函式。好的函式,通常有以下的特质:最好不超过一页:太长的函式,通常不好维护,而且容易发生错误。 函式只执行一个特定的功能:如果,在一个函式裡面,执行多个功能时,通常必须把各功能,再切割成独立的函式。这样,才可以更模组化,在主程式组合这些功能时,能更有弹性。 好的函式,会有好名字:如果,你无法替你的函式,找出一个好名字的话,通常代表,你对函式的功能,没有具体的认知。自然无法写出好的函式。 我们使用范例,来学习如何撰写函式:1) 函式的语法。 2) 参数传递。 3) 预设参数。 4) 函式内变数的范围。 5) 使用 include()函式,来建立自己的函式库。5.1 函式的语法撰写函式时,在 function保留字之后,接著是使用者自己命名的函式名称。函式名称之后,是由括弧所包含的是要交给函式处理的参数。视情况需要,函式可以接受任何数目的参数,包括不接受任何参数。之后,是由 和 所包含的程式区段。 函式的执行:在主程式呼叫函式之后,自 开始由上而下的顺序,一直执行到 為止或碰到 return 的命令句时结束。 return 可以用来结束函式的执行,return 后面如果有接任何运算式,则会将运算式所得的结果,传回给主程式。 实例: 复制内容到剪贴板 代码:function 函式名称(参数1,参数2, .参数n)程式码实例: (无参数, 无回转值) 复制内容到剪贴板 代码:实例: (无参数, 有回转值) 复制内容到剪贴板 代码:实例: (有参数, 有回转值) 复制内容到剪贴板 代码:?phpfunction numberOptions($start, $end, $selected) $option = ; for($i = $start; $i = $end; $i+) $list .= $i; return $list;$yr = date(Y) - 1911;$yr_start = $yr - 5;$yr_end = $yr + 5;$mn = date(m);$dy = date(d);$yr_option = numberOptions($yr_start, $yr_end, $yr);$mn_option = numberOptions(1, 12, $mn);$dy_option = numberOptions(1, 31, $dy);?民国 年月日5.2 参数传递当其他部分的程式码,呼叫函式,以变数当作参数,传递给函式时,实际上函式所接受到的是这个变数的值,所以,在函式中的程式码,如果更改这个变数时,并不会影响到原本程式中的变数。这种参数的传递方式,称之為值的传递。另一种参数传递的方式,称之為参照的传递。使用这种方式传递参数给函式处理时,当函式更改参数的值,原本程式的变数值也会跟著改变。使用参照传递方式,在函式的定义中,参数之前必须加上 &符号。其他程式,呼叫这个函式时,必须在这个参数使用变数,不可以是其他的运算式(如:常数、定数)。 实例: 复制内容到剪贴板 代码:?phpfunction add_by_value($value, $increment) $value += $increment;function add_by_reference(&$value, $increment) $value += $increment;$n = 100;$i = 50;echo 原本 n 的值: .$n.;add_by_value($n, $i);echo 值传递之后 n 的值: .$n.;add_by_reference($n, $i);echo 参照传递之后 n 的值: .$n.;?5.3 预设参数函式使用预设参数时,呼叫函式的程式,可以不需要提供这个参数,而使用函式中所定义的参数预设值。使用预设参数时,预设参数必须放在非预设参数的后面(右边)。 实例: 复制内容到剪贴板 代码:?phpfunction numberOptions($start, $end, $selected=3) $option = ; for($i = $start; $i = $end; $i+) $list .= $i; return $list;$number_options = numberOptions(1, 10);?5.4 函式内变数的范围函式内所使用的变数,除非特别指定,均為区域变数。区域变数的范围,只限定在定义这个变数的函式内。函式外即使有同名的变数,因為范围不同,所以是另一个变数。两者不会互相影响。如果,在函式之内有特别指定变数范围(在变数名称之前,加上 global 保留字)。变数变成全域变数。实例: 复制内容到剪贴板 代码:?phpfunction local_scope() $x = 5;function global_scope() global $x; $x = 10;$x = 0;echo 原本 x 的值: .$x.;local_scope();echo 呼叫 local_scope()函式之後, x 的值: .$x.;global_scope();echo 呼叫 global_scope()函式之後, x 的值: .$x.;?5.5 使用 include() 函式,來建立自己的函式库到目前为止,所有的函式,都是写在和主程式同一个网页中,所以,只有这个主程式的网页可以呼叫这些函式。更好的做法,是把所有函式按照功能的类别,写在同一个档案。然后,在主程式中,使用 include() 或 include_once() 函式,将函式的档案,含括在主程式中。透过含括档案的方式,就可以把函式的功能,提供给其他的PHP网页程式使用。实例: (使用含括档案的方式) 复制内容到剪贴板 代码:?php/ 档名: 110_07.phpfunction numberOptions($start, $end, $selected) $option = ; for($i = $start; $i = $end; $i+) $list .= $i; return $list;?民国 年月日6. PHP物体导向程式设计PHP 支援物件导向程式设计,虽然就纯粹的物件导向程式设计的观点来看,它的支援并不是很完整,但是,只要我们遵循良好的程式设计习惯,我们还是可以善用 PHP ,来开发物件导向的程式。I 为什么要使用物件导向的程式设计?在物件导向程式设计的观念提出之前,软体开发者,大多是使用结构化的程式设计。所谓结构化的程式设计,就是把问题切割成各个比较小的问题,比较小的问题,如果还是复杂到无法以一个函式来解决时,就在切割成为更小的问题。直到可以用一个单一的函式来解决为止。每个函式处理个别的功能,主程式藉由呼叫各个函式,来完成他的工作。在上一个帖子函式的应用,我们应用了结构化的程式设计,将留言版的功能分割成各个函式,各网页藉由呼叫各函式的方式,完成存取留言版资料的工作。使用结构化的程式设计,的确简化了我们撰写程式的工作,也提高了程式的可维护性。但是,结构化程式设计在开发大型专案时,还是无可避免的碰到了他的瓶颈。因为,结构化的程式设计,专注于功能面(函式)的开发,而往往忽略了功能所要处理的资料。被处理的资料与功能在结构化的程式设计是分离的关系。在大型专案的开发上,由于要处理的问题,相对的要复杂许多,如果,资料与函式之间没有关联性,很容易发生错误,维护起来也很不方便。后来,物件导向程式设计的兴起,就是为了解决,结构化程式设计所面临的资料与功能分离的问题。II 物件导向程式设计的常用名词:i)属性(Property):即物件里的资料(变数)。 ii)方法(Method):即物件里的功能(函式)。 iii)成员(Member):即类别里所定义的变数或函式。 iv)物件:类别的实例。 v)类别:物件的定义。由使用者所定义的资料型态。 III 物件导向程式设计的支柱物件导向程式设计的三大支柱,称之为 PIE(Polymorphism多变, Inheritance继承, Encapulat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论