PHP使用move_uploaded_file函数上传文件返回false

<?phpif(!defined('IN_EXPER')){exit('AccessDenied');}elseif(@$_FILES["file"]["error"]!... <?php
if(!defined('IN_EXPER')) {
exit('Access Denied');
}
else if(@$_FILES["file"]["error"]!=0)
echo "<script>alert('上传失败请重试');history.back();</script>";
else if(@$_FILES["file"]["size"]>2000000)
echo "<script>alert('文件大小超过限制');history.back();</script>";
else if(@$_FILES["file"]["type"]!="application/msword"&&
@$_FILES["file"]["type"]!="application/pdf"&&
@$_FILES["file"]["type"]!="application/vnd.ms-powerpoint")
echo "<script>alert('文件格式错误');history.back();</script>";
else if(file_exists("kjupload/" . @$_FILES["file"]["name"]))
echo "<script>alert('您上传的文件已存在');history.back();</script>";
else{
move_uploaded_file($_FILES["file"]["tmp_name"],"kjupload/".@$_FILES["file"]["name"]);
if(file_exists("kjupload/".@$_FILES["file"]["name"]))
echo "<script>alert('上传成功');history.back();</script>";
else echo"<script>alert('上传失败');history.back();</script>";
}
?>
Windows本地环境测试,move_uploaded_file函数一直返回false,文件也没有真正地被服务器端存储,求大神帮忙看看啊
展开
 我来答
IT互联天下
推荐于2017-09-27 · 知道合伙人软件行家
IT互联天下
知道合伙人软件行家
采纳数:1437 获赞数:5161
PHP开发工程师

向TA提问 私信TA
展开全部

1.首先将错误状态码打出来,然后根据错误状态码找原因。

$_FILES['file']['error']

2.多数情况下,导致这种错误的原因是:移动临时文件的时候,路劲解析有问题导致失败的。建议将临时文件路径替换处理一下即可解决。

示例:

<?php
$tmp = str_replace('\\\\', '\\', $_FILES['file']['tmp_name']);
?>
BskyRui
2014-04-20 · TA获得超过116个赞
知道答主
回答量:52
采纳率:0%
帮助的人:32.7万
展开全部
看看返回的状态码是多少 $_FILES[$file]['error']
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
府闳0gu238
2014-04-21 · 超过32用户采纳过TA的回答
知道答主
回答量:128
采纳率:100%
帮助的人:80.3万
展开全部
那你看看服务器临时文件有没有啊,如果没有move_uploaded_file当然返回错误,都没有错误,怎么移动
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式