PHP Velho Oeste 2024

require_once

require_once 구문은 PHP가 파일을 이미 포함하였는지 확인하여 다시 include(require)하지 않는 점을 제외하면, require와 동일합니다.

_once 동작에 대한 정보와, _once 없는 것과 어떻게 다른가에 대해서는 include_once 문서를 참고하십시오.

add a note add a note

User Contributed Notes 4 notes

up
191
bimal at sanjaal dot com
12 years ago
If your code is running on multiple servers with different environments (locations from where your scripts run) the following idea may be useful to you:

a. Do not give absolute path to include files on your server.
b. Dynamically calculate the full path (absolute path)

Hints:
Use a combination of dirname(__FILE__) and subsequent calls to itself until you reach to the home of your '/index.php'. Then, attach this variable (that contains the path) to your included files.

One of my typical example is:

<?php
define
('__ROOT__', dirname(dirname(__FILE__)));
require_once(
__ROOT__.'/config.php');
?>

instead of:
<?php require_once('/var/www/public_html/config.php'); ?>

After this, if you copy paste your codes to another servers, it will still run, without requiring any further re-configurations.

[EDIT BY danbrown AT php DOT net: Contains a typofix (missing ')') provided by 'JoeB' on 09-JUN-2011.]
up
14
bobray99 at softville dot com
1 year ago
Be careful when using include_once and require_once for files that return a value:

fiddle2.php
<?php
return "Some String";

fiddle.php
<?php
$s
= require_once('fiddle2.php');
echo
"\n" . $s;
$s = require_once('fiddle2.php');
echo
"\n" . $s;

/* output 
Some String
1
*/

The second time require_once occurs, it returns 1 because the file has already been included.
up
9
boda0128318 at gmail dot com
3 years ago
1 - "require" and "require_once"  throw a fatal error if the file is not
       existing  and stop the script execution

2 - "include" and "include_once" throw a warning and the execution
       continues

3 - "require_once" and "include_once" as their names suggests ,
      they will not include the file if the file was already included with
      "require", "require_once", "include" or "include_once"

try the following code:

create a file called "index.php"

<?php

require "first.php"// this will include the file

include_once "first.php"// this will not as it was included using "require"

require_once "first.php"// this will not as it was included using "require"

?>

and another file that is called "first.php" and write the following header

-------------------------------

<h1>Hello every one</h1>

--------------------------------

i hope this will help you
up
15
powtac at gmx dot de
8 years ago
"require_once" and "require" are language constructs and not functions. Therefore they should be written without "()" brackets!
To Top