PHP中文件上傳的一個(gè)問(wèn)題
更新時(shí)間:2010年09月04日 00:00:42 作者:
不知道大家有沒(méi)有遇到過(guò)這樣的問(wèn)題,在文件上傳的時(shí)候,用 move_uploaded_file 這個(gè)函數(shù)不能移動(dòng)文件,而用copy 或者 rename 確是可以的。
我也一直很困惑。在文檔上,說(shuō)的比較模糊,就是 move_uploaded_file 這個(gè)函數(shù),加了一步檢查,檢查這個(gè)文件是否是有 HTTP POST 上傳的,
至于,如何檢查的沒(méi)有說(shuō)。
我google 了好一陣子,都沒(méi)有能解決這個(gè)問(wèn)題,也不知道問(wèn)題出現(xiàn)在哪里。后來(lái),終于決定看源代碼。終于在 源代碼里面看到 把文件名 和
php 配置中的 upload_tmp_dir 這個(gè)參數(shù)進(jìn)行比較,如果文件在這個(gè)目錄下面,那么 move_uploaded_file 才會(huì)進(jìn)行移動(dòng)操作。而且這個(gè)比較是大小寫敏感,/ \ 在Windows 下面也是不一樣的。而在PHP配置文件解析的時(shí)候,會(huì)調(diào)用一個(gè)realpath 函數(shù),也就是是說(shuō),你在move_uploaded_file 之前,
必須對(duì)$file['tmp_name'] = realpath($file['tmp_name']); realpath 一下。
還有一種情況,大家要注意,就是 move_uploaded_file 如果配置成一個(gè)無(wú)法訪問(wèn)的路徑,那么你不管怎么處理,move_uploaded_file 總是不能成功移動(dòng)文件。
至于,如何檢查的沒(méi)有說(shuō)。
我google 了好一陣子,都沒(méi)有能解決這個(gè)問(wèn)題,也不知道問(wèn)題出現(xiàn)在哪里。后來(lái),終于決定看源代碼。終于在 源代碼里面看到 把文件名 和
php 配置中的 upload_tmp_dir 這個(gè)參數(shù)進(jìn)行比較,如果文件在這個(gè)目錄下面,那么 move_uploaded_file 才會(huì)進(jìn)行移動(dòng)操作。而且這個(gè)比較是大小寫敏感,/ \ 在Windows 下面也是不一樣的。而在PHP配置文件解析的時(shí)候,會(huì)調(diào)用一個(gè)realpath 函數(shù),也就是是說(shuō),你在move_uploaded_file 之前,
必須對(duì)$file['tmp_name'] = realpath($file['tmp_name']); realpath 一下。
還有一種情況,大家要注意,就是 move_uploaded_file 如果配置成一個(gè)無(wú)法訪問(wèn)的路徑,那么你不管怎么處理,move_uploaded_file 總是不能成功移動(dòng)文件。
相關(guān)文章
windows平臺(tái)中配置nginx+php環(huán)境
相對(duì)于linux來(lái)說(shuō),windows配置web環(huán)境不管是一鍵安裝包還是獨(dú)立配置簡(jiǎn)單多了,這次是講以NGINX作為web的本地的測(cè)試環(huán)境。2015-12-12
php+mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)無(wú)限分類的方法
這篇文章主要介紹了php+mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)無(wú)限分類的方法,包含完整的節(jié)點(diǎn)操作技巧以及相應(yīng)的應(yīng)用方法實(shí)例,是非常實(shí)用的技巧,需要的朋友可以參考下2014-12-12
PHP圖像處理 imagestring添加圖片水印與文字水印操作示例
這篇文章主要介紹了PHP圖像處理 imagestring添加圖片水印與文字水印操作,結(jié)合實(shí)例形式分析了PHP使用imagestring添加圖片水印與文字水印具體操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2020-02-02
原生JS實(shí)現(xiàn)Ajax通過(guò)GET方式與PHP進(jìn)行交互操作示例
這篇文章主要介紹了原生JS實(shí)現(xiàn)Ajax通過(guò)GET方式與PHP進(jìn)行交互操作,涉及javascript ajax交互及php數(shù)據(jù)接收、處理與數(shù)據(jù)庫(kù)查詢相關(guān)操作技巧,需要的朋友可以參考下2018-05-05
使用php自動(dòng)備份數(shù)據(jù)庫(kù)表的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇使用php自動(dòng)備份數(shù)據(jù)庫(kù)表的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07

