先說assert函數:
在php5中 assert是一個函數,可以通過$f="assert"; $f(...); 來動態執行一些代碼。
在php7中 assert不再是一個函數,變成了一個語言結構(類似eval)。記得有一篇文章說不能再作爲函數名動態執行代碼,但是我這裏在7.0.12中還是執行成功了。這裏還不知道是什麼原因。
file_put_contents(); 也可以執行代碼,在第二個參數
file_put_contents("1.txt" , ${phpinfo()}); 可以成功執行代碼 ,第一個參數也是如此,和第二個參數是一樣的。