我可以知道如何调用PHP函数吗?
我正在写一个函数,可以返回一个整数值或将此整数写入文件。 我希望通过调用函数来完成这个选择。 我可以做到吗?我可以知道如何调用PHP函数吗?
下面是函数:
function directory_space_used($directory) {
// Space used by the $directory
...
if ("call #1") return $space_used;
if ("call #2") {
$file=fopen(path/to/file, 'w');
fwrite($file, $space_used);
fclose($file);
}
return null;
}
呼叫#1:
$hyper_space = directory_space_used('awesome/directory');
echo "$hyper_space bytes used.";
呼叫#2:
directory_space_used('awesome/directory'); // Write in file path/to/file
如果这是不可能的,我可以用在第二个参数该功能,但我想保持参数的数量尽可能低。
谢谢。
你可以保持数在会话变量,但我会建议第二个参数。它的清洁维护,你总是可以设置默认值,因此它只是用来在案件
function directory_space_used($directory, $tofile = false) {
// Space used by the $directory
...
if ($tofile) {
$file=fopen(path/to/file, 'w');
fwrite($file, $space_used);
fclose($file);
}else{
return $space_used;
}
return null;
}
然后只需拨打一个什么样子:
directory_space_used('....', true) // saves in a file
directory_space_used('....') // return int
你可以添加一个更好的下线代码示例?您可以通过使用帖子下方的修改链接来完成此操作。 – reporter
@ some1special:如果我使用第二个参数,它不会很有趣:) –
@reporter:看看我的问题中的电话。我尽可能写得清楚,因为主代码并不重要。 –
是的,你可以用这个神奇的常量
__FUNCTION__
,你可以读到它 here
只是要你的函数一个参数,而这parametter将是函数的名称请求来自并且在那之后你可以在if语句中使用它。
这是一个伪代码:
//function that you want to compare
function test1() {
//do stuff here
$session['function_name'] = __FUNCTTION__;
directory_space_used($directory,$function_name);
}
//Other function that you want to compare
function test2() {
//do stuff here
$session['function_name'] = __FUNCTTION__;
}
function directory_space_used($directory) {
// Space used by the $directory
...
if(isset($session['function_name'])) {
if ('test1' == $function_name) return $space_used;
if ('test2' == $function_name) {
$file=fopen(path/to/file, 'w');
fwrite($file, $space_used);
fclose($file);
}
} else {
//something else
}
return null;
}
我认为将是更好的选择使用开关的情况下......这只是一个音符。
的test1的AMD TEST2可以随时随地在你的PHP文件和文件夹
感谢所有,似乎更好的方法是在函数中添加第二个参数。没有我想要的那么有趣,但它可以轻松工作,无需使用大量代码。
检查这个简单:-http://php.net/manual/en/function.disk-total-space.php –
谢谢@Anant但是这个函数(和disk_free_space之一)需要整个文件系统,我只是想该目录。 函数可能是其他任何东西,我只是想改变行为,如果我以不同的方式调用函数。 –
你也可以通过目录。 –