我有这个代码将数据上传到mysql(包括图像):
<?
require("connect.php");
$gravar_descricao = $_POST['descricao'];
$gravar_observacoes = $_POST['observacoes'];
$gravar_imagem01 = $_FILES['imagem01'];
$gravar_imagem02 = $_FILES['imagem02'];
$gravar_imagem03 = $_FILES['imagem03'];
$gravar_imagem04 = $_FILES['imagem04'];
$gravar_imagem05 = $_FILES['imagem05'];
$gravar_imagem06 = $_FILES['imagem06'];
if (!empty($gravar_imagem01["name"])) {
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $gravar_imagem01["name"], $ext);
$nome_imagem = md5(uniqid(time())) . "." . $ext[1];
$caminho_imagem = "../../images/" . $nome_imagem;
move_uploaded_file($gravar_imagem01["tmp_name"], $caminho_imagem);
}
$sqlinsert = "INSERT INTO tb_carros (id_carro, descricao, observacoes, imagem01, imagem02, imagem03, imagem04, imagem05, imagem06)
value ('', '$gravar_descricao', '$gravar_observacoes', '$gravar_imagem01', '$gravar_imagem02', '$gravar_imagem03', '$gravar_imagem04', '$gravar_imagem05', '$gravar_imagem06')";
mysql_query($sqlinsert) or die ("Nao foi possivel salvar os dados");
echo "Dados inseridos com sucesso";
?>
正如您所看到的,我正在使用代码中的imagem01
来获取我想要的结果。然后我将使用其他图像。
该代码工作正常,并将image01
保存在../../images
中。但我想在carro_admin.php
(代码)中显示此图片:
<?
require("db/connect.php");
session_start();
if(isset($_SESSION['logged_in'])) {
session_start();
} else {
header("location:index.php");
}
$sql = "SELECT * FROM tb_carros";
$limite = mysql_query("$sql");
$dados = array();
while ($sql = mysql_fetch_array($limite) ) {
$dados[] = $sql;
}
?>
....
<div class="fotoResumo">
<img src="../images/<?=$row['imagem01'] ?>" /> <!-- the carro_admin.php is one level up of the insert code -->
</div><!-- END of fotoResumo -->
<div class="dadosResumo">
Descricao: <?=$row['descricao']?><br /><br />
Observacoes: <?=$row['observacoes']?><br /><br />
</div><!-- END of dadosItem -->
来自descricao
和observacoes
的数据正常加载,但imagem01
显示了损坏的图片图标。怎么了?
答案 0 :(得分:0)
您没有在数据库中插入图片名称,而是插入“数组”一词。
您目前正在$gravar_imagem01
插入imagem01
,等于实际代码中的$_FILES['imagem01']
。
在 $gravar_imagem01['name']
字段中插入 imagem01
,因为您想要检索图片的名称,以便稍后使用{{ 1}}。
注意:由于您无法在SQL查询中使用<img src="../images/<?=$row['imagem01'] ?>" />
,我建议您先将其存储在临时变量中,然后在查询中使用它。
答案 1 :(得分:0)
我解决了它们。这是最终的代码:
<?
require("connect.php");
$gravar_carro = $_POST['carro'];
$gravar_valor = $_POST['valor'];
$gravar_ano = $_POST['ano'];
$gravar_km = $_POST['km'];
$gravar_cor = $_POST['cor'];
$gravar_portas = $_POST['portas'];
$gravar_combustivel = $_POST['combustivel'];
$gravar_cambio = $_POST['cambio'];
$gravar_final_placa = $_POST['final_placa'];
$gravar_carroceria = $_POST['carroceria'];
$gravar_descricao = $_POST['descricao'];
$gravar_observacoes = $_POST['observacoes'];
$gravar_imagem01 = $_FILES['imagem01'];
$gravar_imagem02 = $_FILES['imagem02'];
$gravar_imagem03 = $_FILES['imagem03'];
$gravar_imagem04 = $_FILES['imagem04'];
$gravar_imagem05 = $_FILES['imagem05'];
$gravar_imagem06 = $_FILES['imagem06'];
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $gravar_imagem01["name"], $ext);
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $gravar_imagem02["name"], $ext);
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $gravar_imagem03["name"], $ext);
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $gravar_imagem04["name"], $ext);
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $gravar_imagem05["name"], $ext);
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $gravar_imagem06["name"], $ext);
$nome_imagem01 = md5(uniqid(time())) . "." . $ext[1];
$nome_imagem02 = md5(uniqid(time())) . "." . $ext[1];
$nome_imagem03 = md5(uniqid(time())) . "." . $ext[1];
$nome_imagem04 = md5(uniqid(time())) . "." . $ext[1];
$nome_imagem05 = md5(uniqid(time())) . "." . $ext[1];
$nome_imagem06 = md5(uniqid(time())) . "." . $ext[1];
$caminho_imagem01 = "../../images/" . $nome_imagem01;
$caminho_imagem02 = "../../images/" . $nome_imagem02;
$caminho_imagem03 = "../../images/" . $nome_imagem03;
$caminho_imagem04 = "../../images/" . $nome_imagem04;
$caminho_imagem05 = "../../images/" . $nome_imagem05;
$caminho_imagem06 = "../../images/" . $nome_imagem06;
move_uploaded_file($gravar_imagem01["tmp_name"], $caminho_imagem01);
move_uploaded_file($gravar_imagem02["tmp_name"], $caminho_imagem02);
move_uploaded_file($gravar_imagem03["tmp_name"], $caminho_imagem03);
move_uploaded_file($gravar_imagem04["tmp_name"], $caminho_imagem04);
move_uploaded_file($gravar_imagem05["tmp_name"], $caminho_imagem05);
move_uploaded_file($gravar_imagem06["tmp_name"], $caminho_imagem06);
$sqlinsert = "INSERT INTO tb_carros (id_carro, carro, valor, ano, km, cor, portas, combustivel, cambio, final_placa, carroceria, descricao, observacoes, imagem01, imagem02, imagem03, imagem04, imagem05, imagem06)
value ('', '$gravar_carro', '$gravar_valor', '$gravar_ano', '$gravar_km', '$gravar_cor', '$gravar_portas', '$gravar_combustivel', '$gravar_cambio', '$gravar_final_placa', '$gravar_carroceria', '$gravar_descricao', '$gravar_observacoes', '$nome_imagem01', '$nome_imagem02', '$nome_imagem03', '$nome_imagem04', '$nome_imagem05', '$nome_imagem06')";
mysql_query($sqlinsert) or die ("Nao foi possivel salvar os dados");
echo "Dados inseridos com sucesso";
?>