为什么这总是死?

ggg*_*ggg 0 php

$extension = "jpg"

    if($extension != "jpg" || $extension != "gif" || $extension != "png") die("only jpg, gif, png acceptable");
Run Code Online (Sandbox Code Playgroud)

它总是似乎死().

Noo*_*ilk 6

&&不想要||.

请阅读以下内容:

"如果x不等于Y或x不等于N".

显然,无论x等于什么,只要YN不相等,语句将永远是真的:)


pax*_*blo 5

既然$extension不能"jpg","gif""png"在同一时间,至少两个子条件为真.

并且,由于您正在使用or (||)而不是and (&&),任何真正的子条件都将使整个条件成立.

你想要的东西:

if (($extension != "jpg") && ($extension != "gif") && ($extension != "png")) {
    die ("only jpg, gif, png acceptable");
}
Run Code Online (Sandbox Code Playgroud)