thinkphp 文件上传类wamp环境无法上传文件问题解决
admin
2023-06-30 17:23:56
0

环境:

1、wamp:php5.4.12 

2、ThinkPHP_Extend_3.1.2 中UploadFile.class.php

代码:

function upload(){

import('UploadFile.class');

$upload = new UploadFile();// 实例化上传类

$upload->maxSize  = 3145728 ;// 设置附件上传大小

$upload->allowExts  = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型

$upload->savePath =  './temp/';// 设置附件上传目录

if(!$upload->upload()) {// 上传错误提示错误信息

echo($upload->getErrorMsg());

}else{// 上传成功 获取上传文件信息

$info =  $upload->getUploadFileInfo();

}

// 保存表单数据 包括附件数据

echo $info[0]['savename']; // 保存上传的照片根据需要自行组装

}

问题:

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

2、提示“文件上传保存错误”

分析:

UploadFile.class.php文件中打印输出文件路径名:

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

这个路径名异常,应该是D:\wamp\tmp\phpF95B.tmp才能正常上传文件。

深入研究:

当magic_quotes_gpc是Off的时候,由于为$_FILES数组添加了addslashes作用,出现了问题。也就在 magic_quotes_gpc是Off的PHP环境下都会出现此问题。

解决:

UploadFile.class.php文件中进行文件路径处理,类文件的bug:

public function upload($savePath ='')入口方法进行处理

if (!get_magic_quotes_gpc()) {

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

            }

最终解决问题。


相关内容

热门资讯

原创 华... 华为公布了一个名叫“韬定律”的东西。说出来你可能不信,这套新玩法,要把西方称霸了60年的芯片底层逻辑...
原创 华... 在华为畅享90 Plus和90 Pro Max取得出众的市场成绩之后,有消息指出,华为畅享90系列接...
一颗流星在美国马萨诸塞州上空爆... 当地时间5月30日,一颗流星在美国东北部马萨诸塞州近海上空爆炸,并引发巨响。该州多地居民均听到爆炸声...
鸿蒙智家框架合作协议签约仪式在... 5月29日,鲁班兄弟装饰工程有限公司与华为终端有限公司在华为云南区域总部举行鸿蒙智家框架合作协议签约...
中国科学院工程热物理所在超临界... 以超临界二氧化碳(S-CO₂)为代表的新型超临界流体正以其独特优势,在制冷、发电、储能等领域拓展应用...
5月31日,“蓝月亮”上线 5月31日,农历四月十五,一轮满月将现身夜空。这轮满月有些特别,它是本月第二次满月,同时它又是本年度...
原创 华... 华为在6月份的新品越来越丰富,比如智能手机、智能手表、耳夹式耳机、新一代全屋智能等,覆盖到多场景。其...
伊朗称对霍尔木兹海峡航运实施全... 据伊朗方面当地时间5月30日消息,伊朗武装部队哈塔姆安比亚中央总部说,伊朗对霍尔木兹海峡航运实施全面...
13人遇难“致命黑车”调查:座... 5月28日凌晨,一辆载满河南邓州周边等地乘客的大通客车,从浙江杭州出发赶回邓州,经过G40沪陕高速河...
多地职校招生报名火爆 作者 | 第一财经 林靖职业教育正在成为越来越多人的“主动选择”,中职赛道不再是备选项。近日,北京中...