php为什么上传不了图片

 我来答
qq_545032638
2014-03-19 · 超过10用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:17.8万
展开全部
<form enctype="multipart/form-data" method="post" action="demo.php">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
上传文件:<input type="file" name="userfile" />
<input type="submit" value="上传" />
</form>
小鸡再次
2014-03-19 · 超过11用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:18.9万
展开全部

你看看 form 表单是否写了 enctype="multipart/form-data" 这个条件 然后 method=post

然后上传文件:

<?php

function upfile($filename,$path,$type=array('jpg','png','gif','jpeg'),$size=512000){

    $file = $filename;

    $msg ='';//定义一个变量用于存储错误信息


    //1,判断有没有错误

    if($file['error']>0){

        switch($file['error']){

            case 1:

                 $msg.='上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值<br />';

                 break;

            case 2:

                $msg .= '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值<br/>';

                 break;

            case 3:

                $msg .= '文件只有部分被上传';

                 break;

            case 4:

                $msg .= '没有文件被上传';

                 break;

            case 6:

                $msg .='找不到临时文件夹';

                break;

            case 7:

                $msg .='文件写入失败';

                break;

            default:

                $msg .='未知错误';

                break;

        }

    }

    if(!empty($msg)){

        return array('msg'=>$msg,'filename'=>'');

    }

    //2,判断文件大小是否超过允许的值

    if($file['size']>$size){

        $msg.='文件不能超过限定大小'.$size.'字节';

        return array('msg'=>$msg,'filename'=>'');

    }

    //3,判断文件的后缀是否允许

    $subfix = pathinfo($file['name'],PATHINFO_EXTENSION);

    if(!in_array($subfix,$type)){

        $msg.='文件类型不允许';

        return array('msg'=>$msg,'filename'=>'');

    }

    //4,重新给予新的文件名

    $newname = date('YmdHis',time()).rand(0,999).'.'.$subfix;

    //5,判断是否是上传文件

    if(!is_uploaded_file($file['tmp_name'])){

        $msg.='不是上传文件';

        return array('msg'=>$msg,'filename'=>'');

    }

    if(move_uploaded_file($file['tmp_name'],rtrim($path,'/').'/'.$newname)){

        $msg .='文件上传成功,文件名为'.$newname;

        return array('msg'=>$msg,'filename'=>$newname);

    }else{

        $msg.='文件上传失败';

        return array('msg'=>$msg,'filename'=>'');

    }

}

?>

希望能帮到你吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
思想知识
2014-03-19 · 超过16用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:41.6万
展开全部
先要看看是的上传函数 之后看表单中有没有上传的参数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
laicc1号
2014-03-18 · TA获得超过537个赞
知道答主
回答量:58
采纳率:0%
帮助的人:27.4万
展开全部
看看存放图片目录 的权限!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式