我对PHP不太了解,但是感觉其语言和C类语言的差不多,我试着给你解释一下!一句对一行!
if (!$action || $action == 'file') {
//PHP变量都是$开头的,判断变量$action是否存在,如果不存在返回false,否则是true,由于其前面加!取反操作,那么不存在的话,!$action的结果就是true,其后是||运算符号,只要前面是true即不继续向后面计算(也就是说当变量$action不存在的时候,$action=='file'将不被执行了),直接计算if挎号里的语句!如果$action不存在的话返回false,将继续向后执行||$action=='file',判断它是否等于file,如果它不为file,那么if里的语句将不被执行!否则执行!
$dir_writeable = @is_writable($nowpath) ? 'Writable' : 'Non-writable';
//@is_writable我不知道它的用途是什么,但是字面上看应该是判断是否可读写的,其后是一个条件运算符,这个?:
条件(三目)运算符 (?:)test ? 语句1 : 语句2,在这里的作用是判断@is_writable($nowpath),$nowpath这个变量的可读性,返回一个布尔值,如果为true就执行$dir_writeable='writable',如果为false就执行$dir_writeable='Non-writable',说白了就是给一个变量赋予一个字符串,这里需要说明一点PHP函数前的@is_writable,@的意思是容错,即使出错也不提示,但是PHP最新版本里并不推荐这样使用!
if ($doing == 'deldir' && $thefile) {
//在PHP里没有&,只有&&,它就是一个逻辑与的意思,跟第一句的||逻辑或相附相成,具体什么意思,自己百度了!
这里我想你应该可以自己理解了。
说了这么多。我也不知道你能否理解了!