当前位置:首页 » 编程语言 » phpincludephp

phpincludephp

发布时间: 2022-05-02 11:15:24

1. php include路径问题

dirname(__FILE__)得到的是本文件的文件夹
a.php=>include_once(dirname(__FILE__)."/../b.php");

2. PHP里面的include是什么意思连接数据库的时候才用吗后面括号里面的以.php为结尾的文件

$usernc是获取到的用户输入信息($_POST['usernc']),trim()去除字符串首尾的无意义的字符(空格、制表符(就是键盘上的Tab键)、换行符" "(unix及类unix系统的换行符)、回车符" "(又称软换行符,Mac OS X的换行符))。(另外说一下,windows的换行符是" ",也支持" ",但不支持单独的" ")


另外,少用双引号,单引号更快。
双引号支持在字符串中嵌入变量,也支持更多的字符转义(" "," "之类的必须用双引号)。

例如:

<?php
$b='b';
$str="a{$b}c";//相当于$str='a'.$b.'c';但双引号更慢
?>

单引号仅支持很少的转义序列。事实上,它只支持

'''//这是一个单引号字符,相当于"'"

'\'//这是一个反斜线

不过,单引号的速度要快得多。


include可以引入一个PHP文件或HTML文件。

如果引入php文件,那么php会先执行被include的文件中的代码,再执行后面的代码。

如果引入html文件,那么php会直接输出这个文件。


在本例中,连接数据库的代码被放在了conn文件夹下的conn.php中。

所以,在这里包含此文件,就可以连接到数据库。


参见PHP手册:include 和 include_once:

http://php.net/manual/zh/function.include.php

http://php.net/manual/zh/function.include-once.php


举个例子:

inc.php

<?php
echo'a';
?>

b.php

<?php
echo'm';

//include允许相对路径与绝对路径,这里是相对路径
//PHP手册推荐在使用include和require时不使用括号
//因为它们是语法结构(就像if,echo之类的),而不是函数
include'inc.php';
echo'n';
?>

你运行b.php,将会输出:

man

加不加_once都可以,不过建议你不要加,这样运行起来会很慢(慢了好几倍)。

include_once主要是为了防止某些函数被重复定义(多次包含)而报错。

这应该用合理的代码规划来避免,而不是使用_once后缀。

虽然性能问题在小程序中不会得到太大体现,但是在一些复杂的项目中,差劲的代码导致的性能问题一定会让你抓狂。


你结合microtime()函数来测试一下,就可以看出来了。

代码如下:

<?php
//获取代码运行的时间
$t=microtime(TRUE);

//这里放上你要测试的代码

//输出运行时间,代码以毫秒为单位
//直接echo很可能会输出为科学计数法,看起来不直观
printf('%f',microtime(TRUE)-$t);
unset($t);//变量用完就注销是个好习惯
?>

另外,如果文件不存在,include会产生警告。

还有一个函数require,与include类似,不过如果文件不存在会产生错误。require比include快一些,因为include有返回值,而require没有。同样,最好不要使用require_once。


参见PHP手册:require 和 require_once:

http://php.net/manual/zh/function.require.php

http://php.net/manual/zh/function.require-once.php


另外,我建议您不要再看这本书了,这本书的代码就好像是一个初学者写的一样,根本不符合规范,而且会有很大的性能问题。

例如:

(1)数组键名没有加上引号。php会首先查找是否存在以这个键名为名称的常量。如果存在,这段代码就很可能会出问题。如果不存在,php没有办法,只能返回这个字符串。在这查找的过程中,就会造成相当大的性能损失。

(2)大量使用双引号,而且还没有正确利用双引号的特性。

(3)没有过滤用户输入,存在sql注入漏洞。应该把单引号转义。

应该改为:

//适用于大多数数据库,不适用于Sybase
$usernc=addslashes(trim($_POST['usernc']));
//或者
$usernc=mysql_real_escape_string(trim($_POST['usernc']));//仅适用于MySQL

(4)既然有了$_POST['usernc'],为什么还要再用$usernc呢?难道就为了少输几个字符?浪费服务器内存资源。服务器内存资源是非常宝贵的,不应该这样浪费。每执行一次PHP程序都会创建一个新的操作系统线程,并分配2MB的配套内存。使用不当,可能会造成内存泄露(Out of Memory)!如果是在大型网站上,更应注意此类问题。

(5)既然只是判断一条数据是否存在(用户名是否存在),就应该在SQL语句的末尾加上

LIMIT1

否则,会严重影响MySQL性能。不加的话,MySQL找到一条数据后,还会继续查找符合条件的数据(即使并不存在)。如果这个数据表的数据量非常大,那浪费的时间是相当恐怖的!

而加上后,MySQL 搜索到一条数据后就会停止,不会浪费时间。

(6)依赖JavaScript中的history.back()是不对的。如果用户没有保存历史记录(一些浏览器有无痕浏览模式,例如Firefox,Chrome等),或者用户刚好将历史记录清除了,这条语句就会失效。最好的办法是新建一个session变量,例如$_SESSION['history'],将历史记录保存在里面就可以了。再说本例中,程序是应该知道应该跳转到哪个页面的(不是有getuserinfo.php吗?)。

应该直接302重定向。可以使用下面的代码:

//把“网址”替换为相应的URL就行了
//注意:是从http://一直到URL最后
header('Location:网址');

注意,这之前不能有输出。或者,在程序最开始的php文件上方加上:

ob_start();

这样就可以了。


以上这些问题都是应该避免的。

3. php中include('上级目录文件');

当前文件所在目录引用方法为:
<?php
include('test.php');
?>
或者:
<?php
include('./test.php');
?>
上级目录引用方法:
<?php
include('../test.php');
?>
上上级引用方法:
<?php
include('../../test.php');
?>

总结:

其中 . 表示当前目录 ..表示上级目录 /表示目录分隔符

4. PHP中include和require的区别详解

require()语句的性能与include()相类似,都是包括并运行指定文件。不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换require()语句)。这就意味着如果可能执行多次的代码,则使用require()效率比较高。另外一方面,如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用include()语句。 require的使用方法如:require("myfile.php"),这个语句通常放在PHP脚本程序的最前面。PHP程序在执行前,就会先读入require()语句所引入的文件,使它变成PHP脚本文件的一部分。include使用方法和require一样如:include("myfile.php"),而这个语句一般是放在流程控制的处理区段中。PHP脚本文件在读到include()语句时,才将它包含的文件读取进来。这种方式,可以把程式执行时的流程简单化。 incluce在用到时加载 require在一开始就加载 _once后缀表示已加载的不加载 PHP系统在加载PHP程序时有一个伪编译过程,可使程序运行速度加快。但incluce的文档仍为解释执行。include的文件中出错了,主程序继续往下执行,require的文件出错了,主程序也停了,所以包含的文件出错对系统影响不大的话(如界面文件)就用include,否则用require。 require()和include()语句是语言结构,不是真正的函数,可以像php中其他的语言结构一样,例如echo()可以使用echo("ab")形式,也可以使用echo "abc"形式输出字符串abc。require()和include()语句也可以不加圆括号而直接加参数。 include_once()和require_once()语句也是在脚本执行期间包括运行指定文件。此行为和include()语句及require()类似,使用方法也一样。唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。这两个语句应该用于在脚本执行期间,同一个文件有可能被包括超过一次的情况下,确保它只被包括一次,以避免函数重定义以及变量重新赋值等问题。 2、详情 2.1 报错 include引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码。 require引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。 用例子来说话,写两个php文件,名字为test-include.php和test-require.php,注意相同的目录中,不要存在一个名字是test-nothing.php的文件。 test-include.php <?php include 'test-nothing.php'; echo 'abc'; ?> test-require.php <?php require 'test-nothing.php'; echo 'abc'; ?> 浏览http://localhost/test-include.php,因为没有找到test-nothing.php文件,我们看到了报错信息,同时,报错信息的下边显示了abc,你看到的可能是类似下边的情况: Warning: include(test-nothing.php) [function.include]: failed to open stream: No such file or directory in D:\www\test-include.php on line 2 Warning: include() [function.include]: Failed opening 'test-nothing.php' for inclusion (include_path='.;C:\php5\pear') in D:\www\test-include.php on line 2 abc 浏览http://localhost/test-require.php,因为没有找到test-nothing.php文件,我们看到了报错信息,但是,报错信息的下边没有显示abc,你看到的可能是类似下边的情况: Warning: require(test-nothing.php) [function.require]: failed to open stream: No such file or directory in D:\www\test-require.php on line 2 Fatal error: require() [function.require]: Failed opening required 'test-nothing' (include_path='.;C:\php5\pear') in D:\www\test-require.php on line 2 2.2 条件引用 include()与require()的功能相同,用法上却有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。 例如下面例子,如果变量$somg为真,则将包含文件somefile.php: if($some){ include 'somefile.php'; } 但无论$some取何值,下面的代码将把文件somefile.php包含进文件里: if($something){ require 'somefile.php'; } 下面的例子充分说明了这两个函数之间的不同: $i = 1; while ($i < 3) { require "somefile.$i.php"; $i++; } 可以从以上这段代码中看出,每一次循环的时候,程序都将把同一个文件包含进去,很显然这不是我们想要的,可以看出这段代码希望在每次循环时,将不同的文件包含进来,如果要完成这个功能,只能使用函数include(): $i = 1; while ($i < 3) { include "somefile.$i.php"; $i++; } 2.3 文件引用方式 include()执行时需要引用的文件每次都要进行读取和评估,require()执行时需要引用的文件只处理一次(实际上执行时需要引用的文件内容替换了require()语句)可以看出若有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高,若每次执行代码时相读取不同的文件或者有通过一组文件叠代的循环,就使用include(),可以给想要包括的文件名设置变量,当参数为 include()时使用这个变量。

5. 一个PHP文件能多次使用include包涵其他PHP文件吗

可以包含多次,需要注意的是当一个文件被包含时,其中所包含的代码继承了 include 所在行的变量范围。从该处开始,调用文件在该行处可用的任何变量在被调用的文件中也都可用。不过所有在包含文件中定义的函数和类都具有全局作用域。

另外include是一个特殊的语言结构,其参数不需要括号。在比较其返回值时要注意

如果在包含文件中定义有函数,这些函数不管是在 return 之前还是之后定义的,都可以独立在主文件中使用。如果文件被包含两次,PHP 5 发出致命错误因为函数已经被定义,但是 PHP 4 不会对在 return 之后定义的函数报错。推荐使用 include_once 而不是检查文件是否已包含并在包含文件中有条件返回。

说明:

include语句包含并运行指定文件。

6. include的php语句

include()语句包含并运行指定文件。
以下文档也适用于require()。这两种结构除了在如何处理失败之外完全一样。include()产生一个警告而require()则导致一个致命错误。换句话说,如果想在遇到丢失文件时停止处理页面就用require()。include()就不是这样,脚本会继续运行。同时也要确认设置了合适的 include_path。注意在 php 4.3.5 之前,包含文件中的语法错误不会导致程序停止,但从此版本之后会。
寻找包含文件的顺序先是在当前工作目录的相对的 include_path 下寻找,然后是当前运行脚本所在目录相对的 include_path 下寻找。例如 include_path 是 .,当前工作目录是 /www/,脚本中要 include 一个 include/a.php 并且在该文件中有一句 include b.php,则寻找 b.php 的顺序先是 /www/,然后是 /www/include/。如果文件名以 ../ 开始,则只在当前工作目录相对的 include_path 下寻找。
当一个文件被包含时,其中所包含的代码继承了 include 所在行的变量范围。从该处开始,调用文件在该行处可用的任何变量在被调用的文件中也都可用。不过所有在包含文件中定义的函数和类都具有全局作用域。
例子 16-5. 基本的include()例子
vars.php<?php$color = 'green';$fruit = 'apple';?>test.php<?phpecho A $color $fruit; // Ainclude 'vars.php';echo A $color $fruit; // A green apple?> 如果 include 出现于调用文件中的一个函数里,则被调用的文件中所包含的所有代码将表现得如同它们是在该函数内部定义的一样。所以它将遵循该函数的变量范围。
例子 16-6. 函数中的包含
<?phpfunction foo(){ global $color; include 'vars.php'; echo A $color $fruit;}/* vars.php is in the scope of foo() so * * $fruit is NOT available outside of this * * scope. $color is because we declared it * * as global. */foo(); // A green appleecho A $color $fruit; // A green?>例子 16-7. 通过 HTTP 进行的include()
<?php/* This example assumes that is configured to parse .php * * files and not .txt files. Also, 'Works' here means that the variables * * $foo and $bar are available within the included file. */// Won't work; file.txt wasn't handled by as phpinclude '/file.txt?foo=1&bar=2';// Won't work; looks for a file named 'file.php?foo=1&bar=2' on the// local filesystem.include 'file.php?foo=1&bar=2';// Works.include '/file.php?foo=1&bar=2';$foo = 1;$bar = 2;include 'file.txt'; // Works.include 'file.php'; // Works.?>相关信息参见使用远程文件,fopen()和file()。
因为include()和require()是特殊的语言结构,在条件语句中使用必须将其放在语句组中(花括号中)。
例子 16-8. include() 与条件语句组
<?php// This is WRONG and will not work as desired.if ($condition) include $file;else include $other;// This is CORRECT.if ($condition) { include $file;} else { include $other;}?>处理返回值:可以在被包括的文件中使用return()语句来终止该文件中程序的执行并返回调用它的脚本。同样也可以从被包含的文件中返回值。可以像普通函数一样获得 include 调用的返回值。不过这在包含远程文件时却不行,除非远程文件的输出具有合法的 php 开始和结束标记(如同任何本地文件一样)。可以在标记内定义所需的变量,该变量在文件被包含的位置之后就可用了。
因为include()是一个特殊的语言结构,其参数不需要括号。在比较其返回值时要注意。
例子 16-9. 比较 include 的返回值
<?php// won't work, evaluated as include(('vars.php') == 'OK'), i.e. include('')if (include('vars.php') == 'OK') { echo 'OK';}// worksif ((include 'vars.php') == 'OK') { echo 'OK';}?>注:在 php 3 中,除非是在函数中调用否则被包含的文件中不能出现 return。在此情况下return()作用于该函数而不是整个文件。
例子 16-10.include()和return()语句
return.php<?php$var = 'php';return $var;?>noreturn.php<?php$var = 'php';?>testreturns.php<?php$foo = include 'return.php';echo $foo; // prints 'php'$bar = include 'noreturn.php';echo $bar; // prints 1?>$bar 的值为 1 是因为 include 成功运行了。注意以上例子中的区别。第一个在被包含的文件中用了return()而另一个没有。如果文件不能被包含,则返回FALSE并发出一个 E_WARNING 警告。
如果在包含文件中定义有函数,这些函数可以独立于是否在return()之前还是之后在主文件中使用。如果文件被包含两次,php 5 发出致命错误因为函数已经被定义,但是 php 在return()之后不会抱怨函数已定义。推荐使用include_once()而不是检查文件是否已包含并在包含文件中有条件返回。
另一个将 php 文件“包含”到一个变量中的方法是用输出控制函数结合include()来捕获其输出,例如:
例子 16-11. 使用输出缓冲来将 php 文件包含入一个字符串
<?php$string = get_include_contents('somefile.php');function get_include_contents($filename) { if (is_file($filename)) { ob_start(); include $filename; $contents = ob_get_contents(); ob_end_clean(); return $contents; } return false;}?>要在脚本中自动包含文件,参见 php.ini 中的 auto_prepend_file 和 auto_append_file 配置选项。
注:由于这是一个语言结构而非函数,因此它无法被变量函数调用。

7. php include()的具体用法

nclude语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中。

语法:

<?phpinclude'filename';?>

require语句和include的功能是相同的,只是在错误处理方面不一样。

require 会生成致命错误(E_COMPILE_ERROR)并停止脚本。

include 只生成警告(E_WARNING),并且脚本会继续。

(7)phpincludephp扩展阅读:

php语句

include()语句包含并运行指定文件。

以下文档也适用于require()。这两种结构除了在如何处理失败之外完全一样。include()产生一个警告而require()则导致一个致命错误。

换句话说,如果想在遇到丢失文件时停止处理页面就用require()。include()就不是这样,脚本会继续运行。同时也要确认设置了合适的 include_path。注意在 php 4.3.5 之前,包含文件中的语法错误不会导致程序停止,但从此版本之后会。

8. PHP里面include是什么意思啊

include包含文件,一般用于引用数据库连接文件和网站一些共用的文件如:
include("conn.php"); 写上这一句就在这个文件中载入了conn.php文件里面的代码了。

9. php include路径引用

只有与当前php文件同域的文件才能被 include 进来,所以 include 的参数是不能带域名的,只能是本地file的实际路径。
如果允许把其他网站的文件include到自己的文件中,那就太没有安全性了,网络、腾讯、阿里的技术和数据就成为公开化的了。

热点内容
弹反脚本 发布:2025-05-15 01:58:24 浏览:585
安卓按键大师怎么用 发布:2025-05-15 01:54:12 浏览:686
手机ea服务器连不上怎么办 发布:2025-05-15 01:35:03 浏览:450
数据库数据插入语句 发布:2025-05-15 01:30:01 浏览:871
js是无需编译直接运行吗 发布:2025-05-15 01:28:30 浏览:476
android文件夹重命名 发布:2025-05-15 01:13:50 浏览:481
cns脚本 发布:2025-05-15 01:13:38 浏览:722
数据结构与算法笔试题 发布:2025-05-15 01:04:20 浏览:417
搜狗输入法如何直接编辑配置文件 发布:2025-05-15 00:51:47 浏览:668
电箱都有哪些配置 发布:2025-05-15 00:30:21 浏览:74