数据库中有两个字段,分别为photo和scanning,原表单中格式为:<input name="photo" id="photo" type="text" />和<input name="scanning" id="scanning" type="text" />,我想将这两个字段改成type='file'即图片上传的功能,但是只能把选择的文件名称提交到数据库字段,并不能上传图片,php要如何处理才能使photo和scanning能真正上传图片?

解决方案 »

  1.   

    /*
    $filename   上传的路径
    此函数是将你上传的文件由系统临时存放的路径,移动到你指定的地址.
    */
    $filename='';//指定的地址
    if(!move_uploaded_file($photo['tmp_name'], iconv('utf-8', 'gb2312', $filename)))
    {
    echo "<script>alert('上传相片失败');history.back();</script>";
    exit();
    }
      

  2.   

    form表单是怎么写的?估计是你的form表单写错了<form action="form_action.asp" enctype="multipart/form-data">
    ....
    </form>
      

  3.   

    把form表单修改为: 
     <form id="fixupformid" name="fixupform" action="caragency.php" method="post" enctype="multipart/form-data">
    </form>
      

  4.   

    为何提交后变成: C:inetpubphp mpphp2C98.tmp
      

  5.   

    $file_path="upload/";
    if(is_dir($file_path)!=TRUE) mkdir($file_path,0664) ;
    $ext_arr = array("gif", "jpg", "jpeg", "png", "bmp", "txt", "zip", "rar");
    if (empty($_FILES) === false) {
        if($photo_up_size > 2097152){
            exit("对不起,您上传的照片超过了2M。");
        }
        if($_FILES["photo"]["error"] > 0){
            exit("文件上传发生错误:".$_FILES["photo"]["error"]);
        }
        $temp_arr = explode(".", $_FILES["photo"]["name"]);
        $file_ext = array_pop($temp_arr);
        $file_ext = trim($file_ext);
        $file_ext = strtolower($file_ext);
        if (in_array($file_ext, $ext_arr) === false) {
            exit("上传文件扩展名是不允许的扩展名。");
        }
        $new_name = time().".".$file_ext;
        move_uploaded_file($_FILES["photo"]["tmp_name"],"$file_path" . $new_name);
        echo "文件上传成功!";
        exit;
    } else {
        echo "无正确的文件上传";
    }这样单个文件跑是可以跑的,加到原来的php文件就不行了。。
      

  6.   

    $photo=$_FILES['photo'];//获取上传文件的信息赋给变量 photo是表单的上传文件name属性.
    //$photo['tmp_name']系统临时的文件
    $filename=$_SERVER['DOCUMENT_ROOT'].$photo['name'];//指定的地址为根目录
    if(!move_uploaded_file($photo['tmp_name'], iconv('utf-8', 'gb2312', $filename)))
        {
            echo "<script>alert('上传相片失败');history.back();</script>";
            exit();
    }