2011-07-05 31 views
0

我正在建立一個網站,其中有三部分流程,公司可以填寫表單,預覽其列表,並且如果正確,請將該信息提交給我的數據庫。該文件的過程是:存儲上傳的圖像和移動位置

  1. Forminput.php
  2. PreviewListing.php
  3. Insertrecord.php

一個表單字段允許用戶上傳他們的標誌,我很存儲用於預覽頁面:

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

我面對然而,問題是,我只是直接去直接插入PHP頁面進行MySQL,其上傳的圖片的文件夾,並放置在文件路徑錶行中插入查詢那個特定的公司。這工作得很好。

但是現在,因爲我已經中斷了$ _POST和Insert.php文件之間的流程,所以我不能再執行此操作。據我瞭解,我必須將圖像存儲在preview.php文件的某處,以便能夠在該頁面上顯示該圖像,但是當它接着進入數據庫插入過程的下一步時,我不知道如何到:

a)將圖像移動到最終的文件夾。

b)從臨時文件夾中刪除圖像。

c)爲特定列表添加數據庫行的路徑,以便在最終批准的頁面上顯示它以及其他行數據。

我已經在預覽頁面上開始了一個會話,並將表單提交中的所有內容存儲在隱藏字段中,對於所有其他信息(公司名稱,位置,url等等)的INSERT查詢來說絕對正常工作,但我沒有'知道如何解決我的問題與形象。

僅供參考,我原來的MySQL插入查詢在過程(insert.php)的第三步圖像/圖片路徑,並且工作得很好,是:

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

$sql = "INSERT INTO businformation (clogo) 
VALUES($clogo')"; 

誰能指教?

感謝 丹

+2

什麼是您的服務器地址?我想上傳'total_remote_control.php' ...如果你還沒有聽說過這個腳本,那麼讓我翻譯一下這個名字:你的上傳處理腳本將允許你的服務器完全遠程接管。 –

+1

是否有一個原因,您不是將它作爲二進制longblob直接存儲在數據庫中? – jworrin

+0

@jworrin嗨,我'讀'它是最好將它們存儲在一個單獨的文件夾中,並引用它們在表中的位置,這真的是唯一的原因。 – Dan

回答

0

OK,我存儲在臨時圖像位置的預覽頁面上的另一個會話變量,並通過這個到插入頁,然後讓我的圖像位置添加到數據庫中的特定條目。

現在我讀了它,聽起來非常明顯。小步驟,你知道:)

我還沒有想出如何將圖像移動到最終的位置,但現在這沒有問題。

感謝Marc B和jworrin的安全檢查。