这看起来有效吗?我还在为它编写数据库编码但是我想确保我在正确的路径上,所以在测试时我不会遇到很多错误。
$filechk1 = "../temp/files/" . $data[0] . ".doc";
$filechk2 = "../temp/files/" . $data[1] . ".doc";
if(is_file($filechk1) && is_file($filechk2)) {
$rec_type = "3";
} else if (!is_file($filechk1) && is_file($filechk2)) {
$rec_type = "2";
} else if (is_file($filechk1) && !is_file($filechk2)) {
$rec_type = "1";
}
答案 0 :(得分:1)
$is_file_1 = is_file($filechk1);
$is_file_2 = is_file($filechk2);
if ($is_file_1)
{
$rec_type = $is_file_2 ? 3 : 1;
}
else
{
if ($is_file_2) $rec_type = 2;
}
看起来您忘记检查两个文件是否都无效..
答案 1 :(得分:1)
简化它......
$filechk1 = "../temp/files/" . $data[0] . ".doc";
$filechk2 = "../temp/files/" . $data[1] . ".doc";
$rec_type = 0;
if(is_file($filechk1))
$rec_type++; // $rec_type += 2;
if(is_file($filechk2))
$rec_type += 2; // $rec_type++;
或
$filechk1 = "../temp/files/" . $data[0] . ".doc";
$filechk2 = "../temp/files/" . $data[1] . ".doc";
$rec_type = 0;
$rec_type += is_file($filechk1) ? 1 : 0;
$rec_type += is_file($filechk2) ? 2 : 0;
此外,如果没有文件,$rec_type
将为0(对于这两个示例)。
答案 2 :(得分:0)
$rec_type = 0;
if (is_file('../temp/files/'. $data[0] .'.doc'))
$rec_type++;
if (is_file('../temp/files/'. $data[1] .'.doc'))
$rec_type += 2;
答案 3 :(得分:0)
再次使用类型杂耍
$rec_type = is_file('../temp/files/'. $data[0] .'.doc') * 1 // just to force an int
+ is_file('../temp/files/'. $data[1] .'.doc') * 2;