最近遇到的問題就是:使用者送出一個圖檔,我這邊給縮放成三種格式的大小,縮放的方法存在,是以我這邊直接就調用三次,結果隻有一張圖檔上傳,采用循環調用的方法還是隻有一個圖檔,後來發現 送出檔案的時候有一個移動函數 move_uploaded_file(),這個函數雖然多次調用但是隻能執行一次,原因就在于 move_uploaded_file()隻支援post送出的資訊,也就是使用者至送出了一個post,第一次調用被執行後,之後就不是post的值也就是說不在執行了,解決辦法就是用copy代替 move_uploaded_file()
參考官方手冊的說明: move_uploaded_file() 本函數檢查并確定由 file 指定的檔案是合法的上傳檔案(即通過 PHP 的 HTTP POST 上傳機制所上傳的)。如果檔案合法,則将其移動為由 newloc 指定的檔案。 如果 file 不是合法的上傳檔案,不會出現任何操作,move_uploaded_file() 将傳回 false。 如果 file 是合法的上傳檔案,但出于某些原因無法移動,不會出現任何操作,move_uploaded_file() 将傳回 false,此外還會發出一條警告。 這種檢查顯得格外重要,如果上傳的檔案有可能會造成對使用者或本系統的其他使用者顯示其内容的話。 注釋:本函數僅用于通過 HTTP POST 上傳的檔案。 注意:如果目标檔案已經存在,将會被覆寫。