我想我还不了解 PHP 逻辑。我在 javascript 中的“if”工作正常,但在 PHP 中它总是被忽略。我在 insert_car.php 中有这个表格(其中一方):
<input type="file" name="imagem01" id="imagem01" title="Imagem 01" onchange="readURL01(this);" class="button" />
...(还有 5 个用于图像的输入和其他用于文本的输入)
这是insert_db.php中的通讯方:
$gravar_imagem01 = $_FILES['imagem01'];
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $gravar_imagem01["name"], $ext);
$nome_imagem01 = md5(uniqid(time())) . "." . $ext[1];
$caminho_imagem01 = "../../images/" . $nome_imagem01;
move_uploaded_file($gravar_imagem01["tmp_name"], $caminho_imagem01);
$sqlinsert = "INSERT INTO tb_carros (... imagem01,...) value (... '$nome_imagem01',...)";
它工作正常,但知道如果输入文件之一为空,我想放置一个默认图像。所以我在 insert_db.php 中这样做了:
if (empty($imagem01))
{
$gravar_imagem01 = "sem_imagem.jpg";
$nome_imagem01 = $gravar_imagem01;
}
else
{
$gravar_imagem01 = $_FILES['imagem01'];
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $gravar_imagem01["name"], $ext);
$nome_imagem01 = md5(uniqid(time())) . "." . $ext[1];
$caminho_imagem01 = "../../images/" . $nome_imagem01;
move_uploaded_file($gravar_imagem01["tmp_name"], $caminho_imagem01);
}
放置了默认图像(sem_imagem.jpg),但即使输入“imagem01”不为空,也会出现默认图像。那么,我的代码有什么问题?
Ps.:如果我切换“if”和“else”条件,结果是相反的(即使输入 imagem01 为空,默认图像也不会出现)。这就是为什么我说我的“如果”被忽略了。