首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过PHP文件将子目录用作根目录

通过PHP文件将子目录用作根目录
EN

Stack Overflow用户
提问于 2017-01-03 12:58:45
回答 2查看 75关注 0票数 0

我有一个文件index.php和一个目录app。每当我从变量访问app时,我都希望加载index.php目录的内容。

例如:

网址: index.php?url=app/main.php

index.php码

代码语言:javascript
运行
复制
<?php 
     require "system/index.php";
     $url = $_GET["url"];
     load_file($url); 
?>

在这里,我希望用尚未创建的main.php函数从app目录加载load_file。主要目的是在运行app/main.php之前加载一些文件行:2。

下面是我如何实现load_file函数

代码语言:javascript
运行
复制
<?php
    load_file($url) {
        require $url;
    }

问题

实际需要从文件中加载所有内容并打印出来。对于某些文件来说,这是必需的,也不是必需的。每当我需要某个文件时,它的头就会乱七八糟。这意味着如果URL是index.php?url=app/video.mp4,它将显示视频的文本/代码,而不是播放视频。JavaScript和CSS文件也是如此。它们确实加载了代码,但问题是,所有的文件--不管是CSS/JavaScript/ZIP/Image/Video --都被解释为HTML文档。我想要的只是加载每个文件的各自的头。

谢谢你的阅读,如果可以的话,请提供帮助。

EN

回答 2

Stack Overflow用户

发布于 2017-01-03 13:16:09

做这件事有很多方法。如果你想要一条线,你可以试试readfile()

readfile -输出文件 描述 int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] ) 读取文件并将其写入输出缓冲区。

确保您没有从脚本中打印任何其他内容。

请注意,您仍然需要发送一个适当的Content-Type头-该函数称为标头()

票数 0
EN

Stack Overflow用户

发布于 2017-01-04 07:41:54

--这并不能解决的问题,而是引入了一个新的

编辑1

mime_content_type()没有返回所需的/or标头MIME类型。

我想出了解决这个问题的办法。基本上,我必须检测文件的MIME类型,并将其作为头文件发送。感谢您的回答和评论。我搜索了google,并且有一个函数mime_content_type()来识别mime类型。

代码语言:javascript
运行
复制
<?php 
     function load_file($file){
         if(file_exists($file)) {
             header("Content-Type:" . mime_content_type($file));
             readfile($file); // Refer to http://stackoverflow.com/questions/41444074
         }else{
             throw new Exception("File you are trying to find does not exist (/anymore).");
         }
     }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41444074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档