存储上传的图像和移动位置

时间:2011-07-05 18:14:31

标签: php mysql

我正在构建一个包含三部分流程的网站,公司可以在其中填写表单,预览其列表,如果正确,则将该信息提交到我的数据库。文件过程是:

  1. Forminput.php
  2. PreviewListing.php
  3. Insertrecord.php
  4. 其中一个表单字段允许用户上传他们为预览页面存储的徽标:

    session_start();
    $_SESSION['clogo'] = ($_FILES['clogo']['name']);
    move_uploaded_file($_FILES["clogo"]["tmp_name"],
    "temp/" . $_FILES["clogo"]["name"]);
    

    这样我就可以在预览页面上显示徽标:

    <img src = "temp/<?php echo $_SESSION['clogo'];?>" alt = "Company Logo"/>
    

    我面临的问题是,我只是直接进入带有INSERT查询MySQL的直接插入php页面,它将图像上传到文件夹并将文件路径放在该特定公司的表行中。这很好。

    但是现在,因为我已经在$ _POST和Insert.php文件之间插入了流,所以我不能再这样做了。据我了解,我必须将图像存储在preview.php文件的某个位置,以便能够在该页面上显示它,但是当它进入数据库插入过程的下一步时,我不知道如何到:

    a)将图像移动到最终文件夹。

    b)从临时文件夹中删除图像。

    c)为该特定列表添加数据库行的路径,以便我可以在最终批准的页面上显示它以及其他行数据。

    我已经在预览页面上开始了一个会话,并将表单提交中的所有内容存储在隐藏字段中,这对于所有其他信息(公司名称,位置,网址等)的INSERT查询都可以正常工作,但我不这样做知道如何解决我的图像问题。

    作为参考,我在进程的第三步(insert.php)中对图像/图像路径的原始MySQL插入查询,并且工作正常,是:

    $clogo = ($_FILES['clogo']['name']);
    move_uploaded_file($_FILES["clogo"]["tmp_name"],
    "avatars/" . $_FILES["clogo"]["name"]);
    
    $sql = "INSERT INTO businformation (clogo)
    VALUES($clogo')";
    

    有人可以提供建议吗?

    由于 丹

1 个答案:

答案 0 :(得分:0)

好的,我将临时图像位置存储在另一个会话变量的预览页面上,并将其传递到插入页面,然后允许我将图像位置添加到该特定条目的数据库中。

现在我读了它,听起来很明显。小步骤,你知道:)。

我还没想出如何将图像移动到最终位置,但现在这很好。

感谢Marc B和jworrin进行安全检查。