用"="是恒为真,用"=="要判断
如果运行时$thefile_type不为 "image/gif"或"image/jpeg"
当然用"=="不行而用"="行,你可以做一个测试——
if($a=1) {……}
给a一个不同的初始值,看它运不运行括号里面的语句就知道了。
如果运行时$thefile_type不为 "image/gif"或"image/jpeg"
当然用"=="不行而用"="行,你可以做一个测试——
if($a=1) {……}
给a一个不同的初始值,看它运不运行括号里面的语句就知道了。
因此,if($var=X) 与 if(X) 的判断结果完全相同,不同之处在于前者在判断的同时将X的值赋给了变量$var
所以,你上面的if(($thefile_type="image/gif")||($thefile_type="image/jpeg"))
...与下面的代码完全等效:$thefile_type="image/gif";
$thefile_type="image/jpeg";
if(("image/gif")||("image/jpeg"))
...只要是非空的字符串,其逻辑值就是“真”
所以,进一步等效为:$thefile_type="image/gif";
$thefile_type="image/jpeg";
if(true)
...而 $var == X 的值则是当 $var 与 X 相等时为真(true),否则为假(false)
{
echo $thefile_type; //加上这行
if(($thefile_type="image/gif")||($thefile_type="image/jpeg"))
{
……看看到底是不是$thefile_type的问题.
如果$thefile_type的值是正确的,那就要看看是不是其他地方的问题了.