自定义php函数的创建和安装

自定义php函数的创建和安装,php,php-extension,Php,Php Extension,我想知道如何创建一个可以安装在php中的php函数 就像已经内置的功能一样,如: rename copy 我想实现的要点是一个简单的php函数,它可以从整个主机上的任何php页面调用,而不需要在php页面中使用php函数/需要包含 因此,我只想创建一个函数,其工作方式如下: location(); 如果没有给定的输入字符串,将通过echo等输出文件的当前位置,因此您希望扩展PHP的核心语言,创建一个名为location(),用C编写的函数,可以通过以下方式在PHP中完成: echo __F

我想知道如何创建一个可以安装在php中的php函数 就像已经内置的功能一样,如:

rename
copy 
我想实现的要点是一个简单的php函数,它可以从整个主机上的任何php页面调用,而不需要在php页面中使用php函数/需要包含

因此,我只想创建一个函数,其工作方式如下:

location();

如果没有给定的输入字符串,将通过echo等输出文件的当前位置,因此您希望扩展PHP的核心语言,创建一个名为
location()
,用C编写的函数,可以通过以下方式在PHP中完成:

echo __FILE__;

对。玩得开心。

嗯,这里有几个选项。其中之一就是通过编写扩展名来扩展语言。您必须处理PHP源代码,用C编写,并在内部处理Zend引擎。您可能无法在共享主机上使用它,这将非常耗时,可能不值得

我要做的是将所有函数放在一个单独的PHP文件中,比如
helper\u functions.PHP
。现在,进入
php.ini
并添加指令:
auto\u prepend\u file=helper\u functions.php
。此文件应位于
include_path
中指定的目录之一(这也是
php.ini
指令)

这基本上是自动放置
包括'helper_functions.php'在每个脚本上。每个请求都包含这些函数,您可以全局使用它们


.

正如其他人所说,可能有一种更简单、更好的方法来做大多数事情。但如果要编写扩展,请尝试以下链接:


评论部分有讽刺的地方。这不是我的真正意思,Location()模块是我打算实现的一个例子,我意识到echo文件;将完整输出文件的位置,谢谢。我想问的主要问题是,我将如何在php中安装内置函数?你对我如何安装自己的自定义php函数有什么想法吗?这是一个编写扩展的好教程:感谢你对我的问题做出的出色回答,我非常感谢,为了验证你的建议:不要混入php zend并用C#编写它,这既耗时又可能不兼容跨多台机器的大规模灌输,你建议编辑php.ini并放置auto_prepend_文件,这将在每次加载页面时包含一个给定的php函数文件,如果没有调用函数,则不会给出响应,就像我在php源代码中包含了该文件一样。这个Include_路径可以是任何给定的目录,对吗?如果你写了一个扩展名,它必须是C而不是C(这不会太糟糕)。你是对的,如果你不调用那些函数,只要你有函数声明,就不会有响应。但是它仍然是一个普通的php文件,所以如果您有
echo'hello!'
在脚本的顶部,您仍然可以看到
回显每个请求。是的,
include\u path
可以是任何目录,在这里阅读更多关于它的信息:那么我可以在www之外包含一个php文件吗?目录和php+webserver允许浏览的用户区域(非常感谢:)是的,您可以,只要您在
include\u路径中指定它。另外,如果你喜欢这个答案,请向上投票并接受它(左边的向上箭头和复选标记):)。当然,非常感谢。你能给我举个小例子供参考吗?(到另一个文件夹/用户区域)-因为我从中获取的引用正在解释当前目录包含(我怀疑它的工作方式与正常的包含类似)无论如何,非常感谢+1非常感谢您的帮助,这也帮助了我分配,这正是我最初需要的感谢,这实际上是一个靶场上的靶场,非常感谢,它极大地帮助了我的理解