溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

thinkphp 文件上傳類wamp環(huán)境無(wú)法上傳文件問(wèn)題解決

發(fā)布時(shí)間:2020-07-07 03:22:37 來(lái)源:網(wǎng)絡(luò) 閱讀:802 作者:ljianbing 欄目:web開(kāi)發(fā)

環(huán)境:

1、wamp:php5.4.12 

2、ThinkPHP_Extend_3.1.2 中UploadFile.class.php

代碼:

function upload(){

import('UploadFile.class');

$upload = new UploadFile();// 實(shí)例化上傳類

$upload->maxSize  = 3145728 ;// 設(shè)置附件上傳大小

$upload->allowExts  = array('jpg', 'gif', 'png', 'jpeg');// 設(shè)置附件上傳類型

$upload->savePath =  './temp/';// 設(shè)置附件上傳目錄

if(!$upload->upload()) {// 上傳錯(cuò)誤提示錯(cuò)誤信息

echo($upload->getErrorMsg());

}else{// 上傳成功 獲取上傳文件信息

$info =  $upload->getUploadFileInfo();

}

// 保存表單數(shù)據(jù) 包括附件數(shù)據(jù)

echo $info[0]['savename']; // 保存上傳的照片根據(jù)需要自行組裝

}

問(wèn)題:

1、提示“非法上傳文件”

2、提示“文件上傳保存錯(cuò)誤”

分析:

UploadFile.class.php文件中打印輸出文件路徑名:

echo $file['tmp_name']; D:\\wamp\\tmp\\phpF95B.tmp

這個(gè)路徑名異常,應(yīng)該是D:\wamp\tmp\phpF95B.tmp才能正常上傳文件。

深入研究:

當(dāng)magic_quotes_gpc是Off的時(shí)候,由于為$_FILES數(shù)組添加了addslashes作用,出現(xiàn)了問(wèn)題。也就在 magic_quotes_gpc是Off的PHP環(huán)境下都會(huì)出現(xiàn)此問(wèn)題。

解決:

UploadFile.class.php文件中進(jìn)行文件路徑處理,類文件的bug:

public function upload($savePath ='')入口方法進(jìn)行處理

if (!get_magic_quotes_gpc()) {

            $file['tmp_name'] = str_replace('\\\\', '\\', $file['tmp_name']);

            }

最終解決問(wèn)題。


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI