❶ 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()//沒有任何輸出(其實是有輸出,但是輸出為空)