如果文件存在则返回其他注释

I have the following code:

if(file_exists("../media/books/$oldcover")) {
    unlink("../media/books/$oldcover");
} else { 
    //do nothing 
} 

Why does the if works good and the else returns this annoying note: Unlink(../media/books/) [function.unlink]: Is a directory in (path...)

I want the else doing nothing.

Sounds like your $oldcover variable could be empty and thus is checking if the directory exists or not.

This then tries to unlink the directory instead. Perhaps you should try this:

if($oldcover && file_exists("../media/books/$oldcover")) {
  unlink("../media/books/$oldcover");
} else { 
  //do nothing 
} 

It appears your variable $oldcover is empty. You could also change the conditional to check if the file exists and that it is not a directory.

if(file_exists("../media/books/$oldcover") && !is_dir("../media/books/$oldcover"))