2013-07-09 67 views
0

我有一個頁面,用戶可以上傳圖像,然後移動和調整大小使用jQuery的可拖動和jQuery的可調整大小。使用本地存儲的圖像版本

爲了節省對服務器的多重請求,是否可以使用本地存儲的圖像版本來加快速度,然後有保存按鈕,只有在請求時纔會將圖像上傳到服務器。

我曾嘗試沒有成功做到這一點,因爲我只得到文件

<? 
$posted=$_REQUEST['posted']; 
if($posted!='') 
    { 
    $image = $_FILES['file']['tmp_name']."/".$_FILES['file']['name']; 
    ?><img src="<? echo $image ?>" width="480" height="360" /><? 
    echo "posted=".$image; 
    } 
?> 
<form action="#" enctype="multipart/form-data" method="post"> 
<input type="hidden" name="posted" value="1" /> 
<input type="file" id="file" name="file" size="30" /> 
<input name="submit" type="submit" value="send" /> 
</form> 

這是可能的臨時位置?

回答

0

您必須將上傳的文件使用move_uploaded_file()移動到所需的目的地。

+0

這就是問題的全部,我可以不使用本地版本使用其當前位置的文件路徑,然後當我更新數據庫時稍後移動文件 –

0

如果你的意思是「在瀏覽器中調整用戶計算機上的圖像大小,然後在剪切完成後上傳」,那麼不會。

據我所知,這是不可能的,除非你使用Flash或Java插件爲例。

$_FILES['file']['tmp_name']變量包含上載文件在服務器上的臨時位置。臨時文件會定期刪除,因此要將上傳的文件保存在服務器上,您需要使用move_uploaded_file()

+0

否調整大小參數將被髮送到數組和該數組將被傳遞到數據庫'保存',我想要的是圖像要顯示在頁面上,而不必上傳到服務器。稍後,我可以在用戶點擊保存時上傳圖像。原因是因爲頁面上還有很多其他事情發生,我想要保存在服務器請求上,並且不會因爲上傳圖像需要時間而中斷頁面。 –

0

根據手冊中的超級全球$_FILES

An associative array of items uploaded to the current script via the HTTP POST method. 

所以爲了使用這一全球你必須有上傳的圖片。我會說,你可以避免多次請求到服務器上傳圖像後使用jquery和使用move_uploaded_file()只有在用戶選擇他想要的大小後。

按照您所建議的方式執行此操作僅適用於JavaScript和PHP。據我所知,至少。

+0

是的,似乎完整的文件路徑通過瀏覽器隱藏,以保護用戶的安全性。我只是在尋找一個文件上傳的快捷方式,因爲他們時間很漫長 –

+0

@BarryWatts idipous,我是正確的 - 你不能在沒有上傳圖片到服務器的情況下編輯網頁上的圖片。 – Jon