求大神帮忙看一下,为什么我的move_uploaded_file()函数为什么不能用呢?应该不是我书写的问题,我试着从网上找了很多的代码,提示都一样未知错误。我也修改了我的文件夹权限,还是不行,求大神帮忙看一下!

解决方案 »

  1.   

    给你一个完整的上传吧
    $allowType = array('image/jpeg', 'image/gif', 'image/jpg');
    //定义路径,可以是绝对路径,或者相对路径都可以
    $filePath = './uploadFileDir/';
    //接收表单信息其中里边写的file值是静态页form表单里的name值
    $file = $_FILES['file'];
    //第一步,判断上传的文件是否有错误
    if($file['error'] !== 0){
        echo'文件上传错误';
    }
    //第二步,判断文件大小,这里的102400是字节,换算为kb就是100kb
    if($file['size'] > 102400000){
        echo'文件过大';
    }
    //第三步,判断文件类型
    if(!in_array(mime_content_type($file['tmp_name']), $allowType)){
        echo'文件类型错误';
    }
    //第四步,判断路径是否存在,如果不存在则创建
    if(!file_exists($filePath) && !mkdir($filePath, 0777, true)){
        echo'创建目录错误';
    }
    //第五步,定义上传后的名字及路径
    $filename = time().'_'.$file['name'];
    //第六步,复制文件 也可以move函数移动过去
    if(!copy($file['tmp_name'], $filePath.$filename)){
        echo'上传文件出错,请稍候重试';
    }
    //第七步,删除临时文件
    unlink($file['tmp_name']);
      

  2.   

    完整demo : http://www.source-open.com/688198<?php
    function extend($file_name)
    {
        $extend = pathinfo($file_name);
        $extend = strtolower($extend["extension"]);
        return $extend;
    }
    $code      = 0;
    $uploadimg = '';
    $path      = './upload/';
    if ($_FILES['file']['error'] != 0) {
        //错误信息说明 : http://php.net/manual/zh/features.file-upload.errors.php
        $code = $_FILES['file']['error'];
    } else {
        $ext = extend($_FILES['file']['name']);    //设置文件上传域的name   fileVal: 'file'
        if (!file_exists($path))
            mkdir($path, 0777);
        $imgname = time() . rand(100, 999) . '.' . $ext;
        $tmp     = $_FILES['file']['tmp_name'];
        if (move_uploaded_file($tmp, $path . $imgname)) {
            $uploadimg = $imgname;
            @unlink($_FILES['file']);
        };
    }
    echo json_encode(['code' => $code, 'uploadimg' => $uploadimg]);