❶ php 怎么获取当前函数名称
php提供的一些系统常量可以完成这些
php获取当前方法名(函数名) __FUNCTION__
php获取当前类名 __CLASS__ 或者 get_class($this);
php获取本类所有的方法名 get_class_methods($this);实例如下
class Test{
function kkk(){
return get_class_methods(Test);
}
function meme(){
}
function myfunction(){
}
}
$y=new Test();
print_r($y->kkk());
返回结果如下
Array ( [0] => kkk [1] => meme [2] => myfunction )
php获取类中所有的成员属性,返回一个数组 get_class_vars(class name); 实例如下
class Test{
public $tt="dddd";
public $aa="aaaaaaaa";
function kkk(){
return get_class_vars(Test);
}
}
$y=new Test();
print_r($y->kkk());
返回结果如下
Array ( [tt] => dddd [aa] => aaaaaaaa )
❷ PHP怎么删除数据库里的图片路径同时,删除文
unlink()
删除文件。
语法:
int
unlink(string
filename);
返回值:
整数
函数种类:
文件存取
内容说明
本函数删除文件
filename,用法像
unix
中
c
语言呼叫的同名函数
unlink()。当发生错误则返回
0
或
false。
参考
rmdir()
删除的前提是,你的php程序有对目录的写权限。
没有办法一次性的,你可以自己写一个函数,读取该目录下所有文件,然后循环删除文件,再删除目录。
--------------------------------------------------
代码举例:
php删除文件夹及其文件夹下所有文件
function
deldir($dir)
{
$dh=opendir($dir);
while
($file=readdir($dh))
{
if($file!="."
&&
$file!="..")
{
$fullpath=$dir."/".$file;
if(!is_dir($fullpath))
{
unlink($fullpath);
}
else
{
deldir($fullpath);
}
}
}
closedir($dh);
if(rmdir($dir))
{
return
true;
}
else
{
return
false;
}
}
----------------------------------------
php删除指定文件和文件夹
?php
//删除指定目录(文件夹)中的所有文件函数
function
delfile($dir)
{
if
(is_dir($dir))
{
$dh=opendir($dir);//打开目录
//列出目录中的所有文件并去掉
.
和
..
while
(false
!==
(
$file
=
readdir
($dh)))
{
if($file!="."
&&
$file!="..")
{
$fullpath=$dir."/".$file;
if(!is_dir($fullpath))
{
unlink($fullpath);//删除目录中的所有文件
}
else
{
delfile($fullpath);
}
}
closedir($dh);
}
}
//删除指定的目录
function
deldir(dir){
delfile(dir);
if
(is_dir($dir))
{
rmdir($dir);//目录必须是空的
}
}
?
现在,如果想删除d盘中的“我的相片”文件夹中的所有文件,就调用自定义函数delfile。
?php
$dir="d:/我的相片";
delfile($dir);
?
如果想删除d盘中的“我的相片”文件夹,调用自定义函数deldir。
?php
$dir="d:/我的相片";
deldir($dir);
?
❸ PHP中global与$GLOBALS的区别
在PHP编程中,global 和 $GLOBALS 是两种用于在函数内部引用全局变量的方法。它们各自有特定的用途,但经常被混淆。
global 是一个关键字,用于声明一个变量作为全局变量。当你在函数内部使用 global 关键字加上变量名时,你实际上是在引用函数外部定义的同名变量。例如,global $var; 这行代码在函数内部等同于 $var = &$GLOBALS['var'];,它将 $var 的引用传递给函数内部。
$GLOBALS 是一个预定义的超全局变量,它可以存储与全局变量相关联的值。$GLOBALS 本身是一个关联数组,其键名对应变量名,值对应变量的内容。使用 $GLOBALS['var'] 可以访问函数外部定义的变量,与使用 global 关键字的效果相同,但更加灵活,因为可以访问多个变量。然而,这种方法通常不如直接使用 global 关键字简洁。
在函数内部释放全局变量时,使用 global 关键字更为安全和推荐,因为它明确地将外部变量的引用传入函数内部,减少了出错的风险。而直接使用 $GLOBALS['var'] 可能会导致意外的行为,因为 $GLOBALS 是一个数组,可能有其他键名的值,这可能会对程序的预期行为产生混淆。
总结来说,global 和 $GLOBALS 在PHP中用于引用全局变量,但它们的用法和最佳实践略有不同。在编写代码时,理解这些细微差别对于避免潜在错误至关重要。更多关于PHP的知识和讨论,可以加入相应的交流群,但请注意,直接关注、转发、点赞、评论等行为已删除,这里仅提供技术知识的分享。
❹ PHP中的str_repeat函数在JavaScript中的实现
PHP中有一个函数:String
str_repeat($str,
num);挺好用的....以下通过js和php模拟实现。
1:PHP版本
复制代码
代码如下:
/*PHP版实现*/
function
repeat($str,
$num){
return
implode(
$str,
array_fill(0,
$num+1,
'')
);
}
2:JavaScript实现:
复制代码
代码如下:
/*JavaScript实现*/
function
repeat(str,
num){
return
new
Array(
num
+
1
).join(
str
);
}
❺ php 构造函数格式,具体该怎么写应该注意什么呢
在PHP里,如果你没有手写构造函数,则php在实例化这个对象的时候,会自动为类成员以及类方法进行初始化,分配内存等工作,但是有些时候不能满足我们的要求,比如我们要在对象实例化的时候传递参数,那么就需要手动编写构造函数了,手写构造函数有两种写法,只是表现形式不同,其实本质一样
class test
{
function __construct()
{
//your code
}
}
class test
{
function test()//如果方法名跟类名字一样,将被认为是构造函数
{
//your code
}
}
以上为两种基本形式
我刚才说的传递参数进行实例化的例子,简单的写一个参考
class test
{
public $test = '';
function __construct($input = '')
{
$this->test = $input;
}
function getTest()
{
return $this->test;
}
}
$a = new test('a test');
echo $a->getTest()//将输出 a test
$b = new test();
echo $a->getTest()//没有任何输出(其实是有输出,但是输出为空)