php – if语句返回true
发布时间:2020-12-13 18:14:56 所属栏目:PHP教程 来源:网络整理
导读:有人可以告诉我为什么,当选择一个psd文件时,php代码中的if语句传递为true和echos“image / vnd.adobe.photoshop”? ?phpif (isset($_POST['submit'])) { foreach ($_FILES["myimages"]["error"] as $key = $error) { $tmp_name = $_FILES["myimages"]["tmp_
有人可以告诉我为什么,当选择一个psd文件时,php代码中的if语句传递为true和echos“image / vnd.adobe.photoshop”?
<?php if (isset($_POST['submit'])) { foreach ($_FILES["myimages"]["error"] as $key => $error) { $tmp_name = $_FILES["myimages"]["tmp_name"][$key]; $name = $_FILES["myimages"]["name"][$key]; $imagetype = $_FILES['myimages']['type'][$key]; if ($imagetype == "image/jpeg" || "image/gif") { echo $imagetype; } } } ?> <!DOCTYPE html> <html> <head> <title></title> </head> <body> <form method="post" enctype="multipart/form-data" action="<? echo basename(__file__); ?>"> <input type="file" name="myimages[]" multiple> <input name="submit" type="submit" value="submit"> </form> </body> </html>
因为这是错误的
if( $imagetype == "image/jpeg" || "image/gif" ) { /*...*/ } 应该 if( $imagetype == "image/jpeg" || $imagetype == "image/gif" ) { /*...*/ } 甚至 if( in_array($imagetype,["image/jpeg","image/gif"]) ) { /*...*/ } 也就是说,因为非空字符串被认为是真的,所以满足了IF条件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |