标签: php-include

如何使用PHP switch语句检查字符串是否包含单词(但也可以包含其他单词)?

我正在使用PHP开关根据页面URL参数中传入的传入关键字包含某些文件.

例如,URL可以是: ...page.php?kw=citroen%20berlingo%20keywords

在页面内部,我想使用这样的东西:

<?
    switch($_GET['kw']){

        case "berlingo":     
            include 'berlingo.php'
            break;
        case "c4":
            include 'c4.php';
            break;

    } 
?>
Run Code Online (Sandbox Code Playgroud)

我想在第一种情况下做的是包含berlingo.php文件,如果关键字参数包含 berlingo,但它不必仅仅该关键字.

例如,我想包括的berlingo.php文件,如果关键字berlingo,但如它的citroen berlingo.

如何使用PHP case select(switch语句)评估给定字符串是否包含值?

谢谢.

php string switch-statement url-parameters php-include

26
推荐指数
3
解决办法
3万
查看次数

PHP中"包含"的性能成本是多少?

只是想知道是否有人有关于"成本"的信息,包括一个包含100个类文件的大型(600K或更多)php文件.与自动加载单个文件(例如在找到匹配项之前搜索多个目录)相比,它真的有很大的不同吗?

APC缓存会让这个成本微不足道吗?

php performance php-include

22
推荐指数
2
解决办法
6158
查看次数

include():无法打开流:没有这样的文件或目录

这可能只是一个非常愚蠢的问题,但我真的很沮丧,这不起作用.我有一个(home.php)包含的主文件<? include ("/production/fetch_order.php"); ?>.可以看出我正在尝试从home.php访问文件.该文件命名为fetch_order.php生产文件夹中的文件.我的道路是正确的,拼写也是绝对正确的.但是我最终得到了这个错误:

Warning: include(/production/fetch_order.php) [function.include]: 
failed to open stream: No such file or directory in /path/to/home.php on line 119

Warning: include() [function.include]: Failed opening '/production/fetch_order.php'
for inclusion (include_path='.:/path/to/php/php5.3.6/lib/php') in
/path/to/home.php on line 119
Run Code Online (Sandbox Code Playgroud)

php php-include

10
推荐指数
2
解决办法
9万
查看次数

Netbeans找不到我的所有include_once路径

我刚刚将一个较大的php项目导入NetBeans.在顶级目录下,我有"app1","app2","app3"等(每个都映射到一个域名),然后是一个"共享"目录,用于(你猜对了)所有应用程序使用的文件.

在app1/route/Search.inc中它有:

include_once "../shared/lib/search.inc";
Run Code Online (Sandbox Code Playgroud)

但是这行上的ctrl-B什么也没做.有道理,从NetBeans的角度来看,作为一个大型应用程序,它应该是"../../shared/lib/search.inc".但是,对于应用程序的配置方式,上述内容是正确的,NetBeans是错误的.

我如何告诉NetBeans需要多出一个目录?

在Include Path下,我尝试添加"/ full/path/to/app1"(这样就可以找到"../shared/lib/")(我尝试了Private选项卡,然后是Shared选项卡,结果相同.)但是它拒绝,告诉我app1目录已经是应用程序的一部分.没有"做我说的话,不要考虑它,打耳光!" 按钮.

在文件系统中添加符号链接,仅适用于NetBeans,感觉有点难看.

我想知道我是否应该为每个应用程序制作一个NetBeans项目?(我实际上是先尝试过,但由于所有应用程序都在同一个git存储库中,它会产生很多噪音,所以我认为这是错误的方法.)

附加:我最感兴趣的是我的上一个问题的答案 - 将每个应用程序保持为单独的NetBeans项目是标准做法,即使它们都在同一个git存储库中吗?

Product Version: NetBeans IDE 8.0.2 (Build 201411181905)
Updates: NetBeans IDE is updated to version NetBeans 8.0.2 Patch 1
Java: 1.7.0_79; OpenJDK 64-Bit Server VM 24.79-b02
Runtime: OpenJDK Runtime Environment 1.7.0_79-b14
(on linux Mint 17)
Run Code Online (Sandbox Code Playgroud)

php netbeans php-include

10
推荐指数
1
解决办法
340
查看次数

对于包含的HTML代码片段文件,哪种命名约定是正确的?

我有一个index.php文件,它通过PHP包含页面的不同部分.

例如,这包括HTML页面的<head>部分到index.php文件中:

<!doctype html>
<html>
    <head>
        <?php include($_SERVER['DOCUMENT_ROOT']."/PATH-TO-FILE/head.php"); ?>
    </head>

    <body>
        ...
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

"head.php"的内容可能是这样的:

<meta charset="utf-8">
<title>Title of page</title>
<meta name="description" content="Description text...">

...

<link rel="stylesheet" href="stylesheet.css">

...

and so on...
Run Code Online (Sandbox Code Playgroud)

从技术上讲,"head.php"不是PHP文件,因为它不包含任何PHP代码.它也不是有效的HTML文档.它只是一个HTML代码片段.

到目前为止,我总是将这些HTML代码片段文件命名为*.html或*.php.

我的问题是这是否正确?

是不建议给它一个文件扩展名?而不是"head.php"只是"头"?

请记住,可以在服务器的.htaccess文件中设置某些指令,这些指令与*.html和*.php文件的缓存和到期有关.删除文件扩展名并将其从"head.php"重命名为"head"可能会将其从.htaccess文件中提到的指令中排除.

