首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从/images获取图像

从/images获取图像
EN

Stack Overflow用户
提问于 2013-04-10 23:07:24
回答 2查看 107关注 0票数 0

我使用以下代码将数据(包括图像)上传到mysql中:

代码语言:javascript
复制
<?
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 (代码)显示这个图像:

代码语言:javascript
复制
<?

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 -->

来自descricaoobservacoes的数据加载正常,但imagem01显示一个损坏的图像图标。怎么了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-14 21:42:22

我解决了伙计们。下面是最终的代码:

代码语言:javascript
复制
<?

            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";

            ?>
票数 0
EN

Stack Overflow用户

发布于 2013-04-10 23:47:01

在数据库中插入的不是图像的名称,而是单词“”。

您当前正在将$gravar_imagem01插入到imagem01中,这等同于实际代码中的$_FILES['imagem01']

相反,在imagem01字段中插入$gravar_imagem01['name'],因为您希望检索图像的名称,以便稍后使用<img src="../images/<?=$row['imagem01'] ?>" />显示它。

注意:由于您不能在SQL查询中使用'$gravar_imagem01['name']',因此我建议您在此之前将其存储在temp变量中,然后在查询中使用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15929657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档