在搜索时我在StackOverflow上找到了这个问题: 我应该对包含HTML片段的文件使用什么扩展名

但是这个问题是在6年前被问到的,并且那里提到了很多不同的文件扩展名,很难说哪个可以使用.

任何人都可以提供有关此问题的最新答案吗?

html php fragment php-include

6
推荐指数
1
解决办法
269
查看次数

在SuiteCRM中包含PHP和JS文件

我使用的是SuiteCRM 7.4.3,需要在整个项目实例中包含两个文件(一个PHP文件和一个JS文件).在这种情况下,最佳做法是什么?我应该在哪里复制源文件以及在哪里包含它们?

javascript php php-include suitecrm

6
推荐指数
1
解决办法
1088
查看次数

NodeJS替代PHP包括?

我来自PHP背景,但我决定在我的最新项目中试用NodeJS(可能还有Express).什么是PHP的替代品包括模板HTML页面?我习惯做:

<?php include('header.php'); ?>
Run Code Online (Sandbox Code Playgroud)

我试过谷歌搜索和搜索Stack Overflow,但找不到NodeJS的替代品.

html javascript php php-include node.js

6
推荐指数
1
解决办法
2308
查看次数

php模板页眉和页脚

对于网站上的每个页面,我都有一个页眉和页脚,所以我决定为两者创建一个模板,然后将它们包含在每个页面上.

<?php include_once("header.php")?>
   contents of the page...        
<?php include_once("footer.php")?>
Run Code Online (Sandbox Code Playgroud)

header.php 包含:

<!DOCTYPE html>
<head>
<title>Items Page</title>
<link rel="stylesheet" href="assets/css/item.css">
<script src="assets/css/item.js"></script>
</head>
<body>
    <header>
        contains a navigation bar  
    </header>
Run Code Online (Sandbox Code Playgroud)

footer.php 包含:

    <footer>...</footer>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

上面的代码是针对Items页面的,但我也有Users页面,它们都有相同的页脚和标题标记,但不同的链接CSS和JS文件.如何改变<link><script>里面<head>的标签上header.php有文件,如果用户导航到用户页面,例如:mysite.com/user/blabla.

"用户"页面的正确链接应为:

<link rel="stylesheet" href="assets/css/user.css">
<script src="assets/css/user.js"></script>
Run Code Online (Sandbox Code Playgroud)

html php php-include

5
推荐指数
1
解决办法
138
查看次数

设置include/require文件的路径

我所有的PHP包含文件都在一个目录中:

https://www.mywebsite.com/includes
Run Code Online (Sandbox Code Playgroud)

在顶级页面中插入这些文件非常简单:

<?php include 'includes/logo.php'; ?>
<?php include 'includes/main_nav.php'; ?>
<?php include 'includes/news.php'; ?>
etc.
Run Code Online (Sandbox Code Playgroud)

对于子目录页面,我一直这样做:

<?php include '../includes/logo.php'; ?>
<?php include '../includes/main_nav.php'; ?>
<?php include '../includes/news.php'; ?>
Run Code Online (Sandbox Code Playgroud)

还有这个:

<?php include '../../includes/logo.php'; ?>
<?php include '../../includes/main_nav.php'; ?>
<?php include '../../includes/news.php'; ?>
Run Code Online (Sandbox Code Playgroud)

到目前为止这么好,但我怀疑它不会继续这么容易.

现在我需要包含这个文件:

top_five_news_stories.php
Run Code Online (Sandbox Code Playgroud)

在这:

news.php
Run Code Online (Sandbox Code Playgroud)

此时,我的相对路径策略失败,因为include中的include只能有一个路径结构.

我已经阅读了几篇推荐使用绝对路径的帖子:

  • dirname(__FILE__)
  • realpath(dirname(__FILE__)
  • $_SERVER["DOCUMENT_ROOT"]

但是,它们都带有与PHP配置,服务器配置或操作系统相关的某种警告.换句话说,通常有人评论说它在他们的情况下不起作用,或者在IIS中不起作用,或者在UNIX中不起作用,或者其他东西.

我没有看到的解决方案是我认为最简单的解决方案:只需设置一个变量:

$base = "https://www.mywebsite.com/includes";
Run Code Online (Sandbox Code Playgroud)

然后:

<?php include $base . "logo.php" ?>
Run Code Online (Sandbox Code Playgroud)

考虑到我已经使用了以类似方式工作的HTML base元素,这种方法让我觉得简单而有效.

但是因为在我读过的任何帖子中没有提到它,我想知道我是否忽视了一个潜在的问题.

坦率地说,如果我今天必须去制作,我会用这个:

<?php include  $_SERVER['DOCUMENT_ROOT'] . '/logo.php" ?>
Run Code Online (Sandbox Code Playgroud)

这对我有用,通常被提及.

但我想知道使用变量是否是一种可靠,有效的方法?

html php html5 path php-include

5
推荐指数
1
解决办法
3247
查看次数

如何在php中包含文件后排除文件?

我们在里面添加一个文件Myfile.php:

require_once 'abc.php';
Run Code Online (Sandbox Code Playgroud)

要么

include_once 'abc.php';
Run Code Online (Sandbox Code Playgroud)

我们将如何删除文件?或者如何abc.php在某段代码之后停止访问文件内容?

php require-once php-include

4
推荐指数
2
解决办法
2万
查看次数